ルギア君の戯言

雑多な記事。

Amarok を目覚しに使う

Audacious (XMMS) にはアラームプラグインがあるが、Amarok 2.0 でも目覚しできるお(ぁ


まず、再生は

$ qdbus org.kde.amarok /Player Play

停止は

$ qdbus org.kde.amarok /Player Stop

のコマンド実行でできる。


だからこの2つを適当な時間(と日付)とともに cron に設定してやればオーケー。
止める時は Amarok 本体の停止ボタンを押して止めればおk。


もっと細かいことしたければ

#!/bin/bash                             

# ダイアログ
zenity --warning --text="朝ですよ〜♪" --title="大警告! 一大事!" &
pid=$!                                                           

# フェードイン
qdbus org.kde.amarok /Player VolumeSet 0                         
qdbus org.kde.amarok /Player Play
for volume in 10 20 30 40 50 60 70 80 90 100; do
    sleep 0.5
    qdbus org.kde.amarok /Player VolumeSet $volume
done

cnt=$((0))

# およそ1時間は応答を待つ (正確では無い)
while [ $cnt -lt 3600 ]; do
    sleep 1
    cnt=$(($cnt+1))
    line=`ps $pid | wc -l`
    if [ $line == 1 ]; then
        break
    fi
done

# 応答無し。
if [ $cnt == 3600 ]; then
    qdbus org.kde.amarok /Player Stop
fi

とかw


あくまで外部のスクリプトだから Amarok の停止を封じることはできないね。
Amarok のスクリプトとして作れば何かできるかもしれないが。


qdbus がない場合は dbus-send で代用可能。


KDE の cron に設定すると Konsole が余計に起動するw