/[svn]/linuxsampler/trunk/src/network/lscpserver.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpserver.h

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

revision 1005 by schoenebeck, Fri Dec 29 20:06:14 2006 UTC revision 1135 by iliev, Thu Mar 29 09:40:45 2007 UTC
# Line 3  Line 3 
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *   Copyright (C) 2005, 2006 Christian Schoenebeck                        *   *   Copyright (C) 2005 - 2007 Christian Schoenebeck                       *
7   *                                                                         *   *                                                                         *
8   *   This library is free software; you can redistribute it and/or modify  *   *   This library is free software; you can redistribute it and/or modify  *
9   *   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 128  class LSCPServer : public Thread { Line 128  class LSCPServer : public Thread {
128          String SetVolume(double dVolume, uint uiSamplerChannel);          String SetVolume(double dVolume, uint uiSamplerChannel);
129          String SetChannelMute(bool bMute, uint uiSamplerChannel);          String SetChannelMute(bool bMute, uint uiSamplerChannel);
130          String SetChannelSolo(bool bSolo, uint uiSamplerChannel);          String SetChannelSolo(bool bSolo, uint uiSamplerChannel);
131          String AddOrReplaceMIDIInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg, String EngineType, String InstrumentFile, uint InstrumentIndex, float Volume, MidiInstrumentMapper::mode_t LoadMode, String Name);          String AddOrReplaceMIDIInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg, String EngineType, String InstrumentFile, uint InstrumentIndex, float Volume, MidiInstrumentMapper::mode_t LoadMode, String Name, bool bModal);
132          String RemoveMIDIInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg);          String RemoveMIDIInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg);
133          String GetMidiInstrumentMappings(uint MidiMapID);          String GetMidiInstrumentMappings(uint MidiMapID);
134          String GetAllMidiInstrumentMappings();          String GetAllMidiInstrumentMappings();
# Line 150  class LSCPServer : public Thread { Line 150  class LSCPServer : public Thread {
150          String GetFxSends(uint uiSamplerChannel);          String GetFxSends(uint uiSamplerChannel);
151          String ListFxSends(uint uiSamplerChannel);          String ListFxSends(uint uiSamplerChannel);
152          String GetFxSendInfo(uint uiSamplerChannel, uint FxSendID);          String GetFxSendInfo(uint uiSamplerChannel, uint FxSendID);
153            String SetFxSendName(uint uiSamplerChannel, uint FxSendID, String Name);
154          String SetFxSendAudioOutputChannel(uint uiSamplerChannel, uint FxSendID, uint FxSendChannel, uint DeviceChannel);          String SetFxSendAudioOutputChannel(uint uiSamplerChannel, uint FxSendID, uint FxSendChannel, uint DeviceChannel);
155            String SetFxSendMidiController(uint uiSamplerChannel, uint FxSendID, uint MidiController);
156            String SetFxSendLevel(uint uiSamplerChannel, uint FxSendID, double dLevel);
157          String ResetChannel(uint uiSamplerChannel);          String ResetChannel(uint uiSamplerChannel);
158          String ResetSampler();          String ResetSampler();
159          String GetServerInfo();          String GetServerInfo();
# Line 192  class LSCPServer : public Thread { Line 195  class LSCPServer : public Thread {
195           */           */
196          int GetMidiInputDeviceIndex (MidiInputDevice *pDevice);          int GetMidiInputDeviceIndex (MidiInputDevice *pDevice);
197    
198            EngineChannel* GetEngineChannel(uint uiSamplerChannel);
199    
200                    /**
201                     * Gets the specified effect send on the specified sampler channel.
202                     */
203                    FxSend* GetFxSend(uint uiSamplerChannel, uint FxSendID);
204    
205          bool HasSoloChannel();          bool HasSoloChannel();
206          void MuteNonSoloChannels();          void MuteNonSoloChannels();
207          void UnmuteChannels();          void UnmuteChannels();
# Line 210  class LSCPServer : public Thread { Line 220  class LSCPServer : public Thread {
220          //like voice count, stream count and buffer fill          //like voice count, stream count and buffer fill
221          //from LSCP server removing engines and channels from underneath          //from LSCP server removing engines and channels from underneath
222          static Mutex RTNotifyMutex;          static Mutex RTNotifyMutex;
223    
224            class EventHandler : public ChannelCountListener, public AudioDeviceCountListener,
225                public MidiDeviceCountListener, public MidiInstrumentCountListener,
226                public MidiInstrumentInfoListener, public MidiInstrumentMapCountListener,
227                public MidiInstrumentMapInfoListener, public FxSendCountListener,
228                public VoiceCountListener, public StreamCountListener,
229                public BufferFillListener, public TotalVoiceCountListener {
230    
231                public:
232                    /**
233                     * Invoked when the number of sampler channels has changed.
234                     * @param NewCount The new number of sampler channels.
235                     */
236                    virtual void ChannelCountChanged(int NewCount);
237            
238                    /**
239                     * Invoked when the number of audio output devices has changed.
240                     * @param NewCount The new number of audio output devices.
241                     */
242                    virtual void AudioDeviceCountChanged(int NewCount);
243    
244                    /**
245                     * Invoked when the number of MIDI input devices has changed.
246                     * @param NewCount The new number of MIDI input devices.
247                     */
248                    virtual void MidiDeviceCountChanged(int NewCount);
249    
250                    /**
251                     * Invoked when the number of MIDI instruments has changed.
252                     * @param MapId The numerical ID of the MIDI instrument map.
253                     * @param NewCount The new number of MIDI instruments.
254                     */
255                    virtual void MidiInstrumentCountChanged(int MapId, int NewCount);
256    
257                    /**
258                     * Invoked when a MIDI instrument in a MIDI instrument map is changed.
259                     * @param MapId The numerical ID of the MIDI instrument map.
260                     * @param Bank The index of the MIDI bank, containing the instrument.
261                     * @param Program The MIDI program number of the instrument.
262                     */
263                    virtual void MidiInstrumentInfoChanged(int MapId, int Bank, int Program);
264        
265                    /**
266                     * Invoked when the number of MIDI instrument maps has changed.
267                     * @param NewCount The new number of MIDI instruments.
268                     */
269                    virtual void MidiInstrumentMapCountChanged(int NewCount);
270    
271                    /**
272                     * Invoked when the settings of a MIDI instrument map are changed.
273                     * @param MapId The numerical ID of the MIDI instrument map.
274                     */
275                    virtual void MidiInstrumentMapInfoChanged(int MapId);
276          
277                    /**
278                     * Invoked when the number of effect sends
279                     * on the specified sampler channel has changed.
280                     * @param ChannelId The numerical ID of the sampler channel.
281                     * @param NewCount The new number of effect sends.
282                     */
283                    virtual void FxSendCountChanged(int ChannelId, int NewCount);
284    
285                    /**
286                     * Invoked when the number of active voices
287                     * on the specified sampler channel has changed.
288                     * @param ChannelId The numerical ID of the sampler channel.
289                     * @param NewCount The new number of active voices.
290                     */
291                    virtual void VoiceCountChanged(int ChannelId, int NewCount);
292    
293                    /**
294                     * Invoked when the number of active disk streams
295                     * on the specified sampler channel has changed.
296                     * @param ChannelId The numerical ID of the sampler channel.
297                     * @param NewCount The new number of active disk streams.
298                     */
299                    virtual void StreamCountChanged(int ChannelId, int NewCount);
300    
301                    /**
302                     * Invoked when the fill state of the disk stream
303                     * buffers on the specified sampler channel is changed.
304                     * @param ChannelId The numerical ID of the sampler channel.
305                     * @param FillData The buffer fill data for the specified sampler channel.
306                     */
307                    virtual void BufferFillChanged(int ChannelId, String FillData);
308    
309                    /**
310                     * Invoked when the total number of active voices is changed.
311                     * @param NewCount The new number of active voices.
312                     */
313                    virtual void TotalVoiceCountChanged(int NewCount);
314            } eventHandler;
315  };  };
316    
317  #endif // __LSCPSERVER_H_  #endif // __LSCPSERVER_H_

Legend:
Removed from v.1005  
changed lines
  Added in v.1135

  ViewVC Help
Powered by ViewVC