alSeq.htm
2.18 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
<HTML>
<HEAD>
<TITLE>HTML 文書</TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.03j">
</HEAD>
<BODY>
<P>
<B><FONT FACE="Arial">alSeq(3P)<BR>
</FONT></B>
<P>
<B>関数名<BR>
</B>
<P>
alSeq
<P>
→ NINTENDO64 MIDIシーケンスルーチン<BR>
<P>
<B>構文<BR>
</B>
<P>
#include <libaudio.h>
<P>
void alSeqNew(ALSeq *seq, u8 *ptr, s32 len);
<P>
void alSeqNextEvent(ALSeq *seq, ALEvent *event);
<P>
void alSeqNewMarker(ALSeq *seq, ALSeqMarker *m, u32
ticks);
<P>
f32 alSeqTicksToSec(ALSeq *seq, s32 ticks, u32 tempo);
<P>
u32 alSeqSecToTicks(ALSeq *seq, f32 sec, u32 tempo);
<BR>
<P>
<B>説明<BR>
</B>
<P>
NINTENDO64オーディオライブラリは標準MIDIファイル1.0仕様のタイプ0MIDIファイルに準拠した楽曲シーケンスの再生をサポートしています。タイプ0MIDIファイルフォーマットには、楽曲を記述してある時間順のMIDIイベントリストが含まれています。詳しいファイルフォーマットについてはMIDI協会が発行している「標準MIDIファイル1.0」仕様書を参照してください。
<BR>
<P>
標準MIDIシーケンスを使う場合には、まずランタイムALSeq構造体を初期化する必要があります。<A HREF="alSeqpNew.htm" >alSeqNew</A>をコールすれば初期化が行われます。
<BR>
<P>
シーケンス構造体の初期化後に、シーケンス処理が実行可能となります。
<BR>
<P>
alSeqNextEventをコールすると、シーケンスのその時点の位置から次のMIDIイベントを戻します。通常は<A HREF="alSeqNextEvent.htm" >alSeqNextEvent</A>を直接コールしなくても、シーケンスプレイヤーがシーケンスの再生中にコールしてくれます。
<BR>
<P>
alSeqNewMarkerをコールすると、再生時間とループポイントを設定するためにシーケンスプレイヤーとともに使われる、シーケンス位置マーカを戻します。
<BR>
<P>
<A HREF="alSeqTicksToSec.htm" >alSeqTicksToSec</A>と<A HREF="alSeqSecToTicks.htm" >alSeqSecToTicks</A>は時間フォーマットを互いに変換します。tickフォーマットはMIDIシーケンスのヘッダーに指定された解像度でMIDIクロックに関係する単位時間です。
<BR>
<P>
<B>参照<BR>
</B>
<P>
<A HREF="alSeqNew.htm" >alSeqNew(3P)</A>、<A HREF="alSeqNextEvent.htm" >alSeqNextEvent(3P)</A>、<A HREF="alCSeqNewMarker.htm" >alCSeqNewMarker(3P)</A>、<A HREF="alSeqTicksToSec.htm" >alSeqTicksToSec(3P)</A>、<A HREF="alSeqSecToTicks.htm" >alSeqSecToTicks(3P) </A>
<BR>
<P>
</BODY>
</HTML>