client.c File Reference

#include <locale.h>
#include "common.h"

Data Structures

struct  _locale_t

Defines

#define LSCP_TIMEOUT_MSECS   500

Functions

const char * lscp_client_package (void)
const char * lscp_client_version (void)
const char * lscp_client_build (void)
lscp_client_tlscp_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)
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)
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)
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_tlscp_get_engine_info (lscp_client_t *pClient, const char *pszEngineName)
lscp_channel_info_tlscp_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_tlscp_get_channel_buffer_fill (lscp_client_t *pClient, lscp_usage_t usage_type, int iSamplerChannel)
lscp_status_t lscp_set_channel_audio_type (lscp_client_t *pClient, int iSamplerChannel, const char *pszAudioDriver)
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 *pszMidiDriver)
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_tlscp_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)
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_tlscp_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)
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_tlscp_list_midi_instruments (lscp_client_t *pClient, int iMidiMap)
lscp_midi_instrument_info_tlscp_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)
lscp_status_t lscp_edit_channel_instrument (lscp_client_t *pClient, int iSamplerChannel)

Define Documentation

#define LSCP_TIMEOUT_MSECS   500


Function Documentation

int lscp_add_channel ( lscp_client_t pClient  ) 

Adding a new sampler channel: ADD CHANNEL

Parameters:
pClient Pointer to client instance structure.
Returns:
The new sampler channel number identifier, or -1 in case of failure.

int lscp_add_midi_instrument_map ( lscp_client_t pClient,
const char *  pszMapName 
)

Create a new MIDI instrument map: ADD MIDI_INSTRUMENT_MAP [<name>]

Parameters:
pClient Pointer to client instance structure.
pszMapName MIDI instrument map name (optional)
Returns:
The new MIDI instrument map number identifier, or -1 in case of failure.

lscp_status_t lscp_clear_midi_instruments ( lscp_client_t pClient,
int  iMidiMap 
)

Clear the MIDI instrumnet map: CLEAR MIDI_INSTRUMENTS ALL|<midi-map>

Parameters:
pClient Pointer to client instance structure.
iMidiMap MIDI instrument map number, or LSCP_MIDI_MAP_ALL .
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

const char* lscp_client_build ( void   ) 

Retrieve the current client library build timestamp string.

lscp_client_t* lscp_client_create ( const char *  pszHost,
int  iPort,
lscp_client_proc_t  pfnCallback,
void *  pvData 
)

Create a client instance, estabilishing a connection to a server hostname, which must be listening on the given port. A client callback function is also supplied for server notification event handling.

Parameters:
pszHost Hostname of the linuxsampler listening server.
iPort Port number of the linuxsampler listening server.
pfnCallback Callback function to receive event notifications.
pvData User context opaque data, that will be passed to the callback function.
Returns:
The new client instance pointer if successfull, which shall be used on all subsequent client calls, NULL otherwise.

lscp_status_t lscp_client_destroy ( lscp_client_t pClient  ) 

Terminate and destroy a client instance.

Parameters:
pClient Pointer to client instance structure.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

int lscp_client_get_errno ( lscp_client_t pClient  ) 

Get the last error/warning number received.

Parameters:
pClient Pointer to client instance structure.
Returns:
The numerical value of the last error or warning response code received.

lscp_event_t lscp_client_get_events ( lscp_client_t pClient  ) 

Getting current subscribed events.

Parameters:
pClient Pointer to client instance structure.
Returns:
The current subscrived bit-wise OR'ed event flags.

const char* lscp_client_get_result ( lscp_client_t pClient  ) 

Get the last received result string. In case of error or warning, this is the text of the error or warning message issued.

Parameters:
pClient Pointer to client instance structure.
Returns:
A pointer to the literal null-terminated result string as of the last command request.

int lscp_client_get_timeout ( lscp_client_t pClient  ) 

Get the client transaction timeout interval.

