SV

SV

ホストオブジェクトは SV という名前のグローバルオブジェクトで、スクリプトのどこからでもアクセスできます。

メンバー

QUARTER :number

4 分音符のブリック数(705600000)。

Synthesizer V Studio では音楽的時間(例:4 分音符、1 拍)は物理的時間(例:1 秒)とは明確に区別されています。ブリックは GUI が内部的に扱う音楽的時間の最小単位です。音楽ソフトウェアで使われる、似たような目的を持った様々な数で割り切れるように選ばれた大きな数です。名前の由来は Flicks です。

型:
  • number

メソッド

blackKey(k) → {boolean}

鍵盤(MIDI ノート番号)がピアノの黒鍵かどうかを確認します。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
k number
戻り値:
boolean

blick2Quarter(b) → {number}

ブリックの数 b を 4 分音符の数に変換します。

b / SV.QUARTER に相当します。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
b number
戻り値:
number

blick2Seconds(b, bpm) → {number}

指定された bpm を使い、ブリックの数 b を秒に変換します。

b / SV.QUARTER * 60 / bpm に相当します。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
b number
bpm number
戻り値:
number

blickRoundDiv(dividend, divisor) → {number}

dividend(ブリック) 割る divisor(ブリック)を丸めたもの。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
dividend number
divisor number
戻り値:
number

blickRoundTo(b, interval) → {number}

b(ブリック)に最も近い interval(ブリック)の倍数を返します。

blickRoundDiv(b, interval) * interval に相当します。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
b number
interval number
戻り値:
number

create(type) → {object}

新しくオブジェクトを作成します。type は以下のいずれかの型指定文字列となります。

type 詳細
"Note" ピッチ、歌詞、開始位置、長さなどで特徴づけられた音符。
"Automation" NoteGroup 内の特定のパラメータタイプ(ピッチベンドなど)を制御する点の集合。
"NoteGroup" 再利用のためにグループ化されたノートやパラメータ。
"NoteGroupReference" 時間とピッチオフセット、および歌声 / データベースプロパティを持つ場合もある NoteGroup への参照。
"TrackMixer" トラックのミキサーの状態(ゲイン、パン、ミュート、ソロなど)を属性の集合。
"Track" NoteGroupReference の集まり。
"TimeAxis" テンポと拍子記号を格納するプロジェクト全体規模のオブジェクト。物理的時間と音楽的時間の変換を行います。
"Project" 作業の対象となる最大のオブジェクト。TrackTimeAxisNoteGroupなどが入っています。
パラメータ:
名前 細細
type string

A type-specifying string.

戻り値:
object

finish()

スクリプトの終了を示します。以降のすべての非同期コールバックは実行されません。これにより、現在のスクリプトが直ちに終了するわけではないことにご注意ください。

freq2Pitch(f) → {number}

周波数(単位: Hz)を MIDI ノート番号(単位:半音、C4 は 60)に変換します。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
f number
戻り値:
number

getArrangement() → {ArrangementView}

トラックエリアの UI 状態オブジェクトを取得します。

戻り値:
ArrangementView

getHostClipboard() → {string}

システムクリップボードのテキストを取得します。

戻り値:
string

getHostInfo() → {object}

以下のプロパティを持つオブジェクトを取得します。

  • osType: string "Windows", "macOS", "Linux", "Unknown" のいずれか
  • osName: string オペレーティングシステムの完全な名前
  • hostName: string "Synthesizer V Studio Pro" あるいは "Synthesizer V Studio Basic"
  • hostVersion: string Synthesizer V Studio のバージョン文字列。例: "1.0.4"
  • hostVersionNumber: number メジャー番号、マイナー番号、リビジョン番号をそれぞれ 2 桁の 16 進数で表したバージョン番号。例: "1.0.4" の場合は 0x010004
  • languageCode: string UI の言語コード。例: "en-us"、"ja-jp"、"zh-cn" など。
戻り値:
object

getMainEditor() → {MainEditorView}

ピアノロールの UI 状態オブジェクトを取得します。

戻り値:
MainEditorView

getPhonemesForGroup(group) → {array}

グループ(グループ参照として渡されます)内のすべてのノートの音素を取得します。そのグループは、現在オープンしているプロジェクトの一部である必要があります。

getPhonemesForGroup は、Synthesizer V Studio 内部の変換器(テキストから音素への)の 出力 を返すことに注意してください。つまり、ユーザが音素を指定していないノートについても getPhonemesForGroup はデフォルトの発音を返します。一方、この場合 Note#getPhonemes は空の文字列を返します。

また、変換器は別のスレッドで実行されることに注意してください。getPhonemesForGroup は現在のスレッドをブロックしません。変換器がまだグループ上での実行を完了していない場合、空の配列を返す可能性がわずかにあります。このような場合、getPhonemesForGroupSV#setTimeout でラップすることをおすすめいたします。

パラメータ:
名前 細細
group NoteGroupReference
戻り値:

an array of string

array

getPlayback() → {PlayBackControl}

