jmshrv / finamp

A Jellyfin music client for mobile
Mozilla Public License 2.0
1.68k stars 119 forks source link

[Feature Request] Cast Support #50

Open sunjaxx opened 3 years ago

sunjaxx commented 3 years ago

Any plan to support cast (chromecast or DLNA), something like the native "play on" feature of the official jellyfin app? Thanks!

jmshrv commented 3 years ago

A lot of people have asked for this, I'm waiting on the audio package I'm using to support it. It's in progress there, so I should be able to add casting soon: https://github.com/ryanheise/just_audio/issues/211

As for DLNA, I might be able to make it work. I don't know much about DLNA, but I've heard that the Jellyfin server should handle it and I just have to give the command to the server.

jmshrv commented 2 years ago

On iOS, you can use AirPlay to play both downloaded and streamed songs by selecting the device in control center/the playing notification. Still no Cast/DLNA yet though.

seniorm0ment commented 2 years ago

I use the Mopidy-Jellyfin plugin for Mopidy, and this would be nice when the audio package is finished as long as it can be added in a libre manner :)

misterashley commented 2 years ago

Any plan to support cast (chromecast or DLNA), something like the native "play on" feature of the official jellyfin app? Thanks!

Any updates here? Is there anything someone can do to assist? This would be a killer feature for me, as I try to de-Sp**ify my life.

seniorm0ment commented 1 year ago

I know this is reliant on the package, but any updates on this? Sucks to need to go to the Jellyfin app just to cast to my Mopidy server.

sunjaxx commented 1 year ago

Any update/timelines for this? :) Thanks

seniorm0ment commented 1 year ago

A temporary solution could be to allow controlling of other Jellyfin devices. While not exactly the same as casting, I don't see why this would not be possible to implement. It is already a feature with other Jellyfin clients.

provokateurin commented 1 year ago

Hi, I'm very interested in this feature and would be willing to develop it. I have no experience with DLNA, Jellyfin APIs or Finamp development, but I think it should be doable. @jmshrv https://api.jellyfin.org/#tag/Dlna and https://api.jellyfin.org/#tag/DlnaServer would be the relevant APIs, right?

jmshrv commented 1 year ago

Those look about right, also the just_audio issue makes it look like it'll actually be possible to add casting now so I may look into it while I have access to devices that have access to casting

provokateurin commented 1 year ago

But the casting thing is different from DLNA, right? Because casting would be from the device and DLNA from the server where jellyfin runs if I understood things correctly.

provokateurin commented 1 year ago

Ah I see audio_cast supports DLNA itself, so it goes from the device? I think both modes of DLNA make sense to be implemented. My usecase would favour the DLNA from the server, so I'd like to implement that part.

jmshrv commented 1 year ago

Ah yeah I just mentioned Chromecast as a separate thing, I'm pretty sure DLNA should be handled from the server

provokateurin commented 1 year ago

Ok, should we split it up into a separate issue? I think the UI parts will probably be the same, but the logic is obviously completely different.

jmshrv commented 1 year ago

Yeah that's a good idea. For implementing DLNA, these are probably the relevant files:

jmshrv commented 1 year ago

Oh, also models/jellyfin_models.dart, which contains all the classes that Jellyfin returns. For DLNA, you shouldn't have to mess about with Hive (used for offline storage), so it should be pretty recognisable if you've ever worked with json_annotation.

provokateurin commented 1 year ago

Thanks for the hints :)

provokateurin commented 1 year ago

New issue for DLNA opened, please rename this one to Cast only :)

vladiskuz commented 1 year ago

Does anybody start working on that?