Chris@36
|
1
|
Chris@36
|
2 import vampyhost as vh
|
Chris@36
|
3
|
Chris@82
|
4 plugin_key = "vamp-test-plugin:vamp-test-plugin"
|
Chris@36
|
5
|
Chris@82
|
6 plugin_key_freq = "vamp-test-plugin:vamp-test-plugin-freq"
|
Chris@63
|
7
|
Chris@36
|
8 rate = 44100
|
Chris@36
|
9
|
Chris@62
|
10 expectedVersion = 3
|
Chris@62
|
11
|
Chris@62
|
12 def test_plugin_exists():
|
Chris@82
|
13 assert plugin_key in vh.list_plugins()
|
Chris@82
|
14 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@109
|
15 assert "pluginVersion" in plug.info
|
Chris@109
|
16 if plug.info["pluginVersion"] != expectedVersion:
|
Chris@109
|
17 print("Test plugin version " + str(plug.info["pluginVersion"]) + " does not match expected version " + str(expectedVersion))
|
Chris@109
|
18 assert plug.info["pluginVersion"] == expectedVersion
|
Chris@62
|
19
|
Chris@63
|
20 def test_plugin_exists_in_freq_version():
|
Chris@82
|
21 assert plugin_key_freq in vh.list_plugins()
|
Chris@63
|
22
|
Chris@43
|
23 def test_getoutputlist():
|
Chris@82
|
24 outputs = vh.get_outputs_of(plugin_key)
|
Chris@62
|
25 assert len(outputs) == 10
|
Chris@45
|
26 assert "input-summary" in outputs
|
Chris@43
|
27
|
Chris@86
|
28 def test_getoutputlist_2():
|
Chris@86
|
29 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@86
|
30 outputs = plug.get_outputs()
|
Chris@86
|
31 assert len(outputs) == 10
|
Chris@86
|
32
|
Chris@86
|
33 def test_get_output_by_id():
|
Chris@86
|
34 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@86
|
35 out = plug.get_output("input-summary")
|
Chris@111
|
36 assert "sampleType" in out
|
Chris@87
|
37 assert out["output_index"] == 8
|
Chris@86
|
38 try:
|
Chris@86
|
39 out = plug.get_output("chops")
|
Chris@86
|
40 assert False
|
Chris@102
|
41 except Exception:
|
Chris@86
|
42 pass
|
Chris@86
|
43 try:
|
Chris@86
|
44 out = plug.get_output("")
|
Chris@86
|
45 assert False
|
Chris@102
|
46 except Exception:
|
Chris@86
|
47 pass
|
Chris@86
|
48
|
Chris@86
|
49 def test_get_output_by_index():
|
Chris@86
|
50 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@86
|
51 out = plug.get_output(0)
|
Chris@111
|
52 assert "sampleType" in out
|
Chris@86
|
53 assert out["identifier"] == "instants"
|
Chris@87
|
54 assert out["output_index"] == 0
|
Chris@86
|
55 try:
|
Chris@86
|
56 out = plug.get_output(20)
|
Chris@86
|
57 assert False
|
Chris@102
|
58 except Exception:
|
Chris@86
|
59 pass
|
Chris@86
|
60 try:
|
Chris@86
|
61 out = plug.get_output(-1)
|
Chris@86
|
62 assert False
|
Chris@102
|
63 except Exception:
|
Chris@86
|
64 pass
|
Chris@86
|
65 try:
|
Chris@86
|
66 out = plug.get_output(plug)
|
Chris@86
|
67 assert False
|
Chris@102
|
68 except Exception:
|
Chris@86
|
69 pass
|
Chris@86
|
70
|
Chris@36
|
71 def test_inputdomain():
|
Chris@82
|
72 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@110
|
73 assert plug.inputDomain == vh.TIME_DOMAIN
|
Chris@36
|
74
|
Chris@36
|
75 def test_info():
|
Chris@82
|
76 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@39
|
77 assert plug.info["identifier"] == "vamp-test-plugin"
|
Chris@36
|
78
|
Chris@36
|
79 def test_parameterdescriptors():
|
Chris@82
|
80 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@39
|
81 assert plug.parameters[0]["identifier"] == "produce_output"
|
Chris@139
|
82
|
Chris@139
|
83 def test_timestamp_method_fail():
|
Chris@139
|
84 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@139
|
85 try:
|
Chris@139
|
86 plug.set_process_timestamp_method(vh.SHIFT_DATA)
|
Chris@139
|
87 assert False
|
Chris@139
|
88 except Exception:
|
Chris@139
|
89 pass
|
Chris@139
|
90
|
Chris@139
|
91 def test_timestamp_method_fail2():
|
Chris@139
|
92 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_INPUT_DOMAIN)
|
Chris@139
|
93 # Not a freq-domain plugin: shouldn't throw, but should return false
|
Chris@139
|
94 assert (not plug.set_process_timestamp_method(vh.SHIFT_DATA))
|
Chris@139
|
95
|
Chris@139
|
96 def test_timestamp_method_succeed():
|
Chris@139
|
97 plug = vh.load_plugin(plugin_key_freq, rate, vh.ADAPT_INPUT_DOMAIN)
|
Chris@139
|
98 assert plug.set_process_timestamp_method(vh.SHIFT_DATA)
|
Chris@36
|
99
|
Chris@51
|
100 def test_setparameter():
|
Chris@82
|
101 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
|
Chris@51
|
102 assert plug.parameters[0]["identifier"] == "produce_output"
|
Chris@109
|
103 assert plug.parameters[0]["defaultValue"] == 1
|
Chris@109
|
104 assert plug.get_parameter_value("produce_output") == plug.parameters[0]["defaultValue"]
|
Chris@80
|
105 assert plug.set_parameter_value("produce_output", 0) == True
|
Chris@80
|
106 assert plug.get_parameter_value("produce_output") == 0
|
Chris@80
|
107 assert plug.set_parameter_values({ "produce_output": 1 }) == True
|
Chris@80
|
108 assert plug.get_parameter_value("produce_output") == 1
|
Chris@51
|
109 try:
|
Chris@80
|
110 plug.set_parameter_value("produce_output", "fish")
|
Chris@51
|
111 assert False
|
Chris@51
|
112 except TypeError:
|
Chris@51
|
113 pass
|
Chris@51
|
114 try:
|
Chris@80
|
115 plug.set_parameter_value(4, 0)
|
Chris@51
|
116 assert False
|
Chris@51
|
117 except TypeError:
|
Chris@51
|
118 pass
|
Chris@51
|
119 try:
|
Chris@80
|
120 plug.set_parameter_value("steak", 0)
|
Chris@51
|
121 assert False
|
Chris@102
|
122 except Exception:
|
Chris@51
|
123 pass
|
Chris@51
|
124 try:
|
Chris@80
|
125 plug.get_parameter_value(4)
|
Chris@51
|
126 assert False
|
Chris@51
|
127 except TypeError:
|
Chris@51
|
128 pass
|
Chris@51
|
129 try:
|
Chris@80
|
130 plug.get_parameter_value("steak")
|
Chris@51
|
131 assert False
|
Chris@102
|
132 except Exception:
|
Chris@51
|
133 pass
|
Chris@51
|
134
|