/[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 947 by schoenebeck, Mon Nov 27 21:34:55 2006 UTC revision 1133 by iliev, Mon Mar 26 08:27:06 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 MidiBankMSB, uint MidiBankLSB, 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 MidiBankMSB, uint MidiBankLSB, uint MidiProg);          String RemoveMIDIInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg);
133          String GetMidiIstrumentMappings();          String GetMidiInstrumentMappings(uint MidiMapID);
134          String GetMidiInstrumentMapping(uint MidiBankMSB, uint MidiBankLSB, uint MidiProg);          String GetAllMidiInstrumentMappings();
135          String ListMidiInstrumentMappings();          String GetMidiInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg);
136          String ClearMidiInstrumentMappings();          String ListMidiInstrumentMappings(uint MidiMapID);
137            String ListAllMidiInstrumentMappings();
138            String ClearMidiInstrumentMappings(uint MidiMapID);
139            String ClearAllMidiInstrumentMappings();
140            String AddMidiInstrumentMap(String MapName = "");
141            String RemoveMidiInstrumentMap(uint MidiMapID);
142            String RemoveAllMidiInstrumentMaps();
143            String GetMidiInstrumentMaps();
144            String ListMidiInstrumentMaps();
145            String GetMidiInstrumentMap(uint MidiMapID);
146            String SetMidiInstrumentMapName(uint MidiMapID, String NewName);
147            String SetChannelMap(uint uiSamplerChannel, int MidiMapID);
148            String CreateFxSend(uint uiSamplerChannel, uint MidiCtrl, String Name = "");
149            String DestroyFxSend(uint uiSamplerChannel, uint FxSendID);
150            String GetFxSends(uint uiSamplerChannel);
151            String ListFxSends(uint uiSamplerChannel);
152            String GetFxSendInfo(uint uiSamplerChannel, uint FxSendID);
153            String SetFxSendAudioOutputChannel(uint uiSamplerChannel, uint FxSendID, uint FxSendChannel, uint DeviceChannel);
154            String SetFxSendMidiController(uint uiSamplerChannel, uint FxSendID, uint MidiController);
155            String SetFxSendLevel(uint uiSamplerChannel, uint FxSendID, double dLevel);
156          String ResetChannel(uint uiSamplerChannel);          String ResetChannel(uint uiSamplerChannel);
157          String ResetSampler();          String ResetSampler();
158          String GetServerInfo();          String GetServerInfo();
159          String GetTotalVoiceCount();          String GetTotalVoiceCount();
160          String GetTotalVoiceCountMax();          String GetTotalVoiceCountMax();
161            String GetGlobalVolume();
162            String SetGlobalVolume(double dVolume);
163          String SubscribeNotification(LSCPEvent::event_t);          String SubscribeNotification(LSCPEvent::event_t);
164          String UnsubscribeNotification(LSCPEvent::event_t);          String UnsubscribeNotification(LSCPEvent::event_t);
165          String QueryDatabase(String query);          String QueryDatabase(String query);
# Line 191  class LSCPServer : public Thread { Line 212  class LSCPServer : public Thread {
212          //like voice count, stream count and buffer fill          //like voice count, stream count and buffer fill
213          //from LSCP server removing engines and channels from underneath          //from LSCP server removing engines and channels from underneath
214          static Mutex RTNotifyMutex;          static Mutex RTNotifyMutex;
215    
216            class EventHandler : public ChannelCountListener, public AudioDeviceCountListener,
217                public MidiDeviceCountListener, public MidiInstrumentCountListener,
218                public MidiInstrumentInfoListener, public MidiInstrumentMapCountListener,
219                public MidiInstrumentMapInfoListener, public FxSendCountListener,
220                public VoiceCountListener, public StreamCountListener,
221                public BufferFillListener, public TotalVoiceCountListener {
222    
223                public:
224                    /**
225                     * Invoked when the number of sampler channels has changed.
226                     * @param NewCount The new number of sampler channels.
227                     */
228                    virtual void ChannelCountChanged(int NewCount);
229            
230                    /**
231                     * Invoked when the number of audio output devices has changed.
232                     * @param NewCount The new number of audio output devices.
233                     */
234                    virtual void AudioDeviceCountChanged(int NewCount);
235    
236                    /**
237                     * Invoked when the number of MIDI input devices has changed.
238                     * @param NewCount The new number of MIDI input devices.
239                     */
240                    virtual void MidiDeviceCountChanged(int NewCount);
241    
242                    /**
243                     * Invoked when the number of MIDI instruments has changed.
244                     * @param MapId The numerical ID of the MIDI instrument map.
245                     * @param NewCount The new number of MIDI instruments.
246                     */
247                    virtual void MidiInstrumentCountChanged(int MapId, int NewCount);
248    
249                    /**
250                     * Invoked when a MIDI instrument in a MIDI instrument map is changed.
251                     * @param MapId The numerical ID of the MIDI instrument map.
252                     * @param Bank The index of the MIDI bank, containing the instrument.
253                     * @param Program The MIDI program number of the instrument.
254                     */
255                    virtual void MidiInstrumentInfoChanged(int MapId, int Bank, int Program);
256        
257                    /**
258                     * Invoked when the number of MIDI instrument maps has changed.
259                     * @param NewCount The new number of MIDI instruments.
260                     */
261                    virtual void MidiInstrumentMapCountChanged(int NewCount);
262    
263                    /**
264                     * Invoked when the settings of a MIDI instrument map are changed.
265                     * @param MapId The numerical ID of the MIDI instrument map.
266                     */
267                    virtual void MidiInstrumentMapInfoChanged(int MapId);
268          
269                    /**
270                     * Invoked when the number of effect sends
271                     * on the specified sampler channel has changed.
272                     * @param ChannelId The numerical ID of the sampler channel.
273                     * @param NewCount The new number of effect sends.
274                     */
275                    virtual void FxSendCountChanged(int ChannelId, int NewCount);
276    
277                    /**
278                     * Invoked when the number of active voices
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 active voices.
282                     */
283                    virtual void VoiceCountChanged(int ChannelId, int NewCount);
284    
285                    /**
286                     * Invoked when the number of active disk streams
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 disk streams.
290                     */
291                    virtual void StreamCountChanged(int ChannelId, int NewCount);
292    
293                    /**
294                     * Invoked when the fill state of the disk stream
295                     * buffers on the specified sampler channel is changed.
296                     * @param ChannelId The numerical ID of the sampler channel.
297                     * @param FillData The buffer fill data for the specified sampler channel.
298                     */
299                    virtual void BufferFillChanged(int ChannelId, String FillData);
300    
301                    /**
302                     * Invoked when the total number of active voices is changed.
303                     * @param NewCount The new number of active voices.
304                     */
305                    virtual void TotalVoiceCountChanged(int NewCount);
306            } eventHandler;
307  };  };
308    
309  #endif // __LSCPSERVER_H_  #endif // __LSCPSERVER_H_

Legend:
Removed from v.947  
changed lines
  Added in v.1133

  ViewVC Help
Powered by ViewVC