Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 0a2d1da5078620d6abbc0a5e920f2a92 > files > 31

fluidsynth-devel-1.1.3-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>libfluidsynth: audio.h File 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.1 -->
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>audio.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>Functions for audio driver output.  
<a href="#_details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8h.html#aedef4ac50e1c453d126855a7da31e332">fluid_audio_func_t</a> )(void *data, int len, int nin, float **in, int nout, float **out)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback function type used with <a class="el" href="audio_8h.html#a3959d8add1dea97e507a5ea2c802c0bc" title="Create a new audio driver.">new_fluid_audio_driver2()</a> to allow for custom user audio processing before the audio is sent to the driver.  <a href="#aedef4ac50e1c453d126855a7da31e332"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API <br class="typebreak"/>
<a class="el" href="types_8h.html#ac3706330ce49cac5b7dd079e90d376d8">fluid_audio_driver_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8h.html#a4ad51317b10b89bfe94ade5db345864b">new_fluid_audio_driver</a> (<a class="el" href="types_8h.html#aa363402d3c77333b0f070ba531d034ba">fluid_settings_t</a> *settings, <a class="el" href="types_8h.html#ae265f10ae174a13afe010de50d87e1a4">fluid_synth_t</a> *synth)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new audio driver.  <a href="#a4ad51317b10b89bfe94ade5db345864b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API <br class="typebreak"/>
<a class="el" href="types_8h.html#ac3706330ce49cac5b7dd079e90d376d8">fluid_audio_driver_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8h.html#a3959d8add1dea97e507a5ea2c802c0bc">new_fluid_audio_driver2</a> (<a class="el" href="types_8h.html#aa363402d3c77333b0f070ba531d034ba">fluid_settings_t</a> *settings, <a class="el" href="audio_8h.html#aedef4ac50e1c453d126855a7da31e332">fluid_audio_func_t</a> func, void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new audio driver.  <a href="#a3959d8add1dea97e507a5ea2c802c0bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8h.html#a05678e633d37da0f93000045393e9442">delete_fluid_audio_driver</a> (<a class="el" href="types_8h.html#ac3706330ce49cac5b7dd079e90d376d8">fluid_audio_driver_t</a> *driver)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes an audio driver instance.  <a href="#a05678e633d37da0f93000045393e9442"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API <br class="typebreak"/>
<a class="el" href="types_8h.html#a8e8a634da121763271ed819dfe866b3d">fluid_file_renderer_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8h.html#a9d9338a870c5f71ba6fad6db7d17a93e">new_fluid_file_renderer</a> (<a class="el" href="types_8h.html#ae265f10ae174a13afe010de50d87e1a4">fluid_synth_t</a> *synth)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new file renderer and open the file.  <a href="#a9d9338a870c5f71ba6fad6db7d17a93e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8h.html#abdea2fb753cf1a5fa9b5dca38c177d80">fluid_file_renderer_process_block</a> (<a class="el" href="types_8h.html#a8e8a634da121763271ed819dfe866b3d">fluid_file_renderer_t</a> *dev)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write period_size samples to file.  <a href="#abdea2fb753cf1a5fa9b5dca38c177d80"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8h.html#a6893d780de15030366e2399293ed7362">delete_fluid_file_renderer</a> (<a class="el" href="types_8h.html#a8e8a634da121763271ed819dfe866b3d">fluid_file_renderer_t</a> *dev)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close file and destroy a file renderer object.  <a href="#a6893d780de15030366e2399293ed7362"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Functions for audio driver output. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="aedef4ac50e1c453d126855a7da31e332"></a><!-- doxytag: member="audio.h::fluid_audio_func_t" ref="aedef4ac50e1c453d126855a7da31e332" args=")(void *data, int len, int nin, float **in, int nout, float **out)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* <a class="el" href="audio_8h.html#aedef4ac50e1c453d126855a7da31e332">fluid_audio_func_t</a>)(void *data, int len, int nin, float **in, int nout, float **out)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Callback function type used with <a class="el" href="audio_8h.html#a3959d8add1dea97e507a5ea2c802c0bc" title="Create a new audio driver.">new_fluid_audio_driver2()</a> to allow for custom user audio processing before the audio is sent to the driver. </p>
<p>This function is responsible for rendering the audio to the buffers. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The user data parameter as passed to <a class="el" href="audio_8h.html#a3959d8add1dea97e507a5ea2c802c0bc" title="Create a new audio driver.">new_fluid_audio_driver2()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Length of the audio in frames. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nin</em>&nbsp;</td><td>Count of buffers in 'in' </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>Not used currently </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nout</em>&nbsp;</td><td>Count of arrays in 'out' (i.e., channel count) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>Output buffers, one for each channel </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Should return 0 on success, non-zero if an error occured. </dd></dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a4ad51317b10b89bfe94ade5db345864b"></a><!-- doxytag: member="audio.h::new_fluid_audio_driver" ref="a4ad51317b10b89bfe94ade5db345864b" args="(fluid_settings_t *settings, fluid_synth_t *synth)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API <a class="el" href="types_8h.html#ac3706330ce49cac5b7dd079e90d376d8">fluid_audio_driver_t</a>* new_fluid_audio_driver </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#aa363402d3c77333b0f070ba531d034ba">fluid_settings_t</a> *&nbsp;</td>
          <td class="paramname"> <em>settings</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#ae265f10ae174a13afe010de50d87e1a4">fluid_synth_t</a> *&nbsp;</td>
          <td class="paramname"> <em>synth</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new audio driver. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>settings</em>&nbsp;</td><td>Configuration settings used to select and create the audio driver. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>synth</em>&nbsp;</td><td>Synthesizer instance for which the audio driver is created for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The new audio driver instance.</dd></dl>
<p>Creates a new audio driver for a given 'synth' instance with a defined set of configuration 'settings'. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_8c-example.html#a2">example.c</a>, <a class="el" href="fluidsynth__arpeggio_8c-example.html#a10">fluidsynth_arpeggio.c</a>, <a class="el" href="fluidsynth__metronome_8c-example.html#a9">fluidsynth_metronome.c</a>, and <a class="el" href="fluidsynth__simple_8c-example.html#a3">fluidsynth_simple.c</a>.</dd>
</dl>
<p>References <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9ea5542b67c606598020b832c31729175fc">FLUID_DBG</a>, <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9eabc0ff48d192b3b0fc721946ccf095d25">FLUID_ERR</a>, <a class="el" href="settings_8h.html#aa2cf8ed808a4ce5fcfdfb208ea77811b">fluid_settings_dupstr()</a>, <a class="el" href="settings_8h.html#a7c78d673d39c3463339612f7a508cda4">fluid_settings_option_concat()</a>, <a class="el" href="settings_8h.html#a2646edb018c961162845f1711503b597">fluid_settings_str_equal()</a>, and <a class="el" href="audio_8h.html#a4ad51317b10b89bfe94ade5db345864b">new_fluid_audio_driver()</a>.</p>

<p>Referenced by <a class="el" href="audio_8h.html#a4ad51317b10b89bfe94ade5db345864b">new_fluid_audio_driver()</a>.</p>

</div>
</div>
<a class="anchor" id="a3959d8add1dea97e507a5ea2c802c0bc"></a><!-- doxytag: member="audio.h::new_fluid_audio_driver2" ref="a3959d8add1dea97e507a5ea2c802c0bc" args="(fluid_settings_t *settings, fluid_audio_func_t func, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API <a class="el" href="types_8h.html#ac3706330ce49cac5b7dd079e90d376d8">fluid_audio_driver_t</a>* new_fluid_audio_driver2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#aa363402d3c77333b0f070ba531d034ba">fluid_settings_t</a> *&nbsp;</td>
          <td class="paramname"> <em>settings</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="audio_8h.html#aedef4ac50e1c453d126855a7da31e332">fluid_audio_func_t</a>&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new audio driver. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>settings</em>&nbsp;</td><td>Configuration settings used to select and create the audio driver. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>Function called to fill audio buffers for audio playback </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>User defined data pointer to pass to 'func' </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The new audio driver instance.</dd></dl>
