SyncSing Studio
Developers

雛形: Python の拡張機能(EXE にまとめて使う)

Python は 参考の SDK です(正式な SDK は C#。公式の拡張機能も C# の SDK を使っています)。問い合わせ・不具合の対応は C# を優先します。迷ったら templates/dotnet-basic から始めてください。

SyncSing Studio は拡張機能を EXE として起動します(manifest の entry.kind は exe だけ)。アプリには Python が 入っていないので、Python で書いた拡張機能は PyInstaller などで 1 つの EXE にまとめてから使います(build.ps1)。

plugin.py は標準ライブラリだけで書いた、いちばん小さな拡張機能です。音量メーターを読んでパネルに出し、 「あいさつを出す」(パネルのボタン・Stream Deck の「拡張機能のコマンド」・ミニUI・ショートカット)でアプリに通知を出します。

ファイル内容
plugin.py拡張機能の中身(ここを書き換えます)
syncsing_plugin_sdk.py接続の部品(標準入力の接続情報 → 名前付きパイプ → hello → 1 行 1 JSON。1 メッセージ 1 MiB の上限・イベントは 1 本の作業スレッドで順番に)。SDK の python/ と同じもの
syncsing_api.pyAPI 1.1 の全メソッドの型付きの呼び出し(api.mic_set(strength=3)。戻り値の形は MicSetResult などの TypedDict で、エディターの補完・型チェックに使えます)とイベントの名前(Events.METERS)。自動生成
LICENSEこの雛形は 0BSD(自由にコピー・改変してよく、表示も要りません)。SDK の 2 ファイルは MIT

はじめに書き換えるところ

試す

  1. py -3.14 -m pip install pyinstaller==6.22.3 → .\build.ps1 -IdentityId <あなたの Identity ID> で dist\ ができます。 動作を確かめた版は Python 3.14 と PyInstaller 6.22.3 です(SyncSing Studio 本体と同じ Python の版)。ほかの版でも動くことが多いですが、配る EXE は版を固定して作ってください。build.ps1 は py -3.14 で PyInstaller を動かします(別の版は -PythonVersion 3.13、python.exe を直接使うときは -Python <パス>)。
  2. SyncSing Studio → 設定 → 拡張機能 → 開発者モード ON(開発者規約への同意が要ります)→ 「開発フォルダを登録」で dist\。
  3. ログ(print の出力も入ります)は 設定 → 拡張機能 → 「ログを開く」。

アプリにつなぐ前に python ..\..\tools\syncsing_plugin.py test dist で、起動・hello・コマンドへの返事・呼んだメソッドの引数・終了まで確かめられます。

気をつけること

この資料は開発キットに入っているものと同じ内容です。拡張機能の作成・配布には拡張機能 開発者規約が適用されます。