SAORIについて。
簡単にいうとゴーストに機能を追加するプラグイン。dllやexe形式で提供されます。
難しく言うとSHIORIから利用するプラグイン。見た目は関数っぽい何か。
さおこれ、さおりんなど外部サイトも参照。
wiki内関連ページ:SAORI/YAYA、SAORI/YAYA/統合関数一覧
登録名,saori/SAORI本体のファイル名
(登録名[,引数n…])
登録名には好きな名前を付けられます。
特に決まりはなく、そのSAORIの名前をそのまま使ったり、短縮したものなど、自分が把握しやすいものがいいでしょう。
呼び出す方法は、関数のそれと全く同じです。
引数が必要ないSAORIなら、(登録名)だけでOK。
MIYさんのmciaudio.dllを組み込む例。
mciaudio,saori/mciaudio.dll
(mciaudio,load,鳥の詩.mp3)(mciaudio,play)
曲読み込み,saori/mciaudio.dll,load 演奏,saori/mciaudio.dll,play上のように宣言した場合は下記のように呼び出しできるようになります。
(曲読み込み,鳥の詩.mp3)(演奏)
配布されているさおり同梱の説明は里々以外の栞に向けて書かれている事が多いので、ちょっと補足。
(登録名,Argument0,Argument1,…)
関数はもちろん、SAORIの呼び出しも例外なく、そのトークが呼ばれた時点で実行されます。
なので、トークを再生中のあるタイミングでSAORIを実行させたい場合、文中にただ書いただけではダメ。
これを実現するには二つの方法があります。
どちらも@SAORIに
fill_desktop,saori/fill_desktop.dll
fill_red,saori/fill_desktop.dll,255,0,0
が設定されているとします。
:3・2・1・(sync,fill_red)はい!\w9\w9 (sync,fill_desktop)びっくりした?\w9\w9
* :3・2・1・\![raise,塗りつぶし]はい!\w9\w9 \![raise,塗りつぶし解除]びっくりした?\w9\w9 *塗りつぶし (fill_red) *塗りつぶし解除 (fill_desktop)
これで想定したタイミングで発生します。
戻り値は捨てられます。挿入されたりはしません。
ウィンドウハンドルの通知時に *hwnd が呼ばれます。
ここで変数に保存するか、SAORIに直接渡しましょう。
(R0)には本体ウィンドウ、(R1)にはバルーンウィンドウのハンドルが入ります。
それぞれ、\0,\1,\2...(\2以降はCROW/SSP限定)のハンドルがバイト値1で区切られたもの。
これをsplitで分割して、目的のウィンドウハンドルを得る事になります。
例
*hwnd (split,(R0),(sprintf,%c,1)) $本体ハンドル0=(S0) $本体ハンドル1=(S1) (split,(R1),(sprintf,%c,1)) $バルーンハンドル0=(S0) $バルーンハンドル1=(S1) #\0・\1の本体・バルーンのハンドルを変数に保存する。~ #この変数をハンドルを必要とするさおり呼び出しに使用する。~ #(S2)以降を参照することで\2以降のハンドルも取得できるが、~ #ウィンドウが初期化されていない場合無効なハンドルが~ #渡されてくるかもしれない。(未検証)~
例えばこう記述して「1+1+1」内の「+」を消そうとすると
(erase、1+1+1、+)
「1+1+1」がerase処理前に計算され、「111」ではなく「3」という結果が出てしまう。
計算されなくても全角数字にが勝手に半角になってしまい困る場合もある。
これを防ぐには、特殊変数の$SAORI引数の計算を使おう。
$SAORI引数の計算【タブ】無効
ただし、これを無効にしたままだと他のSAORIが正常に動かなくなる可能性があるので、用が済んだら「$SAORI引数の計算【タブ】自動」に戻すようにしよう。
$SAORI引数の計算【タブ】有効 計算する。 $SAORI引数の計算【タブ】無効 計算しない。 $SAORI引数の計算【タブ】自動 各引数の先頭文字が数値または+、-記号のいずれかであれば計算する。 何も指定しなければこれ。今までと同じ動作。
栞(SHIORI)の中には、SAORIとしても使えるようになっているものもあります。
特に文/YAYAや華和梨を使ってその関数を借りれば、里々の簡単さを損なわないままに、できる事を大幅に拡張する事ができます。
詳しくはSAORI/YAYAへ。YAYAの持つ正規表現などの多数の関数やファイル・フォルダ操作を利用できます。
YAYA as SAORI と同じノリで作られています。ダウンロード→AKARI as SAORI
マウスカーソルを自在に操る等、YAYAとは明らかに違う灯独自の関数を堪能できて楽しいと思います。
詳しくはSAORI/華和梨へ。
里々自体もさおりとして使うことができます。詳しくはSAORI/里々へ。
satoriで登録したならば、(satori,起動)のようにして使えます。この時、引数の間にスペースが入ってはいけません。
最初から使える関数以外の定義(例えば上記の"起動")は自分で里々形式のスクリプトを書き、さおりと同じフォルダに配置しなければなりません。
忍をさおりとして使用する際には特別必要なものはありません。
shinoで登録したならば、(shino, get, OnBoot)のようにgetというコマンドを使います。
OnBoot等の定義は自分で忍形式のスクリプトを書き、さおりと同じフォルダに配置しなければなりませんが、サンプルとなるゴーストが既にダウンロードできない状態のようですので利用は難しいと思います。
里珠をさおりとして使うためには、別途さおりとして扱うためのスクリプトが必要ですが、現在のところ公開されているものはないようです。