ProSound : SoundClass

ProSound - superclass: SoundClass; super-superclass:MAXWrapper - classID: #(1198500318, 1536265802)

3ds Max 2010 で導入された ProSound SoundClass は 100 種類のサウンド チャネルと広範囲な MAXScript アクセスをサポートする優れた Sound Object を提供します。

概要については「プロ サウンド拡張機能」のトピックを参照してください。

メソッド:

サウンド システムの初期化

<boolean>prosound.init <boolean>KeepExistingFile     

MAXScript アクセスのため、プロ サウンドを初期化します。プロ サウンドがロードされていない場合、プロ サウンドが自動的にロードされ、3ds Max のサウンド オブジェクトに設定されます。3ds Max の Default SoundClass オブジェクトにオーディオ ファイルが既にロードされている場合は、KeepExistingFile フラグを true に設定することによって、オーディオ トラックの 1 つとしてこのファイルがプロ サウンドに追加されるため、既存のトラックは保持されます。

成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound. isActive()

プロ サウンドが 3ds Max のサウンド オブジェクトであれば true、それ以外の場合は false を返します。戻り値が false の場合は、prosound.init() を呼び出して、他のすべてのプロ サウンド MAXScript 関数にアクセスします。

<integer>prosound.Version()

ProSound のバージョンに 100 を掛けた値を返します。たとえばバージョンが 1.4 の場合、この関数は 140 を返します。

例:

    prosound.isActive () --check whether ProSound is active
    --> ProSound is not active. Call ProSound.Init (true)
    ProSound.Init (true)
    --> Attempting to Load ProSound
    --> ProSound Init Success
    --> true
    prosound.isActive () --try again
    --> ProSound is active.
    --> true
    prosound.version () --get version
    --> 140
<boolean>prosound.unload ()

プロ サウンドをロード解除して、3ds Max の Default Sound Class オブジェクトを有効にします。成功の場合は true、それ以外の場合は false を返します。

例:

    prosound.unload () -- unload ProSound and enable Default Sound.

プロ サウンド ダイアログ ボックスのコントロール

<void>prosound.open ()

[プロ サウンド] (ProSound)ダイアログ ボックスを開くまたは最大化します。

プロ サウンドがアクティブでない場合は、アクティブ化も行います。

<void>prosound.close()

[ProSound]ダイアログ ボックスが開いている場合は閉じます。

例:

    prosound.open () -- open the ProSound dialog.
    prosound.close () -- close the dialog.

サウンド ファイルの追加と問い合わせ

<integer>prosound.MaxTracks()

プロ サウンドでサポートされるオーディオ トラックの最大数を返します。現在、この数は 100 です。

<integer>prosound.NumTracks()

プロ サウンドで使用されているオーディオ トラックの数をレポートします。これには、アクティブではないがファイルが割り当てられているトラックも含まれます。

<boolean>prosound.append <filename>AudioFile

指定されたファイルをロードし、オーディオ トラックのリストの末尾に追加します。引数は有効なオーディオ ファイルの完全名でなくてはなりません。

プロ サウンドの UI で[追加] (Add)ボタンを使用することと同じです。

成功の場合は true、それ以外の場合は false を返します。

boolean>prosound.delete <index>Track

指定したオーディオ トラックを削除します。

プロ サウンドの UI で[削除] (Delete)ボタンを使用することと同じです。

成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.replace <index>Track <filename>AudioFile

指定したインデックスの位置にあるオーディオ ファイルを置き換えます。最初の引数は置き換えるファイルのインデックス、2 つ目の引数は置き換えられる有効なオーディオ ファイルの完全なファイル名です。

プロ サウンドの UI で置換ボタンを使用することと同じです。

成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.ReloadAll()

すべてのオーディオ ファイルをプロ サウンドに再ロードします。再ロードに成功した場合は true、それ以外の場合は false を返します。

例:

    prosound.append"C:\\WINDOWS\\Media\\chimes.wav"--adds a file
    --> true
    prosound.append"C:\\WINDOWS\\Media\\tada.wav"--adds another
    --> true
    prosound.numtracks() --check the number of tracks
    --> 2
    prosound.delete 1 --deletestrack 1
    --> true
    prosound.replace 1 "C:\\WINDOWS\\Media\\notify.wav"
    --> true
    prosound.numtracks() --get the number of track safter deleting 1
    --> 1
    prosound.maxtracks() --see how many tracks are supported
    --> 100
    prosound.reloadall() --reload all tracks
    --> true

