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
Uh oh!
There was an error while loading. Please reload this page.
-
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,
.m3ufiles, and by manually naming directories.Tiers
Directories placed relative to the user's default
Musicdirectory will have different functions calledtiers, for example:PlaylistArtistAlbumetc...Musicdirectory is permanently enabled as{Tier 0}, all tiers are nested underneath it.Music/Playlist 1/Artist 1,Artist 1is understood as within theArtisttier because it is under thePlaylisttier; 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]).Musicdirectory (e.g. If theArtisttier was disabled then directories underPlaylist 1will be within theAlbumtier).Simple playlist structure
A user has a default
Musicdirectory 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
Playlisttier and nothing else.There are two ways playlists can be created and understood by Museeks:
Create playlistbutton to createMy Playlist, Museeks then creates theMy Playlistdirectory underMusic.My PlaylistunderMusic, Museeks knows thatMy Playlistis in thePlaylisttier based on it's location relative toMusic, Museeks automatically reads and addsMy Playlistas a playlist.Songs placed under the
My Playlistdirectory are automatically added to theMy Playlistplaylist.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 Playlistbecomes.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
ArtistandAlbumtiers.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 Playlistplaylist 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 2isn't within thePlaylisttier?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 2to be in theArtisttier,Album 2doesn'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 1to be placed within theMy Playlistplaylist AND anOther Playlistplaylist simultaneously...Song 1is placed under the directoryMy Playlist.The user goes into Museeks and uses the UI to add
Song 1to theOther Playlistplaylist, thus creating theOther Playlistdirectory underMusic.Museeks automatically saves this information to an
Other Playlist.m3ufile under theOther Playlistdirectory.(The
.m3uformat may need to be changed so songs are defined by paths relative toTier 0to allow songs in other directories to be specified in the M3U file.)Song 1will be listed underMy PlaylistandOther Playlistwithout 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
.m3ufiles are all that are needed to transfer a directory structure to a new install..m3ufiles when these changes happen.Disadvantages
Musicdirectories will work (Such as when remote storages are involved).Things I need help with
Beta Was this translation helpful? Give feedback.
All reactions