--- linuxsampler/trunk/src/network/lscpserver.h 2005/07/20 21:43:23 705 +++ linuxsampler/trunk/src/network/lscpserver.h 2007/01/14 17:10:59 1026 @@ -3,7 +3,7 @@ * LinuxSampler - modular, streaming capable sampler * * * * Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * - * Copyright (C) 2005 Christian Schoenebeck * + * Copyright (C) 2005 - 2007 Christian Schoenebeck * * * * This library is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -40,12 +40,13 @@ #include "lscpparser.h" #include "lscp.h" #include "lscpevent.h" -#include "lscpinstrumentloader.h" #include "../Sampler.h" #include "../common/Thread.h" #include "../common/Mutex.h" #include "../common/Condition.h" +#include "../drivers/midi/MidiInstrumentMapper.h" + /// TCP Port on which the server should listen for connection requests. #define LSCP_ADDR INADDR_ANY #define LSCP_PORT 8888 @@ -127,9 +128,38 @@ String SetVolume(double dVolume, uint uiSamplerChannel); String SetChannelMute(bool bMute, uint uiSamplerChannel); String SetChannelSolo(bool bSolo, uint uiSamplerChannel); + String AddOrReplaceMIDIInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg, String EngineType, String InstrumentFile, uint InstrumentIndex, float Volume, MidiInstrumentMapper::mode_t LoadMode, String Name); + String RemoveMIDIInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg); + String GetMidiInstrumentMappings(uint MidiMapID); + String GetAllMidiInstrumentMappings(); + String GetMidiInstrumentMapping(uint MidiMapID, uint MidiBank, uint MidiProg); + String ListMidiInstrumentMappings(uint MidiMapID); + String ListAllMidiInstrumentMappings(); + String ClearMidiInstrumentMappings(uint MidiMapID); + String ClearAllMidiInstrumentMappings(); + String AddMidiInstrumentMap(String MapName = ""); + String RemoveMidiInstrumentMap(uint MidiMapID); + String RemoveAllMidiInstrumentMaps(); + String GetMidiInstrumentMaps(); + String ListMidiInstrumentMaps(); + String GetMidiInstrumentMap(uint MidiMapID); + String SetMidiInstrumentMapName(uint MidiMapID, String NewName); + String SetChannelMap(uint uiSamplerChannel, int MidiMapID); + String CreateFxSend(uint uiSamplerChannel, uint MidiCtrl, String Name = ""); + String DestroyFxSend(uint uiSamplerChannel, uint FxSendID); + String GetFxSends(uint uiSamplerChannel); + String ListFxSends(uint uiSamplerChannel); + String GetFxSendInfo(uint uiSamplerChannel, uint FxSendID); + String SetFxSendAudioOutputChannel(uint uiSamplerChannel, uint FxSendID, uint FxSendChannel, uint DeviceChannel); + String SetFxSendMidiController(uint uiSamplerChannel, uint FxSendID, uint MidiController); + String SetFxSendLevel(uint uiSamplerChannel, uint FxSendID, double dLevel); String ResetChannel(uint uiSamplerChannel); String ResetSampler(); String GetServerInfo(); + String GetTotalVoiceCount(); + String GetTotalVoiceCountMax(); + String GetGlobalVolume(); + String SetGlobalVolume(double dVolume); String SubscribeNotification(LSCPEvent::event_t); String UnsubscribeNotification(LSCPEvent::event_t); String QueryDatabase(String query); @@ -149,7 +179,6 @@ sockaddr_in SocketAddress; Sampler* pSampler; Condition Initialized; - LSCPInstrumentLoader InstrumentLoader; ///< thread responsible for loading instruments in the background int Main(); ///< Implementation of virtual method from class Thread