The virtual filesystem is the primary "User Interface" of Rosé. It exposes a meaningful music library organization as the filesystem. Since the filesystem is a foundational API, other programs can trivially integrate with Rosé. For example, Rosé can used with a file manager like nnn and a media player like mpv.
You can mount the virtual filesystem rose fs mount
command. By default, this starts a backgrounded
daemon. You can run the filesystem in the foreground with the --foreground/-f
flag.
You can unmount the virtual filesystem with the rose fs unmount
command. This command simply calls
umount
under the hood. Thus, this command is subject to the restrictions of umount
. Including:
if the virtual filesystem is currently in use, unmounting command will fail.
Rosé has 10 top-level directories, each of which is a different view into the library. They are:
Releases
Releases - New
Releases - Recently Added
Releases - Added On
Artists
Genres
Descriptors
Labels
Collages
Playlists
Each directory should be fairly intuitive. They are numbered in the filesystem to create an intentional ordering.
Rosé constructs a "virtual" directory name for each release and "virtual" file name for each track. These filenames are different from the release's filenames in the source directory. Rosé uses the source directory's metadata tags to generate the virtual names. Therefore, when the music tags change, the virtual names auto-update in response.
The directory and file names are configurable. See Directory & Filename Templates for details.
Rosé also exposes all cover art under the filename cover.{ext}
, regardless of the filename in the
source directory. Rosé also exposes the .rose.{uuid}.toml
datafile in the virtual filesystem.
Rosé supports hiding individual artists, genres, and labels in their view directories (Artists
,
Genres
, and Labels
) with the vfs.x_blacklist
and vfs.x_whitelist
configuration parameters.
See Configuration for additional documentation on configuring the blacklist or
whitelist.
Rosé allows you to modify the library through the virtual filesystem.
Modifying files in the virtual filesystem is passed through to the underlying file. Other operations, such as creating files and directories, renaming them, and deleting them translate into specific Rosé actions.
See Managing Releases and Managing Playlists & Collages for documentation on the supported virtual filesystem operations.