トラックの操作

<boolean>prosound.active <index>Track

インデックスで指定されたトラックがアクティブの場合は true を返し、それ以外の場合は false を返します。

<boolean>prosound.SetActive <index>Track <boolean>ActiveState

指定されたトラックのアクティブ ステータスを設定します。成功の場合は true、それ以外の場合は false を返します。

例:

    prosound.active 1 --see if track 1 is active
    -->true
    prosound.setactive 1 false --turn it off
    -->true
    prosound.active 1 --see if it is on or off now
    -->false
    prosound.setactive 1 true --turn it back on
    -->true
filename>Name <index>Track

指定されたトラックのファイル名を返します。

<integer>prosound.SampleRate <index>Track

オーディオ トラックのサンプル レートを返します。

integer>prosound.channels <index>Track

指定されたオーディオ トラックのオーディオ チャネル数を返します。

例:

    prosound.name 1 --get the name of track 1
    -->"C:\WINDOWS\Media\notify.wav"
    prosound.SampleRate 1 --get the sample rate of track 1
    -->22050
    prosound.channels 1 --get the channels of track 1
    -->2
time>prosound.start <index>Track

インデックスで指定されたトラックの開始フレーム番号を返します。

<boolean>prosound.SetStart <index>Track <time>StartFrame

インデックスで指定されたトラックの開始フレームを設定します。成功の場合は true、それ以外の場合は false を返します。

time>prosound.end <index>Track

指定されたトラックの終了フレーム番号を返します。

<boolean>prosound.SetEnd <index>Track <time>EndFrame

指定されたトラックの終了フレームを設定します。成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.Shift <index>Track <time>Frames

指定されたトラックの開始フレームおよび終了フレームを、指定された数だけずらします。成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.ShiftAll <integer>Frames

すべてのオーディオ トラックの開始フレームおよび終了フレームを、指定された数だけずらします。成功の場合は true、それ以外の場合は false を返します。

time>prosound.filelength <index>Track

指定されたオーディオ ファイルの長さを (フレーム数で) 返します。これはファイルの長さであり、トラックの長さではありません。つまり、ファイルの長さが 120 フレームで、トラックの開始フレームが 0 で終了フレームが 150 の場合、150 ではなく 120 が返されます。トラックの長さを取得するには、prosound.end() および prosound.start() を使用します。

プロ サウンドの UI の[持続時間] (Duration)の値と同じです。

例:

    prosound.start 1 --get the start frame of track 1
    -->0f
    prosound.end 1 --get the end frame of track 1
    -->18.9625f
    prosound.filelength 1 --get the file length of track 1
    -->40.5875f
    prosound.setstart 1 10 --sets the start frame of track 1to 10
    -->true
    prosound.setend 1 123 --sets the end frame of track 1 to 123
    -->true
    prosound.start 1 --check the new start frame of track 1
    -->10f
    prosound.end 1 --check the new end frame of track 1
    -->123f
    prosound.shift 1 50 --shift both start and end by 50 frames
    -->true
    prosound.start 1 --check the shifted start frame of track 1
    -->60f
    prosound.end 1 --check the shifted end frame of track 1
    -->173f
    prosound.shiftAll -50 --shift all tracks back 50 frames
    -->true
<integer>prosound.NumLoops <index>Track

このトラックでループが使用されている場合は、トラックのループの数を返します。それ以外の場合は、トラックの持続時間およびファイルの長さに基づいて、完了したループの数を計算します。

<boolean>prosound.SetNumLoops <index>Track <integer>NumberOfLoops

指定されたトラックのループの数を設定します。また、このトラックの[ループを使用](Use Loops)オプションを true に設定します。成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.UseLoops <index>Track

指定されたトラックについて[ループを使用] (UseLoops)オプションが有効であれば true、それ以外の場合は false を返します。

例:

    prosound.numloops 1 --get the loops of track 1
    -->2
    prosound.setnumloops 1 3 --set the loops of track 1 to 3
    -->true
    prosound.end 1 --check the new end frame of track 1
    -->181.762f
    prosound.useloops 1 --see if track 1 will use loops
    -->true

再生コントロールさいせいこんとろーる

<boolean>prosound.backwardScrub()

[逆方向スクラブを許可](Permit Backwards Scrubbing)再生オプションの状態を返します。逆方向スクラブが有効であれば true、それ以外の場合は false を返します。