<p>Like <a class="el" href="audio_8h.html#a4ad51317b10b89bfe94ade5db345864b" title="Create a new audio driver.">new_fluid_audio_driver()</a> but allows for custom audio processing before audio is sent to audio driver. It is the responsibility of the callback 'func' to render the audio into the buffers.</p>
<p>NOTE: Not as efficient as <a class="el" href="audio_8h.html#a4ad51317b10b89bfe94ade5db345864b" title="Create a new audio driver.">new_fluid_audio_driver()</a>. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="fluidsynth__fx_8c-example.html#a4">fluidsynth_fx.c</a>.</dd>
</dl>
<p>References <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9ea5542b67c606598020b832c31729175fc">FLUID_DBG</a>, <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9eabc0ff48d192b3b0fc721946ccf095d25">FLUID_ERR</a>, <a class="el" href="settings_8h.html#aa2cf8ed808a4ce5fcfdfb208ea77811b">fluid_settings_dupstr()</a>, <a class="el" href="settings_8h.html#a2646edb018c961162845f1711503b597">fluid_settings_str_equal()</a>, and <a class="el" href="audio_8h.html#a3959d8add1dea97e507a5ea2c802c0bc">new_fluid_audio_driver2()</a>.</p>

<p>Referenced by <a class="el" href="audio_8h.html#a3959d8add1dea97e507a5ea2c802c0bc">new_fluid_audio_driver2()</a>.</p>

</div>
</div>
<a class="anchor" id="a05678e633d37da0f93000045393e9442"></a><!-- doxytag: member="audio.h::delete_fluid_audio_driver" ref="a05678e633d37da0f93000045393e9442" args="(fluid_audio_driver_t *driver)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API void delete_fluid_audio_driver </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#ac3706330ce49cac5b7dd079e90d376d8">fluid_audio_driver_t</a> *&nbsp;</td>
          <td class="paramname"> <em>driver</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Deletes an audio driver instance. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>driver</em>&nbsp;</td><td>Audio driver instance to delete</td></tr>
  </table>
  </dd>
</dl>
<p>Shuts down an audio driver and deletes its instance. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_8c-example.html#a6">example.c</a>, <a class="el" href="fluidsynth__arpeggio_8c-example.html#a17">fluidsynth_arpeggio.c</a>, <a class="el" href="fluidsynth__fx_8c-example.html#a6">fluidsynth_fx.c</a>, <a class="el" href="fluidsynth__metronome_8c-example.html#a16">fluidsynth_metronome.c</a>, and <a class="el" href="fluidsynth__simple_8c-example.html#a5">fluidsynth_simple.c</a>.</dd>
</dl>
<p>References <a class="el" href="audio_8h.html#a05678e633d37da0f93000045393e9442">delete_fluid_audio_driver()</a>.</p>

<p>Referenced by <a class="el" href="audio_8h.html#a05678e633d37da0f93000045393e9442">delete_fluid_audio_driver()</a>.</p>

</div>
</div>
<a class="anchor" id="a9d9338a870c5f71ba6fad6db7d17a93e"></a><!-- doxytag: member="audio.h::new_fluid_file_renderer" ref="a9d9338a870c5f71ba6fad6db7d17a93e" args="(fluid_synth_t *synth)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API <a class="el" href="types_8h.html#a8e8a634da121763271ed819dfe866b3d">fluid_file_renderer_t</a>* new_fluid_file_renderer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#ae265f10ae174a13afe010de50d87e1a4">fluid_synth_t</a> *&nbsp;</td>
          <td class="paramname"> <em>synth</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new file renderer and open the file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>synth</em>&nbsp;</td><td>The synth that creates audio data. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the new object, or NULL on failure </dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0</dd></dl>
