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 #ifdef HAVE_CONFIG_H 00027 #include <config.h> 00028 #endif 00029 00030 #include "aflib.h" 00031 #include "aflibAudioMixer.h" 00032 00033 00047 class aflibAudioStereoToMono : public aflibAudioMixer { 00048 00049 public: 00050 00051 enum aflib_mix_type 00052 { 00053 AFLIB_MIX_UNDEF, 00054 AFLIB_MIX_BOTH, 00055 AFLIB_MIX_CHAN1, 00056 AFLIB_MIX_CHAN2 00057 }; 00058 00059 // Constructor for a node with a parent 00060 aflibAudioStereoToMono( 00061 aflibAudio& audio, 00062 aflibAudioStereoToMono::aflib_mix_type mix = AFLIB_MIX_BOTH, 00063 int amplitude = 100); 00064 00065 ~aflibAudioStereoToMono(); 00066 00067 void 00068 setMixType(aflibAudioStereoToMono::aflib_mix_type mix); 00069 00070 void 00071 setAmplitude(int amplitude); 00072 00073 const char * 00074 getName() const { return "aflibAudioStereoToMono";}; 00075 00076 private: 00077 00078 aflibAudioStereoToMono(); 00079 00080 aflibAudioStereoToMono(const aflibAudioStereoToMono& op); 00081 00082 const aflibAudioStereoToMono& 00083 operator=(const aflibAudioStereoToMono& op); 00084 00085 void 00086 setMix(); 00087 00088 void 00089 parentWasAdded(int parent_id); 00090 00091 aflib_mix_type _mix; 00092 int _amplitude; 00093 int _id; 00094 }; 00095 00096 #endif