SyncSing Studio
Developers

SyncSing.Plugin.Sdk(.NET Framework 4.8・API 1.1)

SyncSing Studio / SyncSing NC Lite の拡張機能(プラグイン)を C# で作るための小さなライブラリです。 ファイルは SyncSingPlugin.cs(接続)と SyncSingApi.g.cs(API 1.1 の全メソッドの型付き API・自動生成)の 2 つで、 外部の NuGet パッケージは使いません(参照は System.Web.Extensions だけ)。MIT ライセンスです。

使い方

using SyncSing.Plugin.Sdk;

static int Main()
{
    using (var client = PluginClient.Connect())        // 標準入力の 1 行目 → 名前付きパイプ → hello
    {
        client.OnCommand = (command, source, pressed) =>
        {
            client.Api.NotifyShow(title: "押されました", body: command);
            return null;                                // null は {"ok": true}
        };
        client.On(Events.Meters, data => { /* 音量メーター */ });
        client.Subscribe(250, Events.Meters);           // meters は 250 ms ごと
        client.Panel("main").Send(Block.Status("動作中", "ok"), Block.Button("試す", "test", true));
        client.Run();                                   // plugin.shutdown か切断まで待つ
    }
    return 0;
}

「押したのに何も起きない」を防ぐ決まり(SDK 1.2)

ビルド

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