Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates > by-pkgid > 136c306a350f6a4bd3abd3af7df09a32 > files > 66

jack-audio-connection-kit-devel-1.9.9.5-1.fc17.i686.rpm

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Jack2: API for a session manager.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Jack2
   &#160;<span id="projectnumber">1.9.9</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#enumval-members">Enumerator</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">API for a session manager.</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structjack__session__command__t.html">jack_session_command_t</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gad5683da5880fc248ba87cdf2cc3c1887"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structjack__session__command__t.html">jack_session_command_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#gad5683da5880fc248ba87cdf2cc3c1887">jack_session_notify</a> (jack_client_t *client, const char *target, jack_session_event_type_t type, const char *path) JACK_WEAK_EXPORT</td></tr>
<tr class="memitem:ga2469daf6c50c9fa6159d231bbccd5ee4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#ga2469daf6c50c9fa6159d231bbccd5ee4">jack_session_commands_free</a> (<a class="el" href="structjack__session__command__t.html">jack_session_command_t</a> *cmds) JACK_WEAK_EXPORT</td></tr>
<tr class="memitem:gad5561c270d9ea645f50b91c0f750b545"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#gad5561c270d9ea645f50b91c0f750b545">jack_get_uuid_for_client_name</a> (jack_client_t *client, const char *client_name) JACK_WEAK_EXPORT</td></tr>
<tr class="memitem:gac644339b9be625b1225d22f5966a3664"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#gac644339b9be625b1225d22f5966a3664">jack_get_client_name_by_uuid</a> (jack_client_t *client, const char *client_uuid) JACK_WEAK_EXPORT</td></tr>
<tr class="memitem:ga2693d2d6eface89e41394ec41ed49ea8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#ga2693d2d6eface89e41394ec41ed49ea8">jack_reserve_client_name</a> (jack_client_t *client, const char *name, const char *uuid) JACK_WEAK_EXPORT</td></tr>
<tr class="memitem:ga3e39dc9e00370b6c0589249c72a8db90"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#ga3e39dc9e00370b6c0589249c72a8db90">jack_client_has_session_callback</a> (jack_client_t *client, const char *client_name) JACK_WEAK_EXPORT</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga1eebbe3f51ef97967c58afb627535dda"><td class="memItemLeft" align="right" valign="top">jack_session_event_type_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#ga1eebbe3f51ef97967c58afb627535dda">_jack_session_event::type</a></td></tr>
<tr class="memitem:ga9424115009f29d9d7d2ff6033494a386"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#ga9424115009f29d9d7d2ff6033494a386">_jack_session_event::session_dir</a></td></tr>
<tr class="memitem:ga6d9d90a3380e30df4b517e7df2a25465"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#ga6d9d90a3380e30df4b517e7df2a25465">_jack_session_event::client_uuid</a></td></tr>
<tr class="memitem:gae68736b4fb28f802baf3181bc2a0a617"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#gae68736b4fb28f802baf3181bc2a0a617">_jack_session_event::command_line</a></td></tr>
<tr class="memitem:gae25a1730b6afe5268855eb21d0cfe536"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__SessionClientFunctions.html#gaff8d9b1766409d50565aabd2a5b9ab4f">jack_session_flags_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#gae25a1730b6afe5268855eb21d0cfe536">_jack_session_event::flags</a></td></tr>
<tr class="memitem:ga5f1b04a6fdf2e0c0c8e80f2fa053f55c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__JackSessionManagerAPI.html#ga5f1b04a6fdf2e0c0c8e80f2fa053f55c">_jack_session_event::future</a></td></tr>
<tr class="memitem:ga90f45e8404cd5374732bdb98391ede2e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga90f45e8404cd5374732bdb98391ede2e"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>jack_session_command_t::uuid</b></td></tr>
<tr class="memitem:gaf414e2d325d31e1ef5c2860183d8a4eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf414e2d325d31e1ef5c2860183d8a4eb"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>jack_session_command_t::client_name</b></td></tr>
<tr class="memitem:ga5161ff6d93b6344b959ce8894ff413e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5161ff6d93b6344b959ce8894ff413e4"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>jack_session_command_t::command</b></td></tr>
<tr class="memitem:ga103533a9a490b9a0405ab3d913fc508b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga103533a9a490b9a0405ab3d913fc508b"></a>
<a class="el" href="group__SessionClientFunctions.html#gaff8d9b1766409d50565aabd2a5b9ab4f">jack_session_flags_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>jack_session_command_t::flags</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gad5683da5880fc248ba87cdf2cc3c1887"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structjack__session__command__t.html">jack_session_command_t</a>* jack_session_notify </td>
          <td>(</td>
          <td class="paramtype">jack_client_t *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">jack_session_event_type_t&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send an event to all clients listening for session callbacks.</p>
<p>The returned strings of the clients are accumulated and returned as an array of <a class="el" href="structjack__session__command__t.html">jack_session_command_t</a>. its terminated by ret[i].uuid == NULL target == NULL means send to all interested clients. otherwise a clientname </p>

</div>
</div>
<a class="anchor" id="ga2469daf6c50c9fa6159d231bbccd5ee4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jack_session_commands_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjack__session__command__t.html">jack_session_command_t</a> *&#160;</td>
          <td class="paramname"><em>cmds</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Free the memory allocated by a session command. </p>

</div>
</div>
<a class="anchor" id="gad5561c270d9ea645f50b91c0f750b545"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* jack_get_uuid_for_client_name </td>
          <td>(</td>
          <td class="paramtype">jack_client_t *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>client_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the session ID for a client name.</p>
<p>The session manager needs this to reassociate a client name to the session_id.</p>
<p>The caller is responsible for calling jack_free(3) on any non-NULL returned value. </p>

</div>
</div>
<a class="anchor" id="gac644339b9be625b1225d22f5966a3664"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* jack_get_client_name_by_uuid </td>
          <td>(</td>
          <td class="paramtype">jack_client_t *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>client_uuid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the client name for a session_id.</p>
<p>In order to snapshot the graph connections, the session manager needs to map session_ids to client names.</p>
<p>The caller is responsible for calling jack_free(3) on any non-NULL returned value. </p>

</div>
</div>
<a class="anchor" id="ga2693d2d6eface89e41394ec41ed49ea8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int jack_reserve_client_name </td>
          <td>(</td>
          <td class="paramtype">jack_client_t *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>uuid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reserve a client name and associate it with a UUID.</p>
<p>When a client later calls <a class="el" href="group__ClientFunctions.html#gabbd2041bca191943b6ef29a991a131c5">jack_client_open()</a> and specifies the UUID, jackd will assign the reserved name. This allows a session manager to know in advance under which client name its managed clients will appear.</p>
<dl class="section return"><dt>Returns:</dt><dd>0 on success, otherwise a non-zero error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga3e39dc9e00370b6c0589249c72a8db90"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int jack_client_has_session_callback </td>
          <td>(</td>
          <td class="paramtype">jack_client_t *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>client_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Find out whether a client has set up a session callback.</p>
<dl class="section return"><dt>Returns:</dt><dd>0 when the client has no session callback, 1 when it has one. -1 on error. </dd></dl>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="ga1eebbe3f51ef97967c58afb627535dda"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jack_session_event_type_t _jack_session_event::type</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The type of this session event. </p>

<p>Definition at line <a class="el" href="session_8h_source.html#l00104">104</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9424115009f29d9d7d2ff6033494a386"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* _jack_session_event::session_dir</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Session directory path, with trailing separator.</p>
<p>This directory is exclusive to the client; when saving the client may create any files it likes in this directory. </p>

<p>Definition at line <a class="el" href="session_8h_source.html#l00112">112</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga6d9d90a3380e30df4b517e7df2a25465"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* _jack_session_event::client_uuid</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Client UUID which must be passed to jack_client_open on session load.</p>
<p>The client can specify this in the returned command line, or save it in a state file within the session directory. </p>

<p>Definition at line <a class="el" href="session_8h_source.html#l00120">120</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>

</div>
</div>
<a class="anchor" id="gae68736b4fb28f802baf3181bc2a0a617"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* _jack_session_event::command_line</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reply (set by client): the command line needed to restore the client.</p>
<p>This is a platform dependent command line. It must contain ${SESSION_DIR} instead of the actual session directory path. More generally, just as in session files, clients should not include any paths outside the session directory here as this makes archival/distribution impossible.</p>
<p>This field is set to NULL by Jack when the event is delivered to the client. The client must set to allocated memory that is safe to free(). This memory will be freed by jack_session_event_free. </p>

<p>Definition at line <a class="el" href="session_8h_source.html#l00135">135</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>

</div>
</div>
<a class="anchor" id="gae25a1730b6afe5268855eb21d0cfe536"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__SessionClientFunctions.html#gaff8d9b1766409d50565aabd2a5b9ab4f">jack_session_flags_t</a> _jack_session_event::flags</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reply (set by client): Session flags. </p>

<p>Definition at line <a class="el" href="session_8h_source.html#l00140">140</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga5f1b04a6fdf2e0c0c8e80f2fa053f55c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t _jack_session_event::future</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Future flags. Set to zero for now. </p>

<p>Definition at line <a class="el" href="session_8h_source.html#l00145">145</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>

</div>
</div>
</div><!-- contents -->
<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.8.1.1</small></address>
</body>
</html>