返信先: TuneBrowser.luaの使い方について

フォーラム TuneBrowser TuneBrowser.luaの使い方について 返信先: TuneBrowser.luaの使い方について

#4637
Tiki
キーマスター

こんにちわ。

luaの話なんてしましたっけ? と思ったら、たしかにひとこと触れていますね。(^^; よくお気づきになりましたね。

luaの対応は、そのひとこと以外は公開していませんでした。以前は個人的な用途として、使用するDACに合わせてアンプを自動制御するような処理に使っていたのですが、再生環境も変わり、わたし自身も使用しなくなっていて、ときおりどうしようかなと思いつつも、そのままにしていました。

youさんにはluaスクリプトの使い方をご質問いただいているのですが、もうすこしちがう話をさせてください。luaはある特定の業界ではよく使われているようなのですが、全体としてはマイナーです。luaを使用することにしたのは、TuneBrowser内にインタープリタを内蔵できる (ユーザに別途 動作環境を用意してもらう必要がない) からなのですが、2010年当時とは趨勢も変わっていて、なにか外部スクリプトをサポートするにしても、luaではなくべつの形態がいいのかなと思ったりもします。luaの特徴のひとつは、luaスクリプト内から制御元のプログラムの内部データにアクセスできるようにできることなのですが、結局その機構は用意していませんし。

さて、ご質問の件なのですが、残骸用のようなもので恐縮なのですが、わたしの手許に残っていたスクリプトの一部は次の通りです。

function    OnPlayback(strType, strDevice, strTune)
    if string.find(strDevice, "Mytek") ~= nil then
        return "command", "irusbcs \"Mytek XLR\""
    elseif string.find(strDevice, "OPPO") ~= nil then
        return "command", "irusbcs \"OPPO XLR\""
    elseif string.find(strDevice, "Chord") ~= nil then
        return "command", "irusbcs \"Chord XLR\""
    elseif string.find(strDevice, "TEAC") ~= nil then
        return "command", "irusbcs \"TEAC\""
    end
    return "", ""
end

再生開始時に、TuneBrowserが利用しているデバイス名に合わせて、”irusbcs” というプログラムに引数を渡して、入力を切り替えさせています。

戻り値の “command” はコマンド実行を指示するもので、現在のところこの “command” しかサポートしていません。”command” 以外を返すと, なにもしません。

(youさんにかぎらず) もしすこし長い目でお付き合いいただけるようであれば、こうした外部スクリプト/プログラム連携を充実させていきたい気持ちはありますので、なにかあれぱぜひご意見、ご質問いただければと思います。