client.h
Go to the documentation of this file.
// client.h
//
/****************************************************************************
liblscp - LinuxSampler Control Protocol API
Copyright (C) 2004-2008, rncbc aka Rui Nuno Capela. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*****************************************************************************/
#ifndef __LSCP_CLIENT_H
#define __LSCP_CLIENT_H
#include "lscp/socket.h"
#include "lscp/event.h"
#if defined(__cplusplus)
extern "C" {
#endif
//-------------------------------------------------------------------------
// MIDI channel omni mode.
#define LSCP_MIDI_CHANNEL_ALL 16
//-------------------------------------------------------------------------
// Client data structures.
typedef struct _lscp_server_info_t
{
char * description;
char * version;
char * protocol_version;
} lscp_server_info_t;
typedef struct _lscp_engine_info_t
{
char * description;
char * version;
} lscp_engine_info_t;
typedef struct _lscp_channel_info_t
{
char * engine_name;
int audio_device;
int audio_channels;
int * audio_routing;
char * instrument_file;
int instrument_nr;
char * instrument_name;
int instrument_status;
int midi_device;
int midi_port;
int midi_channel;
int midi_map;
float volume;
int mute;
int solo;
} lscp_channel_info_t;
typedef struct _lscp_buffer_fill_t
{
unsigned int stream_id;
unsigned long stream_usage;
} lscp_buffer_fill_t;
typedef enum _lscp_usage_t
{
LSCP_USAGE_BYTES = 0,
LSCP_USAGE_PERCENTAGE
} lscp_usage_t;
typedef struct _lscp_fxsend_info_t
{
char * name;
int midi_controller;
int * audio_routing;
float level;
} lscp_fxsend_info_t;
typedef struct _lscp_midi_instrument_t
{
int map;
int bank;
int prog;
} lscp_midi_instrument_t;
typedef enum _lscp_load_mode_t
{
LSCP_LOAD_DEFAULT = 0,
LSCP_LOAD_ON_DEMAND,
LSCP_LOAD_ON_DEMAND_HOLD,
LSCP_LOAD_PERSISTENT
} lscp_load_mode_t;
typedef struct _lscp_midi_instrument_info_t
{
char * name;
char * engine_name;
char * instrument_file;
int instrument_nr;
char * instrument_name;
lscp_load_mode_t load_mode;
float volume;
} lscp_midi_instrument_info_t;
typedef enum _lscp_midi_map_mode_t
{
LSCP_MIDI_MAP_NONE = -1,
LSCP_MIDI_MAP_DEFAULT = -2,
LSCP_MIDI_MAP_ALL = -3
} lscp_midi_map_mode_t;
//-------------------------------------------------------------------------
// Client socket main structure.
typedef struct _lscp_client_t lscp_client_t;
typedef lscp_status_t (*lscp_client_proc_t)
(
struct _lscp_client_t *pClient,
lscp_event_t event,
const char *pchData,
int cchData,
void *pvData
);
//-------------------------------------------------------------------------
// Client versioning teller function.
const char * lscp_client_package (void);
const char * lscp_client_version (void);
const char * lscp_client_build (void);
//-------------------------------------------------------------------------
// Client socket functions.
lscp_client_t * lscp_client_create (const char *pszHost, int iPort, lscp_client_proc_t pfnCallback, void *pvData);
lscp_status_t lscp_client_join (lscp_client_t *pClient);
lscp_status_t lscp_client_destroy (lscp_client_t *pClient);
lscp_status_t lscp_client_set_timeout (lscp_client_t *pClient, int iTimeout);
int lscp_client_get_timeout (lscp_client_t *pClient);
//-------------------------------------------------------------------------
// Client common protocol functions.
lscp_status_t lscp_client_query (lscp_client_t *pClient, const char *pszQuery);
const char * lscp_client_get_result (lscp_client_t *pClient );
int lscp_client_get_errno (lscp_client_t *pClient );
//-------------------------------------------------------------------------
// Client registration protocol functions.
lscp_status_t lscp_client_subscribe (lscp_client_t *pClient, lscp_event_t events);
lscp_status_t lscp_client_unsubscribe (lscp_client_t *pClient, lscp_event_t events);
lscp_event_t lscp_client_get_events (lscp_client_t *pClient);
//-------------------------------------------------------------------------
// Client command protocol functions.
lscp_status_t lscp_load_instrument (lscp_client_t *pClient, const char *pszFileName, int iInstrIndex, int iSamplerChannel);
lscp_status_t lscp_load_instrument_non_modal (lscp_client_t *pClient, const char *pszFileName, int iInstrIndex, int iSamplerChannel);
lscp_status_t lscp_load_engine (lscp_client_t *pClient, const char *pszEngineName, int iSamplerChannel);
int lscp_get_channels (lscp_client_t *pClient);
int * lscp_list_channels (lscp_client_t *pClient);
int lscp_add_channel (lscp_client_t *pClient);
lscp_status_t lscp_remove_channel (lscp_client_t *pClient, int iSamplerChannel);
int lscp_get_available_engines (lscp_client_t *pClient);
const char ** lscp_list_available_engines (lscp_client_t *pClient);
lscp_engine_info_t * lscp_get_engine_info (lscp_client_t *pClient, const char *pszEngineName);
lscp_channel_info_t * lscp_get_channel_info (lscp_client_t *pClient, int iSamplerChannel);
int lscp_get_channel_voice_count (lscp_client_t *pClient, int iSamplerChannel);
int lscp_get_channel_stream_count (lscp_client_t *pClient, int iSamplerChannel);
int lscp_get_channel_stream_usage (lscp_client_t *pClient, int iSamplerChannel);
lscp_buffer_fill_t * lscp_get_channel_buffer_fill (lscp_client_t *pClient, lscp_usage_t iUsageType, int iSamplerChannel);
lscp_status_t lscp_set_channel_audio_type (lscp_client_t *pClient, int iSamplerChannel, const char *pszAudioType);
lscp_status_t lscp_set_channel_audio_device (lscp_client_t *pClient, int iSamplerChannel, int iAudioDevice);
lscp_status_t lscp_set_channel_audio_channel (lscp_client_t *pClient, int iSamplerChannel, int iAudioOut, int iAudioIn);
lscp_status_t lscp_set_channel_midi_type (lscp_client_t *pClient, int iSamplerChannel, const char *pszMidiType);
lscp_status_t lscp_set_channel_midi_device (lscp_client_t *pClient, int iSamplerChannel, int iMidiDevice);
lscp_status_t lscp_set_channel_midi_port (lscp_client_t *pClient, int iSamplerChannel, int iMidiPort);
lscp_status_t lscp_set_channel_midi_channel (lscp_client_t *pClient, int iSamplerChannel, int iMidiChannel);
lscp_status_t lscp_set_channel_midi_map (lscp_client_t *pClient, int iSamplerChannel, int iMidiMap);
lscp_status_t lscp_set_channel_volume (lscp_client_t *pClient, int iSamplerChannel, float fVolume);
lscp_status_t lscp_set_channel_mute (lscp_client_t *pClient, int iSamplerChannel, int iMute);
lscp_status_t lscp_set_channel_solo (lscp_client_t *pClient, int iSamplerChannel, int iSolo);
lscp_status_t lscp_reset_channel (lscp_client_t *pClient, int iSamplerChannel);
lscp_status_t lscp_reset_sampler (lscp_client_t *pClient);
lscp_server_info_t * lscp_get_server_info (lscp_client_t *pClient);
int lscp_get_total_voice_count (lscp_client_t *pClient);
int lscp_get_total_voice_count_max (lscp_client_t *pClient);
float lscp_get_volume (lscp_client_t *pClient);
lscp_status_t lscp_set_volume (lscp_client_t *pClient, float fVolume);
int lscp_get_voices (lscp_client_t *pClient);
lscp_status_t lscp_set_voices (lscp_client_t *pClient, int iMaxVoices);
int lscp_get_streams (lscp_client_t *pClient);
lscp_status_t lscp_set_streams (lscp_client_t *pClient, int iMaxStreams);
//-------------------------------------------------------------------------
// Effect sends control functions.
int lscp_create_fxsend (lscp_client_t *pClient, int iSamplerChannel, int iMidiController, const char *pszFxName);
lscp_status_t lscp_destroy_fxsend (lscp_client_t *pClient, int iSamplerChannel, int iFxSend);
int lscp_get_fxsends (lscp_client_t *pClient, int iSamplerChannel);
int * lscp_list_fxsends (lscp_client_t *pClient, int iSamplerChannel);
lscp_fxsend_info_t * lscp_get_fxsend_info (lscp_client_t *pClient, int iSamplerChannel, int iFxSend);
lscp_status_t lscp_set_fxsend_name (lscp_client_t *pClient, int iSamplerChannel, int iFxSend, const char *pszFxName);
lscp_status_t lscp_set_fxsend_audio_channel (lscp_client_t *pClient, int iSamplerChannel, int iFxSend, int iAudioSrc, int iAudioDst);
lscp_status_t lscp_set_fxsend_midi_controller (lscp_client_t *pClient, int iSamplerChannel, int iFxSend, int iMidiController);
lscp_status_t lscp_set_fxsend_level (lscp_client_t *pClient, int iSamplerChannel, int iFxSend, float fLevel);
//-------------------------------------------------------------------------
// MIDI instrument mapping control functions.
int lscp_add_midi_instrument_map (lscp_client_t *pClient, const char *pszMapName);
lscp_status_t lscp_remove_midi_instrument_map (lscp_client_t *pClient, int iMidiMap);
int lscp_get_midi_instrument_maps (lscp_client_t *pClient);
int * lscp_list_midi_instrument_maps (lscp_client_t *pClient);
const char * lscp_get_midi_instrument_map_name (lscp_client_t *pClient, int iMidiMap);
lscp_status_t lscp_set_midi_instrument_map_name (lscp_client_t *pClient, int iMidiMap, const char *pszMapName);
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);
lscp_status_t lscp_unmap_midi_instrument (lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr);
int lscp_get_midi_instruments (lscp_client_t *pClient, int iMidiMap);
lscp_midi_instrument_t *lscp_list_midi_instruments (lscp_client_t *pClient, int iMidiMap);
lscp_midi_instrument_info_t *lscp_get_midi_instrument_info(lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr);
lscp_status_t lscp_clear_midi_instruments (lscp_client_t *pClient, int iMidiMap);
//-------------------------------------------------------------------------
// Instrument editor functions.
lscp_status_t lscp_edit_channel_instrument (lscp_client_t *pClient, int iSamplerChannel);
#if defined(__cplusplus)
}
#endif
#endif // __LSCP_CLIENT_H
// end of client.h
_lscp_engine_info_t
Definition: client.h:53
lscp_midi_map_mode_t
enum _lscp_midi_map_mode_t lscp_midi_map_mode_t
lscp_set_channel_solo
lscp_status_t lscp_set_channel_solo(lscp_client_t *pClient, int iSamplerChannel, int iSolo)
Definition: client.c:1731
_lscp_client_t::iTimeout
int iTimeout
Definition: common.h:82
_lscp_midi_instrument_info_t::volume
float volume
Definition: client.h:142
_lscp_load_mode_t
_lscp_load_mode_t
Definition: client.h:123
lscp_get_engine_info
lscp_engine_info_t * lscp_get_engine_info(lscp_client_t *pClient, const char *pszEngineName)
Definition: client.c:1083
_lscp_midi_instrument_t
Definition: client.h:113
lscp_client_query
lscp_status_t lscp_client_query(lscp_client_t *pClient, const char *pszQuery)
Definition: client.c:562
lscp_set_channel_audio_device
lscp_status_t lscp_set_channel_audio_device(lscp_client_t *pClient, int iSamplerChannel, int iAudioDevice)
Definition: client.c:1506
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:2307
lscp_get_channel_voice_count
int lscp_get_channel_voice_count(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1284
lscp_set_streams
lscp_status_t lscp_set_streams(lscp_client_t *pClient, int iMaxStreams)
Definition: client.c:2068
LSCP_LOAD_ON_DEMAND_HOLD
Definition: client.h:127
LSCP_LOAD_PERSISTENT
Definition: client.h:128
lscp_set_channel_mute
lscp_status_t lscp_set_channel_mute(lscp_client_t *pClient, int iSamplerChannel, int iMute)
Definition: client.c:1707
lscp_set_channel_volume
lscp_status_t lscp_set_channel_volume(lscp_client_t *pClient, int iSamplerChannel, float fVolume)
Definition: client.c:1679
_lscp_midi_instrument_t::map
int map
Definition: client.h:115
_lscp_channel_info_t::audio_channels
int audio_channels
Definition: client.h:66
lscp_add_midi_instrument_map
int lscp_add_midi_instrument_map(lscp_client_t *pClient, const char *pszMapName)
Definition: client.c:2404
lscp_get_channel_stream_count
int lscp_get_channel_stream_count(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1317
lscp_set_voices
lscp_status_t lscp_set_voices(lscp_client_t *pClient, int iMaxVoices)
Definition: client.c:2006
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:2355
_lscp_midi_instrument_t::bank
int bank
Definition: client.h:116
lscp_client_package
const char * lscp_client_package(void)
Definition: client.c:256
_lscp_midi_instrument_info_t::name
char * name
Definition: client.h:136
lscp_unmap_midi_instrument
lscp_status_t lscp_unmap_midi_instrument(lscp_client_t *pClient, lscp_midi_instrument_t *pMidiInstr)
Definition: client.c:2674
_lscp_midi_instrument_t::prog
int prog
Definition: client.h:117
_lscp_server_info_t
Definition: client.h:43
lscp_get_channels
int lscp_get_channels(lscp_client_t *pClient)
Definition: client.c:906
_lscp_channel_info_t::instrument_status
int instrument_status
Definition: client.h:71
lscp_client_set_timeout
lscp_status_t lscp_client_set_timeout(lscp_client_t *pClient, int iTimeout)
Definition: client.c:518
_lscp_fxsend_info_t::name
char * name
Definition: client.h:104
_lscp_midi_instrument_info_t::engine_name
char * engine_name
Definition: client.h:137
LSCP_MIDI_MAP_NONE
Definition: client.h:150
LSCP_MIDI_MAP_DEFAULT
Definition: client.h:151
lscp_client_get_result
const char * lscp_client_get_result(lscp_client_t *pClient)
Definition: client.c:590
lscp_get_fxsend_info
lscp_fxsend_info_t * lscp_get_fxsend_info(lscp_client_t *pClient, int iSamplerChannel, int iFxSend)
Definition: client.c:2229
_lscp_midi_instrument_info_t::instrument_nr
int instrument_nr
Definition: client.h:139
lscp_get_midi_instruments
int lscp_get_midi_instruments(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2702
_lscp_midi_instrument_info_t::instrument_name
char * instrument_name
Definition: client.h:140
lscp_clear_midi_instruments
lscp_status_t lscp_clear_midi_instruments(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2890
_lscp_channel_info_t::instrument_nr
int instrument_nr
Definition: client.h:69
lscp_list_channels
int * lscp_list_channels(lscp_client_t *pClient)
Definition: client.c:935
lscp_fxsend_info_t
struct _lscp_fxsend_info_t lscp_fxsend_info_t
lscp_set_channel_midi_channel
lscp_status_t lscp_set_channel_midi_channel(lscp_client_t *pClient, int iSamplerChannel, int iMidiChannel)
Definition: client.c:1618
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:1484
_lscp_channel_info_t::volume
float volume
Definition: client.h:76
_lscp_buffer_fill_t::stream_id
unsigned int stream_id
Definition: client.h:86
lscp_get_total_voice_count_max
int lscp_get_total_voice_count_max(lscp_client_t *pClient)
Definition: client.c:1875
_lscp_channel_info_t::midi_port
int midi_port
Definition: client.h:73
lscp_load_instrument
lscp_status_t lscp_load_instrument(lscp_client_t *pClient, const char *pszFileName, int iInstrIndex, int iSamplerChannel)
Definition: client.c:840
lscp_status_t
enum _lscp_status_t lscp_status_t
lscp_reset_sampler
lscp_status_t lscp_reset_sampler(lscp_client_t *pClient)
Definition: client.c:1772
lscp_set_channel_midi_port
lscp_status_t lscp_set_channel_midi_port(lscp_client_t *pClient, int iSamplerChannel, int iMidiPort)
Definition: client.c:1595
LSCP_USAGE_PERCENTAGE
Definition: client.h:96
lscp_list_midi_instrument_maps
int * lscp_list_midi_instrument_maps(lscp_client_t *pClient)
Definition: client.c:2492
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:2579
lscp_add_channel
int lscp_add_channel(lscp_client_t *pClient)
Definition: client.c:969
lscp_engine_info_t
struct _lscp_engine_info_t lscp_engine_info_t
lscp_client_get_timeout
int lscp_client_get_timeout(lscp_client_t *pClient)
Definition: client.c:537
_lscp_buffer_fill_t::stream_usage
unsigned long stream_usage
Definition: client.h:87
lscp_client_destroy
lscp_status_t lscp_client_destroy(lscp_client_t *pClient)
Definition: client.c:435
lscp_destroy_fxsend
lscp_status_t lscp_destroy_fxsend(lscp_client_t *pClient, int iSamplerChannel, int iFxSend)
Definition: client.c:2132
lscp_set_fxsend_level
lscp_status_t lscp_set_fxsend_level(lscp_client_t *pClient, int iSamplerChannel, int iFxSend, float fLevel)
Definition: client.c:2378
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:1529
lscp_get_total_voice_count
int lscp_get_total_voice_count(lscp_client_t *pClient)
Definition: client.c:1846
lscp_buffer_fill_t
struct _lscp_buffer_fill_t lscp_buffer_fill_t
LSCP_LOAD_DEFAULT
Definition: client.h:125
lscp_get_available_engines
int lscp_get_available_engines(lscp_client_t *pClient)
Definition: client.c:1019
_lscp_channel_info_t::midi_map
int midi_map
Definition: client.h:75
lscp_set_volume
lscp_status_t lscp_set_volume(lscp_client_t *pClient, float fVolume)
Definition: client.c:1940
_lscp_midi_instrument_info_t
Definition: client.h:134
_lscp_server_info_t::version
char * version
Definition: client.h:46
lscp_midi_instrument_info_t
struct _lscp_midi_instrument_info_t lscp_midi_instrument_info_t
lscp_edit_channel_instrument
lscp_status_t lscp_edit_channel_instrument(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:2916
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:2787
lscp_client_subscribe
lscp_status_t lscp_client_subscribe(lscp_client_t *pClient, lscp_event_t events)
Definition: client.c:647
lscp_get_voices
int lscp_get_voices(lscp_client_t *pClient)
Definition: client.c:1969
lscp_client_get_errno
int lscp_client_get_errno(lscp_client_t *pClient)
Definition: client.c:607
_lscp_server_info_t::description
char * description
Definition: client.h:45
lscp_reset_channel
lscp_status_t lscp_reset_channel(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1752
lscp_get_midi_instrument_maps
int lscp_get_midi_instrument_maps(lscp_client_t *pClient)
Definition: client.c:2463
lscp_usage_t
enum _lscp_usage_t lscp_usage_t
lscp_channel_info_t
struct _lscp_channel_info_t lscp_channel_info_t
lscp_list_available_engines
const char ** lscp_list_available_engines(lscp_client_t *pClient)
Definition: client.c:1048
_lscp_fxsend_info_t::level
float level
Definition: client.h:107
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:1551
_lscp_channel_info_t::instrument_file
char * instrument_file
Definition: client.h:68
_lscp_channel_info_t::mute
int mute
Definition: client.h:77
lscp_event_t
enum _lscp_event_t lscp_event_t
LSCP_MIDI_MAP_ALL
Definition: client.h:152
_lscp_midi_instrument_info_t::load_mode
lscp_load_mode_t load_mode
Definition: client.h:141
lscp_server_info_t
struct _lscp_server_info_t lscp_server_info_t
_lscp_midi_map_mode_t
_lscp_midi_map_mode_t
Definition: client.h:148
_lscp_channel_info_t::instrument_name
char * instrument_name
Definition: client.h:70
lscp_get_fxsends
int lscp_get_fxsends(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:2155
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:165
_lscp_channel_info_t::audio_routing
int * audio_routing
Definition: client.h:67
_lscp_channel_info_t::midi_channel
int midi_channel
Definition: client.h:74
lscp_get_midi_instrument_map_name
const char * lscp_get_midi_instrument_map_name(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2526
lscp_get_streams
int lscp_get_streams(lscp_client_t *pClient)
Definition: client.c:2031
lscp_list_midi_instruments
lscp_midi_instrument_t * lscp_list_midi_instruments(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2742
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:863
_lscp_client_t::pvData
void * pvData
Definition: common.h:43
lscp_load_mode_t
enum _lscp_load_mode_t lscp_load_mode_t
lscp_get_volume
float lscp_get_volume(lscp_client_t *pClient)
Definition: client.c:1904
_lscp_buffer_fill_t
Definition: client.h:84
lscp_set_channel_midi_device
lscp_status_t lscp_set_channel_midi_device(lscp_client_t *pClient, int iSamplerChannel, int iMidiDevice)
Definition: client.c:1573
LSCP_LOAD_ON_DEMAND
Definition: client.h:126
_lscp_fxsend_info_t::midi_controller
int midi_controller
Definition: client.h:105
event.h
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:1411
_lscp_usage_t
_lscp_usage_t
Definition: client.h:93
lscp_client_version
const char * lscp_client_version(void)
Definition: client.c:259
lscp_get_channel_stream_usage
int lscp_get_channel_stream_usage(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1350
lscp_create_fxsend
int lscp_create_fxsend(lscp_client_t *pClient, int iSamplerChannel, int iMidiController, const char *pszFxName)
Definition: client.c:2092
_lscp_engine_info_t::version
char * version
Definition: client.h:56
_lscp_client_t
Definition: common.h:39
_lscp_client_t::pfnCallback
lscp_client_proc_t pfnCallback
Definition: common.h:42
_lscp_channel_info_t::solo
int solo
Definition: client.h:78
_lscp_server_info_t::protocol_version
char * protocol_version
Definition: client.h:47
lscp_client_create
lscp_client_t * lscp_client_create(const char *pszHost, int iPort, lscp_client_proc_t pfnCallback, void *pvData)
Definition: client.c:282
_lscp_fxsend_info_t
Definition: client.h:102
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:2331
lscp_get_channel_info
lscp_channel_info_t * lscp_get_channel_info(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:1141
_lscp_midi_instrument_info_t::instrument_file
char * instrument_file
Definition: client.h:138
_lscp_fxsend_info_t::audio_routing
int * audio_routing
Definition: client.h:106
lscp_remove_channel
lscp_status_t lscp_remove_channel(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:998
lscp_get_server_info
lscp_server_info_t * lscp_get_server_info(lscp_client_t *pClient)
Definition: client.c:1788
lscp_load_engine
lscp_status_t lscp_load_engine(lscp_client_t *pClient, const char *pszEngineName, int iSamplerChannel)
Definition: client.c:885
_lscp_client_t::events
lscp_event_t events
Definition: common.h:47
socket.h
lscp_client_join
lscp_status_t lscp_client_join(lscp_client_t *pClient)
Definition: client.c:412
_lscp_channel_info_t
Definition: client.h:62
lscp_midi_instrument_t
struct _lscp_midi_instrument_t lscp_midi_instrument_t
lscp_remove_midi_instrument_map
lscp_status_t lscp_remove_midi_instrument_map(lscp_client_t *pClient, int iMidiMap)
Definition: client.c:2441
lscp_client_build
const char * lscp_client_build(void)
Definition: client.c:262
lscp_client_get_events
lscp_event_t lscp_client_get_events(lscp_client_t *pClient)
Definition: client.c:817
_lscp_channel_info_t::audio_device
int audio_device
Definition: client.h:65
LSCP_USAGE_BYTES
Definition: client.h:95
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:2618
lscp_client_unsubscribe
lscp_status_t lscp_client_unsubscribe(lscp_client_t *pClient, lscp_event_t events)
Definition: client.c:743
_lscp_channel_info_t::midi_device
int midi_device
Definition: client.h:72
lscp_set_channel_midi_map
lscp_status_t lscp_set_channel_midi_map(lscp_client_t *pClient, int iSamplerChannel, int iMidiMap)
Definition: client.c:1645
lscp_list_fxsends
int * lscp_list_fxsends(lscp_client_t *pClient, int iSamplerChannel)
Definition: client.c:2190
_lscp_engine_info_t::description
char * description
Definition: client.h:55
_lscp_channel_info_t::engine_name
char * engine_name
Definition: client.h:64