AutoHotKeyで、KbMediaPlayerを少し便利に。

 KbMediaPlayerが7年ぶりにバージョンアップされたが、メニューのIDが変わって今までのスクリプトで問題が出たので、更新がてらPOSTしてみる。「2.51beta.2012.0930」向け。

;--------------------------------------------------------------------------------------
; KbMediaPlayer
;--------------------------------------------------------------------------------------
#IfWinActive - KbMedia Player - ahk_class TFrmMIDI

F1::return
F2::PostMessage, 0x111, 24, 0, , A  ; 単曲再生
F3::PostMessage, 0x111, 21, 0, , A  ; 単曲リピート
F4::PostMessage, 0x111, 22, 0, , A  ; リピート
F6::
  PostMessage, 0x111, 16, 0, , A  ; フェードアウト
  Sleep, 3500
  PostMessage, 0x111, 15, 0, , A  ; 停止
return
F7::PostMessage, 0x111, 25, 0, , A  ; 連続再生
F8::PostMessage, 0x111, 26, 0, , A  ; ランダム再生
F9::PostMessage, 0x111, 29, 0, , A  ; 未再生の曲だけ


#IfWinActive Error ahk_class #32770, ファイルは削除または移動されました。

; 「ファイルが見つからん」ダイアログでスペースを打鍵すると、以後自動で閉じるように。
$Space::
  SetTimer, Check_KB, 500
return

Check_KB:
  IfWinExist, Error ahk_class #32770, ファイルは削除または移動されました。
  {
    ControlSend, , {Enter}
    WinWaitClose, , , 1
    PostMessage, 0x111, 18, 0, , ahk_class TFrmMIDI  ; 次の曲
  }
  IfWinNotExist, ahk_class TFrmMIDI
    SetTimer, Check_KB, Off
return

 どのキーがどの機能か覚えられない人は、スキンにでも書いておくとよい。

 後半のは、音楽ファイルのあるNASが停止中に「次の曲」した時にダイアログ頻発するの対策。ダイアログが出てると(Kbの)ホットキー効かなくなるから、致命的に邪魔なんだあれ……。

 ダイアログ閉じるだけでなく、正常に次の曲が読み込まれるまで繰り返すようにしてみた。


[PR]
by lordnoesis | 2012-09-30 19:41 | テクノロジ | Trackback | Comments(0)

AutoHotKeyで、Operaの拡張管理を開いてもKbMedia Playerが停止しないようにしてみた。

 KbMedia Playerでホットキーを有効にしてるとそちらが優先されて、Operaで拡張管理を開くショートカットが効かなくなるので、AHKで対策。
 打鍵で拡張管理を開き、長押しでKb停止。

#IfWinActive ahk_class OperaWindowClass
$^+E::
  KeyWait, E, T0.8
  if ErrorLevel
    Send, ^+E
  else
    SendPlay, ^+E
  KeyWait, E
return

 SendとSendPlayを逆にした方が(長押しで拡張管理にした方が)使いやすいかも。Kbはグローバルホットキーだし。


[PR]
by lordnoesis | 2012-09-13 20:42 | テクノロジ | Trackback | Comments(0)

AutoHotKeyを使って、KbMedia Playerをメディアキーで操作できるようにしてみた。

 AHKを使って、KbMedia Playerと、FaderControllerをメディアキーで操作できるようにしてみた。まあKbスレに書いてあったやつを考えなしに拡大させただけなんですけど。てきとーなのであんま見つめちゃいやん(*ノノ)

 AHKでDDE扱う方法を誰か教えてくれ(お。

SetTitleMatchMode,2
;ウィンドウタイトル検索のデフォルトを部分一致に。
;主にKbのウィンドウタイトル(「曲名 - KbMedia Player -」)のため。

DetectHiddenWindows,On
;Kbがメインウィンドウ非表示(タスクトレイ操作)でも検索できるように。

;--------------------------------------------------
;メディアキー
;--------------------------------------------------

Media_Next::^+n
Media_Prev::^+b
;メディアキーの入力を、KbのHotKeyに変換。

Media_Stop::
  IfWinNotExist, - KbMedia Player -
  {
    run D:\MyTool\kbmed\Kbmplay.exe
  }else{
    KeyWait,Media_Stop,T0.5
    if ErrorLevel = 1
    {
      send,^+f
      Sleep,3500
      send,^+e
    }else{
      send,^+e
    }
  }
  KeyWait,Media_Stop
return
;打鍵で停止、長押しでフェード-->停止。
;(フェードのみだと、単曲再生モード以外では次の曲を再生してしまうため)
;Kbが起動していない(ウィンドウが見つからない)場合はKbを起動するように。

$Media_Play_Pause::
  IfWinNotExist, - KbMedia Player -
  {
    run D:\MyTool\kbmed\Kbmplay.exe /play
  }else{
    KeyWait,Media_Play_Pause,T0.5
    if ErrorLevel = 1
    {
      send,^+p
    }else{
      send,^+h
    }
  }
  KeyWait,Media_Play_Pause
return
;打鍵で一時停止/再開、長押しで再生。
;Kbは「停止中は再生、再生中は一時停止、一時停止中は再開」という機能がないので苦肉の策。
;再生状態はDDEで取得できるが……。
;Kbが起動していない(タイトルが見つからない)場合はKbを起動して即再生するように。

 絶望した! preやcodeの使えないエキブロに絶望した!!


[PR]
by lordnoesis | 2006-09-21 16:17 | テクノロジ | Trackback | Comments(0)
ブログトップ | ファンになる