「スクリプトのサンプル」の編集履歴(バックアップ)一覧はこちら
スクリプトのサンプル - (2008/10/21 (火) 22:46:16) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*編集自動化スクリプトのサンプル
スクリプトの呼び出し仕様などが確定していないので,下記のサンプルは疑似コードです.
**メタテキストの内容をファイルに保存する
#highlight(csharp){{public static class SaveMetaText{
public static void Edit( VsqFile vsq ){
vsq.Tracks[1].PrintMetaText( @"c:\meta_text.txt" );
}
} }}
**歌詞情報を取得し、ファイルに保存する
#highlight(csharp){{using ( StreamWriter sw = new StreamWriter( @"c:\lyrics.txt" ) ) {
for ( int i = 0; i < Vsq.Tracks[1].LyricEvents.Count; i++ ) {
VsqEvent item = Vsq.Tracks[1].LyricEvents[i];
int clStart = item.Clock;
int clEnd = clStart + item.ID.Length;
double secStart = Vsq.SecFromClock( clStart );
double secEnd = Vsq.SecFromClock( clEnd );
sw.WriteLine( secStart + "\t" + secEnd + "\t" + item.ID.LyricHandle.L0.Phrase + "\t" + item.ID.LyricHandle.L0.PhoneticSymbol );
}
} }}
**全ての音符を半音上げる
#highlight(csharp){{for( int i = 1; i < Vsq.Tracks.Count; i++ ){
foreach( VsqEvent item in Vsq.Tracks[i].LyricEvents ){
if( item.ID.Note < 127 ){
item.ID.Note++;
}
}
} }}
**全ての音符の長さを32分音符分だけ短くする
#highlight(csharp){{for( int i = 1; i < Vsq.Tracks.Count; i++ ){
foreach( VsqEvent item in Vsq.Tracks[i].LyricEvents ){
// 32分音符の長さは,クロック数に直すと60クロック
if( item.ID.Length > 60 ){
item.ID.Length -= 60;
}
}
} }}
----
*編集自動化スクリプトのサンプル
スクリプトの呼び出し仕様などが確定していないので,下記のサンプルは疑似コードです.
**メタテキストの内容をファイルに保存する
#highlight(csharp){{public static class SaveMetaText{
public static void Edit( VsqFile vsq ){
vsq.Tracks[1].PrintMetaText( @"c:\meta_text.txt" );
}
} }}
**歌詞情報を取得し、ファイルに保存する
#highlight(csharp){{public static class PrintLyric{
using ( StreamWriter sw = new StreamWriter( @"c:\lyrics.txt" ) ) {
for ( int i = 0; i < Vsq.Tracks[1].LyricEvents.Count; i++ ) {
VsqEvent item = Vsq.Tracks[1].LyricEvents[i];
int clStart = item.Clock;
int clEnd = clStart + item.ID.Length;
double secStart = Vsq.SecFromClock( clStart );
double secEnd = Vsq.SecFromClock( clEnd );
sw.WriteLine( secStart + "\t" + secEnd + "\t" + item.ID.LyricHandle.L0.Phrase + "\t" + item.ID.LyricHandle.L0.PhoneticSymbol );
}
}
} }}
**全ての音符を半音上げる
#highlight(csharp){{for( int i = 1; i < Vsq.Tracks.Count; i++ ){
foreach( VsqEvent item in Vsq.Tracks[i].LyricEvents ){
if( item.ID.Note < 127 ){
item.ID.Note++;
}
}
} }}
**全ての音符の長さを32分音符分だけ短くする
#highlight(csharp){{for( int i = 1; i < Vsq.Tracks.Count; i++ ){
foreach( VsqEvent item in Vsq.Tracks[i].LyricEvents ){
// 32分音符の長さは,クロック数に直すと60クロック
if( item.ID.Length > 60 ){
item.ID.Length -= 60;
}
}
} }}
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: