Esempio n. 1
0
bool LSThread::pingLinuxsampler()/*{{{*/
{
	lscp_client_t* client = ::lscp_client_create(config.lsClientHost.toUtf8().constData(), config.lsClientPort, lscp_client_callback, NULL);
	if(client == NULL)
		return false;
	lscp_server_info_t* info = lscp_get_server_info(client);
	if(info == NULL)
	{
		return false;
	}
	else
	{
		QString version(info->version);
		qDebug("LSThread::pingLinuxsampler: Description: %s, Version: %s, Protocol Version: %s\n", info->description, info->version, info->protocol_version);
		if(version.startsWith("1.0.0.svn"))
			return true;
		else
		{
			qDebug("LSThread::pingLinuxsampler: LinuxSampler started but incorrect Version tag: %s", info->version);
			return false;
		}
	}
	return true;
}/*}}}*/
Esempio n. 2
0
void client_test_all ( lscp_client_t *pClient, int step )
{
    const char **ppszAudioDrivers, **ppszMidiDrivers, **ppszEngines;
    const char *pszAudioDriver, *pszMidiDriver, *pszEngine;
    int iAudioDriver, iMidiDriver, iEngine;
    int iAudio, iAudioDevice, iMidi, iMidiDevice;
    int iNewAudioDevice, iNewMidiDevice;
    int *piAudioDevices, *piMidiDevices;

    g_test_step  = step;
    g_test_count = 0;
    g_test_fails = 0;

    CLIENT_TEST(pClient, server_info, lscp_get_server_info(pClient));

    CLIENT_TEST(pClient, int, lscp_get_available_audio_drivers(pClient));
    CLIENT_TEST(pClient, szsplit, ppszAudioDrivers = lscp_list_available_audio_drivers(pClient));
    if (ppszAudioDrivers == NULL) {
        fprintf(stderr, "client_test: No audio drivers available.\n");
        return;
    }

    CLIENT_TEST(pClient, int, lscp_get_available_midi_drivers(pClient));
    CLIENT_TEST(pClient, szsplit, ppszMidiDrivers = lscp_list_available_midi_drivers(pClient));
    if (ppszMidiDrivers == NULL) {
        fprintf(stderr, "client_test: No MIDI drivers available.\n");
        return;
    }

    CLIENT_TEST(pClient, int, lscp_get_available_engines(pClient));
    CLIENT_TEST(pClient, szsplit, ppszEngines = lscp_list_available_engines(pClient));
    if (ppszEngines == NULL) {
        fprintf(stderr, "client_test: No engines available.\n");
        return;
    }

    for (iAudioDriver = 0; ppszAudioDrivers[iAudioDriver]; iAudioDriver++) {
        pszAudioDriver = ppszAudioDrivers[iAudioDriver];
        client_test_audio_driver(pClient, pszAudioDriver);
        CLIENT_TEST(pClient, int, iNewAudioDevice = lscp_create_audio_device(pClient, pszAudioDriver, NULL));
        CLIENT_TEST(pClient, int, lscp_get_audio_devices(pClient));
        CLIENT_TEST(pClient, isplit, piAudioDevices = lscp_list_audio_devices(pClient));
        for (iAudio = 0; piAudioDevices && piAudioDevices[iAudio] >= 0; iAudio++) {
            iAudioDevice = piAudioDevices[iAudio];
            client_test_audio_device(pClient, iAudioDevice);
            for (iMidiDriver = 0; ppszMidiDrivers[iMidiDriver]; iMidiDriver++) {
                pszMidiDriver = ppszMidiDrivers[iMidiDriver];
                client_test_midi_driver(pClient, pszMidiDriver);
                CLIENT_TEST(pClient, int, iNewMidiDevice = lscp_create_midi_device(pClient, pszMidiDriver, NULL));
                CLIENT_TEST(pClient, int, lscp_get_midi_devices(pClient));
                CLIENT_TEST(pClient, isplit, piMidiDevices = lscp_list_midi_devices(pClient));
                for (iMidi = 0; piMidiDevices && piMidiDevices[iMidi] >= 0; iMidi++) {
                    iMidiDevice = piMidiDevices[iMidi];
                    client_test_midi_device(pClient, iMidiDevice);
                    for (iEngine = 0; ppszEngines[iEngine]; iEngine++) {
                        pszEngine = ppszEngines[iEngine];
                        client_test_engine(pClient, pszEngine, pszAudioDriver, iAudioDevice, pszMidiDriver, iMidiDevice);
                    }
                }
                CLIENT_TEST(pClient, status, lscp_destroy_midi_device(pClient, iNewMidiDevice));
            }
        }
        CLIENT_TEST(pClient, status, lscp_destroy_audio_device(pClient, iNewAudioDevice));
    }

    CLIENT_TEST(pClient, status, lscp_reset_sampler(pClient));
    
    printf("\n\n");
    printf("  Total: %d tests, %d failed.\n\n", g_test_count, g_test_fails);
}