プレイバックを制御するための UI 状態オブジェクトを取得します。

戻り値:
PlayBackControl

getProject() → {Project}

現在開いているプロジェクトを取得します。

戻り値:
Project

pitch2freq(p) → {number}

MIDI ノート番号(単位:半音、C4 は 60)を周波数(単位: Hz)に変換します。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
p number
戻り値:
number

quarter2Blick(q) → {number}

4 分音符の数 q をブリックの数に変換します。

q * SV.QUARTER に相当します。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
q number
戻り値:
number

seconds2Blick(s, bpm) → {number}

指定された bpm を使い、秒 s をブリックの数に変換します。

s / 60 * bpm * SV.QUARTER に相当します。

プロジェクトの文脈においての音楽的時間と物理的時間の間の変換は、TimeAxis によって行われます。

パラメータ:
名前 細細
s number
bpm number
戻り値:
number

setHostClipboard(text)

システムクリップボードにテキストを置きます。

パラメータ:
名前 細細
text string

setTimeout(timeOut, callback)

timeOut ミリ秒後の callback 遅延呼び出しをスケジュールする。

setTimeout が呼び出された後、直ちに callback が実行されるわけではありません。コールバック関数はキューにプッシュされ遅延します。これはプリエンプティブなコールバックではありません。つまり、callback の実行によって現在実行中のタスクが中断されることはありません。

パラメータ:
名前 細細
timeOut number
callback function

showCustomDialog(form) → {object}

ユーザーがダイアログを閉じるまでスクリプトの実行をブロックする SV#showCustomDialogAsync の同期バージョン。ユーザーからの入力(入力済みのフォーム)を返します。

パラメータ:
名前 細細
form object
戻り値:
object

showCustomDialogAsync(form, callback)

form で定義されたカスタムダイアログを、スクリプトの実行をブロックせずに表示します。

コールバック callback はダイアログが閉じられると呼び出されます。コールバック関数はカスタムダイアログの入力状態を取ります。

詳細は カスタムダイアログ を参照してください。

パラメータ:
名前 細細
form object
callback function

showInputBox(title, message, defaultText) → {string}

ユーザーがダイアログを閉じるまでスクリプトの実行をブロックする SV#showInputBoxAsync の同期バージョン。ユーザーが入力したテキストを返します。

パラメータ:
名前 細細
title string
message string
defaultText string
戻り値:
string

showInputBoxAsync(title, message, defaultText, callback)

スクリプトの実行をブロックせずに、テキストボックスと「OK」ボタンのあるダイアログを表示します。

コールバック callback はダイアログが閉じられると呼び出されます。コールバック関数は、テキストボックスの内容である string 型引数をひとつ受け取ります。

パラメータ:
名前 細細
title string
message string
defaultText string
callback function

showMessageBox(title, message)

ユーザーがメッセージボックスを閉じるまでスクリプトの実行をブロックする SV#showMessageBoxAsync の同期バージョン。

パラメータ:
名前 細細
title string
message string

showMessageBoxAsync(title, message, callback)

スクリプトの実行をブロックせずにメッセージボックスをポップアップさせます。

コールバック callback が与えられた場合、メッセージボックスが閉じられた時点で呼び出されます。コールバック関数は引数をとりません。

パラメータ:
名前 細細
title string
message string
callback function

(optional)

showOkCancelBox(title, message) → {boolean}

ユーザーがメッセージボックスを閉じるまでスクリプトの実行をブロックする SV#showOkCancelBoxAsync の同期バージョン。「確定」ボタンが押された場合、真を返します。

パラメータ:
名前 細細
title string
message string
戻り値:
boolean

showOkCancelBoxAsync(title, message, callback)

スクリプトの実行をブロックせずに、「確定」ボタンと「キャンセル」ボタン付きのメッセージボックスを表示します。

メッセージボックスが閉じられると callback が呼び出されます。コールバック関数は「確定」ボタンが押された場合に真となる boolean 型引数をひとつ取ります。

パラメータ:
名前 細細
title string
message string
callback function

showYesNoCancelBox(title, message) → {string}

ユーザーがメッセージボックスを閉じるまでスクリプトの実行をブロックする SV#showYesNoCancelBoxAsync の同期バージョン。"yes"、"no"、"cancel" のいずれかを返します。

パラメータ:
名前 細細
title string
message string
戻り値:
string

showYesNoCancelBoxAsync(title, message, callback)

スクリプトの実行を妨げることなく、「はい」ボタン、「いいえ」ボタン、「キャンセル」ボタンを備えたメッセージボックスを表示します。

メッセージボックスが閉じられると callback が呼び出されます。コールバック関数は "yes"、"no"、"cancel" のいずれかとなる string 型引数をひとつ受け取ります。

パラメータ:
名前 細細
title string
message string
callback function

T(text) → {string}

現在の UI 言語設定に基づいてローカライズされた text を取得します。

詳細は ローカライゼーション を参照してください。

パラメータ:
名前 細細
text string
戻り値:
string