トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

uuid_shade8sdk

プラグインIDからUUIDへ

Shade7.5SDKまでは、プラグインIDはイーフロンティアでデベロッパID(ユーザごとに割り振られます)をもらい、それを元にプラグインIDを作ってました。

Shade8SDK以降は「UUID」というものでプラグインを識別するようになりました。「UUID」とは世界で唯一の128ビットのIDです。誰かのIDとだぶることはないので、オブジェクト(アプリケーションの一部品)を識別したりするのにも使われます。

Shadeでは、個々のプラグインを識別するのに使われるわけですね。じゃあ、なぜ誰ともぶつからないのでしょうか?おそらくですが、ハードごとにユニークであるネットワークのMACアドレスや経過時間などを元にUUIDを自動生成していると思われます。

以下のような文字列の羅列で表現されます。

77dc0269-ac76-4617-8ef6-32cbcc547afd

UUIDを取得しよう

もちろん、WinとMacで求めかたは違います。Shadeだけでなく、他のプログラムでも使えますので覚えておいて損はないです。プラグインSDKのドキュメントに求め方が書いているのですが、私はコマンドラインで求めるほうが好きなのでそのやり方を。

Windowsの場合

DOSプロンプトにて「VisualStudio .NET 2003」の「Common7\Tools\Bin」をカレントにします。dirしていただければ「uuidgen.exe」というのが見つかります。これを実行すると、文字列が出力されます。これです。

Macintosh(OSX)の場合

[アプリケーション]-[ユーティリティ]内に「ターミナル」実行ファイルがありますので、これをダブルクリックしてください。OSXでのプロンプトに相当する「ターミナル」が起動します。

後はWindowsと同じです。「uuidgen」を実行すると、UUIDが出力されます。これをコピー&ペーストして利用します。

ついでです。Shadeとは関係ないLinuxでも(笑)。

Linuxの場合

OSXのターミナルで、という作業で察しはつくと思いますが、実はUNIX系では標準で「uuidgen」というコマンドが存在しています。コマンドラインで「uuidgen」を実行すると、同じくUUIDを取得することができます。

OSX/Linux(RedHat9)は、双方とも「/usr/bin」内にありますね。

ShadeプラグインでのUUIDの利用

で、取得したUUIDをプラグインに指定することになるのですが、

uuid_class("77dc0269-ac76-4617-8ef6-32cbcc547afd")

のようにして指定してます。SDKにはサンプルソースもありますのでこれを見ると、「uuid_class」を返す部分(各インターフェースのget_uuid関数、グローバル関数のget_uuidなど)でこのUUIDを返してあげるとよい、ということが分かります。簡単に言うと、Shade7.5以前でプラグインIDを返していた部分(get_id)が、UUIDを返すようになった(get_uuid)と置き換えてしまってもいいかもしれませんね。ただ、もちろんこの変更で関数名が変わっているため注意です。

現在のShade8プラグインSDKでは、古いプラグインIDの指定手段も生きています。しかし、いずれ消えゆく運命にあると想像していますので、UUIDに切り替えていくほうがいいでしょうね(デベロッパIDの登録も不要なわけですし)。

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.