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.