Emacs風2ストロークキーでSound Forgeをキーコンフィグするハック
久々に AHK ネタ。波形編集ソフト Sound Forge6 は大変使い勝手が良く重宝するのだがキーコンフィグがない*1。しかも頻繁に使うプロセスにキーコマンドがアサインされていない事が多い。こういう時は AutoHotkey でどうにかしてしまうに限る。
まず作りたいコマンドはフェードイン/アウト。このショートカットがないのには辛酸を舐めてきた。フェードコマンドでは両方ともイニシャルが F でコマンドが重複するのを避けるため、今回は Emacs 風2ストロークキーを作成する。 "Ctrl & F, I" と連続してコマンドするとフェードイン、 "Ctrl & F, O" でフェードアウトを行えるようにする。
#IfWinActive, ahk_class Forge6MDIClass ; Fade In/Out (2 Stroke Key) ^F:: ;first key Input,InputChar,C L1 T2,{Esc},i,o ;second keys if ErrorLevel=Match { if InputChar=i ;actions Send, !P{Down 5}{Right}{Down}{Enter} else if InputChar=o Send, !P{Down 5}{Right}{Down 2}{Enter} } return #IfWinActive
セカンドストロークでは Ctrl を離すことに注意。 Sound Forge のバージョンが上下する場合だとメニュー構造が変わっていると思われるためプロセスメニューを操作している Send を調節する必要があり。どうにも力技だが問題なく動くので気にしない。他にも "Ctrl & M" でミュートだの "Ctrl & Shift & S" で名前を付けて保存だのを作っておくとより作業が早くなって便利。
ちなみに上記のスクリプトはほぼAutoHotkeyを流行らせるページのサンプルスクリプトの引き写し。多謝。
*1:最新版の9系にはあるかもしれない、未確認