Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brief vision #1

Open
JuniorJPDJ opened this issue Sep 2, 2020 · 0 comments
Open

Brief vision #1

JuniorJPDJ opened this issue Sep 2, 2020 · 0 comments
Labels
documentation Improvements or additions to documentation help wanted Extra attention is needed question Further information is requested

Comments

@JuniorJPDJ
Copy link
Contributor

JuniorJPDJ commented Sep 2, 2020

First of all - why?

Why not?
It could make it possible to use music-services with almost any kind of software without downloading music, starting with local players, going through self-hosted streaming services, IMs etc
You could just create symlinks to your favourite tracks, artists and playlists from virtual filesystem in your music directory :D

Concept definitions

Brief view

Listing of/ would list /search/, /track/ and all other registered types of music-service Objects (everything from below)

Tracks

/track/ Directory without possible listing of files, for looking up tracks by id
/track/<id> File representing music track

Other Objects

Same goes for other registered music-service Objects such as albums or artists.

Collections

For Collections it would provide whole tree with symlinks to tracks and possibly coverart as cover.jpg or something like that.
eg. Assuming album and artist are registered Objects in music-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 to tracks if this music service have possibility to hold tracks directly in artist (singles without album).

Collections 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 type track of phrase catering in /track/<id>
It could also provide global search within all categories if music-service implements it.

To think and talk about

  • Authorization in services - it should be pretty easy to implement but I'm not sure how to do this music-service-agnostic
    Everything 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.
  • How to choose audio quality, what to do if desired quality is not available

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.

@JuniorJPDJ JuniorJPDJ added documentation Improvements or additions to documentation help wanted Extra attention is needed question Further information is requested labels Sep 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant