Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > f2adb5ed02e83f2c51981c1b15594e22 > files > 78

libnjb-devel-2.2.7-1.fc14.x86_64.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"/>
<title>libnjb: The EAX (and volume) manipulation API</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.4 -->
<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">libnjb&#160;<span id="projectnumber">2.2.7</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">The EAX (and volume) manipulation API</div>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__eaxapi.html#ga4d59282ecca52bb7bfcd78c5f21c4a47">NJB_Reset_Get_EAX_Type</a> (<a class="el" href="structnjb__struct.html">njb_t</a> *njb)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnjb__eax__struct.html">njb_eax_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__eaxapi.html#gaa9146994b5fdcf249d094067f5059431">NJB_Get_EAX_Type</a> (<a class="el" href="structnjb__struct.html">njb_t</a> *njb)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__eaxapi.html#ga9690bd523ae9729ae9a6d5e21bb87d88">NJB_Destroy_EAX_Type</a> (<a class="el" href="structnjb__eax__struct.html">njb_eax_t</a> *eax)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__eaxapi.html#gab488254f5ddf7783105eb859ac4a14e1">NJB_Adjust_EAX</a> (<a class="el" href="structnjb__struct.html">njb_t</a> *njb, u_int16_t eaxid, u_int16_t patchindex, int16_t scalevalue)</td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gab488254f5ddf7783105eb859ac4a14e1"></a><!-- doxytag: member="libnjb.h::NJB_Adjust_EAX" ref="gab488254f5ddf7783105eb859ac4a14e1" args="(njb_t *njb, u_int16_t eaxid, u_int16_t patchindex, int16_t scalevalue)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void NJB_Adjust_EAX </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnjb__struct.html">njb_t</a> *&#160;</td>
          <td class="paramname"><em>njb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int16_t&#160;</td>
          <td class="paramname"><em>eaxid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int16_t&#160;</td>
          <td class="paramname"><em>patchindex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16_t&#160;</td>
          <td class="paramname"><em>scalevalue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This adjusts an EAX control. The magic numbers needed are to be found in <code>njb_eax_t</code> structs retrived with the <code><a class="el" href="group__eaxapi.html#gaa9146994b5fdcf249d094067f5059431">NJB_Get_EAX_Type()</a></code> function. In theory, EAX controls could be both selectable (different <code>patchindex</code> can be selected) and scaleable (different <code>scalevalue</code> can be set) but in practice all controls are either selectable or scaleable.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">njb</td><td>a pointer to the <code>njb_t</code> object to manipulate the EAX settings on </td></tr>
    <tr><td class="paramname">eaxid</td><td>a unique ID for the EAX effect to manipulate </td></tr>
    <tr><td class="paramname">patchindex</td><td>a patch index to set for the EAX effect. If the effect is not selectable, you can set this to 0. </td></tr>
    <tr><td class="paramname">scalevalue</td><td>a scale value to set for the EAX effect. If the effect is not scaleable, you can set this to 0. Note that this is a signed integer, and may very well be supplied with negative numbers! </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__eaxapi.html#gaa9146994b5fdcf249d094067f5059431">NJB_Get_EAX_Type()</a> </dd></dl>

<p>References <a class="el" href="structnjb__struct.html#a405f9cb824196553362aa8d4ad546c07">njb_struct::device_type</a>, <a class="el" href="structnjb3__state__t.html#a662a0c02b8ad844581597b4c2fac0231">njb3_state_t::eax_processor_active</a>, <a class="el" href="protocol3_8c.html#a6fe00399de0e30cfd70220b28c49e781">njb3_control_eax_processor()</a>, <a class="el" href="group__njbboxes.html#gad84011f40d11f1eae13f708cdc3c29fb">NJB_DEVICE_NJB1</a>, and <a class="el" href="structnjb__struct.html#a9c34c2b8e18cdf2c494f2cfe2e1e4f5f">njb_struct::protocol_state</a>.</p>

</div>
</div>
<a class="anchor" id="ga9690bd523ae9729ae9a6d5e21bb87d88"></a><!-- doxytag: member="libnjb.h::NJB_Destroy_EAX_Type" ref="ga9690bd523ae9729ae9a6d5e21bb87d88" args="(njb_eax_t *eax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void NJB_Destroy_EAX_Type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnjb__eax__struct.html">njb_eax_t</a> *&#160;</td>
          <td class="paramname"><em>eax</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This destroys an EAX Type and frees all memory used by it.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">eax</td><td>the EAX Type to destroy </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="dumpeax_8c-example.html#a19">dumpeax.c</a>.</dd>
</dl>
<p>References <a class="el" href="eax_8c.html#a68d4cf24e77a020af43da96e63159bfd">destroy_eax_type()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa9146994b5fdcf249d094067f5059431"></a><!-- doxytag: member="libnjb.h::NJB_Get_EAX_Type" ref="gaa9146994b5fdcf249d094067f5059431" args="(njb_t *njb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnjb__eax__struct.html">njb_eax_t</a>* NJB_Get_EAX_Type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnjb__struct.html">njb_t</a> *&#160;</td>
          <td class="paramname"><em>njb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This retrieves an EAX type from the device. EAX types include volume controls, so this is essential for most player gadgets. Adjustment of the EAX controls according to the values found in <code>njb_eax_t</code> objects is done using the <code>NJB_Ajust_EAX()</code> function.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">njb</td><td>a pointer to the <code>njb_t</code> object to reset the EAX retrieveal pointer for </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to a newly allocaed EAX type. This should be freed with <code><a class="el" href="group__eaxapi.html#ga9690bd523ae9729ae9a6d5e21bb87d88">NJB_Destroy_EAX_Type()</a></code> after use. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__eaxapi.html#ga4d59282ecca52bb7bfcd78c5f21c4a47">NJB_Reset_Get_EAX_Type()</a> </dd>
<dd>
<a class="el" href="group__eaxapi.html#gab488254f5ddf7783105eb859ac4a14e1">NJB_Adjust_EAX()</a> </dd>
<dd>
<a class="el" href="group__types.html#ga73659426f8a09253f5f33fccbe29d04a">njb_eax_t</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="dumpeax_8c-example.html#a9">dumpeax.c</a>.</dd>
</dl>
<p>References <a class="el" href="structnjb__struct.html#a405f9cb824196553362aa8d4ad546c07">njb_struct::device_type</a>, <a class="el" href="group__njbboxes.html#gad84011f40d11f1eae13f708cdc3c29fb">NJB_DEVICE_NJB1</a>, and <a class="el" href="protocol_8c.html#ad9259496f4562d52937c0296d8a6812c">njb_get_nexteax()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4d59282ecca52bb7bfcd78c5f21c4a47"></a><!-- doxytag: member="libnjb.h::NJB_Reset_Get_EAX_Type" ref="ga4d59282ecca52bb7bfcd78c5f21c4a47" args="(njb_t *njb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void NJB_Reset_Get_EAX_Type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnjb__struct.html">njb_t</a> *&#160;</td>
          <td class="paramname"><em>njb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This function resets the retrieveal of EAX types. It should typically be called before any subsequent calls to <code><a class="el" href="group__eaxapi.html#gaa9146994b5fdcf249d094067f5059431">NJB_Get_EAX_Type()</a></code>.</p>
<p>Typical usage:</p>
<pre>
 njb_t *njb;
 njb_eax_t *eax;</pre><pre> NJB_Reset_Get_EAX_Type(njb);
 while ( (eax = NJB_Get_EAX_Type(njb)) != NULL ) {
    // Do something with all the EAX types...
    NJB_Destroy_EAX_Type(eax);
 }
 </pre><dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">njb</td><td>a pointer to the <code>njb_t</code> object to reset the EAX retrieveal pointer for </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__eaxapi.html#gaa9146994b5fdcf249d094067f5059431">NJB_Get_EAX_Type()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="dumpeax_8c-example.html#a8">dumpeax.c</a>.</dd>
</dl>
<p>References <a class="el" href="structnjb__struct.html#a405f9cb824196553362aa8d4ad546c07">njb_struct::device_type</a>, <a class="el" href="group__njbboxes.html#gad84011f40d11f1eae13f708cdc3c29fb">NJB_DEVICE_NJB1</a>, and <a class="el" href="protocol_8c.html#afe8b51e10cf1a2a5d313a4c273133278">njb_read_eaxtypes()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Jun 25 2011 for libnjb by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>