Parameters:
pClient Pointer to client instance structure.
Returns:
The current timeout value milliseconds, -1 in case of failure.

lscp_status_t lscp_client_join ( lscp_client_t pClient  ) 

Wait for a client instance to terminate graciously.

Parameters:
pClient Pointer to client instance structure.

const char* lscp_client_package ( void   ) 

Retrieve the current client library version string.

lscp_status_t lscp_client_query ( lscp_client_t pClient,
const char *  pszQuery 
)

Submit a command query line string to the server. The query string must be cr/lf and null terminated. Besides the return code, the specific server response to the command request is made available by the lscp_client_get_result and lscp_client_get_errno function calls.

Parameters:
pClient Pointer to client instance structure.
pszQuery Command request line to be sent to server, must be cr/lf and null terminated.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_client_set_timeout ( lscp_client_t pClient,
int  iTimeout 
)

Set the client transaction timeout interval.

Parameters:
pClient Pointer to client instance structure.
iTimeout Transaction timeout in milliseconds.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_client_subscribe ( lscp_client_t pClient,
lscp_event_t  events 
)

Register frontend for receiving event messages by the sampler backend. Caution: since liblscp v0.5.5.4 you have to call lscp_client_subscribe() for each event you want to subscribe. That is the old bitflag approach was abondoned at this point. You can however still register all older events with one lscp_client_subscribe() call at once. Thus, the old behavior of this functions was not broken. Those older events are namely:

  SUBSCRIBE CHANNEL_COUNT | VOICE_COUNT | STREAM_COUNT
      | BUFFER_FILL | CHANNEL_INFO | TOTAL_VOICE_COUNT
      | AUDIO_OUTPUT_DEVICE_COUNT | AUDIO_OUTPUT_DEVICE_INFO
      | MIDI_INPUT_DEVICE_COUNT | MIDI_INPUT_DEVICE_INFO
      | MIDI_INSTRUMENT_MAP_COUNT | MIDI_INSTRUMENT_MAP_INFO
      | MIDI_INSTRUMENT_COUNT | MIDI_INSTRUMENT_INFO
      | MISCELLANEOUS
The old events occupy the lower 16 bits (as bit flags), and all younger events enumerate the whole upper 16 bits range. The new, enumerated events are namely:
  SUBSCRIBE CHANNEL_MIDI

Parameters:
pClient Pointer to client instance structure.
events LSCP event to subscribe.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_client_unsubscribe ( lscp_client_t pClient,
lscp_event_t  events 
)

Deregister frontend from receiving UDP event messages anymore. Caution: since liblscp v0.5.5.4 you have to call lscp_client_unsubscribe() for each event you want to unsubscribe. That is the old bitflag approach was abondoned at this point. You can however still register all older events with one lscp_client_subscribe() call at once. Thus, the old behavior of this functions was not broken. Those older events are namely:

  UNSUBSCRIBE CHANNEL_COUNT | VOICE_COUNT | STREAM_COUNT
      | BUFFER_FILL | CHANNEL_INFO | TOTAL_VOICE_COUNT
      | AUDIO_OUTPUT_DEVICE_COUNT | AUDIO_OUTPUT_DEVICE_INFO
      | MIDI_INPUT_DEVICE_COUNT | MIDI_INPUT_DEVICE_INFO
      | MIDI_INSTRUMENT_MAP_COUNT | MIDI_INSTRUMENT_MAP_INFO
      | MIDI_INSTRUMENT_COUNT | MIDI_INSTRUMENT_INFO
      | MISCELLANEOUS
The old events occupy the lower 16 bits (as bit flags), and all younger events enumerate the whole upper 16 bits range. The new, enumerated events are namely:
  UNSUBSCRIBE CHANNEL_MIDI

Parameters:
pClient Pointer to client instance structure.
events LSCP event to unsubscribe.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

const char* lscp_client_version ( void   ) 

Retrieve the current client library version string.

