1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3
4<head>
5<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css">
6<title>SEQRunAudioFrame</title>
7<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
8<META http-equiv="Content-Style-Type" content="text/css">
9</head>
10
11<body>
12
13<h1 align="left">SEQRunAudioFrame</h1>
14
15<h2>Syntax</h2>
16<dl><dd><pre class="construction">
17#include &lt;revolution.h&gt;
18#include &lt;revolution/seq.h&gt;
19
20void SEQRunAudioFrame(void);
21</pre></dd></dl>
22
23<h2>Arguments</h2>
24<p>None.</p>
25
26<h2>Return Values</h2>
27<p>None.</p>
28
29<h2>Description</h2>
30<p>The <code>SEQRunAudioFrame</code> function runs the sequence process for a single audio frame. It must be called from the AX callback routine for each audio frame. For example:</p>
31
32<BLOCKQUOTE>
33<pre><CODE>static void callbackForAudioFrame(void)
34{
35SEQRunAudioFrame();     // Runs MIDI sequencer
36SYNRunAudioFrame();     // Runs synthesizer
37MIXUpdateSettings();    // Reflects the setting changes made by SYN
38}
39
40void main(void)
41{
42        ...
43
44        AXInit();
45        MIXInit();
46        SYNInit();
47        SEQInit();
48        AXRegisterCallback(&amp;callbackAudioFrame);
49
50        ...
51
52        SEQQuit();
53        SYNQuit();
54        MIXQuit();
55        AXQuit();
56        ...
57}</CODE></pre>
58</BLOCKQUOTE>
59
60<p><CODE>SEQRunAudioFrame</CODE> can run with interrupts enabled.</p>
61
62<h2>See Also</h2>
63<p class="reference">
64<a href="../../ax/Initialization/AXRegisterCallback.html">AXRegisterCallback</a>,
65<a href="../Synthesizer/SYNRunAudioFrame.html">SYNRunAudioFrame</a>,
66<a href="../Mixer/MIXUpdateSettings.html">MIXUpdateSettings</a>
67</p>
68
69<h2>Revision History</h2>
70<P>
712006/03/01 Initial version.<BR>
72</P>
73
74<hr><p>CONFIDENTIAL</p></body>
75</html>
76