--- liblscp/trunk/examples/example_client.c 2004/06/24 18:25:11 144 +++ liblscp/trunk/examples/example_client.c 2004/07/05 16:26:44 171 @@ -32,18 +32,18 @@ //////////////////////////////////////////////////////////////////////// -lscp_status_t client_callback ( lscp_client_t *pClient, lscp_event_t event, const char *pchBuffer, int cchBuffer, void *pvData ) +lscp_status_t client_callback ( lscp_client_t *pClient, lscp_event_t event, const char *pchData, int cchData, void *pvData ) { - lscp_status_t ret = LSCP_OK; + lscp_status_t ret = LSCP_FAILED; - char *pszBuffer = (char *) malloc(cchBuffer + 1); - if (pszBuffer) { - memcpy(pszBuffer, pchBuffer, cchBuffer); - pszBuffer[cchBuffer] = (char) 0; - printf("client_callback: event=0x%04x [%s]\n", (unsigned int) event, pszBuffer); - free(pszBuffer); + char *pszData = (char *) malloc(cchData + 1); + if (pszData) { + memcpy(pszData, pchData, cchData); + pszData[cchData] = (char) 0; + printf("client_callback: event=%s (0x%04x) [%s]\n", lscp_event_to_text(event), (int) event, pszData); + free(pszData); + ret = LSCP_OK; } - else ret = LSCP_FAILED; return ret; } @@ -65,6 +65,7 @@ const char **ppszAudioDrivers, **ppszMidiDrivers, **ppszEngines; const char *pszAudioDriver, *pszMidiDriver, *pszEngine; int iAudioDriver, iMidiDriver, iEngine; + int iAudioDevice, iMidiDevice; int iSamplerChannel; CLIENT_TEST(pClient, ppszAudioDrivers = lscp_get_available_audio_drivers(pClient)); @@ -95,10 +96,16 @@ pszAudioDriver = ppszAudioDrivers[iAudioDriver]; printf("\n--- pszAudioDriver=\"%s\" ---\n", pszAudioDriver); CLIENT_TEST(pClient, lscp_get_audio_driver_info(pClient, pszAudioDriver)); + CLIENT_TEST(pClient, lscp_get_audio_driver_param_info(pClient, pszAudioDriver, "active", NULL)); + CLIENT_TEST(pClient, iAudioDevice = lscp_create_audio_device(pClient, pszAudioDriver, NULL)); + CLIENT_TEST(pClient, lscp_get_audio_device_info(pClient, iAudioDevice)); for (iMidiDriver = 0; ppszMidiDrivers[iMidiDriver]; iMidiDriver++) { pszMidiDriver = ppszMidiDrivers[iMidiDriver]; printf("\n--- pszMidiDriver=\"%s\" ---\n", pszMidiDriver); CLIENT_TEST(pClient, lscp_get_midi_driver_info(pClient, pszMidiDriver)); + CLIENT_TEST(pClient, lscp_get_midi_driver_param_info(pClient, pszMidiDriver, "active", NULL)); + CLIENT_TEST(pClient, iMidiDevice = lscp_create_midi_device(pClient, pszMidiDriver, NULL)); + CLIENT_TEST(pClient, lscp_get_midi_device_info(pClient, iMidiDevice)); for (iEngine = 0; ppszEngines[iEngine]; iEngine++) { pszEngine = ppszEngines[iEngine]; printf("\n--- pszEngine=\"%s\" ---\n", pszEngine); @@ -112,6 +119,7 @@ CLIENT_TEST(pClient, lscp_load_instrument(pClient, "DefaultInstrument.gig", 0, iSamplerChannel)); CLIENT_TEST(pClient, lscp_get_channel_voice_count(pClient, iSamplerChannel)); CLIENT_TEST(pClient, lscp_get_channel_stream_count(pClient, iSamplerChannel)); + CLIENT_TEST(pClient, lscp_get_channel_stream_usage(pClient, iSamplerChannel)); CLIENT_TEST(pClient, lscp_get_channel_buffer_fill(pClient, LSCP_USAGE_BYTES, iSamplerChannel)); CLIENT_TEST(pClient, lscp_get_channel_buffer_fill(pClient, LSCP_USAGE_PERCENTAGE, iSamplerChannel)); CLIENT_TEST(pClient, lscp_set_channel_audio_type(pClient, iSamplerChannel, pszAudioDriver)); @@ -127,7 +135,9 @@ CLIENT_TEST(pClient, lscp_remove_channel(pClient, iSamplerChannel)); printf("\n"); } + CLIENT_TEST(pClient, lscp_destroy_midi_device(pClient, iMidiDevice)); } + CLIENT_TEST(pClient, lscp_destroy_audio_device(pClient, iAudioDevice)); } } @@ -184,10 +194,10 @@ break; else if (strcmp(szLine, "subscribe") == 0) - lscp_client_subscribe(pClient, LSCP_EVENT_CHANNELS | LSCP_EVENT_CHANNEL_INFO); + lscp_client_subscribe(pClient, LSCP_EVENT_MISCELLANEOUS); else if (strcmp(szLine, "unsubscribe") == 0) - lscp_client_unsubscribe(pClient, LSCP_EVENT_CHANNELS | LSCP_EVENT_CHANNEL_INFO); + lscp_client_unsubscribe(pClient, LSCP_EVENT_MISCELLANEOUS); else if (strcmp(szLine, "test") == 0) client_test(pClient);