int lscp_create_fxsend ( lscp_client_t pClient,
int  iSamplerChannel,
int  iMidiController,
const char *  pszFxName 
)

Add an effect send to a sampler channel: CREATE FX_SEND <sampler-channel> <midi-ctrl> [<name>]

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iMidiController MIDI controller used to alter the effect, usually a number between 0 and 127.
pszName Optional name for the effect send entity, does not have to be unique.
Returns:
The new effect send number identifier, or -1 in case of failure.

lscp_status_t lscp_destroy_fxsend ( lscp_client_t pClient,
int  iSamplerChannel,
int  iFxSend 
)

Remove an effect send from a sampler channel: DESTROY FX_SEND <sampler-channel> <fx-send-id>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iFxSend Effect send number.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_edit_channel_instrument ( lscp_client_t pClient,
int  iSamplerChannel 
)

Open an instrument editor application for the instrument on the given sampler channel: EDIT CHANNEL INSTRUMENT <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler Channel.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

int lscp_get_available_engines ( lscp_client_t pClient  ) 

Getting all available engines count: GET AVAILABLE_ENGINES

Parameters:
pClient Pointer to client instance structure.
Returns:
The current total number of sampler engines on success, -1 otherwise.

lscp_buffer_fill_t* lscp_get_channel_buffer_fill ( lscp_client_t pClient,
lscp_usage_t  usage_type,
int  iSamplerChannel 
)

Current fill state of disk stream buffers: GET CHANNEL BUFFER_FILL {BYTES|PERCENTAGE} <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
usage_type Usage type to be returned, either LSCP_USAGE_BYTES, or LSCP_USAGE_PERCENTAGE.
iSamplerChannel Sampler channel number.
Returns:
A pointer to a lscp_buffer_fill_t structure, with the information of the current disk stream buffer fill usage, for the given sampler channel, or NULL in case of failure.

lscp_channel_info_t* lscp_get_channel_info ( lscp_client_t pClient,
int  iSamplerChannel 
)

Getting sampler channel informations: GET CHANNEL INFO <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
Returns:
A pointer to a lscp_channel_info_t structure, with all the information of the given sampler channel, or NULL in case of failure.

int lscp_get_channel_stream_count ( lscp_client_t pClient,
int  iSamplerChannel 
)

Current number of active disk streams: GET CHANNEL STREAM_COUNT <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
Returns:
The number of active disk streams on success, -1 otherwise.

int lscp_get_channel_stream_usage ( lscp_client_t pClient,
int  iSamplerChannel 
)

Current least usage of active disk streams.

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
Returns:
The usage percentage of the least filled active disk stream on success, -1 otherwise.

int lscp_get_channel_voice_count ( lscp_client_t pClient,
int  iSamplerChannel 
)

Current number of active voices: GET CHANNEL VOICE_COUNT <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
Returns:
The number of voices currently active, -1 in case of failure.

int lscp_get_channels ( lscp_client_t pClient  ) 

Current number of sampler channels: GET CHANNELS

Parameters:
pClient Pointer to client instance structure.
Returns:
The current total number of sampler channels on success, -1 otherwise.

lscp_engine_info_t* lscp_get_engine_info ( lscp_client_t pClient,
const char *  pszEngineName 
)

Getting information about an engine. GET ENGINE INFO <engine-name>

Parameters:
pClient Pointer to client instance structure.
pszEngineName Engine name.
Returns:
A pointer to a lscp_engine_info_t structure, with all the information of the given sampler engine, or NULL in case of failure.

lscp_fxsend_info_t* lscp_get_fxsend_info ( lscp_client_t pClient,
int  iSamplerChannel,
int  iFxSend 
)

Getting effect send information GET FX_SEND INFO <sampler-channel> <fx-send-id>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iFxSend Effect send number.
Returns:
A pointer to a lscp_fxsend_info_t structure, with the information of the given FX send, or NULL in case of failure.

