alSynAllocVoice.htm
2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<HTML>
<HEAD>
<TITLE>HTML 文書</TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.03j">
</HEAD>
<BODY>
<P>
<B><FONT FACE="Arial">alSynAllocVoice(3P) <BR>
</FONT></B>
<P>
<B>関数名<BR>
</B>
<P>
alSynAllocVoice
<P>
→ シンセサイザーボイスをアロケートする。<BR>
<P>
<B>構文<BR>
</B>
<P>
#include <libaudio.h>
<P>
ALVoice *alSynAllocVoice(ALSynth *drvr, ALVoiceConfig
*vc);<BR>
<P>
<B>パラメータ<BR>
</B>
<P>
<B>drvr</B> シンセサイズドライバへのポインタ
<P>
<B>vc</B> ボイスコンフィグレーション構造体へのポインタ
<BR>
</FONT>
<P>
<B>説明<BR>
</B>
<P>
ボイスコンフィグレーション構造体で指定されたパラメータを使って、フリーなボイスのリストから仮想ボイスへのアロケートを行います。仮想ボイスのアロケートが可能な場合にはボイス構造体へのポインタが戻されます。アロケートできない場合は<B>alSynAllocVoice</B>から0が戻されます。仮想ボイスはあるけれども、物理ボイスに空きがない場合には<B>alSynAllocVoice</B>が他の仮想ボイスから物理ボイスのスティールを試みます。この時、<B>alSynAllocVoice</B>はボイスのリストでコンフィグレーション構造体で指定された仮想ボイスの優先順位を比較し、新たに使おうとしている仮想ボイスと同等以下のボイスの中で優先順位が最低のボイスから物理ボイスをスティールします。同等以下の物理ボイスがない場合には、<B>alSynAllocVoice</B>は仮想ボイスへのポインタを戻し、新たなボイスは発音されません。ボイスのスティールは物理ボイスよりも仮想ボイスが多い場合にのみ発生します。
<BR>
<P>
ALVoiceConfig構造体にあるパラメータは以下のものです: <BR>
<P>
<B>priority</B>
<P>
ボイスの再生優先順位
<P>
<B>fxBus</B>
<P>
ボイスがアサインされる補助エフェクトバス。現在サポートされている補助
<P>
バスは一つだけです。
<P>
<B>unityPitch</B>
<P>
ボイスをピッチが1.0で再生するときにセットして指定するフラグ <BR>
<P>
<B>警告<BR>
</B>
<P>
<B>alSynAllocVoice</B>はALVoiceHandler内からのみコールされます。
<BR>
<P>
<B>参照<BR>
</B>
<P>
<A HREF="alSynFreeVoice.htm" >alSynFreeVoice(3P)</A>、<A HREF="alSynStartVoice.htm" >alSynStartVoice(3P)</A>、<A HREF="alSynStopVoice.htm" >alSynStopVoice(3P)</A>
<BR>
<P>
</BODY>
</HTML>