「なでしこ」は、プログラムで生成したテキストデータの保存が簡単にできる。
保存
http://nadesi.com/man/index.php?%E4%BF%9D%E5%AD%98
例えば、こんな感じだ。
保存(楽譜,“temp.mml”)
さらに、「なでしこ」から外部プログラムを起動するのも簡単だ。
起動
http://nadesi.com/doc/cmd-func.htm#k93
これで、「notepad」が立ち上がる。
起動 (“notepad”)
入力ファイルを引数にできるアプリならば、ソースをプログラムで指定することもできる。「サクラ」は起動時にソースを指定できるので、こんな感じで書くことができる。
起動 (“C:\Program Files\sakura\Sakura.exe temp.mml”)
さらに、拡張子がアプリケーションと関連付けされていれば、テキストファイルの拡張子により自動でプログラムを起動できる。
.mmlが「サクラ」に関連付けされていれば、テキストファイルの名前を指定するだけでよい。
起動 (“temp.mml”)
「なでしこ」でMMLソースを生成し「サクラ」を起動するにはこんな感じだ。
保存(楽譜,“temp.mml”); 起動 (“temp.mml”)
ちょっと試してみましょう。
L=「遊びをせんとや生れけむ
戯れせんとや生れけん
遊ぶ子供の声きけば
我が身さえこそ動がるれ」
配列要素数(L)回
A[回数-1]=文字列分解(L[回数-1])
鼓=区切る(“小 大”,“ ”); 鼓音@小=“o4a+”; 鼓音@大=“o4g+”
楽譜=“Tempo(48) @(53) REV(20) v.Random(50) t.Random(10) l2 ”
配列要素数(L)回
i=回数-1
楽譜=楽譜&“o4b ”
配列要素数(A[i])回
j=回数-1
B[i][j]=鼓[ASC(A[i][j])%2]; 楽譜=楽譜&鼓音@B[i][j]&“ ”
表示(“歌は{配列要素数(L)}行”); 表示(A); 表示(B); 表示(楽譜)
保存(楽譜,“temp.mml”); 起動 (“temp.mml”)
こういう方法で、「なでしこ」を色んなアプリのソースジェネレータに使えそうだ。