int lscp_get_fxsends ( lscp_client_t pClient,
int  iSamplerChannel 
)

Get amount of effect sends on a sampler channel: GET FX_SENDS <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
Returns:
The current total number of effect sends of the sampler channel on success, -1 otherwise.

lscp_midi_instrument_info_t* lscp_get_midi_instrument_info ( lscp_client_t pClient,
lscp_midi_instrument_t pMidiInstr 
)

Getting information about a MIDI instrument map entry: GET MIDI_INSTRUMENT INFO <midi-map> <midi-bank> <midi-prog>

Parameters:
pClient Pointer to client instance structure.
pMidiInstr MIDI instrument bank and program parameter key.
Returns:
A pointer to a lscp_midi_instrument_info_t structure, with all the information of the given MIDI instrument map entry, or NULL in case of failure.

const char* lscp_get_midi_instrument_map_name ( lscp_client_t pClient,
int  iMidiMap 
)

Getting a MIDI instrument map name: GET MIDI_INSTRUMENT_MAP INFO <midi-map>

Parameters:
pClient Pointer to client instance structure.
iMidiMap MIDI instrument map number.
Returns:
The MIDI instrument map name on success, NULL on failure.

int lscp_get_midi_instrument_maps ( lscp_client_t pClient  ) 

Get amount of existing MIDI instrument maps: GET MIDI_INSTRUMENT_MAPS

Parameters:
pClient Pointer to client instance structure.
Returns:
The current total number of MIDI instrument maps on success, -1 otherwise.

int lscp_get_midi_instruments ( lscp_client_t pClient,
int  iMidiMap 
)

Get the total count of MIDI instrument map entries: GET MIDI_INSTRUMENTS ALL|<midi-map>

Parameters:
pClient Pointer to client instance structure.
iMidiMap MIDI instrument map number, or LSCP_MIDI_MAP_ALL .
Returns:
The current total number of MIDI instrument map entries on success, -1 otherwise.

lscp_server_info_t* lscp_get_server_info ( lscp_client_t pClient  ) 

Getting information about the server. GET SERVER INFO

Parameters:
pClient Pointer to client instance structure.
Returns:
A pointer to a lscp_server_info_t structure, with all the information of the current connected server, or NULL in case of failure.

int lscp_get_streams ( lscp_client_t pClient  ) 

Get global disk streams limit setting:

  GET STREAMS
This value reflects the maximum amount of disk streams a sampler engine processes simultaniously.

