ProSound : SoundClass

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

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

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

メソッド:

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

   

<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 で[置換](Replace)ボタンを使用することと同じです。

成功の場合は 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

関連事項