bool MIX_SetTrackRawCallback(MIX_Track *track, MIX_TrackMixCallback cb, void *userdata);
| MIX_Group * | group | コールバックを割り付けるミキシンググループ |
| MIX_TrackMixCallback | cb | トラックがミックスされたとき呼ばれる関数. NULLも可 |
| void * | userdata | 私的な利用のためにコールバックに渡される不透明ポインタ |
トラックがミックスするための追加のデータが必要になると, 入力(MIX_AudioやSDL_AudioStreamなど)からプルする. 入力はMP3のような圧縮ファイルの形式の場合があり, そこから少し多めにデータが展開される.
トラックが処理すべきPCMデータを得ると, 入力された無編集のPCMデータの変更が行われる前にコールバックが呼ばれる. これでアプリケーションはゲイン, 3D位置設定, フェードなどの編集が行われる前のデータを見ることができる. このコールバックでデータを編集することもでき, ミキサーはこのデータが入力から来たかのように処理を続ける.
トラックにはそれぞれ別の変換後コールバックを設定することができる.
コールバックにNULLを渡してもよい. これはグループのコールバックを無効にする.
この関数はどのスレッドからも安全に呼べる.