Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

/home/pete/Work/TSE3.svn/tse3/src/tse3/MidiMapper.h

Go to the documentation of this file.
00001 /*
00002  * @(#)MidiMapper.h 3.00 25 May 1999
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_MIDIMAPPER_H
00018 #define TSE3_MIDIMAPPER_h
00019 
00020 #include "tse3/listen/MidiMapper.h"
00021 
00022 #include "tse3/Notifier.h"
00023 #include "tse3/Filter.h"
00024 
00025 #include <utility>
00026 
00027 namespace TSE3
00028 {
00044     class MidiMapper : public Filter,
00045                        public Notifier<MidiMapperListener>
00046     {
00047         public:
00048 
00052             MidiMapper();
00053             virtual ~MidiMapper();
00054 
00065             const int map(int fromPort) const;
00066 
00081             void setMap(int fromPort, int toPort);
00082 
00089             int maximumMap() const;
00090 
00094              virtual MidiEvent filter(const MidiEvent &me) const;
00095 
00099             void reset();
00100 
00101         private:
00102 
00103             MidiMapper &operator=(const MidiMapper &);
00104             MidiMapper(const MidiMapper &);
00105 
00106             class MidiMapperImpl *pimpl;
00107     };
00108 }
00109 
00110 #endif

Generated on Wed May 25 14:45:07 2005 for TSE3 by doxygen 1.3.2