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=utf-8"> 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 <revolution.h> 18#include <revolution/seq.h> 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{ 35 SEQRunAudioFrame(); // Runs MIDI sequencer 36 SYNRunAudioFrame(); // Runs synthesizer 37 MIXUpdateSettings(); // 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(&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><BR><a href="../Synthesizer/SYNRunAudioFrame.html">SYNRunAudioFrame</a><BR><a href="../Mixer/MIXUpdateSettings.html">MIXUpdateSettings</a> 65</p> 66 67<h2>Revision History</h2> 68<P> 692006/03/01 Initial version.<BR> 70</P> 71 72<hr><p>CONFIDENTIAL</p></body> 73</html> 74