00001 /* 00002 * @(#)listen/Mixer.h 3.00 31 March 2000 00003 * 00004 * Copyright (c) 2000 Pete Goodliffe (pete@cthree.org) 00005 * 00006 * This file is part of TSE3 - the Trax Sequencer Engine version 3.00. 00007 * 00008 * This library is modifiable/redistributable under the terms of the GNU 00009 * General Public License. 00010 * 00011 * You should have received a copy of the GNU General Public License along 00012 * with this program; see the file COPYING. If not, write to the Free Software 00013 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00014 * 00015 */ 00016 00017 #ifndef TSE3_LISTEN_MIXER_H 00018 #define TSE3_LISTEN_MIXER_H 00019 00020 namespace TSE3 00021 { 00022 class MixerChannel; 00023 class MixerPort; 00024 class Mixer; 00025 00033 class MixerChannelListener 00034 { 00035 public: 00036 typedef MixerChannel notifier_type; 00037 00038 virtual void MixerChannel_Volume(MixerChannel *) {} 00039 virtual void MixerChannel_Pan(MixerChannel *) {} 00040 virtual void MixerChannel_Chorus(MixerChannel *) {} 00041 virtual void MixerChannel_Reverb(MixerChannel *) {} 00042 virtual void MixerChannel_Program(MixerChannel *) {} 00043 virtual void MixerChannel_BankLSB(MixerChannel *) {} 00044 virtual void MixerChannel_BankMSB(MixerChannel *) {} 00045 }; 00046 00054 class MixerPortListener 00055 { 00056 public: 00057 typedef MixerPort notifier_type; 00058 00059 virtual void MixerPort_Volume(MixerPort *) {} 00060 }; 00061 00069 class MixerListener 00070 { 00071 public: 00072 typedef Mixer notifier_type; 00073 }; 00074 } 00075 00076 #endif