/[svn]/linuxsampler/trunk/src/mididriver/MidiInputDevice.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/mididriver/MidiInputDevice.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 53 by schoenebeck, Mon Apr 26 17:15:51 2004 UTC revision 87 by letz, Mon May 24 12:48:57 2004 UTC
# Line 2  Line 2 
2   *                                                                         *   *                                                                         *
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003 by Benno Senoner and Christian Schoenebeck         *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *                                                                         *   *                                                                         *
7   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
8   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 50  namespace LinuxSampler { Line 50  namespace LinuxSampler {
50              /////////////////////////////////////////////////////////////////              /////////////////////////////////////////////////////////////////
51              // type definitions              // type definitions
52    
53                /**
54                 * List of all currently implemented MIDI input drivers.
55                 */
56                enum type_t {
57                    type_alsa,
58                                    type_core_midi,
59                                    type_midishare
60                };
61    
62                /**
63                 * MIDI channels
64                 */
65              enum midi_chan_t {              enum midi_chan_t {
66                  midi_chan_all = 0,                  midi_chan_all = 0,
67                  midi_chan_1   = 1,                  midi_chan_1   = 1,
# Line 67  namespace LinuxSampler { Line 79  namespace LinuxSampler {
79                  midi_chan_13  = 13,                  midi_chan_13  = 13,
80                  midi_chan_14  = 14,                  midi_chan_14  = 14,
81                  midi_chan_15  = 15,                  midi_chan_15  = 15,
82                  midi_chan_16  = 16,                  midi_chan_16  = 16
                 midi_chan_17  = 17  
83              };              };
84    
85    
# Line 92  namespace LinuxSampler { Line 103  namespace LinuxSampler {
103               */               */
104              virtual void StopListen() = 0;              virtual void StopListen() = 0;
105    
106                virtual void SetInputPort(const char *) = 0;
107    
108              /////////////////////////////////////////////////////////////////              /////////////////////////////////////////////////////////////////
109              // normal methods              // normal methods
# Line 118  namespace LinuxSampler { Line 129  namespace LinuxSampler {
129               */               */
130              void Disconnect(Engine* pEngine);              void Disconnect(Engine* pEngine);
131    
132                /**
133                 * Returns the ID that identifies the implementing MIDI input
134                 * driver.
135                 */
136                type_t Type();
137    
138          protected:          protected:
139              std::set<Engine*> MidiChannelMap[17]; ///< Contains the list of connected engines for each MIDI channel, where index 0 points to the list of engines which are connected to all MIDI channels. Usually it's not necessary for the descendant to use this map, instead it should just use the Dispatch* methods.              std::set<Engine*> MidiChannelMap[17]; ///< Contains the list of connected engines for each MIDI channel, where index 0 points to the list of engines which are connected to all MIDI channels. Usually it's not necessary for the descendant to use this map, instead it should just use the Dispatch* methods.
140                type_t            MidiInputType;
141    
142    
143                /**
144                 * Constructor. Has to be called by the implementing MIDI
145                 * input driver to define the ID of the driver. When a new MIDI
146                 * input driver is implemented, the
147                 * MidiInputDevice::midi_input_type_t enumeration has to be
148                 * extended with a new ID for the new MIDI input driver.
149                 */
150                MidiInputDevice(type_t Type);
151    
152    
153    
154              /////////////////////////////////////////////////////////////////              /////////////////////////////////////////////////////////////////

Legend:
Removed from v.53  
changed lines
  Added in v.87

  ViewVC Help
Powered by ViewVC