--- linuxsampler/trunk/src/engines/gig/EngineChannel.h 2008/02/14 14:58:50 1686 +++ linuxsampler/trunk/src/engines/gig/EngineChannel.h 2009/06/28 16:43:38 1924 @@ -3,7 +3,7 @@ * LinuxSampler - modular, streaming capable sampler * * * * Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * - * Copyright (C) 2005 - 2008 Christian Schoenebeck * + * Copyright (C) 2005 - 2009 Christian Schoenebeck * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -62,9 +62,12 @@ virtual void SendPitchbend(int Pitch, int32_t FragmentPos); virtual void SendControlChange(uint8_t Controller, uint8_t Value); virtual void SendControlChange(uint8_t Controller, uint8_t Value, int32_t FragmentPos); + virtual void SendProgramChange(uint8_t Program); virtual bool StatusChanged(bool bNewStatus = false); virtual float Volume(); virtual void Volume(float f); + virtual float Pan(); + virtual void Pan(float f); virtual uint Channels(); virtual void Connect(AudioOutputDevice* pAudioOut); virtual void DisconnectAudioOutputDevice(); @@ -129,6 +132,7 @@ bool bStatusChanged; ///< true in case an engine parameter has changed (e.g. new instrument, another volumet) std::vector fxSends; int GlobalTranspose; ///< amount of semi tones all notes should be transposed + int iLastPanRequest; ///< just for the return value of Pan(), so we don't have to make an injective function /// Command used by the instrument loader thread to /// request an instrument change on a channel. @@ -157,6 +161,8 @@ private: void ResetInternal(); void RemoveAllFxSends(); + void ClearDimRegionsInUse(); + void ResetDimRegionsInUse(); instrument_change_command_t& ChangeInstrument(::gig::Instrument* pInstrument); };