Package: trackfs
trackfsThetrackfspython package provides a read-only FUSE filesystem that splits FLAC+CUE files (FLAC files with cue sheet embedded as vorbis comment) into individual FLAC files per track.The recommended way to usetrackfsis with docker and imageandresch/trackfs. Please refer to thetrackfshomepagefor further details.UsageOnce you have installedtrackfs[seesection "Installation"below)  you can simply run it from the command line:trackfs /path/to/yourmusiclibrary /path/to/mountpointReplace/path/to/yourmusiclibrarywith the root directory wheretrackfsscans for FLAC+CUE files and/path/to/yourmountpointwith the directory that you want to use as mount point for thetrackfs-filesystem. The mount point should be an existing, empty directory.Once started you will find all directories and files from your music library also in thetrackfs-filesystem. Only FLAC+CUE files got replaced: Instead of a single FLAC+CUE file you will find individual FLAC files for each track found in the embedded cue sheet. The track-files will have the following names:{basename(FLAC+CUE-file)}.#-#.{tracknumber}.{tracktitle}.{start}-{end}.flacWhile the tracks can be used like regular files, they don't exist in the physical file system on your machine. Insteadtrackfscreates them on the fly whenever an application starts loading any of the track files. This usually takes (depending on your system) a few seconds.FinetuningYou shouldNOTruntrackfsas user root. Instead it is recommended to run it with a user account who hasjustthe rights necessary to read the files in the music libary. If you accidentially launchtrackfsas root, trackfs exit with an error messgage. If you know what you are doing and want to run track as root, you have to add the option--root-allowed.In additiontrackfsprovides a bunch of options to fine-tune its behaviour. Calltrackfs --helpto learn about the options or visit thetrackfshomepageInstallationPreconditionIf you want/have to runtrackfson some linux system without docker make sure that your system meet the following
preconditions / has the following software installed:python: use recent a python version (>=3.8) (trackfs is developped and tested with 3.8), including pipfuse: make sure that you have FUSE support enabled in your kernal and the FUSE libraries installedflac: make sure you have official flac binaries (flac and metaflac) installed and on your pathOn most recent debian based system you should get all dependencies withsudo apt-get install python3 python3-pip fuse libfuse-dev flacOn alpine linux (used for the dockerized version oftrackfs) you would usesudo apk add python3 py3-pip fuse fuse-dev flacVerify that you have the expected python versiontrackfshas been developed and tested with python 3.8. So better check that your distribution supports at least 3.8.python3 --versionIf you have an older version, we can't guarantee that trackfs works as expected.It is unfortunately beyond the scope of this document to describe how you might get version 3.8 on your machine if not supported by your distribution.Verify that pip is avaialbe and up-to-dateMake sure that pip is availalbepip --versionIf this command exits with an error then your system doesn't have pip installed. On some systems python might be able to help you:sudo python3 -m ensurepip --default-pipOn some systems, this might fail; just proceed with the next oneMake sure you have the latest pip versionsudo python3 -m pip install --upgrade pipIf you fail installing pip on your system, then you might want to consult thepython package documentationInstallingtrackfsNow we can use pip to install trackfs``´
pip install --user trackfs
```This command installs trackfs only for the current user (--user). Systemwide installation oftrackfsis not recommended as you might run into dependency conflicts with package that come with your distribution. So don't execute without --user / as root, unless you know what you are doing. Please refer to pip's documentation for virtual environments, if you want to maketrackfsavailable for more users.Acknowledgmentstrackfsbegan its live as a clone ofFLACCue. While FLACCue is designed for the usage with the Plex media server, the underlying idea of both projects is the same. Although there is little unmodified code of FLACCue left intrackfs, the project would most likely not have been started without the ideas in this groundwork. Kudos go toacenkos!Licensetrackfsis licensed under the terms of theGNU Lesser General Public License v3.0