/[svn]/linuxsampler/trunk/src/engines/EngineChannel.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/EngineChannel.h

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

revision 973 by schoenebeck, Fri Dec 15 21:40:27 2006 UTC revision 1041 by schoenebeck, Wed Feb 7 17:45:19 2007 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2   *                                                                         *   *                                                                         *
3   *   Copyright (C) 2005, 2006 Christian Schoenebeck                        *   *   Copyright (C) 2005 - 2007 Christian Schoenebeck                       *
4   *                                                                         *   *                                                                         *
5   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
6   *   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 26  Line 26 
26  #include "../drivers/midi/MidiInputDevice.h"  #include "../drivers/midi/MidiInputDevice.h"
27  #include "../drivers/midi/MidiInputPort.h"  #include "../drivers/midi/MidiInputPort.h"
28  #include "Engine.h"  #include "Engine.h"
29    #include "FxSend.h"
30    
31  namespace LinuxSampler {  namespace LinuxSampler {
32    
33      // just symbol prototyping      // just symbol prototyping
34      class AudioOutputDevice;      class AudioOutputDevice;
35      class MidiInputPort;      class MidiInputPort;
36        class FxSend;
37    
38    
39      /** @brief Channel Interface for LinuxSampler Sampler Engines      /** @brief Channel Interface for LinuxSampler Sampler Engines
40       *       *
# Line 68  namespace LinuxSampler { Line 71  namespace LinuxSampler {
71              virtual uint    Channels() = 0;              virtual uint    Channels() = 0;
72              virtual void    Connect(AudioOutputDevice* pAudioOut) = 0;              virtual void    Connect(AudioOutputDevice* pAudioOut) = 0;
73              virtual void    DisconnectAudioOutputDevice() = 0;              virtual void    DisconnectAudioOutputDevice() = 0;
74                virtual AudioOutputDevice* GetAudioOutputDevice() = 0;
75              virtual void    SetOutputChannel(uint EngineAudioChannel, uint AudioDeviceChannel) = 0;              virtual void    SetOutputChannel(uint EngineAudioChannel, uint AudioDeviceChannel) = 0;
76              virtual int     OutputChannel(uint EngineAudioChannel) = 0;              virtual int     OutputChannel(uint EngineAudioChannel) = 0;
77              virtual void    Connect(MidiInputPort* pMidiPort, midi_chan_t MidiChannel) = 0;              virtual void    Connect(MidiInputPort* pMidiPort, midi_chan_t MidiChannel) = 0;
# Line 80  namespace LinuxSampler { Line 84  namespace LinuxSampler {
84              virtual int     InstrumentStatus() = 0;              virtual int     InstrumentStatus() = 0;
85              virtual Engine* GetEngine() = 0;              virtual Engine* GetEngine() = 0;
86              virtual String  EngineName() = 0;              virtual String  EngineName() = 0;
87                virtual FxSend* AddFxSend(uint8_t MidiCtrl, String Name = "") throw (Exception) = 0;
88                virtual FxSend* GetFxSend(uint FxSendIndex) = 0;
89                virtual uint    GetFxSendCount() = 0;
90                virtual void    RemoveFxSend(FxSend* pFxSend) = 0;
91    
92    
93                /////////////////////////////////////////////////////////////////
94                // normal methods
95                //     (usually not to be overridden by descendant)
96    
97              /**              /**
98               * Sets the mute state of this channel.               * Sets the mute state of this channel.
# Line 212  namespace LinuxSampler { Line 225  namespace LinuxSampler {
225               */               */
226              void SetMidiInstrumentMap(int MidiMap) throw (Exception);              void SetMidiInstrumentMap(int MidiMap) throw (Exception);
227    
228                /**
229                 * Set MIDI Registered Parameter Number (RPN) Controller
230                 * (upper 8 bits / coarse).
231                 */
232                void SetMidiRpnControllerMsb(uint8_t CtrlMSB);
233    
234                /**
235                 * Set MIDI Registered Parameter Number (RPN) Controller
236                 * (lower 8 bits / fine).
237                 */
238                void SetMidiRpnControllerLsb(uint8_t CtrlLSB);
239    
240                /**
241                 * Get currently selected MIDI Registered Parameter Number
242                 * (RPN) Controller, this method will return the already merged
243                 * value (MSB and LSB value).
244                 */
245                int GetMidiRpnController();
246    
247              int iSamplerChannelIndex; ///< FIXME: nasty hack, might be removed (should be 'virtual EngineChannel* EngineChannel() = 0;', but due to cyclic dependencies only a void* solution would be possible ATM)              int iSamplerChannelIndex; ///< FIXME: nasty hack, might be removed (should be 'virtual EngineChannel* EngineChannel() = 0;', but due to cyclic dependencies only a void* solution would be possible ATM)
248    
249          protected:          protected:
# Line 225  namespace LinuxSampler { Line 257  namespace LinuxSampler {
257              uint8_t uiMidiProgram;              uint8_t uiMidiProgram;
258              uint8_t uiMidiBankMsb;              uint8_t uiMidiBankMsb;
259              uint8_t uiMidiBankLsb;              uint8_t uiMidiBankLsb;
260                uint8_t uiMidiRpnMsb; ///< MIDI Registered Parameter Number (upper 8 bits / coarse)
261                uint8_t uiMidiRpnLsb; ///< MIDI Registered Parameter Number (lower 8 bits / fine)
262              bool    bMidiBankMsbReceived;              bool    bMidiBankMsbReceived;
263              bool    bMidiBankLsbReceived;              bool    bMidiBankLsbReceived;
264              bool    bProgramChangeReceived;              bool    bProgramChangeReceived;

Legend:
Removed from v.973  
changed lines
  Added in v.1041

  ViewVC Help
Powered by ViewVC