liblscp 1.0.0

client.h
Go to the documentation of this file.
1// client.h
2//
3/****************************************************************************
4 liblscp - LinuxSampler Control Protocol API
5 Copyright (C) 2004-2021, rncbc aka Rui Nuno Capela. All rights reserved.
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU General Public License along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
21*****************************************************************************/
22
23#ifndef __LSCP_CLIENT_H
24#define __LSCP_CLIENT_H
25
26#include "lscp/socket.h"
27#include "lscp/event.h"
28#include <stdbool.h>
29
30#if defined(__cplusplus)
31 extern "C" {
32#endif
33
34//-------------------------------------------------------------------------
35// MIDI channel omni mode.
36
37#define LSCP_MIDI_CHANNEL_ALL 16
38
39
40//-------------------------------------------------------------------------
41// Client data structures.
42
44 typedef struct _lscp_server_info_t
45{
46 char * description;
47 char * version;
48 char * protocol_version;
49
50} lscp_server_info_t;
51
52
54 typedef struct _lscp_engine_info_t
55{
56 char * description;
57 char * version;
58
59} lscp_engine_info_t;
60
61
63 typedef struct _lscp_channel_info_t
64{
65 char * engine_name;
66 int audio_device;
67 int audio_channels;
68 int * audio_routing;
69 char * instrument_file;
70 int instrument_nr;
71 char * instrument_name;
72 int instrument_status;
73 int midi_device;
74 int midi_port;
75 int midi_channel;
76 int midi_map;
77 float volume;
78 int mute;
79 int solo;
80
81} lscp_channel_info_t;
82
83
85 typedef struct _lscp_buffer_fill_t
86{
87 unsigned int stream_id;
88 unsigned long stream_usage;
89
90} lscp_buffer_fill_t;
91
92
94 typedef enum _lscp_usage_t
95{
96 LSCP_USAGE_BYTES = 0,
97 LSCP_USAGE_PERCENTAGE
98
99} lscp_usage_t;
100
101
103 typedef struct _lscp_fxsend_info_t
104{
105 char * name;
106 int midi_controller;
107 int * audio_routing;
108 float level;
109
110} lscp_fxsend_info_t;
111
112
114 typedef struct _lscp_midi_instrument_t
115{
116 int map;
117 int bank;
118 int prog;
119
120} lscp_midi_instrument_t;
121
122
124 typedef enum _lscp_load_mode_t
125{
126 LSCP_LOAD_DEFAULT = 0,
127 LSCP_LOAD_ON_DEMAND,
128 LSCP_LOAD_ON_DEMAND_HOLD,
129 LSCP_LOAD_PERSISTENT
130
131} lscp_load_mode_t;
132
133
135 typedef struct _lscp_midi_instrument_info_t
136{
137 char * name;
138 char * engine_name;
139 char * instrument_file;
140 int instrument_nr;
141 char * instrument_name;
142 lscp_load_mode_t load_mode;
143 float volume;
144
145} lscp_midi_instrument_info_t;
146
147
149 typedef enum _lscp_midi_map_mode_t
150{
151 LSCP_MIDI_MAP_NONE = -1,
152 LSCP_MIDI_MAP_DEFAULT = -2,
153 LSCP_MIDI_MAP_ALL = -3
154
155} lscp_midi_map_mode_t;
156
157
158//-------------------------------------------------------------------------
159// Client socket main structure.
160
162 typedef struct _lscp_client_t lscp_client_t;
163
165 typedef lscp_status_t (*lscp_client_proc_t)
166(
167 struct _lscp_client_t *pClient,
168 lscp_event_t event,
169 const char *pchData,
170 int cchData,
171 void *pvData
172);
173
174//-------------------------------------------------------------------------
175// Client versioning teller function.
176
177 const char * lscp_client_package (void);
178 const char * lscp_client_version (void);
179 const char * lscp_client_build (void);
180
181//-------------------------------------------------------------------------
182// Client socket functions.
183
184 lscp_client_t * lscp_client_create (const char *pszHost, int iPort, lscp_client_proc_t pfnCallback, void *pvData);
185 lscp_status_t lscp_client_join (lscp_client_t *pClient);
186 lscp_status_t lscp_client_destroy (lscp_client_t *pClient);
187
188 lscp_status_t lscp_client_set_timeout (lscp_client_t *pClient, int iTimeout);
189 int lscp_client_get_timeout (lscp_client_t *pClient);
190 bool lscp_client_connection_lost (lscp_client_t *pClient);
191
192//-------------------------------------------------------------------------
193// Client common protocol functions.
194
195 lscp_status_t lscp_client_query (lscp_client_t *pClient, const char *pszQuery);
196 const char * lscp_client_get_result (lscp_client_t *pClient );
197 int lscp_client_get_errno (lscp_client_t *pClient );
198
199//-------------------------------------------------------------------------
200// Client registration protocol functions.
201
202 lscp_status_t lscp_client_subscribe (lscp_client_t *pClient, lscp_event_t events);
203 lscp_status_t lscp_client_unsubscribe (lscp_client_t *pClient, lscp_event_t events);
204
205 lscp_event_t lscp_client_get_events (lscp_client_t *pClient);
206
207//-------------------------------------------------------------------------
208// Client command protocol functions.
209
210 lscp_status_t lscp_load_instrument (lscp_client_t *pClient, const char *pszFileName, int iInstrIndex, int iSamplerChannel);
211 lscp_status_t lscp_load_instrument_non_modal (lscp_client_t *pClient, const char *pszFileName, int iInstrIndex, int iSamplerChannel);
212 lscp_status_t lscp_load_engine (lscp_client_t *pClient, const char *pszEngineName, int iSamplerChannel);
213 int lscp_get_channels (lscp_client_t *pClient);
214 int * lscp_list_channels (lscp_client_t *pClient);
215 int lscp_add_channel (lscp_client_t *pClient);
216 lscp_status_t lscp_remove_channel (lscp_client_t *pClient, int iSamplerChannel);
217
218 int lscp_get_available_engines (lscp_client_t *pClient);
219 const char ** lscp_list_available_engines (lscp_client_t *pClient);
220
221 lscp_engine_info_t * lscp_get_engine_info (lscp_client_t *pClient, const char *pszEngineName);
222 lscp_channel_info_t * lscp_get_channel_info (lscp_client_t *pClient, int iSamplerChannel);
223
224 int lscp_get_channel_voice_count (lscp_client_t *pClient, int iSamplerChannel);
225 int lscp_get_channel_stream_count (lscp_client_t *pClient, int iSamplerChannel);
226 int lscp_get_channel_stream_usage (lscp_client_t *pClient, int iSamplerChannel);
227
228 lscp_buffer_fill_t * lscp_get_channel_buffer_fill (lscp_client_t *pClient, lscp_usage_t iUsageType, int iSamplerChannel);
229
230 lscp_status_t lscp_set_channel_audio_type (lscp_client_t *pClient, int iSamplerChannel, const char *pszAudioType);
231 lscp_status_t lscp_set_channel_audio_device (lscp_client_t *pClient, int iSamplerChannel, int iAudioDevice);
232 lscp_status_t lscp_set_channel_audio_channel (lscp_client_t *pClient, int iSamplerChannel, int iAudioOut, int iAudioIn);
233
234 lscp_status_t lscp_set_channel_midi_type (lscp_client_t *pClient, int iSamplerChannel, const char *pszMidiType);
235 lscp_status_t lscp_set_channel_midi_device (lscp_client_t *pClient, int iSamplerChannel, int iMidiDevice);
236 lscp_status_t lscp_set_channel_midi_port (lscp_client_t *pClient, int iSamplerChannel, int iMidiPort);
237 lscp_status_t lscp_set_channel_midi_channel (lscp_client_t *pClient, int iSamplerChannel, int iMidiChannel);
238 lscp_status_t lscp_set_channel_midi_map (lscp_client_t *pClient, int iSamplerChannel, int iMidiMap);
239
240 lscp_status_t lscp_set_channel_volume (lscp_client_t *pClient, int iSamplerChannel, float fVolume);
241
242 lscp_status_t lscp_set_channel_mute (lscp_client_t *pClient, int iSamplerChannel, int iMute);
243 lscp_status_t lscp_set_channel_solo (lscp_client_t *pClient, int iSamplerChannel, int iSolo);
244
245 lscp_status_t lscp_reset_channel (lscp_client_t *pClient, int iSamplerChannel);
246
247 lscp_status_t lscp_reset_sampler (lscp_client_t *pClient);
248
249 lscp_server_info_t * lscp_get_server_info (lscp_client_t *pClient);
250
251 int lscp_get_total_voice_count (lscp_client_t *pClient);
252 int lscp_get_total_voice_count_max (lscp_client_t *pClient);
253
254 float lscp_get_volume (lscp_client_t *pClient);
255 lscp_status_t lscp_set_volume (lscp_client_t *pClient, float fVolume);
256
257 int lscp_get_voices (lscp_client_t *pClient);
258 lscp_status_t lscp_set_voices (lscp_client_t *pClient, int iMaxVoices);
259
260 int lscp_get_streams (lscp_client_t *pClient);
261 lscp_status_t lscp_set_streams (lscp_client_t *pClient, int iMaxStreams);
262
263//-------------------------------------------------------------------------
264// Effect sends control functions.
265
266 int lscp_create_fxsend (lscp_client_t *pClient, int iSamplerChannel, int iMidiController, const char *pszFxName);
267 lscp_status_t lscp_destroy_fxsend (lscp_client_t *pClient, int iSamplerChannel, int iFxSend);
268
269 int lscp_get_fxsends (lscp_client_t *pClient, int iSamplerChannel);
270 int * lscp_list_fxsends (lscp_client_t *pClient, int iSamplerChannel);
271
272 lscp_fxsend_info_t * lscp_get_fxsend_info (lscp_client_t *pClient, int iSamplerChannel, int iFxSend);
273
274 lscp_status_t lscp_set_fxsend_name (lscp_client_t *pClient, int iSamplerChannel, int iFxSend, const char *pszFxName);
275 lscp_status_t lscp_set_fxsend_audio_channel (lscp_client_t *pClient, int iSamplerChannel, int iFxSend, int iAudioSrc, int iAudioDst);
276 lscp_status_t lscp_set_fxsend_midi_controller (lscp_client_t *pClient, int iSamplerChannel, int iFxSend, int iMidiController);
277 lscp_status_t lscp_set_fxsend_level (lscp_client_t *pClient, int iSamplerChannel, int iFxSend, float fLevel);
278
279//-------------------------------------------------------------------------
280// MIDI instrument mapping control functions.
281
282 int lscp_add_midi_instrument_map (lscp_client_t *pClient, const char *pszMapName);
283 lscp_status_t lscp_remove_midi_instrument_map (lscp_client_t *pClient, int iMidiMap);
284
285 int lscp_get_midi_instrument_maps (lscp_client_t *pClient);
286 int * lscp_list_midi_instrument_maps (lscp_client_t *pClient);
287
288 const char * lscp_get_midi_instrument_map_name (lscp_client_t *pClient, int iMidiMap);
289 lscp_status_t lscp_set_midi_instrument_map_name (lscp_client_t *pClient, int iMidiMap, const char *pszMapName);
290
291 lscp_status_t lscp_map_midi_instrument (lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr, const char *pszEngineName, const char *pszFileName, int iInstrIndex, float fVolume, lscp_load_mode_t load_mode, const char *pszName);
292 lscp_status_t lscp_unmap_midi_instrument (lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr);
293
294 int lscp_get_midi_instruments (lscp_client_t *pClient, int iMidiMap);
295 lscp_midi_instrument_t *lscp_list_midi_instruments (lscp_client_t *pClient, int iMidiMap);
296
297 lscp_midi_instrument_info_t *lscp_get_midi_instrument_info(lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr);
298
299 lscp_status_t lscp_clear_midi_instruments (lscp_client_t *pClient, int iMidiMap);
300
301//-------------------------------------------------------------------------
302// Instrument editor functions.
303
304 lscp_status_t lscp_edit_channel_instrument (lscp_client_t *pClient, int iSamplerChannel);
305
306#if defined(__cplusplus)
307}
308#endif
309
310#endif // __LSCP_CLIENT_H
311
312// end of client.h
lscp_client_subscribe
lscp_status_t lscp_client_subscribe(lscp_client_t *pClient, lscp_event_t events)
Definition: client.c:767
lscp_set_channel_midi_device
lscp_status_t lscp_set_channel_midi_device(lscp_client_t *pClient, int iSamplerChannel, int iMidiDevice)
Definition: client.c:1708
lscp_get_channel_buffer_fill
lscp_buffer_fill_t * lscp_get_channel_buffer_fill(lscp_client_t *pClient, lscp_usage_t iUsageType, int iSamplerChannel)
Definition: client.c:1537
lscp_list_midi_instrument_maps
int * lscp_list_midi_instrument_maps(lscp_client_t *pClient)
Definition: client.c:2662
lscp_fxsend_info_t
struct _lscp_fxsend_info_t lscp_fxsend_info_t
lscp_client_query
lscp_status_t lscp_client_query(lscp_client_t *pClient, const char *pszQuery)
Definition: client.c:682
lscp_client_create
lscp_client_t * lscp_client_create(const char *pszHost, int iPort, lscp_client_proc_t pfnCallback, void *pvData)
Definition: client.c:304
lscp_usage_t
enum _lscp_usage_t lscp_usage_t
lscp_client_version
const char * lscp_client_version(void)
Definition: client.c:281
lscp_list_midi_instruments
lscp_midi_instrument_t * lscp_list_midi_instruments(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2916
lscp_client_build
const char * lscp_client_build(void)
Definition: client.c:284
lscp_client_join
lscp_status_t lscp_client_join(lscp_client_t *pClient)
Definition: client.c:518
lscp_get_server_info
lscp_server_info_t * lscp_get_server_info(lscp_client_t *pClient)
Definition: client.c:1937
_lscp_midi_map_mode_t
_lscp_midi_map_mode_t
Definition: client.h:150
LSCP_MIDI_MAP_ALL
@ LSCP_MIDI_MAP_ALL
Definition: client.h:153
LSCP_MIDI_MAP_NONE
@ LSCP_MIDI_MAP_NONE
Definition: client.h:151
LSCP_MIDI_MAP_DEFAULT
@ LSCP_MIDI_MAP_DEFAULT
Definition: client.h:152
lscp_load_instrument_non_modal
lscp_status_t lscp_load_instrument_non_modal(lscp_client_t *pClient, const char *pszFileName, int iInstrIndex, int iSamplerChannel)
Definition: client.c:985
lscp_remove_channel
lscp_status_t lscp_remove_channel(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1123
lscp_engine_info_t
struct _lscp_engine_info_t lscp_engine_info_t
lscp_get_volume
float lscp_get_volume(lscp_client_t *pClient)
Definition: client.c:2053
lscp_midi_instrument_info_t
struct _lscp_midi_instrument_info_t lscp_midi_instrument_info_t
_lscp_usage_t
_lscp_usage_t
Definition: client.h:95
LSCP_USAGE_PERCENTAGE
@ LSCP_USAGE_PERCENTAGE
Definition: client.h:97
LSCP_USAGE_BYTES
@ LSCP_USAGE_BYTES
Definition: client.h:96
lscp_get_channel_stream_usage
int lscp_get_channel_stream_usage(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1476
lscp_load_instrument
lscp_status_t lscp_load_instrument(lscp_client_t *pClient, const char *pszFileName, int iInstrIndex, int iSamplerChannel)
Definition: client.c:960
lscp_set_channel_mute
lscp_status_t lscp_set_channel_mute(lscp_client_t *pClient, int iSamplerChannel, int iMute)
Definition: client.c:1852
lscp_client_get_events
lscp_event_t lscp_client_get_events(lscp_client_t *pClient)
Definition: client.c:937
lscp_add_midi_instrument_map
int lscp_add_midi_instrument_map(lscp_client_t *pClient, const char *pszMapName)
Definition: client.c:2574
lscp_get_fxsend_info
lscp_fxsend_info_t * lscp_get_fxsend_info(lscp_client_t *pClient, int iSamplerChannel, int iFxSend)
Definition: client.c:2387
lscp_midi_map_mode_t
enum _lscp_midi_map_mode_t lscp_midi_map_mode_t
lscp_get_voices
int lscp_get_voices(lscp_client_t *pClient)
Definition: client.c:2119
lscp_get_channel_info
lscp_channel_info_t * lscp_get_channel_info(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1267
lscp_reset_sampler
lscp_status_t lscp_reset_sampler(lscp_client_t *pClient)
Definition: client.c:1921
lscp_set_channel_midi_type
lscp_status_t lscp_set_channel_midi_type(lscp_client_t *pClient, int iSamplerChannel, const char *pszMidiType)
Definition: client.c:1684
lscp_get_channels
int lscp_get_channels(lscp_client_t *pClient)
Definition: client.c:1031
lscp_get_total_voice_count_max
int lscp_get_total_voice_count_max(lscp_client_t *pClient)
Definition: client.c:2024
lscp_set_streams
lscp_status_t lscp_set_streams(lscp_client_t *pClient, int iMaxStreams)
Definition: client.c:2221
lscp_set_fxsend_audio_channel
lscp_status_t lscp_set_fxsend_audio_channel(lscp_client_t *pClient, int iSamplerChannel, int iFxSend, int iAudioSrc, int iAudioDst)
Definition: client.c:2494
lscp_get_midi_instrument_maps
int lscp_get_midi_instrument_maps(lscp_client_t *pClient)
Definition: client.c:2633
lscp_client_set_timeout
lscp_status_t lscp_client_set_timeout(lscp_client_t *pClient, int iTimeout)
Definition: client.c:624
lscp_set_channel_midi_map
lscp_status_t lscp_set_channel_midi_map(lscp_client_t *pClient, int iSamplerChannel, int iMidiMap)
Definition: client.c:1787
lscp_set_fxsend_midi_controller
lscp_status_t lscp_set_fxsend_midi_controller(lscp_client_t *pClient, int iSamplerChannel, int iFxSend, int iMidiController)
Definition: client.c:2520
lscp_edit_channel_instrument
lscp_status_t lscp_edit_channel_instrument(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:3093
lscp_client_t
struct _lscp_client_t lscp_client_t
Definition: client.h:162
lscp_get_total_voice_count
int lscp_get_total_voice_count(lscp_client_t *pClient)
Definition: client.c:1995
lscp_get_streams
int lscp_get_streams(lscp_client_t *pClient)
Definition: client.c:2183
lscp_add_channel
int lscp_add_channel(lscp_client_t *pClient)
Definition: client.c:1094
lscp_client_get_errno
int lscp_client_get_errno(lscp_client_t *pClient)
Definition: client.c:727
lscp_list_available_engines
const char ** lscp_list_available_engines(lscp_client_t *pClient)
Definition: client.c:1173
lscp_client_connection_lost
bool lscp_client_connection_lost(lscp_client_t *pClient)
Definition: client.c:658
lscp_set_midi_instrument_map_name
lscp_status_t lscp_set_midi_instrument_map_name(lscp_client_t *pClient, int iMidiMap, const char *pszMapName)
Definition: client.c:2749
lscp_get_midi_instruments
int lscp_get_midi_instruments(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2876
lscp_client_get_timeout
int lscp_client_get_timeout(lscp_client_t *pClient)
Definition: client.c:643
lscp_buffer_fill_t
struct _lscp_buffer_fill_t lscp_buffer_fill_t
lscp_clear_midi_instruments
lscp_status_t lscp_clear_midi_instruments(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:3066
lscp_get_channel_voice_count
int lscp_get_channel_voice_count(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1410
lscp_set_channel_volume
lscp_status_t lscp_set_channel_volume(lscp_client_t *pClient, int iSamplerChannel, float fVolume)
Definition: client.c:1822
lscp_load_mode_t
enum _lscp_load_mode_t lscp_load_mode_t
lscp_list_fxsends
int * lscp_list_fxsends(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:2348
lscp_set_volume
lscp_status_t lscp_set_volume(lscp_client_t *pClient, float fVolume)
Definition: client.c:2089
lscp_map_midi_instrument
lscp_status_t lscp_map_midi_instrument(lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr, const char *pszEngineName, const char *pszFileName, int iInstrIndex, float fVolume, lscp_load_mode_t load_mode, const char *pszName)
Definition: client.c:2788
lscp_client_get_result
const char * lscp_client_get_result(lscp_client_t *pClient)
Definition: client.c:710
lscp_get_channel_stream_count
int lscp_get_channel_stream_count(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1443
lscp_set_channel_midi_channel
lscp_status_t lscp_set_channel_midi_channel(lscp_client_t *pClient, int iSamplerChannel, int iMidiChannel)
Definition: client.c:1757
lscp_set_channel_audio_device
lscp_status_t lscp_set_channel_audio_device(lscp_client_t *pClient, int iSamplerChannel, int iAudioDevice)
Definition: client.c:1635
lscp_get_midi_instrument_info
lscp_midi_instrument_info_t * lscp_get_midi_instrument_info(lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr)
Definition: client.c:2962
lscp_set_channel_solo
lscp_status_t lscp_set_channel_solo(lscp_client_t *pClient, int iSamplerChannel, int iSolo)
Definition: client.c:1878
lscp_channel_info_t
struct _lscp_channel_info_t lscp_channel_info_t
lscp_set_channel_audio_type
lscp_status_t lscp_set_channel_audio_type(lscp_client_t *pClient, int iSamplerChannel, const char *pszAudioType)
Definition: client.c:1611
lscp_client_package
const char * lscp_client_package(void)
Definition: client.c:278
lscp_get_midi_instrument_map_name
const char * lscp_get_midi_instrument_map_name(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2696
lscp_load_engine
lscp_status_t lscp_load_engine(lscp_client_t *pClient, const char *pszEngineName, int iSamplerChannel)
Definition: client.c:1009
lscp_destroy_fxsend
lscp_status_t lscp_destroy_fxsend(lscp_client_t *pClient, int iSamplerChannel, int iFxSend)
Definition: client.c:2288
_lscp_load_mode_t
_lscp_load_mode_t
Definition: client.h:125
LSCP_LOAD_ON_DEMAND_HOLD
@ LSCP_LOAD_ON_DEMAND_HOLD
Definition: client.h:128
LSCP_LOAD_DEFAULT
@ LSCP_LOAD_DEFAULT
Definition: client.h:126
LSCP_LOAD_ON_DEMAND
@ LSCP_LOAD_ON_DEMAND
Definition: client.h:127
LSCP_LOAD_PERSISTENT
@ LSCP_LOAD_PERSISTENT
Definition: client.h:129
lscp_set_channel_midi_port
lscp_status_t lscp_set_channel_midi_port(lscp_client_t *pClient, int iSamplerChannel, int iMidiPort)
Definition: client.c:1732
lscp_reset_channel
lscp_status_t lscp_reset_channel(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1901
lscp_client_unsubscribe
lscp_status_t lscp_client_unsubscribe(lscp_client_t *pClient, lscp_event_t events)
Definition: client.c:863
lscp_set_fxsend_name
lscp_status_t lscp_set_fxsend_name(lscp_client_t *pClient, int iSamplerChannel, int iFxSend, const char *pszFxName)
Definition: client.c:2467
lscp_set_channel_audio_channel
lscp_status_t lscp_set_channel_audio_channel(lscp_client_t *pClient, int iSamplerChannel, int iAudioOut, int iAudioIn)
Definition: client.c:1660
lscp_midi_instrument_t
struct _lscp_midi_instrument_t lscp_midi_instrument_t
lscp_get_fxsends
int lscp_get_fxsends(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:2313
lscp_get_available_engines
int lscp_get_available_engines(lscp_client_t *pClient)
Definition: client.c:1144
lscp_unmap_midi_instrument
lscp_status_t lscp_unmap_midi_instrument(lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr)
Definition: client.c:2847
lscp_set_voices
lscp_status_t lscp_set_voices(lscp_client_t *pClient, int iMaxVoices)
Definition: client.c:2157
lscp_client_destroy
lscp_status_t lscp_client_destroy(lscp_client_t *pClient)
Definition: client.c:541
lscp_server_info_t
struct _lscp_server_info_t lscp_server_info_t
lscp_set_fxsend_level
lscp_status_t lscp_set_fxsend_level(lscp_client_t *pClient, int iSamplerChannel, int iFxSend, float fLevel)
Definition: client.c:2546
lscp_get_engine_info
lscp_engine_info_t * lscp_get_engine_info(lscp_client_t *pClient, const char *pszEngineName)
Definition: client.c:1208
lscp_remove_midi_instrument_map
lscp_status_t lscp_remove_midi_instrument_map(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2611
lscp_create_fxsend
int lscp_create_fxsend(lscp_client_t *pClient, int iSamplerChannel, int iMidiController, const char *pszFxName)
Definition: client.c:2246
lscp_list_channels
int * lscp_list_channels(lscp_client_t *pClient)
Definition: client.c:1060
lscp_client_proc_t
lscp_status_t(* lscp_client_proc_t)(struct _lscp_client_t *pClient, lscp_event_t event, const char *pchData, int cchData, void *pvData)
Definition: client.h:166
event.h
lscp_event_t
enum _lscp_event_t lscp_event_t
socket.h
_lscp_buffer_fill_t
Definition: client.h:86
_lscp_buffer_fill_t::stream_id
unsigned int stream_id
Definition: client.h:87
_lscp_buffer_fill_t::stream_usage
unsigned long stream_usage
Definition: client.h:88
_lscp_channel_info_t
Definition: client.h:64
_lscp_channel_info_t::midi_map
int midi_map
Definition: client.h:76
_lscp_channel_info_t::instrument_file
char * instrument_file
Definition: client.h:69
_lscp_channel_info_t::midi_device
int midi_device
Definition: client.h:73
_lscp_channel_info_t::solo
int solo
Definition: client.h:79
_lscp_channel_info_t::audio_routing
int * audio_routing
Definition: client.h:68
_lscp_channel_info_t::instrument_nr
int instrument_nr
Definition: client.h:70
_lscp_channel_info_t::midi_channel
int midi_channel
Definition: client.h:75
_lscp_channel_info_t::volume
float volume
Definition: client.h:77
_lscp_channel_info_t::midi_port
int midi_port
Definition: client.h:74
_lscp_channel_info_t::audio_device
int audio_device
Definition: client.h:66
_lscp_channel_info_t::instrument_status
int instrument_status
Definition: client.h:72
_lscp_channel_info_t::engine_name
char * engine_name
Definition: client.h:65
_lscp_channel_info_t::audio_channels
int audio_channels
Definition: client.h:67
_lscp_channel_info_t::mute
int mute
Definition: client.h:78
_lscp_channel_info_t::instrument_name
char * instrument_name
Definition: client.h:71
_lscp_engine_info_t
Definition: client.h:55
_lscp_engine_info_t::description
char * description
Definition: client.h:56
_lscp_engine_info_t::version
char * version
Definition: client.h:57
_lscp_fxsend_info_t
Definition: client.h:104
_lscp_fxsend_info_t::level
float level
Definition: client.h:108
_lscp_fxsend_info_t::midi_controller
int midi_controller
Definition: client.h:106
_lscp_fxsend_info_t::audio_routing
int * audio_routing
Definition: client.h:107
_lscp_fxsend_info_t::name
char * name
Definition: client.h:105
_lscp_midi_instrument_info_t
Definition: client.h:136
_lscp_midi_instrument_info_t::name
char * name
Definition: client.h:137
_lscp_midi_instrument_info_t::instrument_name
char * instrument_name
Definition: client.h:141
_lscp_midi_instrument_info_t::instrument_file
char * instrument_file
Definition: client.h:139
_lscp_midi_instrument_info_t::volume
float volume
Definition: client.h:143
_lscp_midi_instrument_info_t::engine_name
char * engine_name
Definition: client.h:138
_lscp_midi_instrument_info_t::instrument_nr
int instrument_nr
Definition: client.h:140
_lscp_midi_instrument_info_t::load_mode
lscp_load_mode_t load_mode
Definition: client.h:142
_lscp_midi_instrument_t
Definition: client.h:115
_lscp_midi_instrument_t::map
int map
Definition: client.h:116
_lscp_midi_instrument_t::bank
int bank
Definition: client.h:117
_lscp_midi_instrument_t::prog
int prog
Definition: client.h:118
_lscp_server_info_t
Definition: client.h:45
_lscp_server_info_t::description
char * description
Definition: client.h:46
_lscp_server_info_t::version
char * version
Definition: client.h:47
_lscp_server_info_t::protocol_version
char * protocol_version
Definition: client.h:48
lscp_status_t
enum _lscp_status_t lscp_status_t