epoupon / lms

Lightweight Music Server. Access your self-hosted music using a web interface.
http://lms-demo.poupon.dev
GNU General Public License v3.0
1.14k stars 62 forks source link

Feature request: jukebox mode #20

Open bytepossum opened 4 years ago

bytepossum commented 4 years ago

Please consider adding jukebox mode (direct playback on server's hardware without transcoding). Probably the easiest is to use mpv or similar well-tested and flexible CLI app. Preferably the command should be configurable (so that one can select output device or other options). This feature is supported by e. g. DSub Android client. Subsonic docs: http://www.subsonic.org/pages/api.jsp#jukeboxControl

epoupon commented 4 years ago

Hi! This one sounds trickier. Afaiu we have to implement both a dedicated queue for the jukebox mode + local sound output. Would a pulse audio output be ok?

bytepossum commented 4 years ago

I believe the client sends its current playlist to the server to play in jukebox mode, right? Pulseaudio should be fine as long as I can specify the output device. My concern is gapless playback for example. That's why I thought of mpv and the likes - they must have long solved those kinds of issues.

epoupon commented 4 years ago

Ok I am giving it a try using pulse audio, I will let you informed. About gapless playback, it can be handled since pulseaudio gives the application a complete control of the playback buffer.

epoupon commented 4 years ago

Ok I have something working. Unfortunately, DSub just displays "Finding devices" forever when I tap on the "cast" icon. I tested Ultrasonic but I can't find where to activate the jukebox mode (the enable Jukebox by default does not have any effect) Same for the official application, I can't find any jukebox setting.

How do you use it?

Edit: ah good news DSub seems to work now!

bytepossum commented 4 years ago

Great news! I never managed to make Airsonic work with my soundcard, but I can check logs if needed.

epoupon commented 4 years ago

Ok I will tell you once I have something to test!

epoupon commented 4 years ago

Some updates on this: everything seems to work fine so far.

Remaining things to do:

Ke1i commented 4 years ago
  • administrator: pulse audio settings (output format, output device, server to be used)

I've already started picturing a use case.. outputting music to a bluetooth speaker for a headless server. Keep up the good work :)

epoupon commented 4 years ago

Hi! Actually that is what I planned to do, but since I bought a bluetooth amplifier, that can be used directly by a phone. Sadly, that lowered very much my interest on this feature. But since most of the code has been done, I think I can still finish this one day.

baramuse commented 2 years ago

Hey, I'm very interested in that as well, as I want to use the rpi as the music server, and rpi is connected to the Hifi with a USB DAC, so I want to use the rpi sub audio output to play local files, waaaaayyyyy better than transcoding or casting audio !

barolo commented 6 months ago

Is it still in the plans?

epoupon commented 6 months ago

Hello, Definitely in the plans, but I can't tell you a date.