<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Jack2: Jack::JackAudioDriver Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Jack2 <span id="projectnumber">1.9.7</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><b>Jack</b> </li> <li class="navelem"><a class="el" href="classJack_1_1JackAudioDriver.html">JackAudioDriver</a> </li> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <h1>Jack::JackAudioDriver Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="Jack::JackAudioDriver" --><!-- doxytag: inherits="Jack::JackDriver" --> <p>The base class for audio drivers: drivers with audio ports. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="JackAudioDriver_8h_source.html">JackAudioDriver.h</a>></code></p> <div class="dynheader"> Inheritance diagram for Jack::JackAudioDriver:</div> <div class="dyncontent"> <div class="center"> <img src="classJack_1_1JackAudioDriver.png" usemap="#Jack::JackAudioDriver_map" alt=""/> <map id="Jack::JackAudioDriver_map" name="Jack::JackAudioDriver_map"> <area href="classJack_1_1JackDriver.html" alt="Jack::JackDriver" shape="rect" coords="600,112,790,136"/> <area href="classJack_1_1JackDriverClientInterface.html" alt="Jack::JackDriverClientInterface" shape="rect" coords="600,56,790,80"/> <area href="classJack_1_1JackDriverInterface.html" alt="Jack::JackDriverInterface" shape="rect" coords="500,0,690,24"/> <area href="classJack_1_1JackClientInterface.html" alt="Jack::JackClientInterface" shape="rect" coords="700,0,890,24"/> <area href="classJack_1_1JackAlsaDriver.html" alt="Jack::JackAlsaDriver" shape="rect" coords="0,224,190,248"/> <area href="classJack_1_1JackCoreAudioDriver.html" alt="Jack::JackCoreAudioDriver" shape="rect" coords="200,224,390,248"/> <area href="classJack_1_1JackDummyDriver.html" alt="Jack::JackDummyDriver" shape="rect" coords="400,224,590,248"/> <area href="classJack_1_1JackLoopbackDriver.html" alt="Jack::JackLoopbackDriver" shape="rect" coords="600,224,790,248"/> <area href="classJack_1_1JackNetDriver.html" alt="Jack::JackNetDriver" shape="rect" coords="800,224,990,248"/> <area href="classJack_1_1JackNetOneDriver.html" alt="Jack::JackNetOneDriver" shape="rect" coords="1000,224,1190,248"/> <area href="classJack_1_1JackPortAudioDriver.html" alt="Jack::JackPortAudioDriver" shape="rect" coords="1200,224,1390,248"/> </map> </div></div> <p><a href="classJack_1_1JackAudioDriver-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec4d56e3bce09aa4fa76aba1fbc31801"></a><!-- doxytag: member="Jack::JackAudioDriver::JackAudioDriver" ref="aec4d56e3bce09aa4fa76aba1fbc31801" args="(const char *name, const char *alias, JackLockedEngine *engine, JackSynchro *table)" -->  </td><td class="memItemRight" valign="bottom"><b>JackAudioDriver</b> (const char *name, const char *alias, <a class="el" href="classJack_1_1JackLockedEngine.html">JackLockedEngine</a> *engine, <a class="el" href="classJack_1_1JackMachSemaphore.html">JackSynchro</a> *table)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64cecd1e00f268cc9d451ca329b4845b"></a><!-- doxytag: member="Jack::JackAudioDriver::Open" ref="a64cecd1e00f268cc9d451ca329b4845b" args="(jack_nframes_t buffer_size, jack_nframes_t samplerate, bool capturing, bool playing, int inchannels, int outchannels, bool monitor, const char *capture_driver_name, const char *playback_driver_name, jack_nframes_t capture_latency, jack_nframes_t playback_latency)" --> virtual int </td><td class="memItemRight" valign="bottom"><b>Open</b> (jack_nframes_t buffer_size, jack_nframes_t samplerate, bool capturing, bool playing, int inchannels, int outchannels, bool monitor, const char *capture_driver_name, const char *playback_driver_name, jack_nframes_t capture_latency, jack_nframes_t playback_latency)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac25648596301b1992397a01ced651115"></a><!-- doxytag: member="Jack::JackAudioDriver::Open" ref="ac25648596301b1992397a01ced651115" args="(bool capturing, bool playing, int inchannels, int outchannels, bool monitor, const char *capture_driver_name, const char *playback_driver_name, jack_nframes_t capture_latency, jack_nframes_t playback_latency)" --> virtual int </td><td class="memItemRight" valign="bottom"><b>Open</b> (bool capturing, bool playing, int inchannels, int outchannels, bool monitor, const char *capture_driver_name, const char *playback_driver_name, jack_nframes_t capture_latency, jack_nframes_t playback_latency)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a113fda70e041d100f4075b784150a2fb"></a><!-- doxytag: member="Jack::JackAudioDriver::Process" ref="a113fda70e041d100f4075b784150a2fb" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>Process</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56ea92630d2df1b14f8cf39f7d5eb782"></a><!-- doxytag: member="Jack::JackAudioDriver::ProcessNull" ref="a56ea92630d2df1b14f8cf39f7d5eb782" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>ProcessNull</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20d61165b2ada1a7420bb3d8b2ef3ca7"></a><!-- doxytag: member="Jack::JackAudioDriver::Attach" ref="a20d61165b2ada1a7420bb3d8b2ef3ca7" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>Attach</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab68ebe1595339cf224e34b8c569eb693"></a><!-- doxytag: member="Jack::JackAudioDriver::Detach" ref="ab68ebe1595339cf224e34b8c569eb693" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>Detach</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5bcc8f9d4935c11196fbadde4fb503a"></a><!-- doxytag: member="Jack::JackAudioDriver::Start" ref="af5bcc8f9d4935c11196fbadde4fb503a" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>Start</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7784c6685a48fab5b25763119cbce244"></a><!-- doxytag: member="Jack::JackAudioDriver::Stop" ref="a7784c6685a48fab5b25763119cbce244" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>Stop</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56989c4455832898f2b6109235a585ef"></a><!-- doxytag: member="Jack::JackAudioDriver::Write" ref="a56989c4455832898f2b6109235a585ef" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>Write</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea96448a782fcc5f7ca14de9a5e62833"></a><!-- doxytag: member="Jack::JackAudioDriver::SetBufferSize" ref="aea96448a782fcc5f7ca14de9a5e62833" args="(jack_nframes_t buffer_size)" --> virtual int </td><td class="memItemRight" valign="bottom"><b>SetBufferSize</b> (jack_nframes_t buffer_size)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d1a7eed45e64357a3c49e9c3170d9fb"></a><!-- doxytag: member="Jack::JackAudioDriver::SetSampleRate" ref="a7d1a7eed45e64357a3c49e9c3170d9fb" args="(jack_nframes_t sample_rate)" --> virtual int </td><td class="memItemRight" valign="bottom"><b>SetSampleRate</b> (jack_nframes_t sample_rate)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af490543ac6f981c0ba0722f2a1eb6067"></a><!-- doxytag: member="Jack::JackAudioDriver::ClientNotify" ref="af490543ac6f981c0ba0722f2a1eb6067" args="(int refnum, const char *name, int notify, int sync, const char *message, int value1, int value2)" --> virtual int </td><td class="memItemRight" valign="bottom"><b>ClientNotify</b> (int refnum, const char *name, int notify, int sync, const char *message, int value1, int value2)</td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5232e89c48e9887d80b0228fd6f6b204"></a><!-- doxytag: member="Jack::JackAudioDriver::ProcessGraphAsync" ref="a5232e89c48e9887d80b0228fd6f6b204" args="()" --> void </td><td class="memItemRight" valign="bottom"><b>ProcessGraphAsync</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82cde42a694dbc25fcdd008890ca5b83"></a><!-- doxytag: member="Jack::JackAudioDriver::ProcessGraphSync" ref="a82cde42a694dbc25fcdd008890ca5b83" args="()" --> int </td><td class="memItemRight" valign="bottom"><b>ProcessGraphSync</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53dc1442ef6b0509283ad7d22a2691cb"></a><!-- doxytag: member="Jack::JackAudioDriver::WaitUntilNextCycle" ref="a53dc1442ef6b0509283ad7d22a2691cb" args="()" --> void </td><td class="memItemRight" valign="bottom"><b>WaitUntilNextCycle</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3066fbe79f4e864609f4443bbcf49f74"></a><!-- doxytag: member="Jack::JackAudioDriver::ProcessAsync" ref="a3066fbe79f4e864609f4443bbcf49f74" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>ProcessAsync</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f5b54a110d80957d88db18921aa5f6a"></a><!-- doxytag: member="Jack::JackAudioDriver::ProcessSync" ref="a2f5b54a110d80957d88db18921aa5f6a" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>ProcessSync</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad25505bc85a5ee8f494b5c7700ec8752"></a><!-- doxytag: member="Jack::JackAudioDriver::GetInputBuffer" ref="ad25505bc85a5ee8f494b5c7700ec8752" args="(int port_index)" --> jack_default_audio_sample_t * </td><td class="memItemRight" valign="bottom"><b>GetInputBuffer</b> (int port_index)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f38e8a9def04749d0cb47be9ae65fce"></a><!-- doxytag: member="Jack::JackAudioDriver::GetOutputBuffer" ref="a9f38e8a9def04749d0cb47be9ae65fce" args="(int port_index)" --> jack_default_audio_sample_t * </td><td class="memItemRight" valign="bottom"><b>GetOutputBuffer</b> (int port_index)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc24e7dcdfcc9377ef8dd48631c1c98b"></a><!-- doxytag: member="Jack::JackAudioDriver::GetMonitorBuffer" ref="afc24e7dcdfcc9377ef8dd48631c1c98b" args="(int port_index)" --> jack_default_audio_sample_t * </td><td class="memItemRight" valign="bottom"><b>GetMonitorBuffer</b> (int port_index)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acefdd4dd3cb98ce8c31d55baa553ed25"></a><!-- doxytag: member="Jack::JackAudioDriver::HandleLatencyCallback" ref="acefdd4dd3cb98ce8c31d55baa553ed25" args="(int status)" --> void </td><td class="memItemRight" valign="bottom"><b>HandleLatencyCallback</b> (int status)</td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04ee504b9254f8af85a3e6c0abce2910"></a><!-- doxytag: member="Jack::JackAudioDriver::fCaptureChannels" ref="a04ee504b9254f8af85a3e6c0abce2910" args="" --> int </td><td class="memItemRight" valign="bottom"><b>fCaptureChannels</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8949e4b7f9f294c3620f3fd5c6449ba"></a><!-- doxytag: member="Jack::JackAudioDriver::fPlaybackChannels" ref="ae8949e4b7f9f294c3620f3fd5c6449ba" args="" --> int </td><td class="memItemRight" valign="bottom"><b>fPlaybackChannels</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66452955b852b995145b4d5eb8af8a46"></a><!-- doxytag: member="Jack::JackAudioDriver::fCapturePortList" ref="a66452955b852b995145b4d5eb8af8a46" args="[DRIVER_PORT_NUM]" --> jack_port_id_t </td><td class="memItemRight" valign="bottom"><b>fCapturePortList</b> [DRIVER_PORT_NUM]</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77c4ee3ed26a657519dd4f30a4be2336"></a><!-- doxytag: member="Jack::JackAudioDriver::fPlaybackPortList" ref="a77c4ee3ed26a657519dd4f30a4be2336" args="[DRIVER_PORT_NUM]" --> jack_port_id_t </td><td class="memItemRight" valign="bottom"><b>fPlaybackPortList</b> [DRIVER_PORT_NUM]</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefc6a00cf7c6a656416a93a372277d24"></a><!-- doxytag: member="Jack::JackAudioDriver::fMonitorPortList" ref="aefc6a00cf7c6a656416a93a372277d24" args="[DRIVER_PORT_NUM]" --> jack_port_id_t </td><td class="memItemRight" valign="bottom"><b>fMonitorPortList</b> [DRIVER_PORT_NUM]</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83a505faaf1084cacabd11269cba9cc1"></a><!-- doxytag: member="Jack::JackAudioDriver::fWithMonitorPorts" ref="a83a505faaf1084cacabd11269cba9cc1" args="" --> bool </td><td class="memItemRight" valign="bottom"><b>fWithMonitorPorts</b></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>The base class for audio drivers: drivers with audio ports. </p> <p>Definition at line <a class="el" href="JackAudioDriver_8h_source.html#l00033">33</a> of file <a class="el" href="JackAudioDriver_8h_source.html">JackAudioDriver.h</a>.</p> </div><hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="JackAudioDriver_8h_source.html">JackAudioDriver.h</a></li> <li><a class="el" href="JackAudioDriver_8cpp_source.html">JackAudioDriver.cpp</a></li> </ul> </div> <hr size="1"><address style="text-align: right;"><small> Generated for Jack2 by <a href="http://www.doxygen.org/ index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.3</small></address> </body> </html>