メモ帳DPA

ぐぐってあまり引っかからないような何かがあったら書いたりする

iTunesをホットキー操作する in Autohotkey

ホットキーで操作できないんですけど

嘆かわしいことにiTunesにはホットキー機能がありません。
ということでAutohotkeyを使って停止or再生/前の曲/次の曲/レート制御を無理やり付加します。

Autohotkeyについては以下を参照。

AutoHotkeyを流行らせるページ

仕方ないからてづくり

どっかの海外フォーラムから拾った奴をベースに弄って作ったけど出所は忘れました。
あの重いウィンドウに触る機会が相当減るので非常に便利です。

prev(){
     IfWinExist, ahk_class ITWindow
     ControlSend, ahk_parent, ^{LEFT}
}
next(){
     IfWinExist, ahk_class ITWindow
     ControlSend, ahk_parent, ^{RIGHT}
}
pause(){
     IfWinExist, ahk_class ITWindow
     ControlSend, ahk_parent, {SPACE}
}

#include CoHelper.ahk
SetRating(intRating) {
   CoInitialize()

   iTunesApp := ActiveXObject("iTunes.Application")     ;バージョン上がるとたまに名前変わるので注意
   Current := Invoke(iTunesApp, "CurrentTrack")
   Invoke(Current, "Rating=", intRating)
  
   Release(Current)
   Release(iTunesApp)
   CoUninitialize()
  
   return
}


;以下割り当て例

>!sc033::prev() ;","
>!.::next()
>!/::pause()

#0::SetRating(0)
#1::SetRating(20)
#2::SetRating(40)
#3::SetRating(60)
#4::SetRating(80)
#5::SetRating(100)

使い方

prev(),next(),pause()は叩くと文字通り前の曲、次の曲、停止/再生で動作。
SetRating()は、星の数*20を引数に叩くと再生中の曲のレートを変更。

こんな物書かなくてもデフォルトで何とかして欲しいなー