dont know if its related to https://bugs.kde.org/show_bug.cgi?id=292198 because it only happens with 4.10 but only for amarok (i can spam kdialogs without this happens) if there is a open notificationpopop and amarok switches a track it seems that amarok sends this trackchange multible times to te notificationarea a video: http://youtu.be/1ov0n2DAkiY Reproducible: Sometimes Steps to Reproduce: 1. open amarok ans play a song 2. when the notificationpopup pops up, change the track Actual Results: most times you will see that the new track will notifies 3-7times via kde plasma 4.10 notificationpopup Expected Results: should be notified only one time this happens only in 4.10, when i kill plasma and use the gray notification it only 1 time there, same on gnome3
The problem is plasma most likely. Could you please provide the section of the debug output when that happens? For that run Amarok from a konsole with: amarok -d --nofork
http://paste.kde.org/650240/ but why is only the amarok notification affected?. tried the amarokscript "amaroKnotify" and this works too, without this bug.
You are talking about the OSD or the Plasma notification? Amarok can use both. And since you said yourself that it doesn't happen without plasma then I suspect plasma is to blame, as it did coincide with a KDE upgrade as you said yourself. BTW, please do not use volatile pastes for bug report attachments but the attachment function of the bug tracker. amarok: BEGIN: void Playlist::Actions::next() amarok: BEGIN: void Playlist::Actions::play(quint64, bool) amarok: BEGIN: void EngineController::play(Meta::TrackPtr, uint) amarok: BEGIN: void EngineController::stop(bool, bool) amarok: [EngineController] slotTrackFinishedPlaying( KUrl("file:///home/fabi/Musik/ogg/G/Green Day/¡Dos!/01 - Green Day - See You Tonight.ogg") , 0.0553939 ) amarok: BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0s] amarok: [Playlist::Model] Metadata updated for track "See You Tonight" amarok: END__: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) [Took: 0s] amarok: BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0s] amarok: [Playlist::Model] Metadata updated for track "See You Tonight" amarok: END__: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) [Took: 0s] amarok: END__: void EngineController::stop(bool, bool) [Took: 0.07s] amarok: [EngineController] play: bounded is QObject(0x0) current "Fuck Time" amarok: [EngineController] Just a normal, boring track... :-P amarok: BEGIN: void EngineController::playUrl(const KUrl&, uint) amarok: [EngineController] URL: KUrl("file:///home/fabi/Musik/ogg/G/Green Day/¡Dos!/02 - Green Day - Fuck Time.ogg") "file:///home/fabi/Musik/ogg/G/Green%20Day/%C2%A1Dos!/02%20-%20Green%20Day%20-%20Fuck%20Time.ogg" amarok: [EngineController] Offset: 0 amarok: END__: void EngineController::playUrl(const KUrl&, uint) [Took: 0.017s] amarok: END__: void EngineController::play(Meta::TrackPtr, uint) [Took: 0.088s] amarok: END__: void Playlist::Actions::play(quint64, bool) [Took: 0.088s] amarok: END__: void Playlist::Actions::next() [Took: 0.088s] amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0.001s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0s] amarok: BEGIN: void DBusAbstractAdaptor::_m_emitPropertiesChanged() amarok: END__: void DBusAbstractAdaptor::_m_emitPropertiesChanged() [Took: 0.001s] amarok: [EngineController] slotMetaDataChanged(): new meta-data: QMap(("xesam:url", QVariant(QUrl, QUrl("file:///home/fabi/Musik/ogg/G/Green Day/¡Dos!/02 - Green Day - Fuck Time.ogg") ) ) ) amarok: [EngineController] slotMetaDataChanged(): new meta-data: QMap(("xesam:album", QVariant(QString, "¡Dos!") ) ( "xesam:author" , QVariant(QString, "Green Day") ) ( "xesam:genre" , QVariant(QString, "Punk Rock") ) ( "xesam:title" , QVariant(QString, "Fuck Time") ) ( "xesam:url" , QVariant(QUrl, QUrl("file:///home/fabi/Musik/ogg/G/Green Day/¡Dos!/02 - Green Day - Fuck Time.ogg") ) ) ) amarok: [EngineController] slotMetaDataChanged() triggered by phonon, but we've already seen exactly the same metadata recently. Ignoring for now. amarok: [EngineController] slotMetaDataChanged() triggered by phonon, but we've already seen exactly the same metadata recently. Ignoring for now. amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: BEGIN: void RecentlyPlayedListWidget::updateWidget() amarok: END__: void RecentlyPlayedListWidget::updateWidget() [Took: 0.02s] amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: MPRIS2: Album image location is KUrl("file:///home/fabi/.kde/share/apps/amarok/albumcovers/large/f7e0626db6e0f53a221126a666bd48aa") amarok: BEGIN: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0.004s] amarok: BEGIN: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() amarok: BEGIN: void Playlist::PrettyListView::scrollToActiveTrack() amarok: END__: void Playlist::PrettyListView::scrollToActiveTrack() [Took: 0.005s] amarok: END__: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() [Took: 0.006s] amarok: END__: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) [Took: 0.014s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0.003s] amarok: BEGIN: void CurrentEngine::trackPlaying(Meta::TrackPtr) amarok: [CurrentEngine] updating track "Fuck Time" amarok: END__: void CurrentEngine::trackPlaying(Meta::TrackPtr) [Took: 0.014s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0.001s] amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0.3s] amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0s] amarok: [EngineController] slotMetaDataChanged() triggered by phonon, but we've already seen exactly the same metadata recently. Ignoring for now. amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: MPRIS2: Album image location is KUrl("file:///home/fabi/.kde/share/apps/amarok/albumcovers/large/f7e0626db6e0f53a221126a666bd48aa") amarok: BEGIN: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) amarok: [WARNING] [Playlist::Actions] engineNewTrackPlaying: "Fuck Time" does not match what the playlist controller thought it should be amarok: END__: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) [Took: 0s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0.001s] amarok: BEGIN: void CurrentEngine::trackPlaying(Meta::TrackPtr) amarok: END__: void CurrentEngine::trackPlaying(Meta::TrackPtr) [Took: 0s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0s] amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0.14s] amarok: [MoodbarManager] file path: "/home/fabi/Musik/ogg/G/Green Day/¡Dos!/02 - Green Day - Fuck Time.ogg" amarok: [MoodbarManager] mood file path: "/home/fabi/Musik/ogg/G/Green Day/¡Dos!/.02 - Green Day - Fuck Time.mood" amarok: [MoodbarManager] no such file amarok: [MoodbarManager] trying : "/home/fabi/Musik/ogg/G/Green Day/¡Dos!/02 - Green Day - Fuck Time.mood" amarok: [MoodbarManager] no luck removing the leading '.' either... amarok: BEGIN: void DBusAbstractAdaptor::_m_emitPropertiesChanged() amarok: END__: void DBusAbstractAdaptor::_m_emitPropertiesChanged() [Took: 0.001s] amarok: [LyricsEngine] nothing changed: "Fuck Time" amarok(7818)/kio (KDirListerCache) KDirListerCache::slotFileDirty: "/home/fabi/.pulse" amarok(7818)/kio (KDirListerCache) KDirListerCache::updateDirectory: KUrl("file:///home/fabi/.pulse") amarok: BEGIN: virtual void ScanManager::delayedIncrementalScan(const QString&) amarok: [ScanManager] addDirToList for "/home/fabi/Musik/ogg/G/Green Day/¡Dos!/01 - Green Day - See You Tonight.ogg" amarok: END__: virtual void ScanManager::delayedIncrementalScan(const QString&) [Took: 0.006s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] amarok: MPRIS2: Album image location is KUrl("file:///home/fabi/.kde/share/apps/amarok/albumcovers/large/f7e0626db6e0f53a221126a666bd48aa") amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0s] amarok: BEGIN: void DBusAbstractAdaptor::_m_emitPropertiesChanged() amarok: END__: void DBusAbstractAdaptor::_m_emitPropertiesChanged() [Took: 0s] amarok(7818)/kdeui (KNotification) KNotificationManager::notificationClosed: 750
(In reply to comment #3) > You are talking about the OSD or the Plasma notification? Amarok can use > both. only the plasma notification. the OSD works here as it should. > And since you said yourself that it doesn't happen without plasma then > I suspect plasma is to blame, yes but then why this only happens with the amarok knotifications? kdialog works normal, clementine works normal, kmail, akregator, well all apps i know works without multiply notifications. its only amarok, and in amarok only the internal knotification-notification. external scripts like http://kde-apps.org/content/show.php/amaroKnotify?content=103197 works without that bug. So there must be something that amaroks normal knotify do, that no other app do > BTW, please do not use volatile pastes for bug report attachments but the sorry for that :)
bug against the plasma notification system: https://bugs.kde.org/show_bug.cgi?id=313440
Same here with amarok 2.7. Probably related to the fact that amarok issues a notification any time that the song metadata changes (lyrics, rating...)
Confirmed by second user.
I'm experiencing this bug too, since the upgrade to 2.7.0 version in Fedora 18.
CCing Matej because he introduced some changes in 2.7. I suspect that one of those commits altered the behavior: * f88868a - KNotificationBackend: no more duplicate notifications (3 months ago) <Matěj Laitl> * f7170ee - KNotificationBackend: rework to make notifications instant and more reliable (3 months ago) <Matěj Laitl>
This is a newly introduced bug in plasma, we update the existing notification object when it exists. I'll post more details to bug 313440. *** This bug has been marked as a duplicate of bug 313440 ***