Bug 174044

Summary: Now Playing widget doesn't show amarok information
Product: [Plasma] plasma4 Reporter: StevenR <steven>
Component: widget-nowplayingAssignee: Alex Merry <alex.merry>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Slackware   
OS: Linux   
Latest Commit: Version Fixed In:

Description StevenR 2008-11-01 16:24:02 UTC
Version:            (using KDE 4.1.2)
OS:                Linux
Installed from:    Slackware Packages

KDE 4.1.2
Amarok 1.92.2

When I play a track with Juk, the title, etc shows in the widget. When I do the same with Amarok, no title is shown. Markey reports that this does work for him, but it doesn't work for me. 

Requested by randomguy3 in #amarok:

sr@polaris:~$ grep NowPlaying ~/.xsession-errors
plasma(3663) NowPlaying::init: Preferred width is 41
plasma(3663) NowPlayingEngine::addPlayer: Adding player "org.mpris.amarok"
plasma(3663) NowPlayingEngine::addPlayer: Adding player "Amarok"
plasma(3663) NowPlaying::findPlayer: Looking for players.  Possibilities: ("Amarok", "org.mpris.amarok")
plasma(3663) NowPlaying::findPlayer: Installing "Amarok" as watched player
plasma(3663) NowPlayingEngine::sourceRequestEvent: Source "Amarok" was requested
plasma(3663) NowPlaying::playerAdded: Player "Amarok" added
plasma(3663) NowPlayingEngine::removePlayer: Player "org.mpris.amarok" disappeared
plasma(3663) NowPlayingEngine::removePlayer: Player "Amarok" disappeared
plasma(3663) NowPlaying::playerRemoved: Player "Amarok" removed
plasma(3663) NowPlaying::findPlayer: Looking for players.  Possibilities: ()
plasma(3663) NowPlayingEngine::addPlayer: Adding player "JuK"
plasma(3663) NowPlaying::playerAdded: Player "JuK" added
plasma(3663) NowPlaying::playerAdded: Installing "JuK" as watched player
plasma(3663) NowPlayingEngine::sourceRequestEvent: Source "JuK" was requested
plasma(3663) NowPlaying::playerAdded: Player "JuK" added
Comment 1 Alex Merry 2008-11-02 13:05:28 UTC
Can you run `plasmaengineexplorer --engine nowplaying` and see what you get?

If amarok is running, you should get an 'org.mpris.amarok' item .  If Juk is running, you should get an equivalent 'JuK' item.  Copy the name of the relevant item to the top textbox (where the cursor should be) and change the update interval from "Update on demand" to 500ms (use the "up" button).  Then click request, and you should now be able to expand the item to see currently playing track info.

Can you check this works for JuK and Amarok, please?
Comment 2 StevenR 2008-11-02 13:59:41 UTC
Yes, it does sort of work for both JuK and Amarok. 

However, if I run JuK first, then close that and start Amarok, the plasmaengineexplorer app does not update to show org.mpris.amarok, only two Amarok items which do not update or show the correct status. 

When I restart plasmaengineexplorer, I get an "Amarok" item and a "org.mpris.amarok" item... The org.mpris.amarok item will update status, but the Amarok item doesn't have properties that update, they just stay in a zero/blank state. Looks like the plasma widget might be selecting this "broken" Amarok instance and getting no info back from it. Juk only produces on "JuK" item, so that's the one that's picked. 
Comment 3 Alex Merry 2008-11-02 15:43:17 UTC
OK, I see it.  It's the old pre-MPRIS Amarok support.  It should now be ditched, since Amarok no longer supports that interface.
Comment 4 Alex Merry 2008-11-02 15:56:43 UTC
SVN commit 879159 by alexmerry:

Fix Amarok support.  The old Amarok D-Bus interface is no longer supported by Amarok, but org.kde.Amarok still exists when Amarok is running, confusing the engine and making the applet ignore the working org.mpris.amarok interface.

Unfortunately missed 4.1.3 by two days.  C'est la vie.

BUG: 174044



 M  +0 -2      CMakeLists.txt  
 M  +0 -1      TODO  
 D             amarok.cpp  
 D             amarok.h  
 D             amarok_p.h  
 M  +0 -2      nowplayingengine.cpp  
 D             org.kde.amarok.player.xml  


WebSVN link: http://websvn.kde.org/?view=rev&revision=879159