mirror of
https://github.com/thestk/stk
synced 2026-01-17 06:41:51 +00:00
Release 4.2.0 tarball
This commit is contained in:
committed by
Stephen Sinclair
parent
fe20fe92a2
commit
de344668dd
@@ -9,23 +9,30 @@
|
||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||
<HR>
|
||||
<!-- Generated by Doxygen 1.3.4 -->
|
||||
<h1>Voicer Class Reference</h1>STK voice manager class.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="Voicer_8h-source.html">Voicer.h</a>></code>
|
||||
<h1>Voicer Class Reference</h1><code>#include <<a class="el" href="Voicer_8h-source.html">Voicer.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for Voicer:
|
||||
<p><center><img src="classVoicer.png" usemap="#Voicer_map" border="0" alt=""></center>
|
||||
<map name="Voicer_map">
|
||||
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,50,24">
|
||||
</map>
|
||||
<a href="classVoicer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
|
||||
<a href="classVoicer-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
STK voice manager class.
|
||||
<p>
|
||||
This class can be used to manage a group of STK instrument classes. Individual voices can be controlled via unique note tags. Instrument groups can be controlled by channel number.<p>
|
||||
A previously constructed STK instrument class is linked with a voice manager using the <a class="el" href="classVoicer.html#a2">addInstrument()</a> function. An optional channel number argument can be specified to the <a class="el" href="classVoicer.html#a2">addInstrument()</a> function as well (default channel = 0). The voice manager does not delete any instrument instances ... it is the responsibility of the user to allocate and deallocate all instruments.<p>
|
||||
The <a class="el" href="classVoicer.html#a14">tick()</a> function returns the mix of all sounding voices. Each noteOn returns a unique tag (credits to the NeXT MusicKit), so you can send control changes to specific voices within an ensemble. Alternately, control changes can be sent to all voices on a given channel.<p>
|
||||
by Perry R. Cook and Gary P. Scavone, 1995 - 2004.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="Voicer_8h-source.html#l00038">38</a> of file <a class="el" href="Voicer_8h-source.html">Voicer.h</a>.<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="Voicer::Voicer" ></a>
|
||||
</td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a0">Voicer</a> (int maxInstruments, MY_FLOAT decayTime=0.2)</td></tr>
|
||||
</td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a0">Voicer</a> (StkFloat decayTime=0.2)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class constructor taking the maximum number of instruments to control and an optional note decay time (in seconds). <br><br></td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class constructor taking an optional note decay time (in seconds). <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="Voicer::~Voicer" ></a>
|
||||
</td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a1">~Voicer</a> ()</td></tr>
|
||||
|
||||
@@ -36,35 +43,35 @@
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a3">removeInstrument</a> (<a class="el" href="classInstrmnt.html">Instrmnt</a> *instrument)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Remove the given instrument pointer from the voice manager's control. </em> <a href="#a3"></a><em><br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>long </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a4">noteOn</a> (MY_FLOAT noteNumber, MY_FLOAT amplitude, int channel=0)</td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>long </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a4">noteOn</a> (StkFloat noteNumber, StkFloat amplitude, int channel=0)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Initiate a noteOn event with the given note number and amplitude and return a unique note tag. </em> <a href="#a4"></a><em><br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a5">noteOff</a> (MY_FLOAT noteNumber, MY_FLOAT amplitude, int channel=0)</td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a5">noteOff</a> (StkFloat noteNumber, StkFloat amplitude, int channel=0)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a noteOff to all voices having the given noteNumber and optional channel (default channel = 0). </em> <a href="#a5"></a><em><br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a6">noteOff</a> (long tag, MY_FLOAT amplitude)</td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a6">noteOff</a> (long tag, StkFloat amplitude)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a noteOff to the voice with the given note tag. </em> <a href="#a6"></a><em><br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a7">setFrequency</a> (MY_FLOAT noteNumber, int channel=0)</td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a7">setFrequency</a> (StkFloat noteNumber, int channel=0)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a frequency update message to all voices assigned to the optional channel argument (default channel = 0). </em> <a href="#a7"></a><em><br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a8">setFrequency</a> (long tag, MY_FLOAT noteNumber)</td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a8">setFrequency</a> (long tag, StkFloat noteNumber)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a frequency update message to the voice with the given note tag. </em> <a href="#a8"></a><em><br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="Voicer::pitchBend" ></a>
|
||||
void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a9">pitchBend</a> (MY_FLOAT value, int channel=0)</td></tr>
|
||||
void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a9">pitchBend</a> (StkFloat value, int channel=0)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a pitchBend message to all voices assigned to the optional channel argument (default channel = 0). <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="Voicer::pitchBend" ></a>
|
||||
void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a10">pitchBend</a> (long tag, MY_FLOAT value)</td></tr>
|
||||
void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a10">pitchBend</a> (long tag, StkFloat value)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a pitchBend message to the voice with the given note tag. <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="Voicer::controlChange" ></a>
|
||||
void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a11">controlChange</a> (int number, MY_FLOAT value, int channel=0)</td></tr>
|
||||
void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a11">controlChange</a> (int number, StkFloat value, int channel=0)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a controlChange to all instruments assigned to the optional channel argument (default channel = 0). <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="Voicer::controlChange" ></a>
|
||||
void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a12">controlChange</a> (long tag, int number, MY_FLOAT value)</td></tr>
|
||||
void </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a12">controlChange</a> (long tag, int number, StkFloat value)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a controlChange to the voice with the given note tag. <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a13" doxytag="Voicer::silence" ></a>
|
||||
@@ -72,37 +79,30 @@ void </td><td class="memItemRight" valign=bottom><a class="el" href="classV
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a noteOff message to all existing voices. <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="Voicer::tick" ></a>
|
||||
MY_FLOAT </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a14">tick</a> ()</td></tr>
|
||||
StkFloat </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a14">tick</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mix the output for all sounding voices. <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="Voicer::tick" ></a>
|
||||
MY_FLOAT * </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a15">tick</a> (MY_FLOAT *vector, unsigned int vectorSize)</td></tr>
|
||||
StkFloat * </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a15">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute <em>vectorSize</em> output mixes and return them in <em>vector</em>. <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a16" doxytag="Voicer::lastOut" ></a>
|
||||
MY_FLOAT </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a16">lastOut</a> () const </td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classStkFrames.html">StkFrames</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a16">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &frames, unsigned int channel=1)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs. </em> <a href="#a16"></a><em><br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a17" doxytag="Voicer::lastOut" ></a>
|
||||
StkFloat </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a17">lastOut</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the last output value. <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a17" doxytag="Voicer::lastOutLeft" ></a>
|
||||
MY_FLOAT </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a17">lastOutLeft</a> () const </td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a18" doxytag="Voicer::lastOutLeft" ></a>
|
||||
StkFloat </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a18">lastOutLeft</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the last left output value. <br><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a18" doxytag="Voicer::lastOutRight" ></a>
|
||||
MY_FLOAT </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a18">lastOutRight</a> () const </td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a19" doxytag="Voicer::lastOutRight" ></a>
|
||||
StkFloat </td><td class="memItemRight" valign=bottom><a class="el" href="classVoicer.html#a19">lastOutRight</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the last right output value. <br><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
STK voice manager class.
|
||||
<p>
|
||||
This class can be used to manage a group of STK instrument classes. Individual voices can be controlled via unique note tags. Instrument groups can be controlled by channel number.<p>
|
||||
A previously constructed STK instrument class is linked with a voice manager using the <a class="el" href="classVoicer.html#a2">addInstrument()</a> function. An optional channel number argument can be specified to the <a class="el" href="classVoicer.html#a2">addInstrument()</a> function as well (default channel = 0). The voice manager does not delete any instrument instances ... it is the responsibility of the user to allocate and deallocate all instruments.<p>
|
||||
The <a class="el" href="classVoicer.html#a14">tick()</a> function returns the mix of all sounding voices. Each noteOn returns a unique tag (credits to the NeXT MusicKit), so you can send control changes to specific voices within an ensemble. Alternately, control changes can be sent to all voices on a given channel.<p>
|
||||
by Perry R. Cook and Gary P. Scavone, 1995 - 2002.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="Voicer_8h-source.html#l00038">38</a> of file <a class="el" href="Voicer_8h-source.html">Voicer.h</a>.<hr><h2>Member Function Documentation</h2>
|
||||
<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="a2" doxytag="Voicer::addInstrument" ></a><p>
|
||||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
|
||||
<tr>
|
||||
@@ -182,13 +182,13 @@ It is important that any instruments which are to be deleted by the user while t
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> long Voicer::noteOn </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">MY_FLOAT </td>
|
||||
<td class="md" nowrap valign="top">StkFloat </td>
|
||||
<td class="mdname" nowrap> <em>noteNumber</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>MY_FLOAT </td>
|
||||
<td class="md" nowrap>StkFloat </td>
|
||||
<td class="mdname" nowrap> <em>amplitude</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -228,13 +228,13 @@ Send the noteOn message to the first available unused voice. If all voices are s
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> void Voicer::noteOff </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">MY_FLOAT </td>
|
||||
<td class="md" nowrap valign="top">StkFloat </td>
|
||||
<td class="mdname" nowrap> <em>noteNumber</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>MY_FLOAT </td>
|
||||
<td class="md" nowrap>StkFloat </td>
|
||||
<td class="mdname" nowrap> <em>amplitude</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -280,7 +280,7 @@ The amplitude value should be in the range 0.0 - 128.0. </td>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>MY_FLOAT </td>
|
||||
<td class="md" nowrap>StkFloat </td>
|
||||
<td class="mdname" nowrap> <em>amplitude</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -314,7 +314,7 @@ The amplitude value should be in the range 0.0 - 128.0. </td>
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> void Voicer::setFrequency </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">MY_FLOAT </td>
|
||||
<td class="md" nowrap valign="top">StkFloat </td>
|
||||
<td class="mdname" nowrap> <em>noteNumber</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -360,7 +360,7 @@ The <em>noteNumber</em> argument corresponds to a MIDI note number, though it is
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>MY_FLOAT </td>
|
||||
<td class="md" nowrap>StkFloat </td>
|
||||
<td class="mdname" nowrap> <em>noteNumber</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -386,12 +386,52 @@ Send a frequency update message to the voice with the given note tag.
|
||||
The <em>noteNumber</em> argument corresponds to a MIDI note number, though it is a floating-point value and can range beyond the normal 0-127 range. </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a class="anchor" name="a16" doxytag="Voicer::tick" ></a><p>
|
||||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
|
||||
<tr>
|
||||
<td class="mdRow">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> virtual <a class="el" href="classStkFrames.html">StkFrames</a>& Voicer::tick </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> & </td>
|
||||
<td class="mdname" nowrap> <em>frames</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>unsigned int </td>
|
||||
<td class="mdname" nowrap> <em>channel</em> = 1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="md">) </td>
|
||||
<td class="md" colspan="2"><code> [virtual]</code></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs.
|
||||
<p>
|
||||
The <code>channel</code> argument should be one or greater (the first channel is specified by 1). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is zero or it is greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object. </td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="Voicer_8h-source.html">Voicer.h</a></ul>
|
||||
<HR>
|
||||
|
||||
<table>
|
||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user