xeals / subs Goto Github PK
View Code? Open in Web Editor NEWA Linux music player daemon for Subsonic
License: Apache License 2.0
A Linux music player daemon for Subsonic
License: Apache License 2.0
Planning to have functions to list albums/songs in artists/albums (directly related to what the Subsonic API returns). May also implement "list all songs for artist" by recursively searching through the artist's albums.
Looking for ideas on how to name these functions:
list playlists
/ artists
/ albums
should be obvious to intentlist songs
; not sure if this is appropriate. Current thought is to have a flag to determine what to list from (playlist, artist, or album), defaulting to album.Hi!
I find the whole idea of managing my airsonic instance via terminal quite cool. I don't know what the status of this cli is but I thought I'd give it a go. I can search for songs and subs add
them. When I run subs play
however nothing happens. Is this not implemented yet?
There was another cli in the airsonic community, airsonic-cli
, but it was only briefly developed and is now abandoned. What's the general plan for this if there is any?
Anyways, thanks for your work on this so far!
I just tried to build the project because it seems quite interesting, however it fails with the following error:
Updating registry `https://github.com/rust-lang/crates.io-index`
error: failed to load source for a dependency on `sunk`
Caused by:
Unable to update file:///home/heyarne/Downloads/sunk
Caused by:
failed to read `/home/heyarne/Downloads/sunk/Cargo.toml`
Caused by:
No such file or directory (os error 2)
So it seems that some Subsonic doesn't parse ID3 tags properly for some media formats. Prime examples in my personal library are ogg
files. Examples for an ogg
file here and flac
here. These are fully tagged in my beets
library, and this is what Subsonic returns to me (for reference, the ogg
is 132Kbps and 221 seconds).
The duration tag is parsed as a None
, and thus the playback loop fails spectacularly because I have to guess how long the song is, and status
crashes the server because it panics unwrap
ping the duration (or would error if I did it properly).
Simple math does work here, but luckily for me (/s) Subsonic also doesn't return bit rate with info on these media formats, so I can't guess at their duration by (file size / bit rate).
Forcing a fixed streaming bit rate works to a point, as you can't upsample a song; this works if the source is above whatever limit is set, but fails anyway if it's lower. I could make this a run-time variable and leave it to people to pick something lower than the lowest bit rate in their collection, but that sounds bad.
Looking for opinions on how to solve this (if it's even possible).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.