Museeks Folder Structure System #612
Winterhuman
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Museeks's directory structure problem
Intro
(This post is going to be very long, please say if I am asking for way too much, I'm not claiming to offer a perfect solution and I am very open to suggestions.)
Many users have been wanting Museeks to be able to interpret their directory structure, and to be able to smartly determine what the user is trying to do, I propose the reverse.
What if Museeks was allowed to create the directory structure for the user?
This solves needing to adapt to hundreds of different directory schemes and instead leaves customising the directory structure to the user, using the settings menu,
.m3u
files, and by manually naming directories.Tiers
Directories placed relative to the user's default
Music
directory will have different functions calledtiers
, for example:Playlist
Artist
Album
etc...
Music
directory is permanently enabled as{Tier 0}
, all tiers are nested underneath it.Music/Playlist 1/Artist 1
,Artist 1
is understood as within theArtist
tier because it is under thePlaylist
tier; not because it's the second nested tier fromMusic
[Keep reading to find out why it's done like this and how it can be overrided]).Music
directory (e.g. If theArtist
tier was disabled then directories underPlaylist 1
will be within theAlbum
tier).Simple playlist structure
A user has a default
Music
directory with playlist directories inside, in those playlists are the songs belonging to those playlists (Or at least those playlists, keep reading for how multiple playlists are dealt with)...In the settings UI, the user enables the
Playlist
tier and nothing else.There are two ways playlists can be created and understood by Museeks:
Create playlist
button to createMy Playlist
, Museeks then creates theMy Playlist
directory underMusic
.My Playlist
underMusic
, Museeks knows thatMy Playlist
is in thePlaylist
tier based on it's location relative toMusic
, Museeks automatically reads and addsMy Playlist
as a playlist.Songs placed under the
My Playlist
directory are automatically added to theMy Playlist
playlist.Deleting a playlist does not delete the directory, instead a period is inserted in front of the directory's name to prevent it from being re-read (e.g.
My Playlist
becomes.My Playlist
), this allows users to easily revert their actions and to prevent accidently deleting songs under directories.Playlist-Artist-Album structure
Continuing from the above, the user now enables the
Artist
andAlbum
tiers.Directories can be automatically read and added the exact same way as described above, but, Museeks additionally understands that songs under
My Playlist/Artist 1/Album 1/
should be added to theMy Playlist
playlist even though it isn't directly underneath it.Directory structure examples
Here are two valid directory structures that Museeks will be able to read...
So... what about tags?
Let's say all tiers are enabled, what happens with the tags of
songs {1-4}
for the above example?If
songs {1-4}
share the same artist (Artist 1
), they'll be listed the exact same way regardless of if the tag or the tier told Museeks that information, however, the user will be given a choice...Override tag information with the directory name?
This is for when tag information contradicts the directory name, this option can be given per song file and per directory as the next section will explain...
What if both examples from 'Directory structure combinations' are present?
Let's say both directory structures from the examples are being used, how do we tell Museeks's that
Artist 2
isn't within thePlaylist
tier?Directory's names can have in-brackets information to explicitly tell Museeks what tier that directory is supposed to be in, e.g.
By putting
Artist 2 {Artist}
, Museeks will understandArtist 2
to be in theArtist
tier,Album 2
doesn't need to be named however; tiers are read relative to the parent tier and not relative to{Tier 0}
.Also,
{t}
and{T}
can be specified in the names of directories and song files to control theOverride tag information with the directory name?
option for tags{t} and tiers{T} respectively.(Perhaps Museeks could optionally set and read a custom tag within the song's tag data to specify this override rather than in it's name?)
What if a song is meant to be under multiple playlists, artists, albums, etc?
Let's suppose the user wants
Song 1
to be placed within theMy Playlist
playlist AND anOther Playlist
playlist simultaneously...Song 1
is placed under the directoryMy Playlist
.The user goes into Museeks and uses the UI to add
Song 1
to theOther Playlist
playlist, thus creating theOther Playlist
directory underMusic
.Museeks automatically saves this information to an
Other Playlist.m3u
file under theOther Playlist
directory.(The
.m3u
format may need to be changed so songs are defined by paths relative toTier 0
to allow songs in other directories to be specified in the M3U file.)Song 1
will be listed underMy Playlist
andOther Playlist
without needing multiple copies of the same file or directories.Summary
Quick note
Not all of this functionality has to be introduced, most of the components to make this work are independent of one another so certain features could be implemented while others are excluded, this will likely happen since Museeks is trying to be minimal are some of these features and their requirements are not.
Advantages
.m3u
files are all that are needed to transfer a directory structure to a new install..m3u
files when these changes happen.Disadvantages
Music
directories will work (Such as when remote storages are involved).Things I need help with
Beta Was this translation helpful? Give feedback.
All reactions