Chris@36: Chris@36: import vampyhost as vh Chris@36: Chris@82: plugin_key = "vamp-test-plugin:vamp-test-plugin" Chris@36: Chris@82: plugin_key_freq = "vamp-test-plugin:vamp-test-plugin-freq" Chris@63: Chris@36: rate = 44100 Chris@36: Chris@62: expectedVersion = 3 Chris@62: Chris@62: def test_plugin_exists(): Chris@82: assert plugin_key in vh.list_plugins() Chris@82: plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE) Chris@83: assert "plugin_version" in plug.info Chris@83: if plug.info["plugin_version"] != expectedVersion: Chris@83: print("Test plugin version " + str(plug.info["plugin_version"]) + " does not match expected version " + str(expectedVersion)) Chris@83: assert plug.info["plugin_version"] == expectedVersion Chris@62: Chris@63: def test_plugin_exists_in_freq_version(): Chris@82: assert plugin_key_freq in vh.list_plugins() Chris@63: Chris@43: def test_getoutputlist(): Chris@82: outputs = vh.get_outputs_of(plugin_key) Chris@62: assert len(outputs) == 10 Chris@45: assert "input-summary" in outputs Chris@43: Chris@86: def test_getoutputlist_2(): Chris@86: plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE) Chris@86: outputs = plug.get_outputs() Chris@86: assert len(outputs) == 10 Chris@86: Chris@86: def test_get_output_by_id(): Chris@86: plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE) Chris@86: out = plug.get_output("input-summary") Chris@86: assert "sample_type" in out Chris@87: assert out["output_index"] == 8 Chris@86: try: Chris@86: out = plug.get_output("chops") Chris@86: assert False Chris@102: except Exception: Chris@86: pass Chris@86: try: Chris@86: out = plug.get_output("") Chris@86: assert False Chris@102: except Exception: Chris@86: pass Chris@86: Chris@86: def test_get_output_by_index(): Chris@86: plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE) Chris@86: out = plug.get_output(0) Chris@86: assert "sample_type" in out Chris@86: assert out["identifier"] == "instants" Chris@87: assert out["output_index"] == 0 Chris@86: try: Chris@86: out = plug.get_output(20) Chris@86: assert False Chris@102: except Exception: Chris@86: pass Chris@86: try: Chris@86: out = plug.get_output(-1) Chris@86: assert False Chris@102: except Exception: Chris@86: pass Chris@86: try: Chris@86: out = plug.get_output(plug) Chris@86: assert False Chris@102: except Exception: Chris@86: pass Chris@86: Chris@36: def test_inputdomain(): Chris@82: plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE) Chris@81: assert plug.input_domain == vh.TIME_DOMAIN Chris@36: Chris@36: def test_info(): Chris@82: plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE) Chris@39: assert plug.info["identifier"] == "vamp-test-plugin" Chris@36: Chris@36: def test_parameterdescriptors(): Chris@82: plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE) Chris@39: assert plug.parameters[0]["identifier"] == "produce_output" Chris@36: Chris@51: def test_setparameter(): Chris@82: plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE) Chris@51: assert plug.parameters[0]["identifier"] == "produce_output" Chris@83: assert plug.parameters[0]["default_value"] == 1 Chris@83: assert plug.get_parameter_value("produce_output") == plug.parameters[0]["default_value"] Chris@80: assert plug.set_parameter_value("produce_output", 0) == True Chris@80: assert plug.get_parameter_value("produce_output") == 0 Chris@80: assert plug.set_parameter_values({ "produce_output": 1 }) == True Chris@80: assert plug.get_parameter_value("produce_output") == 1 Chris@51: try: Chris@80: plug.set_parameter_value("produce_output", "fish") Chris@51: assert False Chris@51: except TypeError: Chris@51: pass Chris@51: try: Chris@80: plug.set_parameter_value(4, 0) Chris@51: assert False Chris@51: except TypeError: Chris@51: pass Chris@51: try: Chris@80: plug.set_parameter_value("steak", 0) Chris@51: assert False Chris@102: except Exception: Chris@51: pass Chris@51: try: Chris@80: plug.get_parameter_value(4) Chris@51: assert False Chris@51: except TypeError: Chris@51: pass Chris@51: try: Chris@80: plug.get_parameter_value("steak") Chris@51: assert False Chris@102: except Exception: Chris@51: pass Chris@51: