00001 /* 00002 * Copyright: (C) 1999-2001 Bruce W. Forsberg 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 * 00018 * Bruce Forsberg forsberg@tns.net 00019 * 00020 */ 00021 00022 00023 #ifndef _AFLIBAUDIOSTEREOTOMONO_H 00024 #define _AFLIBAUDIOSTEREOTOMONO_H 00025 00026 #include "aflib.h" 00027 #include "aflibAudioMixer.h" 00028 00029 00040 class aflibConfig; 00041 00042 class aflibAudioStereoToMono : public aflibAudioMixer { 00043 00044 public: 00045 00046 enum aflib_mix_type 00047 { 00048 AFLIB_MIX_BOTH, 00049 AFLIB_MIX_CHAN1, 00050 AFLIB_MIX_CHAN2 00051 }; 00052 00053 // Constructor for a node with a parent 00054 aflibAudioStereoToMono( 00055 aflibAudio& audio, 00056 aflibAudioStereoToMono::aflib_mix_type mix); 00057 00058 ~aflibAudioStereoToMono(); 00059 00060 void 00061 setMix(aflibAudioStereoToMono::aflib_mix_type mix); 00062 00063 void 00064 setInputConfig(const aflibConfig& cfg); 00065 00066 const char * 00067 getName() const { return "aflibAudioStereoToMono";}; 00068 00069 protected: 00070 00071 private: 00072 00073 aflibAudioStereoToMono(); 00074 00075 aflibAudioStereoToMono(const aflibAudioStereoToMono& op); 00076 00077 const aflibAudioStereoToMono& 00078 operator=(const aflibAudioStereoToMono& op); 00079 00080 aflib_mix_type _mix; 00081 }; 00082 00083 #endif