<p>NOTE: Available file types and formats depends on if libfluidsynth was built with libsndfile support or not. If not then only RAW 16 bit output is supported.</p>
<p>Uses the following settings from the synth object:</p>
<ul>
<li>audio.file.name: Output filename</li>
<li>audio.file.type: File type, "auto" tries to determine type from filename extension with fallback to "wav".</li>
<li>audio.file.format: Audio format</li>
<li>audio.file.endian: Endian byte order, "auto" for file type's default byte order</li>
<li>audio.period-size: Size of audio blocks to process</li>
<li>synth.sample-rate: Sample rate to use </li>
</ul>

<p>References <a class="el" href="audio_8h.html#a6893d780de15030366e2399293ed7362">delete_fluid_file_renderer()</a>, <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9eabc0ff48d192b3b0fc721946ccf095d25">FLUID_ERR</a>, <a class="el" href="settings_8h.html#aa2cf8ed808a4ce5fcfdfb208ea77811b">fluid_settings_dupstr()</a>, <a class="el" href="settings_8h.html#a4a570095ef3de25e77f4dd9c574bc56c">fluid_settings_getint()</a>, <a class="el" href="settings_8h.html#a619c930e119a4a3889131d67293e2089">fluid_settings_getnum()</a>, and <a class="el" href="audio_8h.html#a9d9338a870c5f71ba6fad6db7d17a93e">new_fluid_file_renderer()</a>.</p>

<p>Referenced by <a class="el" href="audio_8h.html#a9d9338a870c5f71ba6fad6db7d17a93e">new_fluid_file_renderer()</a>.</p>

</div>
</div>
<a class="anchor" id="abdea2fb753cf1a5fa9b5dca38c177d80"></a><!-- doxytag: member="audio.h::fluid_file_renderer_process_block" ref="abdea2fb753cf1a5fa9b5dca38c177d80" args="(fluid_file_renderer_t *dev)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API int fluid_file_renderer_process_block </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a8e8a634da121763271ed819dfe866b3d">fluid_file_renderer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dev</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write period_size samples to file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dev</em>&nbsp;</td><td>File renderer instance </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="misc_8h.html#ae4efb1c3ce0d550c922504adfb0fb886" title="Value that indicates success, used by most libfluidsynth functions.">FLUID_OK</a> or <a class="el" href="misc_8h.html#a90e8bdbc5a507bbfa5c45bac85a63a61" title="Value that indicates failure, used by most libfluidsynth functions.">FLUID_FAILED</a> if an error occurred </dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>

<p>References <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9eabc0ff48d192b3b0fc721946ccf095d25">FLUID_ERR</a>, <a class="el" href="audio_8h.html#abdea2fb753cf1a5fa9b5dca38c177d80">fluid_file_renderer_process_block()</a>, <a class="el" href="synth_8h.html#ac86a79a943fc5d5d485ccc5a5fcad03d">fluid_synth_write_float()</a>, and <a class="el" href="synth_8h.html#a0d7c287342eb282d4ec63ea7f35cd791">fluid_synth_write_s16()</a>.</p>

<p>Referenced by <a class="el" href="audio_8h.html#abdea2fb753cf1a5fa9b5dca38c177d80">fluid_file_renderer_process_block()</a>.</p>

</div>
</div>
<a class="anchor" id="a6893d780de15030366e2399293ed7362"></a><!-- doxytag: member="audio.h::delete_fluid_file_renderer" ref="a6893d780de15030366e2399293ed7362" args="(fluid_file_renderer_t *dev)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API void delete_fluid_file_renderer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a8e8a634da121763271ed819dfe866b3d">fluid_file_renderer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dev</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close file and destroy a file renderer object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dev</em>&nbsp;</td><td>File renderer object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>

<p>References <a class="el" href="audio_8h.html#a6893d780de15030366e2399293ed7362">delete_fluid_file_renderer()</a>, and <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9ea394460be1ec74fce15e1ff683606df0f">FLUID_WARN</a>.</p>

<p>Referenced by <a class="el" href="audio_8h.html#a6893d780de15030366e2399293ed7362">delete_fluid_file_renderer()</a>, and <a class="el" href="audio_8h.html#a9d9338a870c5f71ba6fad6db7d17a93e">new_fluid_file_renderer()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Oct 12 2010 for libfluidsynth by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>