As usual, Proxi provides this kind of flexibility and will allow you to execute a large number of tasks [1] if you can set up triggers for Amarok events [2].
I developed this script for Amarok, you just have to plug it in its script manager, launch it, and it will notify Proxi of the events sent by Amarok.
1 BluePrints for Proxi
Display an OSD
This blueprint will display an OSD in the corner of the screen with informations about the currently playing track. This is displayed at every track change.
Skype Mood/Adium Status message
These blueprints will change your Skype mood message or Adium status message to display information about what you are listening to right now. (Note that all your contacts will see it.
When Amarok is stopped or quit, a default mood message will be set back. You can change it in the pause trigger by changing the value of the Default extra value.
2 Making your own
To set up triggers for these events in Proxi, create a new Applescript Task with the name amarok. You can then filter the trigger on its description field to catch specific events. Here are the values it can take:
- trackChange: This event is sent every time a track is changed in Amarok (when you click play, next and previous)
- engineStateChange: playing: this is sent when Amarok starts playing
- engineStateChange: pause: this is sent when Amarok is paused
- engineStateChange: empty: this is sent when Amarok is stopped
- engineStateChange: idle: ??
- closed: this event is sent when Amarok quits (or the script is stopped).
You can then use Proxi shell script extra values to gather information about the current playing track, etc. For example, to get the current track title, you’ll set up an extra value to execute the shell script:
export DISPLAY=:0.0;dcop amarok player title;
See the provided blueprints for more example and The Amarok 1.4 DCOP functions for more details.