Parameters:
pClient Pointer to client instance structure.
Returns:
The current global maximum amount of disk streams limit or a negative value on error (e.g. if sampler doesn't support this command).

int lscp_get_total_voice_count ( lscp_client_t pClient  ) 

Current total number of active voices: GET TOTAL_VOICE_COUNT

Parameters:
pClient Pointer to client instance structure.
Returns:
The total number of voices currently active, -1 in case of failure.

int lscp_get_total_voice_count_max ( lscp_client_t pClient  ) 

Maximum amount of active voices: GET TOTAL_VOICE_COUNT_MAX

Parameters:
pClient Pointer to client instance structure.
Returns:
The maximum amount of voices currently active, -1 in case of failure.

int lscp_get_voices ( lscp_client_t pClient  ) 

Get global voice limit setting:

  GET VOICES
This value reflects the maximum amount of voices a sampler engine processes simultaniously before voice stealing kicks in.

Parameters:
pClient Pointer to client instance structure.
Returns:
The current global maximum amount of voices limit or a negative value on error (e.g. if sampler doesn't support this command).

float lscp_get_volume ( lscp_client_t pClient  ) 

Get global volume attenuation: GET VOLUME

Parameters:
pClient Pointer to client instance structure.
Returns:
The global volume as positive floating point value usually in the range between 0.0 and 1.0; in case of failure 0.0 is returned.

const char** lscp_list_available_engines ( lscp_client_t pClient  ) 

Getting all available engines: LIST AVAILABLE_ENGINES

Parameters:
pClient Pointer to client instance structure.
Returns:
A NULL terminated array of engine name strings, or NULL in case of failure.

int* lscp_list_channels ( lscp_client_t pClient  ) 

List current sampler channels number identifiers: LIST CHANNELS

Parameters:
pClient Pointer to client instance structure.
Returns:
An array of the sampler channels identifiers as positive integers, terminated with -1 on success, NULL otherwise.

int* lscp_list_fxsends ( lscp_client_t pClient,
int  iSamplerChannel 
)

List all effect sends on a sampler channel: LIST FX_SENDS <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
Returns:
An array of the effect sends identifiers as positive integers, terminated with -1 on success, NULL otherwise.

int* lscp_list_midi_instrument_maps ( lscp_client_t pClient  ) 

Getting all created MIDI instrument maps: LIST MIDI_INSTRUMENT_MAPS

Parameters:
pClient Pointer to client instance structure.
Returns:
An array of the MIDI instrument map identifiers as positive integers, terminated with -1 on success, NULL otherwise.

lscp_midi_instrument_t* lscp_list_midi_instruments ( lscp_client_t pClient,
int  iMidiMap 
)

Getting indeces of all MIDI instrument map entries: LIST MIDI_INSTRUMENTS ALL|<midi-map>

Parameters:
pClient Pointer to client instance structure.
iMidiMap MIDI instrument map number, or LSCP_MIDI_MAP_ALL .
Returns:
An array of lscp_midi_instrument_t, terminated with the {-1,-1,-1} triplet, NULL otherwise.

lscp_status_t lscp_load_engine ( lscp_client_t pClient,
const char *  pszEngineName,
int  iSamplerChannel 
)

Loading a sampler engine: LOAD ENGINE <engine-name> <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
pszEngineName Engine name.
iSamplerChannel Sampler channel number.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_load_instrument ( lscp_client_t pClient,
const char *  pszFileName,
int  iInstrIndex,
int  iSamplerChannel 
)

Loading an instrument: LOAD INSTRUMENT <filename> <instr-index> <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
pszFileName Instrument file name.
iInstrIndex Instrument index number.
iSamplerChannel Sampler Channel.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_load_instrument_non_modal ( lscp_client_t pClient,
const char *  pszFileName,
int  iInstrIndex,
int  iSamplerChannel 
)

Loading an instrument in the background (non modal): LOAD INSTRUMENT NON_MODAL <filename> <instr-index> <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
pszFileName Instrument file name.
iInstrIndex Instrument index number.
iSamplerChannel Sampler Channel.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

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 
)

Create or replace a MIDI instrumnet map entry: MAP MIDI_INSTRUMENT <midi-map> <midi-bank> <midi-prog> <engine-name> <filename> <instr-index> <volume> [<load-mode> [<name>]}

Parameters:
pClient Pointer to client instance structure.
pMidiInstr MIDI instrument bank and program parameter key.
pszEngineName Engine name.
pszFileName Instrument file name.
iInstrIndex Instrument index number.
fVolume Reflects the master volume of the instrument as a positive floating point number, where a value less than 1.0 for attenuation, and greater than 1.0 for amplification.
load_mode Instrument load life-time strategy, either LSCP_LOAD_DEFAULT, or LSCP_LOAD_ON_DEMAND, or LSCP_LOAD_ON_DEMAND_HOLD, or LSCP_LOAD_PERSISTENT.
pszName Instrument custom name for the map entry (optional).
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_remove_channel ( lscp_client_t pClient,
int  iSamplerChannel 
)

Removing a sampler channel: REMOVE CHANNEL <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_remove_midi_instrument_map ( lscp_client_t pClient,
int  iMidiMap 
)

Delete one particular or all MIDI instrument maps: REMOVE MIDI_INSTRUMENT_MAP <midi-map>

Parameters:
pClient Pointer to client instance structure.
iMidiMap MIDI instrument map number.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_reset_channel ( lscp_client_t pClient,
int  iSamplerChannel 
)

Resetting a sampler channel: RESET CHANNEL <sampler-channel>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_reset_sampler ( lscp_client_t pClient  ) 

Resetting the sampler: RESET

Parameters:
pClient Pointer to client instance structure.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_audio_channel ( lscp_client_t pClient,
int  iSamplerChannel,
int  iAudioOut,
int  iAudioIn 
)

Setting audio output channel: SET CHANNEL AUDIO_OUTPUT_CHANNEL <sampler-channel> <audio-output-chan> <audio-input-chan>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iAudioOut Audio output device channel to be routed from.
iAudioIn Audio output device channel to be routed into.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_audio_device ( lscp_client_t pClient,
int  iSamplerChannel,
int  iAudioDevice 
)

Setting audio output device: SET CHANNEL AUDIO_OUTPUT_DEVICE <sampler-channel> <device-id>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iAudioDevice Audio output device number identifier.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_audio_type ( lscp_client_t pClient,
int  iSamplerChannel,
const char *  pszAudioDriver 
)

Setting audio output type: SET CHANNEL AUDIO_OUTPUT_TYPE <sampler-channel> <audio-output-type>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
pszAudioDriver Audio output driver type (e.g. "ALSA" or "JACK").
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_midi_channel ( lscp_client_t pClient,
int  iSamplerChannel,
int  iMidiChannel 
)

Setting MIDI input channel: SET CHANNEL MIDI_INPUT_CHANNEL <sampler-channel> <midi-input-chan>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iMidiChannel MIDI channel address number to listen (0-15) or LSCP_MIDI_CHANNEL_ALL (16) to listen on all channels.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_midi_device ( lscp_client_t pClient,
int  iSamplerChannel,
int  iMidiDevice 
)

Setting MIDI input device: SET CHANNEL MIDI_INPUT_DEVICE <sampler-channel> <device-id>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iMidiDevice MIDI input device number identifier.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_midi_map ( lscp_client_t pClient,
int  iSamplerChannel,
int  iMidiMap 
)

Setting MIDI instrument map: SET CHANNEL MIDI_INSTRUMENT_MAP <sampler-channel> <midi-map>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iMidiMap MIDI instrument map number, or either LSCP_MIDI_MAP_NONE or LSCP_MIDI_MAP_DEFAULT .
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_midi_port ( lscp_client_t pClient,
int  iSamplerChannel,
int  iMidiPort 
)

Setting MIDI input port: SET CHANNEL MIDI_INPUT_PORT <sampler-channel> <midi-input-port>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iMidiPort MIDI input driver virtual port number.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_midi_type ( lscp_client_t pClient,
int  iSamplerChannel,
const char *  pszMidiDriver 
)

Setting MIDI input type: SET CHANNEL MIDI_INPUT_TYPE <sampler-channel> <midi-input-type>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
pszMidiDriver MIDI input driver type (e.g. "ALSA").
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_mute ( lscp_client_t pClient,
int  iSamplerChannel,
int  iMute 
)

Muting a sampler channel: SET CHANNEL MUTE <sampler-channel> <mute>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iMute Sampler channel mute state as a boolean value, either 1 (one) to mute the channel or 0 (zero) to unmute the channel.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_solo ( lscp_client_t pClient,
int  iSamplerChannel,
int  iSolo 
)

Soloing a sampler channel: SET CHANNEL SOLO <sampler-channel> <solo>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iSolo Sampler channel solo state as a boolean value, either 1 (one) to solo the channel or 0 (zero) to unsolo the channel.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_channel_volume ( lscp_client_t pClient,
int  iSamplerChannel,
float  fVolume 
)

Setting channel volume: SET CHANNEL VOLUME <sampler-channel> <volume>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
fVolume Sampler channel volume as a positive floating point number, where a value less than 1.0 for attenuation, and greater than 1.0 for amplification.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_fxsend_audio_channel ( lscp_client_t pClient,
int  iSamplerChannel,
int  iFxSend,
int  iAudioSrc,
int  iAudioDst 
)

Alter effect send's audio routing: SET FX_SEND AUDIO_OUTPUT_CHANNEL <sampler-chan> <fx-send-id> <audio-src> <audio-dst>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iFxSend Effect send number.
iAudioSrc Audio output device channel to be routed from.
iAudioDst Audio output device channel to be routed into.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_fxsend_level ( lscp_client_t pClient,
int  iSamplerChannel,
int  iFxSend,
float  fLevel 
)

Alter effect send's audio level: SET FX_SEND LEVEL <sampler-chan> <fx-send-id> <level>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iFxSend Effect send number.
fLevel Effect send volume level.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_fxsend_midi_controller ( lscp_client_t pClient,
int  iSamplerChannel,
int  iFxSend,
int  iMidiController 
)

Alter effect send's MIDI controller: SET FX_SEND MIDI_CONTROLLER <sampler-chan> <fx-send-id> <midi-ctrl>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iFxSend Effect send number.
iMidiController MIDI controller used to alter the effect, usually a number between 0 and 127.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_fxsend_name ( lscp_client_t pClient,
int  iSamplerChannel,
int  iFxSend,
const char *  pszFxName 
)

Alter effect send's name:

  SET FX_SEND NAME <sampler-chan> <fx-send-id> <name>

Parameters:
pClient Pointer to client instance structure.
iSamplerChannel Sampler channel number.
iFxSend Effect send number.
pszFxName Effect send's new name.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_midi_instrument_map_name ( lscp_client_t pClient,
int  iMidiMap,
const char *  pszMapName 
)

