nasMenu.txt
-------------------------------------------------------------------------------
このスクリプトは、同様の機能を nasManuII-.jsx および　nasMenuII.jsx に譲り更新が停止しております。
設定ファイルは　nasMenu/II-/II ともに共通ですので、よろしければ後継バージョンをご使用ください。
2009/11/11

-------------------------------------------------------------------------------
*パレットメニューの使い方

このボタンパレットランチャーは、もともとはAEのデモスクリプトのボタンランチャーでした。
でも、メチャクチャ書き換えてしまったのでもうすっかり別物になってしまいました。

サブメニューパレットを拡張しました。2006・11

**メニューアイテムの登録
メニューアイテムは、基本的に自動登録です。

-nas/ フォルダに置かれたファイル/フォルダが自動でチェックされてメニューに登録されます。

-さらにその配下に置かれたファイル・フォルダも再帰的にメニューに登録されます。

-設定ファイルによって検索を中止することもできます。

-それ以外場所のファイル/フォルダを登録したい場合は、後述の方法でスクリプトを書き換えて自分で登録してください。

-フォルダを検出して、そのなかに''_subMenu.jsx''ファイルがあった場合でファイル内の指定で拒否されていない場合は、そのフォルダを基点にサブメニューパレットを作成します。

-ショートカットおよびエイリアスを検出してメニューボタンに登録します。

- *.jsx *.js ファイルを検出して、メニューボタンに登録します。

-*.jsxまたは *.js ファイルの場合、ファイルの第一行を"//no launch"で始めると、メニュー登録の際に無視されます。

-第一行目に"/*(アイテム名)"と書き込んでおくと、そのアイテム名をメニューのラベルとして使用します。

-"()"括弧でかこまれたフォルダも検索の対象です。( →スクリプトメニューに表示されないボタンを作成できます。)

-一般のフォルダや、ファイルを検出した場合は、システムで実行するボタンをメニューに登録します。(ファインダやエクスプローラで開きます。)

**サブメニューパレット
自動検索対象のフォルダにあるフォルダは再帰的に自動登録されます。
サブメニュースイッチはチェックボックスになっています。
クリックするたびにサブメニューパレットが 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/04/26	Nekomataya/kiyo

AE8(CS3)でアイコンボタンが使用可能になりましたが、まだ対応していません。
バグが多めなのでちょっと様子見を…
2007/10/11	Nekomataya/kiyo




