ironsmile / euterpe

Self-hosted music streaming server 🎶 with RESTful API and Web interface. Think of it as your very own Spotify! ☁️🎧
https://listen-to-euterpe.eu
GNU General Public License v3.0
522 stars 42 forks source link

API Feature request - Qerying of folder structure and request songs by path #32

Open poisonborz opened 2 years ago

poisonborz commented 2 years ago

I really like this project's simplicity, in contrast with many of the mainstream alternatives like Subsonic, Koel or Funkwhale. Yet here I am, asking to "bloat" it regardless: it would be great if the API would support the querying of the folder structure/tree (of the media folder), and then would enable to query songs based on the path (in addition to artist and album). Instead/in addition of the path, for simplicity, this could also be accomplished through a folder id (supplied by the response structure to the folder tree query). Most users with large media collections have songs neatly organized in a specific way, and are used to browse by that, instead of (possibly incomplete) tagging.

I'm pondering to create a web client that would eventually support multiple mediaserver backends, with a big emphasis of folder browsing. It would be cool to support simple to install servers like this project.

ironsmile commented 2 years ago

I am in the same boat as you with a fairly large collection which is well structured on disk. With most of the music well tagged, though. But there is a few tracks which are not and have been a sore point all the time. In such occasions Euterpe guesses the track name and the track number from the file path. But this could be extended further. Additional configuration could be added which make it guess the album name and artist name from the directory structure.

As an example:

"no_metadata_guess": "$artist/$album/$track"

Where for $track the current logic for track number and name will be used.

What do you think about it?

poisonborz commented 2 years ago

I saw similar functionality in music library managers (for autotagging). Some basic method like a wildcard field in your example can be useful, but overall I think this is not expected from a media server to do. A user can fix/update tagging with much better external tools.

But more importantly, this is not really about tags. People who store a lot of MP3s could have folders not based on classical tags at all. "Happy music", "to sort", "party anthems" etc. - it's an easy method of sorting, and very easy to change (just drop from one folder to another) unlike the more complicated way of retagging. When a structure like this already exists on a drive, it would be meaningful expose this layer to clients as well.

I know this is subjective to how someone organizes, and Euterpe itself seems to be a very subjective project - I'm just pitching in this aspect as a possible use case.