Brief vision #1
Labels
documentation
Improvements or additions to documentation
help wanted
Extra attention is needed
question
Further information is requested
First of all - why?
Why not?
It could make it possible to use
music-service
s with almost any kind of software without downloading music, starting with local players, going through self-hosted streaming services, IMs etcYou could just create symlinks to your favourite tracks, artists and playlists from virtual filesystem in your music directory :D
Concept definitions
music-service
- Music service's API implemented onmusic-service-async-interface
eg.
tidal-async
music-service
Object
- Any object subclassing/extendingObject
frommusic-service-async-interface
Brief view
Listing of
/
would list/search/
,/track/
and all other registered types ofmusic-service
Object
s (everything from below)Tracks
/track/
Directory without possible listing of files, for looking up tracks by id/track/<id>
File representing music trackOther
Object
sSame goes for other registered
music-service
Object
s such as albums or artists.Collections
For
Collection
s it would provide whole tree with symlinks to tracks and possibly coverart ascover.jpg
or something like that.eg. Assuming
album
andartist
are registeredObject
s inmusic-service
/album/<id>/
directory with possible listing of files, where files are symlinks to/track/<id>
/artist/<id>/
directory would contain directories with albums and symlinks totrack
s if this music service have possibility to hold tracks directly in artist (singles without album).Collection
s could also provide on-the-fly generation of zip files.eg.
/album/<id>.zip
Big collections could be problematic (zip64 and parts), so it's just an idea with loads of problems and limited usecase.
Search
/search/
Directory with listing of categories for search (depends on provider)eg.
/search/tracks/
/search/albums/
/search/playlists/
/search/artists/
Each of above folders would have virtual non-listable directories representing search phrase
eg. when you
cd
to/search/tracks/catering/
,ls
would list you symlinks to search results with typetrack
of phrasecatering
in/track/<id>
It could also provide global search within all categories if
music-service
implements it.To think and talk about
music-service
-agnosticEverything can be a file if you are brave enough ;)
Config file and env vars are also pretty good ideas, where config files could possibly be generated using filesystem API.
Generally I'm open to ideas, so feel free to leave a comment, show me your point of view, why my idea is bad, possible usecase, feature request etc.
The text was updated successfully, but these errors were encountered: