Bug 509242 - Emby Library Support
Summary: Emby Library Support
Status: REPORTED
Alias: None
Product: amarok
Classification: Applications
Component: Internet Services (other bugs)
Version First Reported In: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: kf5
Assignee: Amarok Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-09-07 17:54 UTC by Ciro Iriarte
Modified: 2025-11-22 21:38 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
attachment-1734310-0.html (2.05 KB, text/html)
2025-11-22 19:48 UTC, Ciro Iriarte
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ciro Iriarte 2025-09-07 17:54:03 UTC
Would it be possible to support Emby as media library source?, currently I centralize my music there and use a mobile app to consume it on the go (https://emby.media/community/index.php?/topic/108432-symfonium-music-player-and-cast-with-emby-support/)

Would be awesome to have the option to play & maintain the library via Amarok on my laptop too.

Documentation is public:

https://github.com/MediaBrowser/Emby/wiki
https://dev.emby.media/doc/restapi/Audio-Streaming.html
Comment 1 Tuomas Nurmi 2025-09-13 08:47:20 UTC
Thank you for the request! I think this would definitely be possible and a nice addition, if someone wanted to take up the project of developing such Internet service. E.g. Ampache collection plugin might provide some ideas on how to start working on such plugin. Not something I'm likely to start working on myself at the moment, but I'll definitely try to help if someone else wants to take a shot.
Comment 2 Ciro Iriarte 2025-11-22 19:48:12 UTC
Created attachment 187078 [details]
attachment-1734310-0.html

Hi!,

Time permitting, I would like to give it a shot. Should I just copy the
ampache plugin and start from there?.

Any hints on how to handle custom plugins?, it's just a self-contained
file?.

Regards,
CI.-

On Sat, Sep 13, 2025, 05:47 Tuomas Nurmi <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=509242
>
> Tuomas Nurmi <tuomas@norsumanageri.org> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>                  CC|                            |tuomas@norsumanageri.org
>
> --- Comment #1 from Tuomas Nurmi <tuomas@norsumanageri.org> ---
> Thank you for the request! I think this would definitely be possible and a
> nice
> addition, if someone wanted to take up the project of developing such
> Internet
> service. E.g. Ampache collection plugin might provide some ideas on how to
> start working on such plugin. Not something I'm likely to start working on
> myself at the moment, but I'll definitely try to help if someone else
> wants to
> take a shot.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
> You reported the bug.
Comment 3 Tuomas Nurmi 2025-11-22 21:38:57 UTC
The plugin folder under src/services/ is self contained, yeah, I think so. E.g. Ampache doesn't seem to be referred to anywhere else in code outside that dir except in src/services/CMakeLists.txt

I haven't created any plugins myself, and only done some maintenance on the existing ones, and I couldn't find any related documentation resources either, so the existing ones are probably the best guides, Ampache being probably the most simple one, yeah. So copying src/services/ampache as src/services/emby (, stripping out Last.fm related files and any other extra functionality) and renaming Ampache* -> Emby* is probably a feasible starting point.

CMakeLists.txt shows there that the actual plugin is built as amarok_service_ampache, and additionally the config page as kcm_amarok_service_ampache library. The json files required by the plugin system are also under src/services/ampache. The various files there implement the boilerplate for the service (AmpacheServiceFactory), collection (AmpacheServiceCollection) and how to access metadata from the specific collection (AmpacheTrack), in addition to config dialog parts. Hopefully you manage to get a hold of all! If there's any specific question, don't hesitate to ask, I'll try to answer as well as I can.