NasMenu - [[レンダー乙女とか]]
目次
レンダー乙女とか paletteMenu.txt
パレットメニューの使い方
このボタンパレットランチャーは、もともとはAEのデモスクリプトのボタンランチャーでした。 でも、メチャクチャ書き換えてしまったのでもうすっかり別物になってしまいました。
II号が発生しました
NasMenuIIAE8に対応させるためにパレットメニュー(コマンドランチャー)の派生版が出来ました。
シングルウィンドウ動作をするので、こちらのアップデートではなく別のスクリプトになりました。このスクリプトの置き替えも可能なのでお好きな方をご利用いただけます。
サブメニューパレットを拡張しました。
メニューアイテムの登録
メニューアイテムは、基本的に自動登録です。nas/ フォルダに置かれたファイルが自動でチェックされてメニューに登録されます。
それ以外のファイルを登録したい場合は、後述の方法でスクリプトを書き換えて自分で登録してください。
フォルダ内のファイルは、ショートカットおよびエイリアスを認識します。
*.jsxまたは *.js ファイルの場合、ファイルの第一行を"//no launch"で始めると、メニュー登録の際に無視されます。第一行目に"/*(アイテム名)"と書き込んでおくと、そのアイテム名をメニューのラベルとして使用します。
nas/ フォルダにある *.jsx ファイルを自動登録します。
オプションで nas/(tools)/ フォルダの下のすべてのファイルを再帰的に自動登録します。
- *.jsx *.js ファイルを検出すると、メニューボタンに登録します。
- フォルダを検出して、そのなかに_subMenu.jsxファイルがあった場合でファイル内の指定で拒否されていない場合は、そのフォルダを基点にサブメニューパレットを作成します。
- 一般のフォルダや、ファイルを検出した場合は、システムで実行するボタンをメニューに登録します。(ファインダやエクスプローラで開きます。)
サブメニューパレット
自動検索対象のフォルダにあるフォルダは再帰的に自動登録されます。 サブメニュースイッチはチェックボックスになっています。 クリックするたびにサブメニューパレットが open/close します。サブパネルのボタンをクリックすると、メニューが消えてコマンドが実行されます。
メニューをドラグで移動すると、クリックしても消えなくなります。
メニューを閉じると、メニューを開いたスイッチのチェックも消えます。
コマンドボタンの登録
ボタンは基本的に自動登録です。
自動登録の対象は、デフォルトでNasMenu.jsxのあるフォルダの *.jsxファイル です。 オプションで (tools) フォルダ以下の 全てのファイルを登録します。登録の際に、AEスクリプトのファイル第一行目をチェックしています。
ファイルの第一行目が
//no launchであった場合は、パレットに登録しないでスキップします。登録したくないファイルの冒頭に指定してください。
/*(ボタン名)上の形式の場合は、括弧内の文字列をボタンラベルに使用します。 ラベルが指定されていないファイルは、ファイル名から拡張子を取り去ったものがボタンラベルとなります。
スクリプトと同じ階層の jsx ファイルは、AEスクリプトのコマンドとして登録されます。
(tools)フォルダには、AEスクリプトの他に通常のファイルをおくことも出来ます。
またサブパレットメニューでは拡張子が".js"であってもボタンに登録されます。
デバッグなどにご利用下さい。
拡張子 jsx/js 以外のファイルは、システムで実行するように設定されます。
たとえば、(windowsの場合)notepad.exeのショートカットを"(tools)/ "フォルダにコピーすると、AEのボタンランチャからノートパッドを起動することが出来ます。 データファイルを置くと、システム設定のアプリケーションで開くことが出来ます。
ちなみにこのファイルは、そうやってボタン登録してあります。ヘルプをそのうち作ったら ここから起動する予定。
ファイルの動作はシステムでダブルクリックした時の動作と同じです。(建前上はそうなっているらしい…あやしいけど)
手動でファイルを登録
手動でスクリプトに設定を書き加えると、任意のフォルダの任意のスクリプトおよびAEスクリプトの関数をボタンに登録することが出来ます。 また、URL(URI)を登録して、ブラウザでWEBページを開くこともできます。ソース内の手動登録部分を参考に各自でお好きなメニューアイテムを付け加えて下さい。 ボタンのコマンドを保持しているオブジェクトはnas.ToolBox?.ItemList?配列です。 配列の1要素がメニューアイテムひとつに相当します。
nas.ToolBox?.ItemList?配列は、パレットの処理一回ごとの一時変数です。 直接読み出しは保証されません。
サブパレットフォルダの登録
nas.ToolBox?.ItemList?配列にFolderオブジェクトを登録すると、そのフォルダを基点としてサブメニューパレットを作成します。 サブメニューに設定したいフォルダがあれば登録してください。nas.ToolBox.ItemList.push(Folderオブジェクト);メニューにラベルを設定する場合は、以下の様にプロパティで指定してください。
nas.ToolBox.ItemList[nas.ToolBox.ItemList.length].btTitle="ボタン名";指定がない場合は、フォルダ名がアイテムのラベルになります。
自動登録対象のフォルダの下にフォルダを作成した場合は、自動登録されますのでそれ以外の場所のフォルダを登録するのに使用します。
スクリプトファイルの登録
nas.ToolBox?.ItemList?配列に要素3つの配列を登録するとスクリプトボタンになります。以下のように、pushメソッドで追加していただくと良いと思います。
nas.ToolBox.ItemList.push([ボタンラベル,スクリプトのパス,スクリプトのファイル名]);
関数の登録
nas.ToolBox?.ItemList?配列に要素2つの配列を登録すると関数ボタンになります。以下のように、pushメソッドで追加していただくと良いと思います。
nas.ToolBox.ItemList.push([ボタンラベル,実行する関数オブジェクト]);
一般ファイル
一般のファイルは、関数ボタンとして登録します。 NasMenuスクリプト内に一般のファイルをシステムから起動する関数 nas.otomeExec()メソッドがありますので以下のように手動で登録して下さい。
nas.ToolBox.ItemList.push([ボタンラベル,function(){otomeExec("起動したいファイルのパス")});パスは、絶対パスでも相対パスでも大丈夫ですが、絶対パスの方が安全かしら?
ボタン列数の変更
スクリプトの中から以下の部分を検索して書き換えるとボタンの列数と幅を変更できます。 お好きなサイズのボタンランチャーでご使用下さいね。サブメニューパレットのサイズ指定は、サブメニューフォルダ内の.subMenu.jsxに同様の指定をしてください。
// ボタンパレットのサイズ var buttonColumn=1;//ボタン列数 var buttonWidth=2.5;//ボタン幅ボタンの幅は、lib/nas_GUIlib.js で設定されてる単位でになります。 特に変更がなければ1ユニットあたり 60px になってます。 ライブラリ側で書き換えるとレンダー乙女全体で変更、こちらで変更するとボタンパレットのみの変更となります。
ひとまずこんなカンジです。AE7.0以降に本格対応する場合は、ランチャーのボタンはアイコン選択になる予定…いつかしら? アイコンが使えないという噂も聞いた、そういえばまだ試して無かった…えー?ダメなの? 2006/09/04 Nekomataya/kiyo
Powered by YukiWiki 2.1.2a / Modified by Nekomataya.