mirror of
https://github.com/thestk/stk
synced 2026-01-12 20:41:52 +00:00
184 lines
9.0 KiB
HTML
184 lines
9.0 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
|
|
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF">
|
|
<CENTER>
|
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
|
<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>Drummer Class Reference</h1><code>#include <<a class="el" href="Drummer_8h-source.html">Drummer.h</a>></code>
|
|
<p>
|
|
<p>Inheritance diagram for Drummer:
|
|
<p><center><img src="classDrummer.png" usemap="#Drummer_map" border="0" alt=""></center>
|
|
<map name="Drummer_map">
|
|
<area href="classInstrmnt.html" alt="Instrmnt" shape="rect" coords="0,56,63,80">
|
|
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,63,24">
|
|
</map>
|
|
<a href="classDrummer-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
STK drum sample player class.
|
|
<p>
|
|
This class implements a drum sampling synthesizer using <a class="el" href="classWvIn.html">WvIn</a> objects and one-pole filters. The drum rawwave files are sampled at 22050 Hz, but will be appropriately interpolated for other sample rates. You can specify the maximum polyphony (maximum number of simultaneous voices) via a #define in the <a class="el" href="Drummer_8h.html">Drummer.h</a>.<p>
|
|
by Perry R. Cook and Gary P. Scavone, 1995 - 2004.
|
|
<p>
|
|
|
|
<p>
|
|
Definition at line <a class="el" href="Drummer_8h-source.html#l00028">28</a> of file <a class="el" href="Drummer_8h-source.html">Drummer.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> </td><td class="memItemRight" valign=bottom><a class="el" href="classDrummer.html#a0">Drummer</a> ()</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class constructor. </em> <a href="#a0"></a><em><br><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="Drummer::~Drummer" ></a>
|
|
</td><td class="memItemRight" valign=bottom><a class="el" href="classDrummer.html#a1">~Drummer</a> ()</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class destructor. <br><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classDrummer.html#a2">noteOn</a> (StkFloat instrument, StkFloat amplitude)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Start a note with the given drum type and amplitude. </em> <a href="#a2"></a><em><br><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="Drummer::noteOff" ></a>
|
|
void </td><td class="memItemRight" valign=bottom><a class="el" href="classDrummer.html#a3">noteOff</a> (StkFloat amplitude)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Stop a note with the given amplitude (speed of decay). <br><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="Drummer::tick" ></a>
|
|
StkFloat </td><td class="memItemRight" valign=bottom><a class="el" href="classDrummer.html#a4">tick</a> ()</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute one output sample. <br><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="Drummer::tick" ></a>
|
|
StkFloat * </td><td class="memItemRight" valign=bottom><a class="el" href="classDrummer.html#a5">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computer <em>vectorSize</em> outputs and return them in <em>vector</em>. <br><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classStkFrames.html">StkFrames</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="classDrummer.html#a6">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="#a6"></a><em><br><br></td></tr>
|
|
</table>
|
|
<hr><h2>Constructor & Destructor Documentation</h2>
|
|
<a class="anchor" name="a0" doxytag="Drummer::Drummer" ></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"> Drummer::Drummer </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="mdname1" valign="top" nowrap> </td>
|
|
<td class="md" valign="top"> ) </td>
|
|
<td class="md" nowrap></td>
|
|
</tr>
|
|
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing=5 cellpadding=0 border=0>
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Class constructor.
|
|
<p>
|
|
An <a class="el" href="classStkError.html">StkError</a> will be thrown if the rawwave path is incorrectly set. </td>
|
|
</tr>
|
|
</table>
|
|
<hr><h2>Member Function Documentation</h2>
|
|
<a class="anchor" name="a2" doxytag="Drummer::noteOn" ></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"> void Drummer::noteOn </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">StkFloat </td>
|
|
<td class="mdname" nowrap> <em>instrument</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td></td>
|
|
<td class="md" nowrap>StkFloat </td>
|
|
<td class="mdname" nowrap> <em>amplitude</em></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>
|
|
Start a note with the given drum type and amplitude.
|
|
<p>
|
|
Use general MIDI drum instrument numbers, converted to frequency values as if MIDI note numbers, to select a particular instrument. An <a class="el" href="classStkError.html">StkError</a> will be thrown if the rawwave path is incorrectly set.
|
|
<p>
|
|
Implements <a class="el" href="classInstrmnt.html#a2">Instrmnt</a>. </td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="a6" doxytag="Drummer::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"> <a class="el" href="classStkFrames.html">StkFrames</a>& Drummer::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.
|
|
<p>
|
|
Reimplemented from <a class="el" href="classInstrmnt.html#a10">Instrmnt</a>. </td>
|
|
</tr>
|
|
</table>
|
|
<hr>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="Drummer_8h-source.html">Drummer.h</a></ul>
|
|
<HR>
|
|
|
|
<table>
|
|
<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>
|
|
|
|
</BODY>
|
|
</HTML>
|