Version: 2.3.1-GIT (using KDE 4.4.3) OS: Linux signals like trackStop and amarokShutdown seem to be missing from amarok 2.0 Scripting API. trackStop: sould be emitted if the user stops the track. currently, only a trackChanged (or trackPlayPause, do not remember surely) is emitted, but as the track is fading out at this time, there is no (or i see no) easy way to find out that the track is going to stop. amarokShutdown: this sould be emitted just before amarok shuts down and give the connected scripts a second to do actions. sorry if i just missed something, iam new to amarok scripting. i need these kind of notification for a mood script that also change the mood when playback is stoppend or amarok is shut down. Reproducible: Always
There is also a trackInfoChanged() (or trackMetaDataChanged()) signal missing. i.e. if you are listening to a internet radio stream, the track info changes every new track, but amarok does not give any script a note about that. Same for single mp3 files that contain more than one track information. amarok: BEGIN: void CurrentTrack::dataUpdated(const QString&, const Plasma::DataEngine::Data&) amarok: END__: void CurrentTrack::dataUpdated(const QString&, const Plasma::DataEngine::Data&) - Took 0.00087s amarok: BEGIN: void EngineController::slotMetaDataChanged() amarok: [EngineController] Artist : ("") amarok: [EngineController] Album : ("Antena Zagreb") amarok: [EngineController] Title : ("Madonna - Sorry (Short version)") amarok: [EngineController] Genre : ("Pop Rock") amarok: [EngineController] Tracknumber: ("") amarok: [EngineController] Length : () amarok: [EngineController] Track changed: false amarok: BEGIN: void Engine::EngineSubject::newMetaDataNotify(const QHash<long long int, QString>&, bool) amarok: BEGIN: virtual void MetaStream::Track::Private::engineNewMetaData(const QHash<long long int, QString>&, bool) amarok: Applying new Metadata. amarok: BEGIN: void MetaStream::Track::Private::notify() const amarok: Notifying observer: 0x8ddc6dc amarok: Notifying observer: 0x81e8ef8 amarok: Notifying observer: 0x8991808 amarok: BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void StatusBar::updateTotalPlaylistLength() amarok: END__: void StatusBar::updateTotalPlaylistLength() - Took 0.00018s amarok: [Playlist::Model] Metadata updated for track "Sorry (Short version)"
Shouldn't be hard, marking as JJ.
Hello I am interested in this hack ! How should I start ? Whom to contact for this ?
(In reply to comment #3) > Hello I am interested in this hack ! How should I start ? Whom to contact > for this ? Hi there, please read the information and links in this wiki page: http://community.kde.org/Amarok/Development/Join. You can get in touch with us in #amarok on irc.freenode.net and subscribe to the amarok-devel@kde.org mailing list. To hack on Amarok You should build Amarok from source. For a local build please have a look at this guide: http://blogs.fsfe.org/myriam/2009/09/compiling-amarok-from-git-locally-full-summary/
I'm working on this bug
https://git.reviewboard.kde.org/r/109695/
Git commit b0c79900429e8987c018112f875e09e565126408 by Matěj Laitl, on behalf of Anmol Ahuja. Committed on 28/03/2013 at 21:44. Pushed by laitl into branch 'master'. AmarokWindowScript: add prepareToQuit() signal CHANGES: * Add prepareToQuit() signal to Amarok.Window script bindings; patch by Anmol Ahuja. FIXED-IN: 2.8 REVIEW: 109695 DIGEST: Amarok scripting interface has been enhanced with requested method M +2 -0 ChangeLog M +1 -8 src/App.cpp M +2 -2 src/MainWindow.cpp M +1 -1 src/dbus/mpris1/RootHandler.cpp M +1 -1 src/dbus/mpris2/MediaPlayer2.cpp M +1 -1 src/scriptengine/AmarokScript.cpp M +3 -0 src/scriptengine/AmarokWindowScript.cpp M +3 -0 src/scriptengine/AmarokWindowScript.h http://commits.kde.org/amarok/b0c79900429e8987c018112f875e09e565126408