--- liblscp/trunk/lscp/client.h 2004/06/18 14:19:19 132 +++ liblscp/trunk/lscp/client.h 2004/07/02 14:36:43 167 @@ -24,6 +24,7 @@ #define __LSCP_CLIENT_H #include "lscp/socket.h" +#include "lscp/event.h" #if defined(__cplusplus) extern "C" { @@ -84,12 +85,13 @@ /** Client opaque descriptor struct. */ typedef struct _lscp_client_t lscp_client_t; -/** Client callback procedure prototype. */ +/** Client event callback procedure prototype. */ typedef lscp_status_t (*lscp_client_proc_t) ( struct _lscp_client_t *pClient, - const char *pchBuffer, - int cchBuffer, + lscp_event_t event, + const char *pchData, + int cchData, void *pvData ); @@ -120,13 +122,16 @@ //------------------------------------------------------------------------- // Client registration protocol functions. -lscp_status_t lscp_client_subscribe (lscp_client_t *pClient); -lscp_status_t lscp_client_unsubscribe (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_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); @@ -139,13 +144,16 @@ 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_volume (lscp_client_t *pClient, int iSamplerChannel, float fVolume);