aflibaudio_8h-source.html
来自「一个共享源码的音频库5(doc 文档)」· HTML 代码 · 共 169 行
HTML
169 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>aflibAudio.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.15 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>aflibAudio.h</h1><a href="aflibAudio_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>00002 <font class="comment"> * Copyright: (C) 1999-2001 Bruce W. Forsberg</font>00003 <font class="comment"> *</font>00004 <font class="comment"> * This library is free software; you can redistribute it and/or</font>00005 <font class="comment"> * modify it under the terms of the GNU Lesser General Public</font>00006 <font class="comment"> * License as published by the Free Software Foundation; either</font>00007 <font class="comment"> * version 2.1 of the License, or any later version.</font>00008 <font class="comment"> *</font>00009 <font class="comment"> * This library is distributed in the hope that it will be useful,</font>00010 <font class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</font>00011 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>00012 <font class="comment"> * Lesser General Public License for more details.</font>00013 <font class="comment"> *</font>00014 <font class="comment"> * You should have received a copy of the GNU Lesser General Public</font>00015 <font class="comment"> * License along with this library; if not, write to the Free Software</font>00016 <font class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</font>00017 <font class="comment"> *</font>00018 <font class="comment"> * Bruce Forsberg forsberg@tns.net</font>00019 <font class="comment"> *</font>00020 <font class="comment"> */</font>00021 00022 <font class="preprocessor">#ifndef _AFLIBAUDIO_H</font>00023 <font class="preprocessor"></font><font class="preprocessor">#define _AFLIBAUDIO_H</font>00024 <font class="preprocessor"></font>00025 <font class="preprocessor">#ifdef HAVE_CONFIG_H</font>00026 <font class="preprocessor"></font><font class="preprocessor">#include <config.h></font>00027 <font class="preprocessor">#endif</font>00028 <font class="preprocessor"></font>00029 <font class="preprocessor">#include "<a class="code" href="aflib_8h.html">aflib.h</a>"</font>00030 <font class="preprocessor">#include "<a class="code" href="aflibChain_8h.html">aflibChain.h</a>"</font>00031 <font class="preprocessor">#include "<a class="code" href="aflibMemCache_8h.html">aflibMemCache.h</a>"</font>00032 <font class="preprocessor">#include "<a class="code" href="aflibConfig_8h.html">aflibConfig.h</a>"</font>00033 00034 <font class="preprocessor">#include <list></font>00035 00036 00074 <font class="keyword">class </font><a class="code" href="classaflibData.html">aflibData</a>;00075 <font class="keyword">class </font><a class="code" href="classaflibAudioSampleRateCvt.html">aflibAudioSampleRateCvt</a>;00076 <font class="keyword">class </font><a class="code" href="classaflibAudioMixer.html">aflibAudioMixer</a>;00077 00078 00079 <font class="keyword">class </font><a class="code" href="classaflibAudio.html">aflibAudio</a> : <font class="keyword">public</font> <a class="code" href="classaflibChain.html">aflibChain</a>, <font class="keyword">public</font> <a class="code" href="classaflibMemCache.html">aflibMemCache</a> {00080 00081 <font class="keyword">public</font>:00082 00083 <font class="keyword">virtual</font>00084 <a class="code" href="classaflibAudio.html#a0">~aflibAudio</a>();00085 00086 <font class="keywordtype">void</font>00087 <a class="code" href="classaflibAudio.html#a1">enable</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00088 00089 <font class="keywordtype">bool</font>00090 <a class="code" href="classaflibAudio.html#a2">getEnable</a>() <font class="keyword">const</font>;00091 00092 <font class="keywordtype">void</font>00093 <a class="code" href="classaflibAudio.html#a3">enableDataSizeConversion</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00094 00095 <font class="keywordtype">void</font>00096 <a class="code" href="classaflibAudio.html#a4">enableEndianConversion</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00097 00098 <font class="keywordtype">void</font>00099 <a class="code" href="classaflibAudio.html#a5">enableSampleRateConversion</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00100 00101 <font class="keywordtype">void</font>00102 <a class="code" href="classaflibAudio.html#a6">enableChannelsConversion</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00103 00104 <font class="keyword">virtual</font> <font class="keywordtype">void</font>00105 <a class="code" href="classaflibAudio.html#a7">setInputConfig</a>(<font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>& cfg);00106 00107 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>&00108 <a class="code" href="classaflibAudio.html#a8">getInputConfig</a>() <font class="keyword">const</font>;00109 00110 <font class="keyword">virtual</font> <font class="keywordtype">void</font>00111 <a class="code" href="classaflibAudio.html#a9">setOutputConfig</a>(<font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>& cfg);00112 00113 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>&00114 <a class="code" href="classaflibAudio.html#a10">getOutputConfig</a>() <font class="keyword">const</font>;00115 00117 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a name="l00118"></a><a class="code" href="classaflibAudio.html#a11">00118</a> <a class="code" href="classaflibAudio.html#a11">getName</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <font class="stringliteral">"aflibAudio"</font>;};00119 00121 <font class="keyword">virtual</font> <a class="code" href="aflib_8h.html#a33">aflibStatus</a><a name="l00122"></a><a class="code" href="classaflibAudio.html#a12">00122</a> <a class="code" href="classaflibAudio.html#a12">compute_segment</a>(00123 list<aflibData *>& ,00124 <font class="keywordtype">long</font> <font class="keywordtype">long</font> ){ <font class="keywordflow">return</font> <a class="code" href="aflib_8h.html#a33a14">AFLIB_SUCCESS</a>;};00125 00126 <font class="keyword">virtual</font> <a class="code" href="classaflibData.html">aflibData</a> *00127 <a class="code" href="classaflibAudio.html#a13">process</a>(00128 <a class="code" href="aflib_8h.html#a33">aflibStatus</a>& ret_status,00129 <font class="keywordtype">long</font> <font class="keywordtype">long</font> position,00130 <font class="keywordtype">int</font>& num_samples,00131 <font class="keywordtype">bool</font> free_memory = TRUE);00132 00133 <font class="keyword">protected</font>:00134 00135 <a class="code" href="classaflibAudio.html#b0">aflibAudio</a>();00136 <a class="code" href="classaflibAudio.html#b0">aflibAudio</a>(<a class="code" href="classaflibAudio.html">aflibAudio</a>& audio);00137 00138 <a class="code" href="classaflibAudio.html">aflibAudio</a>* 00139 <a class="code" href="classaflibAudio.html#b2">convertSampleRate</a>(<a class="code" href="classaflibAudio.html">aflibAudio</a>& parent);00140 00141 <a class="code" href="classaflibAudio.html">aflibAudio</a>* 00142 <a class="code" href="classaflibAudio.html#b3">convertChannels</a>(<a class="code" href="classaflibAudio.html">aflibAudio</a>& parent);00143 00144 <font class="keywordtype">void</font>00145 <a class="code" href="classaflibAudio.html#b4">convertData</a>(<a class="code" href="classaflibData.html">aflibData</a>& data);00146 00147 <font class="keywordtype">void</font>00148 <a class="code" href="classaflibAudio.html#b5">examineChain</a>();00149 00150 <font class="keywordtype">bool</font>00151 <a class="code" href="classaflibAudio.html#b6">checkChain</a>(<font class="keyword">const</font> <a class="code" href="classaflibAudio.html">aflibAudio</a> * audio) <font class="keyword">const</font>;00152 00153 <font class="keywordtype">void</font>00154 <a class="code" href="classaflibAudio.html#b7">preprocessChain</a>(00155 <a class="code" href="classaflibAudio.html">aflibAudio</a> * audio,00156 <a class="code" href="classaflibAudio.html">aflibAudio</a> * child);00157 00158 <font class="comment">// "is" functions that indicate what formats an object supports</font>00159 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00160 <a class="code" href="classaflibAudio.html#b8">isDataSizeSupported</a>(<a class="code" href="aflib_8h.html#a30">aflib_data_size</a> size);00161 00162 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00163 <a class="code" href="classaflibAudio.html#b9">isEndianSupported</a>(<a class="code" href="aflib_8h.html#a31">aflib_data_endian</a> end);00164 00165 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00166 <a class="code" href="classaflibAudio.html#b10">isSampleRateSupported</a>(<font class="keywordtype">int</font>& rate);00167 00168 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00169 <a class="code" href="classaflibAudio.html#b11">isChannelsSupported</a>(<font class="keywordtype">int</font>& channels);00170 00171 <font class="keyword">inline</font> <font class="keywordtype">void</font><a name="l00172"></a><a class="code" href="classaflibAudio.html#b12">00172</a> <a class="code" href="classaflibAudio.html#b12">incrementLevel</a>() {_level++;};00173 00174 <font class="keyword">inline</font> <font class="keywordtype">void</font><a name="l00175"></a><a class="code" href="classaflibAudio.html#b13">00175</a> <a class="code" href="classaflibAudio.html#b13">decrementLevel</a>() {_level--;};00176 00177 <font class="keyword">private</font>:00178 00179 <font class="keywordtype">bool</font> _enable;00180 <font class="keywordtype">bool</font> _enable_data_size;00181 <font class="keywordtype">bool</font> _enable_endian;00182 <font class="keywordtype">bool</font> _enable_sample_rate;00183 <font class="keywordtype">bool</font> _enable_channels;00184 <a class="code" href="classaflibConfig.html">aflibConfig</a> _cfg_input;00185 <a class="code" href="classaflibConfig.html">aflibConfig</a> _cfg_output;00186 <a class="code" href="classaflibAudioSampleRateCvt.html">aflibAudioSampleRateCvt</a> * _cvt;00187 <a class="code" href="classaflibAudioMixer.html">aflibAudioMixer</a> * _mix;00188 <font class="keyword">static</font> <font class="keywordtype">int</font> _level;00189 00190 };00191 00192 00193 <font class="preprocessor">#endif</font></pre></div><hr><address align="right"><small>Generated on Wed May 8 20:51:04 2002 for Open Source Audio Library Project by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?