/[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 1130 by iliev, Sun Mar 25 18:59:14 2007 UTC revision 1761 by iliev, Fri Aug 29 15:42:06 2008 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2   *                                                                         *   *                                                                         *
3   *   Copyright (C) 2005 - 2007 Christian Schoenebeck                       *   *   Copyright (C) 2005 - 2008 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/midi.h"  #include "../drivers/midi/midi.h"
27  #include "../drivers/midi/MidiInputDevice.h"  #include "../drivers/midi/MidiInputDevice.h"
28  #include "../drivers/midi/MidiInputPort.h"  #include "../drivers/midi/MidiInputPort.h"
29    #include "../drivers/midi/VirtualMidiDevice.h"
30  #include "Engine.h"  #include "Engine.h"
31  #include "FxSend.h"  #include "FxSend.h"
32    
33  namespace LinuxSampler {  namespace LinuxSampler {
34    
35      // just symbol prototyping      // just symbol prototyping
36        class Sampler;
37        class SamplerChannel;
38      class AudioOutputDevice;      class AudioOutputDevice;
39      class MidiInputPort;      class MidiInputPort;
40      class FxSend;      class FxSend;
# Line 69  namespace LinuxSampler { Line 72  namespace LinuxSampler {
72              virtual bool    StatusChanged(bool bNewStatus = false) = 0;              virtual bool    StatusChanged(bool bNewStatus = false) = 0;
73              virtual float   Volume() = 0;              virtual float   Volume() = 0;
74              virtual void    Volume(float f) = 0;              virtual void    Volume(float f) = 0;
75                virtual float   Pan() = 0;
76                virtual void    Pan(float f) = 0;
77              virtual uint    Channels() = 0;              virtual uint    Channels() = 0;
78              virtual void    Connect(AudioOutputDevice* pAudioOut) = 0;              virtual void    Connect(AudioOutputDevice* pAudioOut) = 0;
79              virtual void    DisconnectAudioOutputDevice() = 0;              virtual void    DisconnectAudioOutputDevice() = 0;
# Line 89  namespace LinuxSampler { Line 94  namespace LinuxSampler {
94              virtual FxSend* GetFxSend(uint FxSendIndex) = 0;              virtual FxSend* GetFxSend(uint FxSendIndex) = 0;
95              virtual uint    GetFxSendCount() = 0;              virtual uint    GetFxSendCount() = 0;
96              virtual void    RemoveFxSend(FxSend* pFxSend) = 0;              virtual void    RemoveFxSend(FxSend* pFxSend) = 0;
97                virtual void    Connect(VirtualMidiDevice* pDevice) = 0;
98                virtual void    Disconnect(VirtualMidiDevice* pDevice) = 0;
99    
100    
101              /////////////////////////////////////////////////////////////////              /////////////////////////////////////////////////////////////////
# Line 274  namespace LinuxSampler { Line 281  namespace LinuxSampler {
281               */               */
282              int GetMidiRpnController();              int GetMidiRpnController();
283    
284              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)              /**
285                 * Gets the current number of active voices.
286                 */
287                uint GetVoiceCount();
288    
289                /**
290                 * Sets the current number of active voices.
291                 */
292                void SetVoiceCount(uint Voices);
293    
294                /**
295                 * Gets the current number of active disk streams.
296                 */
297                uint GetDiskStreamCount();
298    
299                /**
300                 * Sets the current number of active disk streams.
301                 */
302                void SetDiskStreamCount(uint Streams);
303    
304                SamplerChannel* GetSamplerChannel();
305                
306                void SetSamplerChannel(SamplerChannel* pChannel);
307    
308                /** Returns the sampler to which this channel belongs */
309                Sampler* GetSampler();
310    
311          protected:          protected:
312              EngineChannel();              EngineChannel();
# Line 303  namespace LinuxSampler { Line 335  namespace LinuxSampler {
335              bool    bProgramChangeReceived;              bool    bProgramChangeReceived;
336              bool    bMidiRpnReceived;              bool    bMidiRpnReceived;
337              int     iMidiInstrumentMap;              int     iMidiInstrumentMap;
338                uint    uiVoiceCount;
339                uint    uiDiskStreamCount;
340                SamplerChannel* pSamplerChannel;
341              ListenerList<FxSendCountListener*> llFxSendCountListeners;              ListenerList<FxSendCountListener*> llFxSendCountListeners;
342      };      };
343    

Legend:
Removed from v.1130  
changed lines
  Added in v.1761

  ViewVC Help
Powered by ViewVC