137 |
default: pszType = "NONE"; break; |
default: pszType = "NONE"; break; |
138 |
} |
} |
139 |
printf("{\n"); |
printf("{\n"); |
140 |
printf(" param_info.type = %d (%s)\n", (int) pParamInfo->type, pszType); |
printf(" param_info.type = %d (%s)\n", (int) pParamInfo->type, pszType); |
141 |
printf(" param_info.description = %s\n", pParamInfo->description); |
printf(" param_info.description = %s\n", pParamInfo->description); |
142 |
printf(" param_info.mandatory = %d\n", pParamInfo->mandatory); |
printf(" param_info.mandatory = %d\n", pParamInfo->mandatory); |
143 |
printf(" param_info.fix = %d\n", pParamInfo->fix); |
printf(" param_info.fix = %d\n", pParamInfo->fix); |
144 |
printf(" param_info.multiplicity = %d\n", pParamInfo->multiplicity); |
printf(" param_info.multiplicity = %d\n", pParamInfo->multiplicity); |
145 |
printf(" param_info.depends = "); client_test_szsplit(pParamInfo->depends); |
printf(" param_info.depends = "); client_test_szsplit(pParamInfo->depends); |
146 |
printf(" param_info.defaultv = %s\n", pParamInfo->defaultv); |
printf(" param_info.defaultv = %s\n", pParamInfo->defaultv); |
147 |
printf(" param_info.range_min = %s\n", pParamInfo->range_min); |
printf(" param_info.range_min = %s\n", pParamInfo->range_min); |
148 |
printf(" param_info.range_max = %s\n", pParamInfo->range_max); |
printf(" param_info.range_max = %s\n", pParamInfo->range_max); |
149 |
printf(" param_info.possibilities = "); client_test_szsplit(pParamInfo->possibilities); |
printf(" param_info.possibilities = "); client_test_szsplit(pParamInfo->possibilities); |
150 |
printf(" }\n"); |
printf(" }\n"); |
151 |
return 0; |
return 0; |
152 |
} |
} |
159 |
return 1; |
return 1; |
160 |
} |
} |
161 |
printf("{\n"); |
printf("{\n"); |
162 |
printf(" driver_info.description = %s\n", pDriverInfo->description); |
printf(" driver_info.description = %s\n", pDriverInfo->description); |
163 |
printf(" driver_info.version = %s\n", pDriverInfo->version); |
printf(" driver_info.version = %s\n", pDriverInfo->version); |
164 |
printf(" driver_info.parameters = "); client_test_szsplit(pDriverInfo->parameters); |
printf(" driver_info.parameters = "); client_test_szsplit(pDriverInfo->parameters); |
165 |
printf(" }\n"); |
printf(" }\n"); |
166 |
return 0; |
return 0; |
167 |
} |
} |
174 |
return 1; |
return 1; |
175 |
} |
} |
176 |
printf("{\n"); |
printf("{\n"); |
177 |
printf(" device_info.driver = %s\n", pDeviceInfo->driver); |
printf(" device_info.driver = %s\n", pDeviceInfo->driver); |
178 |
printf(" device_info.params = "); client_test_params(pDeviceInfo->params); |
printf(" device_info.params = "); client_test_params(pDeviceInfo->params); |
179 |
printf(" }\n"); |
printf(" }\n"); |
180 |
return 0; |
return 0; |
181 |
} |
} |
188 |
return 1; |
return 1; |
189 |
} |
} |
190 |
printf("{\n"); |
printf("{\n"); |
191 |
printf(" device_port_info.name = %s\n", pDevicePortInfo->name); |
printf(" device_port_info.name = %s\n", pDevicePortInfo->name); |
192 |
printf(" device_port_info.params = "); client_test_params(pDevicePortInfo->params); |
printf(" device_port_info.params = "); client_test_params(pDevicePortInfo->params); |
193 |
printf(" }\n"); |
printf(" }\n"); |
194 |
return 0; |
return 0; |
195 |
} |
} |
202 |
return 1; |
return 1; |
203 |
} |
} |
204 |
printf("{\n"); |
printf("{\n"); |
205 |
printf(" server_info.description = %s\n", pServerInfo->description); |
printf(" server_info.description = %s\n", pServerInfo->description); |
206 |
printf(" server_info.version = %s\n", pServerInfo->version); |
printf(" server_info.version = %s\n", pServerInfo->version); |
207 |
printf(" }\n"); |
printf(" }\n"); |
208 |
return 0; |
return 0; |
209 |
} |
} |
216 |
return 1; |
return 1; |
217 |
} |
} |
218 |
printf("{\n"); |
printf("{\n"); |
219 |
printf(" engine_info.description = %s\n", pEngineInfo->description); |
printf(" engine_info.description = %s\n", pEngineInfo->description); |
220 |
printf(" engine_info.version = %s\n", pEngineInfo->version); |
printf(" engine_info.version = %s\n", pEngineInfo->version); |
221 |
printf(" }\n"); |
printf(" }\n"); |
222 |
return 0; |
return 0; |
223 |
} |
} |
260 |
} |
} |
261 |
|
|
262 |
|
|
263 |
|
int client_test_load_mode ( lscp_load_mode_t load_mode ) |
264 |
|
{ |
265 |
|
const char *pszLoadMode; |
266 |
|
|
267 |
|
switch (load_mode) { |
268 |
|
case LSCP_LOAD_ON_DEMAND: pszLoadMode = "ON_DEMAND"; break; |
269 |
|
case LSCP_LOAD_ON_DEMAND_HOLD: pszLoadMode = "ON_DEMAND_HOLD"; break; |
270 |
|
case LSCP_LOAD_PERSISTENT: pszLoadMode = "PERSISTENT"; break; |
271 |
|
default: pszLoadMode = "DEFAULT"; break; |
272 |
|
} |
273 |
|
printf("%s\n", pszLoadMode); |
274 |
|
return 0; |
275 |
|
} |
276 |
|
|
277 |
|
|
278 |
|
int client_test_midi_instrument_info ( lscp_midi_instrument_info_t *pInstrInfo ) |
279 |
|
{ |
280 |
|
if (pInstrInfo == NULL) { |
281 |
|
printf("(nil)\n"); |
282 |
|
return 1; |
283 |
|
} |
284 |
|
printf("{\n"); |
285 |
|
printf(" midi_instrument_info.name = %s\n", pInstrInfo->name); |
286 |
|
printf(" midi_instrument_info.engine_name = %s\n", pInstrInfo->engine_name); |
287 |
|
printf(" midi_instrument_info.instrument_file = %s\n", pInstrInfo->instrument_file); |
288 |
|
printf(" midi_instrument_info.instrument_nr = %d\n", pInstrInfo->instrument_nr); |
289 |
|
printf(" midi_instrument_info.instrument_name = %s\n", pInstrInfo->instrument_name); |
290 |
|
printf(" midi_instrument_info.load_mode = "); client_test_load_mode(pInstrInfo->load_mode); |
291 |
|
printf(" midi_instrument_info.volume = %g\n", pInstrInfo->volume); |
292 |
|
printf(" }\n"); |
293 |
|
return 0; |
294 |
|
} |
295 |
|
|
296 |
|
|
297 |
//////////////////////////////////////////////////////////////////////// |
//////////////////////////////////////////////////////////////////////// |
298 |
|
|
299 |
static int g_test_step = 0; |
static int g_test_step = 0; |
304 |
void client_test_start ( clock_t *pclk ) { *pclk = clock(); } |
void client_test_start ( clock_t *pclk ) { *pclk = clock(); } |
305 |
float client_test_elapsed ( clock_t *pclk ) { return (float) ((long) clock() - *pclk) / (float) CLOCKS_PER_SEC; } |
float client_test_elapsed ( clock_t *pclk ) { return (float) ((long) clock() - *pclk) / (float) CLOCKS_PER_SEC; } |
306 |
|
|
307 |
typedef int * isplit; |
typedef int * isplit; |
308 |
typedef char ** szsplit; |
typedef char ** szsplit; |
309 |
typedef lscp_status_t status; |
typedef lscp_status_t status; |
310 |
typedef lscp_driver_info_t * driver_info; |
typedef lscp_driver_info_t * driver_info; |
311 |
typedef lscp_device_info_t * device_info; |
typedef lscp_device_info_t * device_info; |
312 |
typedef lscp_device_port_info_t * device_port_info; |
typedef lscp_device_port_info_t * device_port_info; |
313 |
typedef lscp_param_info_t * param_info; |
typedef lscp_param_info_t * param_info; |
314 |
typedef lscp_server_info_t * server_info; |
typedef lscp_server_info_t * server_info; |
315 |
typedef lscp_engine_info_t * engine_info; |
typedef lscp_engine_info_t * engine_info; |
316 |
typedef lscp_channel_info_t * channel_info; |
typedef lscp_channel_info_t * channel_info; |
317 |
typedef lscp_buffer_fill_t * buffer_fill; |
typedef lscp_buffer_fill_t * buffer_fill; |
318 |
|
typedef lscp_midi_instrument_info_t *midi_instrument_info; |
319 |
|
|
320 |
#define CLIENT_TEST(p, t, x) { clock_t c; void *v; g_test_count++; \ |
#define CLIENT_TEST(p, t, x) { clock_t c; void *v; g_test_count++; \ |
321 |
printf("\n" #x ":\n"); client_test_start(&c); v = (void *) (x); \ |
printf("\n" #x ":\n"); client_test_start(&c); v = (void *) (x); \ |
330 |
void client_test_engine ( lscp_client_t *pClient, const char *pszEngine, const char *pszAudioDriver, int iAudioDevice, const char *pszMidiDriver, int iMidiDevice ) |
void client_test_engine ( lscp_client_t *pClient, const char *pszEngine, const char *pszAudioDriver, int iAudioDevice, const char *pszMidiDriver, int iMidiDevice ) |
331 |
{ |
{ |
332 |
int iSamplerChannel; |
int iSamplerChannel; |
333 |
|
lscp_midi_instrument_t midi_instr; |
334 |
|
|
335 |
printf("\n--- pszEngine=\"%s\" pszAudioDevice=\"%s\" iAudioDevice=%d pszMidiDevice=\"%s\" iMidiDevice=%d ---\n", pszEngine, pszAudioDriver, iAudioDevice, pszMidiDriver, iMidiDevice); |
printf("\n--- pszEngine=\"%s\" pszAudioDevice=\"%s\" iAudioDevice=%d pszMidiDevice=\"%s\" iMidiDevice=%d ---\n", pszEngine, pszAudioDriver, iAudioDevice, pszMidiDriver, iMidiDevice); |
336 |
CLIENT_TEST(pClient, engine_info, lscp_get_engine_info(pClient, pszEngine)); |
CLIENT_TEST(pClient, engine_info, lscp_get_engine_info(pClient, pszEngine)); |
337 |
|
CLIENT_TEST(pClient, int, lscp_get_total_voice_count(pClient)); |
338 |
|
CLIENT_TEST(pClient, int, lscp_get_total_voice_count_max(pClient)); |
339 |
CLIENT_TEST(pClient, int, lscp_get_channels(pClient)); |
CLIENT_TEST(pClient, int, lscp_get_channels(pClient)); |
340 |
CLIENT_TEST(pClient, isplit, lscp_list_channels(pClient)); |
CLIENT_TEST(pClient, isplit, lscp_list_channels(pClient)); |
341 |
CLIENT_TEST(pClient, int, iSamplerChannel = lscp_add_channel(pClient)); |
CLIENT_TEST(pClient, int, iSamplerChannel = lscp_add_channel(pClient)); |
361 |
CLIENT_TEST(pClient, channel_info, lscp_get_channel_info(pClient, iSamplerChannel)); |
CLIENT_TEST(pClient, channel_info, lscp_get_channel_info(pClient, iSamplerChannel)); |
362 |
CLIENT_TEST(pClient, status, lscp_reset_channel(pClient, iSamplerChannel)); |
CLIENT_TEST(pClient, status, lscp_reset_channel(pClient, iSamplerChannel)); |
363 |
CLIENT_TEST(pClient, status, lscp_remove_channel(pClient, iSamplerChannel)); |
CLIENT_TEST(pClient, status, lscp_remove_channel(pClient, iSamplerChannel)); |
364 |
|
|
365 |
|
midi_instr.bank_msb = 0; |
366 |
|
midi_instr.bank_lsb = 0; |
367 |
|
midi_instr.program = 0; |
368 |
|
printf("\n--- midi_instr={%d,%d,%d} ---\n", midi_instr.bank_msb, midi_instr.bank_lsb, midi_instr.program); |
369 |
|
CLIENT_TEST(pClient, status, lscp_map_midi_instrument(pClient, &midi_instr, pszEngine, "DefaultInstrument.gig", 0, 1.0f, LSCP_LOAD_ON_DEMAND, "DummyName")); |
370 |
|
CLIENT_TEST(pClient, int, lscp_get_midi_instruments(pClient)); |
371 |
|
CLIENT_TEST(pClient, midi_instrument_info, lscp_get_midi_instrument_info(pClient, &midi_instr)); |
372 |
|
CLIENT_TEST(pClient, status, lscp_unmap_midi_instrument(pClient, &midi_instr)); |
373 |
|
CLIENT_TEST(pClient, status, lscp_clear_midi_instruments(pClient)); |
374 |
} |
} |
375 |
|
|
376 |
|
|