Renaming a MIDI instrument map: SET MIDI_INSTRUMENT_MAP NAME <midi-map> <map-name>

Parameters:
pClient Pointer to client instance structure.
iMidiMap MIDI instrument map number.
pszMapName MIDI instrument map name.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_streams ( lscp_client_t pClient,
int  iMaxStreams 
)

Setting global disk streams limit setting:

  SET STREAMS <max-streams>
This value reflects the maximum amount of dist streams a sampler engine instance processes simultaniously. Note that this value will be passed to all sampler engine instances, that is the total amount of maximum disk streams on the running system is thus
Parameters:
iMaxStreams multiplied with the current amount of sampler engine instances.
pClient Pointer to client instance structure.
iMaxStreams Global streams limit setting as positive integer value (larger or equal to 0).
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_voices ( lscp_client_t pClient,
int  iMaxVoices 
)

Setting global voice limit setting:

  SET VOICES <max-voices>
This value reflects the maximum amount of voices a sampler engine processes simultaniously before voice stealing kicks in. Note that this value will be passed to all sampler engine instances, that is the total amount of maximum voices on the running system is thus
Parameters:
iMaxVoices multiplied with the current amount of sampler engine instances.
pClient Pointer to client instance structure.
iMaxVoices Global voice limit setting as integer value larger or equal to 1.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_set_volume ( lscp_client_t pClient,
float  fVolume 
)

Setting global volume attenuation: SET VOLUME <volume>

Parameters:
pClient Pointer to client instance structure.
fVolume Global volume parameter as positive floating point value usually be in the range between 0.0 and 1.0, that is for attenuating the overall volume.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_unmap_midi_instrument ( lscp_client_t pClient,
lscp_midi_instrument_t pMidiInstr 
)

Remove an entry from the MIDI instrument map: UNMAP MIDI_INSTRUMENT <midi-map> <midi-bank> <midi-prog>

Parameters:
pClient Pointer to client instance structure.
pMidiInstr MIDI instrument bank and program parameter key.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.


Generated on Thu May 20 03:17:56 2010 for liblscp by  doxygen 1.5.2