| client.h | | client.h | |
| | | | |
| skipping to change at line 44 | | skipping to change at line 44 | |
| // MIDI channel omni mode. | | // MIDI channel omni mode. | |
| | | | |
| #define LSCP_MIDI_CHANNEL_ALL 16 | | #define LSCP_MIDI_CHANNEL_ALL 16 | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| // Client data structures. | | // Client data structures. | |
| | | | |
| /** Server info cache struct. */ | | /** Server info cache struct. */ | |
| typedef struct _lscp_server_info_t | | typedef struct _lscp_server_info_t | |
| { | | { | |
|
| char * description; | | char * description; | |
| char * version; | | char * version; | |
| | | | |
| } lscp_server_info_t; | | } lscp_server_info_t; | |
| | | | |
| /** Engine info cache struct. */ | | /** Engine info cache struct. */ | |
| typedef struct _lscp_engine_info_t | | typedef struct _lscp_engine_info_t | |
| { | | { | |
|
| char * description; | | char * description; | |
| char * version; | | char * version; | |
| | | | |
| } lscp_engine_info_t; | | } lscp_engine_info_t; | |
| | | | |
| /** Channel info cache struct. */ | | /** Channel info cache struct. */ | |
| typedef struct _lscp_channel_info_t | | typedef struct _lscp_channel_info_t | |
| { | | { | |
|
| char * engine_name; | | char * engine_name; | |
| int audio_device; | | int audio_device; | |
| int audio_channels; | | int audio_channels; | |
| char ** audio_routing; | | char ** audio_routing; | |
| char * instrument_file; | | char * instrument_file; | |
| int instrument_nr; | | int instrument_nr; | |
| char * instrument_name; | | char * instrument_name; | |
| int instrument_status; | | int instrument_status; | |
| int midi_device; | | int midi_device; | |
| int midi_port; | | int midi_port; | |
| int midi_channel; | | int midi_channel; | |
| float volume; | | float volume; | |
| int mute; | | int mute; | |
| int solo; | | int solo; | |
| | | | |
| } lscp_channel_info_t; | | } lscp_channel_info_t; | |
| | | | |
| /** Buffer fill cache struct. */ | | /** Buffer fill cache struct. */ | |
| typedef struct _lscp_buffer_fill_t | | typedef struct _lscp_buffer_fill_t | |
| { | | { | |
|
| unsigned int stream_id; | | unsigned int stream_id; | |
| unsigned long stream_usage; | | unsigned long stream_usage; | |
| | | | |
| } lscp_buffer_fill_t; | | } lscp_buffer_fill_t; | |
| | | | |
| /** Buffer fill stream usage types. */ | | /** Buffer fill stream usage types. */ | |
| typedef enum _lscp_usage_t | | typedef enum _lscp_usage_t | |
| { | | { | |
|
| LSCP_USAGE_BYTES = 0, | | LSCP_USAGE_BYTES = 0, | |
| LSCP_USAGE_PERCENTAGE | | LSCP_USAGE_PERCENTAGE | |
| | | | |
| } lscp_usage_t; | | } lscp_usage_t; | |
| | | | |
| /** MIDI instrument parameter struct. */ | | /** MIDI instrument parameter struct. */ | |
| typedef struct _lscp_midi_instrument_t | | typedef struct _lscp_midi_instrument_t | |
| { | | { | |
|
| int bank_msb; | | int bank_msb; | |
| int bank_lsb; | | int bank_lsb; | |
| int program; | | int program; | |
| | | | |
| } lscp_midi_instrument_t; | | } lscp_midi_instrument_t; | |
| | | | |
| /** MIDI instrument load mode. */ | | /** MIDI instrument load mode. */ | |
| typedef enum _lscp_load_mode_t | | typedef enum _lscp_load_mode_t | |
| { | | { | |
|
| LSCP_LOAD_DEFAULT = 0, | | LSCP_LOAD_DEFAULT = 0, | |
| LSCP_LOAD_ON_DEMAND, | | LSCP_LOAD_ON_DEMAND, | |
| LSCP_LOAD_ON_DEMAND_HOLD, | | LSCP_LOAD_ON_DEMAND_HOLD, | |
| LSCP_LOAD_PERSISTENT | | LSCP_LOAD_PERSISTENT | |
| | | | |
| } lscp_load_mode_t; | | } lscp_load_mode_t; | |
| | | | |
| /** MIDI instrument info cache struct. */ | | /** MIDI instrument info cache struct. */ | |
| typedef struct _lscp_midi_instrument_info_t | | typedef struct _lscp_midi_instrument_info_t | |
| { | | { | |
|
| char * name; | | char * name; | |
| char * engine_name; | | char * engine_name; | |
| char * instrument_file; | | char * instrument_file; | |
| int instrument_nr; | | int instrument_nr; | |
| char * instrument_name; | | char * instrument_name; | |
| lscp_load_mode_t load_mode; | | lscp_load_mode_t load_mode; | |
| float volume; | | float volume; | |
| | | | |
| } lscp_midi_instrument_info_t; | | } lscp_midi_instrument_info_t; | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| // Client socket main structure. | | // Client socket main structure. | |
| | | | |
| /** Client opaque descriptor struct. */ | | /** Client opaque descriptor struct. */ | |
| typedef struct _lscp_client_t lscp_client_t; | | typedef struct _lscp_client_t lscp_client_t; | |
| | | | |
| /** Client event callback procedure prototype. */ | | /** Client event callback procedure prototype. */ | |
| typedef lscp_status_t (*lscp_client_proc_t) | | typedef lscp_status_t (*lscp_client_proc_t) | |
| ( | | ( | |
|
| struct _lscp_client_t *pClient, | | struct _lscp_client_t *pClient, | |
| lscp_event_t event, | | lscp_event_t event, | |
| const char *pchData, | | const char *pchData, | |
| int cchData, | | int cchData, | |
| void *pvData | | void *pvData | |
| ); | | ); | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| // Client versioning teller fuunction. | | // Client versioning teller fuunction. | |
| | | | |
| const char * lscp_client_package (void); | | const char * lscp_client_package (void); | |
| const char * lscp_client_version (void); | | const char * lscp_client_version (void); | |
| const char * lscp_client_build (void); | | const char * lscp_client_build (void); | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| | | | |
| skipping to change at line 225 | | skipping to change at line 225 | |
| int lscp_get_total_voice_count (lscp_client_t *pCl
ient); | | int lscp_get_total_voice_count (lscp_client_t *pCl
ient); | |
| int lscp_get_total_voice_count_max (lscp_client_t *pCl
ient); | | int lscp_get_total_voice_count_max (lscp_client_t *pCl
ient); | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| // MIDI instrument mapping control functions. | | // MIDI instrument mapping control functions. | |
| | | | |
| lscp_status_t lscp_map_midi_instrument (lscp_client_t *pCl
ient, lscp_midi_instrument_t *pMidiInstr, const char *pszEngineName, const
char *pszFileName, int iInstrIndex, float fVolume, lscp_load_mode_t load_mo
de, const char *pszName); | | lscp_status_t lscp_map_midi_instrument (lscp_client_t *pCl
ient, lscp_midi_instrument_t *pMidiInstr, const char *pszEngineName, const
char *pszFileName, int iInstrIndex, float fVolume, lscp_load_mode_t load_mo
de, const char *pszName); | |
| lscp_status_t lscp_unmap_midi_instrument (lscp_client_t *pCl
ient, lscp_midi_instrument_t *pMidiInstr); | | lscp_status_t lscp_unmap_midi_instrument (lscp_client_t *pCl
ient, lscp_midi_instrument_t *pMidiInstr); | |
| | | | |
| int lscp_get_midi_instruments (lscp_client_t *pCl
ient); | | int lscp_get_midi_instruments (lscp_client_t *pCl
ient); | |
|
| | | lscp_midi_instrument_t *lscp_list_midi_instruments (lscp_client_t *pCl
ient); | |
| | | | |
| lscp_midi_instrument_info_t *lscp_get_midi_instrument_info(lscp_client_t *p
Client, lscp_midi_instrument_t *pMidiInstr); | | lscp_midi_instrument_info_t *lscp_get_midi_instrument_info(lscp_client_t *p
Client, lscp_midi_instrument_t *pMidiInstr); | |
| | | | |
| lscp_status_t lscp_clear_midi_instruments (lscp_client_t *pCl
ient); | | lscp_status_t lscp_clear_midi_instruments (lscp_client_t *pCl
ient); | |
| | | | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif // __LSCP_CLIENT_H | | #endif // __LSCP_CLIENT_H | |
| | | | |
End of changes. 10 change blocks. |
| 41 lines changed or deleted | | 42 lines changed or added | |
|
| device.h | | device.h | |
| | | | |
| skipping to change at line 38 | | skipping to change at line 38 | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| // Device driver information structures. | | // Device driver information structures. | |
| | | | |
| /** Parameter value type. */ | | /** Parameter value type. */ | |
| typedef enum _lscp_type_t | | typedef enum _lscp_type_t | |
| { | | { | |
|
| LSCP_TYPE_NONE = 0, | | LSCP_TYPE_NONE = 0, | |
| LSCP_TYPE_BOOL, | | LSCP_TYPE_BOOL, | |
| LSCP_TYPE_INT, | | LSCP_TYPE_INT, | |
| LSCP_TYPE_FLOAT, | | LSCP_TYPE_FLOAT, | |
| LSCP_TYPE_STRING | | LSCP_TYPE_STRING | |
| | | | |
| } lscp_type_t; | | } lscp_type_t; | |
| | | | |
| /** Common and simple key/value pair parameter tuple. */ | | /** Common and simple key/value pair parameter tuple. */ | |
| typedef struct _lscp_param_t | | typedef struct _lscp_param_t | |
| { | | { | |
|
| char * key; | | char * key; | |
| char * value; | | char * value; | |
| | | | |
| } lscp_param_t; | | } lscp_param_t; | |
| | | | |
| /** Common parameter info cache struct. */ | | /** Common parameter info cache struct. */ | |
| typedef struct _lscp_param_info_t | | typedef struct _lscp_param_info_t | |
| { | | { | |
|
| lscp_type_t type; | | lscp_type_t type; | |
| char * description; | | char * description; | |
| int mandatory; | | int mandatory; | |
| int fix; | | int fix; | |
| int multiplicity; | | int multiplicity; | |
| char ** depends; | | char ** depends; | |
| char * defaultv; | | char * defaultv; | |
| char * range_min; | | char * range_min; | |
| char * range_max; | | char * range_max; | |
| char ** possibilities; | | char ** possibilities; | |
| | | | |
| } lscp_param_info_t; | | } lscp_param_info_t; | |
| | | | |
| /** Common driver type info cache struct. */ | | /** Common driver type info cache struct. */ | |
| typedef struct _lscp_driver_info_t | | typedef struct _lscp_driver_info_t | |
| { | | { | |
|
| char * description; | | char * description; | |
| char * version; | | char * version; | |
| char ** parameters; | | char ** parameters; | |
| | | | |
| } lscp_driver_info_t; | | } lscp_driver_info_t; | |
| | | | |
| /** Common device info cache struct. */ | | /** Common device info cache struct. */ | |
| typedef struct _lscp_device_info_t | | typedef struct _lscp_device_info_t | |
| { | | { | |
|
| char * driver; | | char * driver; | |
| lscp_param_t *params; | | lscp_param_t *params; | |
| | | | |
| } lscp_device_info_t; | | } lscp_device_info_t; | |
| | | | |
| /** Common device channel/port info cache struct. */ | | /** Common device channel/port info cache struct. */ | |
| typedef struct _lscp_device_port_info_t | | typedef struct _lscp_device_port_info_t | |
| { | | { | |
|
| char * name; | | char * name; | |
| lscp_param_t *params; | | lscp_param_t *params; | |
| | | | |
| } lscp_device_port_info_t; | | } lscp_device_port_info_t; | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| // Audio driver control functions. | | // Audio driver control functions. | |
| | | | |
| int lscp_get_available_audio_drivers (lscp_client_t
*pClient); | | int lscp_get_available_audio_drivers (lscp_client_t
*pClient); | |
| const char ** lscp_list_available_audio_drivers (lscp_client_t
*pClient); | | const char ** lscp_list_available_audio_drivers (lscp_client_t
*pClient); | |
| | | | |
| lscp_driver_info_t * lscp_get_audio_driver_info (lscp_client_t *pCl
ient, const char *pszAudioDriver); | | lscp_driver_info_t * lscp_get_audio_driver_info (lscp_client_t *pCl
ient, const char *pszAudioDriver); | |
| | | | |
End of changes. 6 change blocks. |
| 24 lines changed or deleted | | 24 lines changed or added | |
|
| event.h | | event.h | |
| | | | |
| skipping to change at line 35 | | skipping to change at line 35 | |
| | | | |
| #include "lscp/socket.h" | | #include "lscp/socket.h" | |
| | | | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
| /** Subscribable event notification bit-wise flags. */ | | /** Subscribable event notification bit-wise flags. */ | |
| typedef enum _lscp_event_t | | typedef enum _lscp_event_t | |
| { | | { | |
|
| LSCP_EVENT_NONE = 0x0000, | | LSCP_EVENT_NONE = 0x0000, | |
| LSCP_EVENT_CHANNEL_COUNT = 0x0001, | | LSCP_EVENT_CHANNEL_COUNT = 0x0001, | |
| LSCP_EVENT_VOICE_COUNT = 0x0002, | | LSCP_EVENT_VOICE_COUNT = 0x0002, | |
| LSCP_EVENT_STREAM_COUNT = 0x0004, | | LSCP_EVENT_STREAM_COUNT = 0x0004, | |
| LSCP_EVENT_BUFFER_FILL = 0x0008, | | LSCP_EVENT_BUFFER_FILL = 0x0008, | |
| LSCP_EVENT_CHANNEL_INFO = 0x0010, | | LSCP_EVENT_CHANNEL_INFO = 0x0010, | |
| LSCP_EVENT_TOTAL_VOICE_COUNT = 0x0020, | | LSCP_EVENT_TOTAL_VOICE_COUNT = 0x0020, | |
| LSCP_EVENT_MISCELLANEOUS = 0x1000 | | LSCP_EVENT_MISCELLANEOUS = 0x1000 | |
| | | | |
| } lscp_event_t; | | } lscp_event_t; | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| // Simple event helper functions. | | // Simple event helper functions. | |
| | | | |
| const char * lscp_event_to_text ( lscp_event_t event ); | | const char * lscp_event_to_text ( lscp_event_t event ); | |
| lscp_event_t lscp_event_from_text ( const char *pszText ); | | lscp_event_t lscp_event_from_text ( const char *pszText ); | |
| | | | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) | |
| | | | |
End of changes. 1 change blocks. |
| 8 lines changed or deleted | | 8 lines changed or added | |
|
| socket.h | | socket.h | |
| | | | |
| skipping to change at line 69 | | skipping to change at line 69 | |
| void lscp_socket_herror (const char *pszPrefix); | | void lscp_socket_herror (const char *pszPrefix); | |
| | | | |
| void lscp_socket_getopts (const char *pszPrefix, lscp_socket_t sock); | | void lscp_socket_getopts (const char *pszPrefix, lscp_socket_t sock); | |
| void lscp_socket_trace (const char *pszPrefix, struct sockaddr_in *pAddr,
const char *pchBuffer, int cchBuffer); | | void lscp_socket_trace (const char *pszPrefix, struct sockaddr_in *pAddr,
const char *pchBuffer, int cchBuffer); | |
| | | | |
| //------------------------------------------------------------------------- | | //------------------------------------------------------------------------- | |
| // Threaded socket agent struct helpers. | | // Threaded socket agent struct helpers. | |
| | | | |
| typedef struct _lscp_socket_agent_t { | | typedef struct _lscp_socket_agent_t { | |
| | | | |
|
| lscp_socket_t sock; | | lscp_socket_t sock; | |
| struct sockaddr_in addr; | | struct sockaddr_in addr; | |
| lscp_thread_t *pThread; | | lscp_thread_t *pThread; | |
| int iState; | | int iState; | |
| | | | |
| } lscp_socket_agent_t; | | } lscp_socket_agent_t; | |
| | | | |
| void lscp_socket_agent_init (lscp_socket_agent_t *pAgent, lscp_so
cket_t sock, struct sockaddr_in *pAddr, int cAddr); | | void lscp_socket_agent_init (lscp_socket_agent_t *pAgent, lscp_so
cket_t sock, struct sockaddr_in *pAddr, int cAddr); | |
| lscp_status_t lscp_socket_agent_start (lscp_socket_agent_t *pAgent, lscp_th
read_proc_t pfnProc, void *pvData, int iDetach); | | lscp_status_t lscp_socket_agent_start (lscp_socket_agent_t *pAgent, lscp_th
read_proc_t pfnProc, void *pvData, int iDetach); | |
| lscp_status_t lscp_socket_agent_join (lscp_socket_agent_t *pAgent); | | lscp_status_t lscp_socket_agent_join (lscp_socket_agent_t *pAgent); | |
| lscp_status_t lscp_socket_agent_free (lscp_socket_agent_t *pAgent); | | lscp_status_t lscp_socket_agent_free (lscp_socket_agent_t *pAgent); | |
| | | | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) | |
| } | | } | |
| | | | |
End of changes. 1 change blocks. |
| 4 lines changed or deleted | | 4 lines changed or added | |
|