alCSPNew.htm
2.77 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
75
76
77
78
79
80
81
<HTML>
<HEAD>
<TITLE>HTML 文書</TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.03j">
</HEAD>
<BODY>
<P>
<B><FONT FACE="Arial">alCSPNew(3P) <BR>
</FONT></B>
<P>
<B>関数名<BR>
</B>
<P>
alCSPNew
<P>
→ コンパクトMIDIシーケンスプレイヤーを初期化する。
<BR>
<P>
<B>構文<BR>
</B>
<P>
#include <libaudio.h>
<P>
void alCSPNew(ALCSPlayer *seqp, ALSeqpConfig *config);
<BR>
<P>
<B>パラメータ<BR>
</B>
<P>
<B>seqp</B> コンパクトMIDIシーケンスプレイヤー構造体を初期化するためのポインタ
<P>
<B>config</B> シーケンスプレイヤー・コンフィグレーション構造体へのポインタ
<P>
(注意:alSeqpNewもalCSPNewも同じコンフィグレーション構造体を使います)
<BR>
<P>
<B>説明<BR>
</B>
<P>
<B>alCSPNew</B>はconfigに指定されたコンフィグレーションになるようにコンパクトMIDIシーケンスプレイヤー、seqpを初期化し、クライアントとしてシーケンスプレイヤーにサインを送ります。config構造体のメンバーであるALHeap構造体に従って、メモリーへのアロケーションが行われることに注意してください。
<BR>
<P>
ALSeqpConfig構造体のパラメータconfigにより、ヒープからどれだけのリソースをアロケートするか決定されます。この構造体は、<libaudio.h>で定義されています。構造体のメンバーの意味は次の通りです。
<BR>
<P>
<B>maxVoices</B> サポートするボイスの最大値。<BR>
<P>
<B>maxEvents</B> サポートする内部イベントの最大値。<BR>
<P>
<B>maxChannels</B> サポートするMIDIチャンネルの最大値。通常は16以下。
<BR>
<P>
<B>debugFlags</B> 一般的なオーディオエラー報告のフラグ。0にするとエラー報告をしません。次のフラグのOR値を与えるとエラー報告をおこないます。<B>NO_SOUND_ERR_MASK</B>は指定ピッチで要求したサウンドをカバーできるサウンドが無い場合のエラーメッセージを制御します。<B>NOTE_OFF_ERR_MASK</B>はノートオフが起こったが、指定したチャンネルのノートで現在演奏中のボイスが無い場合のエラーメッセージを制御します。<B>NO_VOICE_ERR_MASK</B>は、ボイスの割り当て要求に対して利用可能なボイスが無い場合のエラーメッセージを制御します。
<BR>
<P>
<B>*initOsc</B> ビブラートやトレモロの処理をするオシレーターの初期化ハンドルの関数ポインタを指定します。ビブラートやトレモロを使用しない場合は0をセットする必要があります。
<BR>
<P>
<B>*updateOsc</B> ビブラートやトレモロの処理をするオシレータのアップデートハンドルの関数ポインタを指定します。ビブラートやトレモロを使用しない場合は0をセットする必要があります。
<BR>
<P>
<B>*stopOsc </B>ビブラートやトレモロの処理をするオシレータの停止ハンドルの関数ポインタを指定します。ビブラートやトレモロを使用しない場合は0をセットする必要があります。
<BR>
<P>
<B>heap</B> 初期化されたオーディオヒープへのポインタ。 <BR>
<P>
オシレータの設定と使用例が、サンプルプログラムのplayseqにあります。
<P>
<B>参照<BR>
</B>
<P>
alHeapNew(3P)、<A HREF="alHeapAlloc.htm">alHeapAlloc(3P)</A>、<A HREF="alCSPDelete.htm">alCSPDelete(3P)</A>
<BR>
<P>
</BODY>
</HTML>