github bluescan/tacentview v1.0.45
Raw Import, Natural Sorting, XDG, and Cube mipmaps.

latest release: v1.0.46
24 days ago

Overview

This release features the ability to import raw pixel data from unknown filetypes. If you have an image file but do not know its format, or you know you have a file with only pixel-data inside it, you can now import it into Tacent View. The import functionality supports a large number of pixel formats and can show a live preview to help you get things right.

Optional Natural sorting of files in the thumbnail and file dialogs is available. This is now the default for both dialogs. Natural Sorting is often the order you see files in your OS shell when using a file explorer. It will, for example, make sure numbers in filenames are sorted correctly even if there are leading zeroes or hyphens.

When displaying the different faces of cubemaps in Tacent View it used to only display the top (level 0) mipmap. Now you can select which cupemap mipmap level to display and quickly loop through all the faces and mipmap levels with the scrubber.

In Linux the default location to store cache and config files used to be a hidden directory called .tacentview. This is generally not considered good practice and there is a specification called XDG Base Directories that suggests better places to put things as well as allowing users to override the default locations. Tacent View now respects this specification.

Raw Import

In this example we are importing raw pixel data from an unknown file that we think may store pixel data. It looks like the 5-bit exponent floating-point format is correct. The image is skewed because the width is supposed to be 1280 rather than 1279 and we are getting the Data Shortage warning because the height is set too high (720 is correct).

image

The Data Shortage warning is displayed whenever there aren't enough bytes in the input file given the width, height, offset, mipmap mode, and pixel format currently being used. Example files are available in the github repo. To open the dialog hit Ctrl-Ior access it from the File menu.

Natural Sorting

The following screenshot highlights the difference between Natural sort and normal File Name sorting. The latter is based on the character encoding being used (usually some extension of ASCII like UTF-8) and often does not give desireable results. The Open File dialog has Natural turned OFF and results in the frames being out of order while the Thumbnail View has Natural turned ON and all the frames are ordered sequentially.

image

With Natural Sorting groups of adjacent digits are treated as single numbers so the files are ordered in the way you'd expect. The sorting code implementation was provided by github user ClangPan. There is a discussion of this issue at codinghorror that is still relevant.

Cubemap Mipmaps

KTX, PVR, and DDS files are all able to contain cubemaps. Additionally all three formats support mipmaps for each of the 6 cubemap faces. Tacent View can now display any desired mipmap level for any particular face. The scrubber lets you loop through all the faces/mipmaps.

CubeMipmaps

Base Directories

This release follows the XDG Base Directories Specification for Linux distributions. The .tacentview hidden folder in the home directory is no longer used. If you want to keep your old config file just copy it into ~/.config/tacentview. If you don't, feel free to delete the directory at your discretion. Additionally the cache files needed for fast thumbnail loading are now stored in ~/.cache/tacentview. These are the default locations for these files and users are free to override the XDG environment variables for the config and cache directories as they see fit. As documented at freedesktop.org these environemnt variables are $XDG_CONFIG_HOME and $XDG_CACHE_HOME.

Summary of Changes

  • Updated LibKTX to v4.3.2.
  • Fix compile issue with newer versions of GCC. Specifically GCC 14.1.1 required algorithm to be included by the colour quantization implementations.
  • Updated the bcdec library to v0.97. This library decodes BC pixel formats.
  • Import Raw supports width, height, mipmaps, and data-offset.
  • Build instructions are now in the Wiki rather than the homepage README.
  • Raw Import pixel-format selection combo boxes. One each for Packed, Block, PVR, and ASTC categories.
  • Pixel-format selector for Import Raw dialog now calls the new combo-dropdown that supports item descriptions. Tooltips for every supported pixel format are now displayed describing the format.
  • Import Raw support for creating TIF, APNG, WEBP, TGA, PNG, QOI, or BMP images.
  • Ability to set the Colour Space when importing a raw image.
  • Ability to undo premultiplied-alpha when importing a raw image.
  • Live-update allows parameters to be modified on-the-fly in the Import Raw dialog. Results are displayed immediately.
  • Results message displayed when either live-update or the Import button is pressed in the Import Raw dialog.
  • Support Reverse Rows in the Import Raw dialog.
  • Read the colour profile for all loadable filetypes so it can be displayed in the details overlay. Not all image files store this info so for some cases a best-guess is made. QOI files do, however, store this information and it is now displayed correctly.
  • Saving QOI files now sets the colour-space correctly.
  • Sorting by modification-time or file-size wasn't respecting the descending sort order. This is now fixed.
  • Updated the DDS loader to support loading of all mipmaps when the surface is a cubemap.
  • Support display of cubemap mipmaps in KTX, KTX2, DDS, and PVR files.
  • Viewer now uses 3 clearly defined directories. The location and exact names of the directories depend on packaging mode and platform.
    1. Assets for static assets that need to be present like icons and button images.
    2. Config for user configuration file that should persist between installs, and
    3. Cache for transient files that speed things up and may be deleted.
  • Snap builds now store the config file in a location that will persist across updates.
  • Updated snap build to use the Core24 virtual machine.

Full Changelog: v1.0.44...v1.0.45

Don't miss a new tacentview release

NewReleases is sending notifications on new releases.