<boolean>prosound.setBackwardScrub <boolean>BackwardsScrubState

[逆方向スクラブを許可](Permit Backwards Scrubbing)再生オプションを設定します。成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.PlayOnce()

[1 回だけ再生](Play Once)オプションが有効である場合は true、そうでない場合は false を返します。

<boolean>prosound.SetPlayOnce <boolean>State

[1 回だけ再生](Play Once)再生オプションを true または false に設定します。正常に終了した場合は true、それ以外の場合は false を返します。

<boolean>prosound.UsePlaybackRange()

[再生範囲を使用](Use Playback Range)オプションが有効である場合は true、そうでない場合は false を返します。

<boolean>prosound.SetUsePlaybackRange <boolean>State

[再生範囲を使用](Use Playback Range)再生オプションを特定のブール値の状態に設定します。成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.SetPlaybackEnd <integer>EndFrame

[再生範囲を使用](Use Playback Range)再生オプションの終了フレームを設定します。成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.SetPlaybackStart <integer>StartFrame

[再生範囲を使用](Use Playback Range)再生オプションの開始フレームを設定します。成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.PingPong()

[ピンポン](Ping Pong)再生オプションが有効である場合は true、そうでない場合は false を返します。

<boolean>prosound.SetPingPong <boolean>State

[ピンポン](Ping Pong)再生オプションの状態を設定します。成功の場合は true、それ以外の場合は false を返します。

例:

    prosound.backwardScrub ()-- check if backwards scrubbing is on
    --> false
    prosound.setBackwardScrub true-- enable backwards scrubbing
    --> true
    prosound.backwardScrub () --check again
    --> true
    prosound.playonce () --check the state of the Play Once option
    --> false
    prosound.setplayonce true --set to loop the playback
    --> true
    prosound.useplaybackrange () --see if playback range is used
    --> false
    prosound.setuseplaybackrange true --enable playback range
    --> true
    prosound.setplaybackend 100 --set the playback range end to 100
    --> true
    prosound.setplaybackstart 0 --set the playback range start to 0
    --> true
    prosound.pingpong () --see if ping-pong playback is enabled
    --> false
    prosound.setpingpong true --enable ping-pong playback
    --> true
<boolean>prosound.isPlaybackActive ()

プロ サウンド再生が有効な場合は true、それ以外の場合は false を返します。

<boolean>prosound.SetPlaybackActive <boolean>State

ブール値の引数に基づいてオーディオ再生を有効化または無効化します。成功の場合は true、それ以外の場合は false を返します。

<void>prosound.Step()

1 フレームずつ進み、対応するオーディオを再生します。

<void>prosound.Stepback()

1 フレームずつ後退し、対応するオーディオを再生します。

例:

    prosound.isplaybackactive() --check if playback is active
    --> false
    prosound.setplaybackactive true --activate playback
    --> true
    prosound.isplaybackactive() --check again if playback is active
    --> true
    prosound.step()
    prosound.Stepback()

レンダリング コントロール

<boolean>prosound.export <filename>AudioFile <integer>StartFrame <integer>EndFrame

指定したファイル名のファイルに、組み合わされたオーディオを書き出そうとします。ファイルは、レンダリング設定を使って PCM 形式で保存されます。成功の場合は true、それ以外の場合は false を返します。

<boolean>prosound.isRenderActive()

プロ サウンド オーディオ レンダリングが有効な場合は true、それ以外の場合は false を返します。

<boolean>prosound.SetRenderActive <boolean>State

ブール引数に基づいて、オーディオ レンダリングを有効にします。

成功の場合は true、それ以外の場合は false を返します。

例:

    prosound.export "c:\\sounds\\export_test.wav" 0 100
    --> true
    prosound.isrenderactive() --check if rendering is active
    --> false
    prosound.setrenderactive true
    --> true

メトロノーム コントロール

<boolean>prosound.isMetroActive ()

メトロノームが有効になっている場合は true、無効になっている場合は false を返します。

<boolean>prosound.SetMetroActive <boolean>ActiveState

ブール値の引数に基づいて、メトロノームを有効または無効にします。成功の場合は true、それ以外の場合は false を返します。

例:

    prosound.ismetroactive() --check if metronome is active
    --> false
    prosound.setmetroactive true --enable metronome
    --> true
    prosound.ismetroactive() --see if the change worked
    --> true
    prosound.setmetroactive false --disable metronome
    --> true
    prosound.ismetroactive() --should be false (disabled) now
    --> false