1
2
3
4 from ctypes import *
5
6 import sys, os
9 """
10 searches for a library with given names and returns a ctypes
11 .so/.dll library object if successful. if the library can not
12 be loaded, an assertion error will be thrown.
13
14 @type names: list of strings
15 @param names: one or more aliases for required libraries, e.g.
16 'SDL','SDL-1.2'.
17 @rtype: ctypes CDLL handle
18 """
19 import ctypes, os, sys
20 searchpaths = []
21 if os.name in ('posix', 'mac'):
22 if os.environ.has_key('LD_LIBRARY_PATH'):
23 searchpaths += os.environ['LD_LIBRARY_PATH'].split(os.pathsep)
24 searchpaths += [
25 '/usr/local/lib64',
26 '/usr/local/lib',
27 '/usr/lib64',
28 '/usr/lib',
29 ]
30 elif os.name == 'nt':
31 searchpaths += ['.']
32 if 'PATH' in os.environ:
33 searchpaths += os.environ['PATH'].split(os.pathsep)
34 else:
35 assert 0, "Unknown OS: %s" % os.name
36 if 'paths' in kw:
37 searchpaths += kw['paths']
38 for name in names:
39 if os.name == 'nt':
40 libname = name + '.dll'
41 elif sys.platform == 'darwin':
42 libname = 'lib' + name + '.dylib'
43 if 'version' in kw:
44 libname += '.' + kw['version']
45 else:
46 libname = 'lib' + name + '.so'
47 if 'version' in kw:
48 libname += '.' + kw['version']
49 m = None
50 for path in searchpaths:
51 if os.path.isdir(path):
52 libpath = os.path.join(path,libname)
53 if os.path.isfile(libpath):
54 m = ctypes.CDLL(libpath)
55 break
56 for filename in reversed(sorted(os.listdir(path))):
57 if filename.startswith(libname):
58 m = ctypes.CDLL(os.path.join(path,filename))
59 break
60 if m:
61 break
62 if m:
63 break
64 assert m, "libraries %s not found in %s" % (','.join(["'%s'" % a for a in names]),','.join(searchpaths))
65 return m
66
68 """
69 Opens a library by name and returns a handle object. See
70 {library.load} for more information.
71 """
72 return load_library(*args,**kwds)
73
74 -def dlsym(lib, name, restype, *args):
75 """
76 Retrieves a symbol from a library loaded by dlopen and
77 assigns correct result and argument types.
78
79 @param lib: Library object.
80 @type lib: ctypes.CDLL
81 @param name: Name of symbol.
82 @type name: str
83 @param restype: Type of function return value.
84 @param args: Types of function arguments.
85 """
86 if not lib:
87 return None
88 proc = getattr(lib,name)
89 proc.restype = restype
90 proc.argtypes = [argtype for argname,argtype in args]
91 proc.o_restype = restype
92 proc.o_args = args
93 return proc
94
97 """
98 A workaround to assign None to a CFUNCTYPE object.
99 """
100 if obj is None:
101 return None
102 from ctypes import _CFuncPtr
103 return _CFuncPtr.from_param(obj)
104
105 libzzub = dlopen("zzub", "0.3")
106
107
108 zzub_version = 15
109 zzub_buffer_size = 256
110
111
112 zzub_event_type_pre_flag = 16384
113 zzub_event_type_double_click = 0
114 zzub_event_type_new_plugin = 1
115 zzub_event_type_delete_plugin = 2
116 zzub_event_type_pre_delete_plugin = 9
117 zzub_event_type_disconnect = 3
118 zzub_event_type_connect = 4
119 zzub_event_type_plugin_changed = 30
120 zzub_event_type_parameter_changed = 7
121 zzub_event_type_set_tracks = 13
122 zzub_event_type_set_sequence_tracks = 23
123 zzub_event_type_set_sequence_event = 24
124 zzub_event_type_new_pattern = 25
125 zzub_event_type_delete_pattern = 26
126 zzub_event_type_pre_delete_pattern = 47
127 zzub_event_type_edit_pattern = 27
128 zzub_event_type_pattern_changed = 31
129 zzub_event_type_pattern_insert_rows = 42
130 zzub_event_type_pattern_remove_rows = 43
131 zzub_event_type_sequencer_add_track = 32
132 zzub_event_type_sequencer_remove_track = 33
133 zzub_event_type_sequencer_changed = 41
134 zzub_event_type_pre_disconnect = 34
135 zzub_event_type_pre_connect = 35
136 zzub_event_type_post_connect = 46
137 zzub_event_type_pre_set_tracks = 36
138 zzub_event_type_post_set_tracks = 45
139 zzub_event_type_envelope_changed = 37
140 zzub_event_type_slices_changed = 38
141 zzub_event_type_wave_changed = 39
142 zzub_event_type_delete_wave = 40
143 zzub_event_type_load_progress = 8
144 zzub_event_type_midi_control = 11
145 zzub_event_type_wave_allocated = 12
146 zzub_event_type_player_state_changed = 20
147 zzub_event_type_osc_message = 21
148 zzub_event_type_vu = 22
149 zzub_event_type_custom = 44
150 zzub_event_type_all = 255
151
152
153 zzub_player_state_playing = 0
154 zzub_player_state_stopped = 1
155 zzub_player_state_muted = 2
156 zzub_player_state_released = 3
157
158
159 zzub_parameter_type_note = 0
160 zzub_parameter_type_switch = 1
161 zzub_parameter_type_byte = 2
162 zzub_parameter_type_word = 3
163
164
165 zzub_wave_buffer_type_si16 = 0
166 zzub_wave_buffer_type_f32 = 1
167 zzub_wave_buffer_type_si32 = 2
168 zzub_wave_buffer_type_si24 = 3
169
170
171 zzub_oscillator_type_sine = 0
172 zzub_oscillator_type_sawtooth = 1
173 zzub_oscillator_type_pulse = 2
174 zzub_oscillator_type_triangle = 3
175 zzub_oscillator_type_noise = 4
176 zzub_oscillator_type_sawtooth_303 = 5
177
178
179 zzub_note_value_none = 0
180 zzub_note_value_off = 255
181 zzub_note_value_min = 1
182 zzub_note_value_max = 156
183 zzub_note_value_c4 = 65
184
185
186 zzub_switch_value_none = 255
187 zzub_switch_value_off = 0
188 zzub_switch_value_on = 1
189
190
191 zzub_wavetable_index_value_none = 0
192 zzub_wavetable_index_value_min = 1
193 zzub_wavetable_index_value_max = 200
194
195
196 zzub_parameter_flag_wavetable_index = (1 << 0)
197 zzub_parameter_flag_state = (1 << 1)
198 zzub_parameter_flag_event_on_edit = (1 << 2)
199
200
201 zzub_plugin_flag_mono_to_stereo = (1 << 0)
202 zzub_plugin_flag_plays_waves = (1 << 1)
203 zzub_plugin_flag_uses_lib_interface = (1 << 2)
204 zzub_plugin_flag_uses_instruments = (1 << 3)
205 zzub_plugin_flag_does_input_mixing = (1 << 4)
206 zzub_plugin_flag_no_output = (1 << 5)
207 zzub_plugin_flag_control_plugin = (1 << 6)
208 zzub_plugin_flag_auxiliary = (1 << 7)
209 zzub_plugin_flag_is_root = (1 << 16)
210 zzub_plugin_flag_has_audio_input = (1 << 17)
211 zzub_plugin_flag_has_audio_output = (1 << 18)
212 zzub_plugin_flag_has_event_input = (1 << 19)
213 zzub_plugin_flag_has_event_output = (1 << 20)
214 zzub_plugin_flag_offline = (1 << 21)
215 zzub_plugin_flag_stream = (1 << 22)
216 zzub_plugin_flag_import = (1 << 25)
217 zzub_plugin_flag_has_midi_input = (1 << 23)
218 zzub_plugin_flag_has_midi_output = (1 << 24)
219 zzub_plugin_flag_no_undo = (1 << 25)
220 zzub_plugin_flag_no_save = (1 << 26)
221
222
223 zzub_state_flag_playing = 1
224 zzub_state_flag_recording = 2
225
226
227 zzub_wave_flag_loop = (1 << 0)
228 zzub_wave_flag_extended = (1 << 2)
229 zzub_wave_flag_stereo = (1 << 3)
230 zzub_wave_flag_pingpong = (1 << 4)
231 zzub_wave_flag_envelope = (1 << 7)
232
233
234 zzub_envelope_flag_sustain = (1 << 0)
235 zzub_envelope_flag_loop = (1 << 1)
236
237
238 zzub_process_mode_no_io = 0
239 zzub_process_mode_read = (1 << 0)
240 zzub_process_mode_write = (1 << 1)
241 zzub_process_mode_read_write = (1 << 0)|(1 << 1)
242
243
244 zzub_connection_type_audio = 0
245 zzub_connection_type_event = 1
246 zzub_connection_type_midi = 2
247
248
249 zzub_parameter_group_connection = 0
250 zzub_parameter_group_global = 1
251 zzub_parameter_group_track = 2
252
253
254 zzub_sequence_type_pattern = 0
255 zzub_sequence_type_wave = 1
256 zzub_sequence_type_automation = 2
258 """Plugin methods
259 Retreive more details about plugins."""
260 _fields_ = [
261 ]
262 _anonymous_ = [
263 ]
277 _fields_ = [
278 ("status", c_ubyte),
279 ("data1", c_ubyte),
280 ("data2", c_ubyte),
281 ]
282 _anonymous_ = [
283 ]
299 _fields_ = [
300 ("plugin", POINTER(zzub_plugin_t)),
301 ("group", c_int),
302 ("track", c_int),
303 ("param", c_int),
304 ("value", c_int),
305 ]
306 _anonymous_ = [
307 ]
321 _fields_ = [
322 ("path", c_char_p),
323 ("types", c_char_p),
324 ("argv", POINTER(c_void_p)),
325 ("argc", c_int),
326 ("msg", c_void_p),
327 ]
328 _anonymous_ = [
329 ]
331 _fields_ = [
332 ("size", c_int),
333 ("left_amp", c_float),
334 ("right_amp", c_float),
335 ("time", c_float),
336 ]
337 _anonymous_ = [
338 ]
380 _fields_ = [
381 ("plugin", POINTER(zzub_plugin_t)),
382 ("index", c_int),
383 ("group", c_int),
384 ("track", c_int),
385 ("column", c_int),
386 ("row", c_int),
387 ("value", c_int),
388 ]
389 _anonymous_ = [
390 ]
429 _fields_ = [
430 ("plugin", POINTER(zzub_plugin_t)),
431 ("index", c_int),
432 ("row", c_int),
433 ("rows", c_int),
434 ("column_indices", POINTER(c_int)),
435 ("indices", c_int),
436 ]
437 _anonymous_ = [
438 ]
440 _fields_ = [
441 ("plugin", POINTER(zzub_plugin_t)),
442 ("index", c_int),
443 ("row", c_int),
444 ("rows", c_int),
445 ("column_indices", POINTER(c_int)),
446 ("indices", c_int),
447 ]
448 _anonymous_ = [
449 ]
470 _fields_ = [
471 ("new_plugin", zzub_event_data_new_plugin_t),
472 ("delete_plugin", zzub_event_data_delete_plugin_t),
473 ("midi_message", zzub_event_data_midi_message_t),
474 ("connect_plugin", zzub_event_data_connect_t),
475 ("disconnect_plugin", zzub_event_data_connect_t),
476 ("plugin_changed", zzub_event_data_plugin_changed_t),
477 ("change_parameter", zzub_event_data_change_parameter_t),
478 ("set_tracks", zzub_event_data_set_tracks_t),
479 ("player_state_changed", zzub_event_data_player_state_changed_t),
480 ("osc_message", zzub_event_data_osc_message_t),
481 ("vu", zzub_event_data_vu_t),
482 ("serialize", zzub_event_data_serialize_t),
483 ("set_sequence_tracks", zzub_event_data_set_sequence_tracks_t),
484 ("set_sequence_event", zzub_event_data_set_sequence_event_t),
485 ("new_pattern", zzub_event_data_new_pattern_t),
486 ("delete_pattern", zzub_event_data_delete_pattern_t),
487 ("edit_pattern", zzub_event_data_edit_pattern_t),
488 ("pattern_changed", zzub_event_data_pattern_changed_t),
489 ("change_wave", zzub_event_data_change_wave_t),
490 ("delete_wave", zzub_event_data_delete_wave_t),
491 ("allocate_wavelevel", zzub_event_data_allocate_wavelevel_t),
492 ("pattern_insert_rows", zzub_event_data_pattern_insert_rows_t),
493 ("pattern_remove_rows", zzub_event_data_pattern_remove_rows_t),
494 ("custom", zzub_event_data_custom_t),
495 ("all", zzub_event_data_all_t),
496 ("unknown", zzub_event_data_unknown_t),
497 ]
507 """Audio Driver Methods
508 Configure and create an audio driver instance."""
509 _fields_ = [
510 ]
511 _anonymous_ = [
512 ]
514 """MIDI Driver Methods
515 Open midi devices."""
516 _fields_ = [
517 ]
518 _anonymous_ = [
519 ]
521 """Plugin Collection Methods
522 For enumerating and configuring plugin collections."""
523 _fields_ = [
524 ]
525 _anonymous_ = [
526 ]
544 """Offline pattern methods
545 These functions are meant to help editing patterns. Note you cannot
546 retreive a direct zzub_pattern_t object for a "live pattern". You can
547 however, use zzub_plugin_get_pattern to retreive copies of live patterns,
548 and then call zzub_plugin_update_pattern to write the changed pattern back
549 to the engine.
550 Alternately, zzub_plugin_get_pattern_value/zzub_plugin_set_pattern_value
551 can also be used to edit single values in live patterns."""
552 _fields_ = [
553 ]
554 _anonymous_ = [
555 ]
557 """Parameter methods
558 Retreive more details from zzub_parameter_t objects."""
559 _fields_ = [
560 ]
561 _anonymous_ = [
562 ]
564 """Attribute methods
565 Retreive more details from zzub_attribute_t objects."""
566 _fields_ = [
567 ]
568 _anonymous_ = [
569 ]
571 """Plugin loading methods
572 Retreive more details from zzub_pluginloader_t objects."""
573 _fields_ = [
574 ]
575 _anonymous_ = [
576 ]
590 """Memory and file streams - load/save from/to file/clipboard
591 Create file or memory data streams for use by e.g
592 zzub_wavetable_load_sample() and
593 zzub_player_load_bmx()/zzub_player_save_bmx().
594
595 In-memory streams are implemented via the zzub_archive_t object
596 and destroyed via zzub_archive_destroy().
597 File-streams are created with zzub_input_open_file and zzub_output_create_file()
598 and closed/destroyed with zzub_input_destroy() and zzub_output_destroy()."""
599 _fields_ = [
600 ]
601 _anonymous_ = [
602 ]
609 zzub_callback_t = CFUNCTYPE(c_int, POINTER(zzub_player_t), POINTER(zzub_plugin_t), POINTER(zzub_event_data_t), c_void_p)
610 zzub_callback_t.from_param = classmethod(callback_from_param)
611 zzub_mix_callback_t = CFUNCTYPE(None, POINTER(c_float), POINTER(c_float), c_int, c_void_p)
612 zzub_mix_callback_t.from_param = classmethod(callback_from_param)
613 zzub_audiodriver_create_portaudio = dlsym(libzzub, "zzub_audiodriver_create_portaudio", POINTER(zzub_audiodriver_t), ("player",POINTER(zzub_player_t)))
614 zzub_audiodriver_create_rtaudio = dlsym(libzzub, "zzub_audiodriver_create_rtaudio", POINTER(zzub_audiodriver_t), ("player",POINTER(zzub_player_t)))
615 zzub_audiodriver_create_silent = dlsym(libzzub, "zzub_audiodriver_create_silent", POINTER(zzub_audiodriver_t), ("player",POINTER(zzub_player_t)), ("name",c_char_p), ("out_channels",c_int), ("in_channels",c_int), ("supported_rates",POINTER(c_int)), ("num_rates",c_int))
616 zzub_audiodriver_create = dlsym(libzzub, "zzub_audiodriver_create", POINTER(zzub_audiodriver_t), ("player",POINTER(zzub_player_t)))
617 zzub_audiodriver_get_count = dlsym(libzzub, "zzub_audiodriver_get_count", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)))
618 zzub_audiodriver_get_name = dlsym(libzzub, "zzub_audiodriver_get_name", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)), ("index",c_int), ("name",c_char_p), ("max_len",c_int))
619 zzub_audiodriver_get_supported_samplerates = dlsym(libzzub, "zzub_audiodriver_get_supported_samplerates", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)), ("index",c_int), ("result",POINTER(c_int)), ("maxrates",c_int))
620 zzub_audiodriver_get_supported_output_channels = dlsym(libzzub, "zzub_audiodriver_get_supported_output_channels", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)), ("index",c_int))
621 zzub_audiodriver_get_supported_input_channels = dlsym(libzzub, "zzub_audiodriver_get_supported_input_channels", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)), ("index",c_int))
622 zzub_audiodriver_create_device = dlsym(libzzub, "zzub_audiodriver_create_device", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)), ("input_index",c_int), ("output_index",c_int))
623 zzub_audiodriver_enable = dlsym(libzzub, "zzub_audiodriver_enable", None, ("audiodriver", POINTER(zzub_audiodriver_t)), ("state",c_int))
624 zzub_audiodriver_get_enabled = dlsym(libzzub, "zzub_audiodriver_get_enabled", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)))
625 zzub_audiodriver_destroy = dlsym(libzzub, "zzub_audiodriver_destroy", None, ("audiodriver", POINTER(zzub_audiodriver_t)))
626 zzub_audiodriver_destroy_device = dlsym(libzzub, "zzub_audiodriver_destroy_device", None, ("audiodriver", POINTER(zzub_audiodriver_t)))
627 zzub_audiodriver_set_samplerate = dlsym(libzzub, "zzub_audiodriver_set_samplerate", None, ("audiodriver", POINTER(zzub_audiodriver_t)), ("samplerate",c_uint))
628 zzub_audiodriver_get_samplerate = dlsym(libzzub, "zzub_audiodriver_get_samplerate", c_uint, ("audiodriver", POINTER(zzub_audiodriver_t)))
629 zzub_audiodriver_set_buffersize = dlsym(libzzub, "zzub_audiodriver_set_buffersize", None, ("audiodriver", POINTER(zzub_audiodriver_t)), ("buffersize",c_uint))
630 zzub_audiodriver_get_buffersize = dlsym(libzzub, "zzub_audiodriver_get_buffersize", c_uint, ("audiodriver", POINTER(zzub_audiodriver_t)))
631 zzub_audiodriver_get_cpu_load = dlsym(libzzub, "zzub_audiodriver_get_cpu_load", c_double, ("audiodriver", POINTER(zzub_audiodriver_t)))
632 zzub_audiodriver_is_output = dlsym(libzzub, "zzub_audiodriver_is_output", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)), ("index",c_int))
633 zzub_audiodriver_is_input = dlsym(libzzub, "zzub_audiodriver_is_input", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)), ("index",c_int))
634 zzub_audiodriver_get_master_channel = dlsym(libzzub, "zzub_audiodriver_get_master_channel", c_int, ("audiodriver", POINTER(zzub_audiodriver_t)))
635 zzub_audiodriver_set_master_channel = dlsym(libzzub, "zzub_audiodriver_set_master_channel", None, ("audiodriver", POINTER(zzub_audiodriver_t)), ("index",c_int))
636 zzub_mididriver_get_count = dlsym(libzzub, "zzub_mididriver_get_count", c_int, ("player",POINTER(zzub_player_t)))
637 zzub_mididriver_get_name = dlsym(libzzub, "zzub_mididriver_get_name", c_char_p, ("player",POINTER(zzub_player_t)), ("index",c_int))
638 zzub_mididriver_is_input = dlsym(libzzub, "zzub_mididriver_is_input", c_int, ("player",POINTER(zzub_player_t)), ("index",c_int))
639 zzub_mididriver_is_output = dlsym(libzzub, "zzub_mididriver_is_output", c_int, ("player",POINTER(zzub_player_t)), ("index",c_int))
640 zzub_mididriver_open = dlsym(libzzub, "zzub_mididriver_open", c_int, ("player",POINTER(zzub_player_t)), ("index",c_int))
641 zzub_mididriver_close_all = dlsym(libzzub, "zzub_mididriver_close_all", c_int, ("player",POINTER(zzub_player_t)))
642 zzub_plugincollection_get_by_uri = dlsym(libzzub, "zzub_plugincollection_get_by_uri", POINTER(zzub_plugincollection_t), ("player",POINTER(zzub_player_t)), ("uri",c_char_p))
643 zzub_plugincollection_configure = dlsym(libzzub, "zzub_plugincollection_configure", None, ("plugincollection", POINTER(zzub_plugincollection_t)), ("key",c_char_p), ("value",c_char_p))
644 zzub_input_open_file = dlsym(libzzub, "zzub_input_open_file", POINTER(zzub_input_t), ("filename",c_char_p))
645 zzub_input_destroy = dlsym(libzzub, "zzub_input_destroy", None, ("input", POINTER(zzub_input_t)))
646 zzub_input_read = dlsym(libzzub, "zzub_input_read", None, ("input", POINTER(zzub_input_t)), ("buffer",POINTER(c_char)), ("bytes",c_int))
647 zzub_input_size = dlsym(libzzub, "zzub_input_size", c_int, ("input", POINTER(zzub_input_t)))
648 zzub_input_position = dlsym(libzzub, "zzub_input_position", c_int, ("input", POINTER(zzub_input_t)))
649 zzub_input_seek = dlsym(libzzub, "zzub_input_seek", None, ("input", POINTER(zzub_input_t)), ("pos",c_int), ("mode",c_int))
650 zzub_output_create_file = dlsym(libzzub, "zzub_output_create_file", POINTER(zzub_output_t), ("filename",c_char_p))
651 zzub_output_destroy = dlsym(libzzub, "zzub_output_destroy", None, ("output", POINTER(zzub_output_t)))
652 zzub_output_write = dlsym(libzzub, "zzub_output_write", None, ("output", POINTER(zzub_output_t)), ("buffer",POINTER(c_char)), ("bytes",c_int))
653 zzub_output_position = dlsym(libzzub, "zzub_output_position", c_int, ("output", POINTER(zzub_output_t)))
654 zzub_output_seek = dlsym(libzzub, "zzub_output_seek", None, ("output", POINTER(zzub_output_t)), ("pos",c_int), ("mode",c_int))
655 zzub_archive_create_memory = dlsym(libzzub, "zzub_archive_create_memory", POINTER(zzub_archive_t))
656 zzub_archive_get_output = dlsym(libzzub, "zzub_archive_get_output", POINTER(zzub_output_t), ("archive", POINTER(zzub_archive_t)), ("path",c_char_p))
657 zzub_archive_get_input = dlsym(libzzub, "zzub_archive_get_input", POINTER(zzub_input_t), ("archive", POINTER(zzub_archive_t)), ("path",c_char_p))
658 zzub_archive_destroy = dlsym(libzzub, "zzub_archive_destroy", None, ("archive", POINTER(zzub_archive_t)))
659 zzub_midimapping_get_plugin = dlsym(libzzub, "zzub_midimapping_get_plugin", c_int, ("midimapping", POINTER(zzub_midimapping_t)))
660 zzub_midimapping_get_group = dlsym(libzzub, "zzub_midimapping_get_group", c_int, ("midimapping", POINTER(zzub_midimapping_t)))
661 zzub_midimapping_get_track = dlsym(libzzub, "zzub_midimapping_get_track", c_int, ("midimapping", POINTER(zzub_midimapping_t)))
662 zzub_midimapping_get_column = dlsym(libzzub, "zzub_midimapping_get_column", c_int, ("midimapping", POINTER(zzub_midimapping_t)))
663 zzub_midimapping_get_channel = dlsym(libzzub, "zzub_midimapping_get_channel", c_int, ("midimapping", POINTER(zzub_midimapping_t)))
664 zzub_midimapping_get_controller = dlsym(libzzub, "zzub_midimapping_get_controller", c_int, ("midimapping", POINTER(zzub_midimapping_t)))
665 zzub_pattern_destroy = dlsym(libzzub, "zzub_pattern_destroy", None, ("pattern", POINTER(zzub_pattern_t)))
666 zzub_pattern_get_name = dlsym(libzzub, "zzub_pattern_get_name", None, ("pattern", POINTER(zzub_pattern_t)), ("name",c_char_p), ("maxLen",c_int))
667 zzub_pattern_set_name = dlsym(libzzub, "zzub_pattern_set_name", None, ("pattern", POINTER(zzub_pattern_t)), ("name",c_char_p))
668 zzub_pattern_get_row_count = dlsym(libzzub, "zzub_pattern_get_row_count", c_int, ("pattern", POINTER(zzub_pattern_t)))
669 zzub_pattern_get_group_count = dlsym(libzzub, "zzub_pattern_get_group_count", c_int, ("pattern", POINTER(zzub_pattern_t)))
670 zzub_pattern_get_track_count = dlsym(libzzub, "zzub_pattern_get_track_count", c_int, ("pattern", POINTER(zzub_pattern_t)), ("group",c_int))
671 zzub_pattern_get_column_count = dlsym(libzzub, "zzub_pattern_get_column_count", c_int, ("pattern", POINTER(zzub_pattern_t)), ("group",c_int), ("track",c_int))
672 zzub_pattern_get_value = dlsym(libzzub, "zzub_pattern_get_value", c_int, ("pattern", POINTER(zzub_pattern_t)), ("row",c_int), ("group",c_int), ("track",c_int), ("column",c_int))
673 zzub_pattern_set_value = dlsym(libzzub, "zzub_pattern_set_value", None, ("pattern", POINTER(zzub_pattern_t)), ("row",c_int), ("group",c_int), ("track",c_int), ("column",c_int), ("value",c_int))
674 zzub_pattern_interpolate = dlsym(libzzub, "zzub_pattern_interpolate", None, ("pattern", POINTER(zzub_pattern_t)))
675 zzub_parameter_get_type = dlsym(libzzub, "zzub_parameter_get_type", c_int, ("parameter", POINTER(zzub_parameter_t)))
676 zzub_parameter_get_name = dlsym(libzzub, "zzub_parameter_get_name", c_char_p, ("parameter", POINTER(zzub_parameter_t)))
677 zzub_parameter_get_description = dlsym(libzzub, "zzub_parameter_get_description", c_char_p, ("parameter", POINTER(zzub_parameter_t)))
678 zzub_parameter_get_value_min = dlsym(libzzub, "zzub_parameter_get_value_min", c_int, ("parameter", POINTER(zzub_parameter_t)))
679 zzub_parameter_get_value_max = dlsym(libzzub, "zzub_parameter_get_value_max", c_int, ("parameter", POINTER(zzub_parameter_t)))
680 zzub_parameter_get_value_none = dlsym(libzzub, "zzub_parameter_get_value_none", c_int, ("parameter", POINTER(zzub_parameter_t)))
681 zzub_parameter_get_value_default = dlsym(libzzub, "zzub_parameter_get_value_default", c_int, ("parameter", POINTER(zzub_parameter_t)))
682 zzub_parameter_get_flags = dlsym(libzzub, "zzub_parameter_get_flags", c_int, ("parameter", POINTER(zzub_parameter_t)))
683 zzub_attribute_get_name = dlsym(libzzub, "zzub_attribute_get_name", c_char_p, ("attribute", POINTER(zzub_attribute_t)))
684 zzub_attribute_get_value_min = dlsym(libzzub, "zzub_attribute_get_value_min", c_int, ("attribute", POINTER(zzub_attribute_t)))
685 zzub_attribute_get_value_max = dlsym(libzzub, "zzub_attribute_get_value_max", c_int, ("attribute", POINTER(zzub_attribute_t)))
686 zzub_attribute_get_value_default = dlsym(libzzub, "zzub_attribute_get_value_default", c_int, ("attribute", POINTER(zzub_attribute_t)))
687 zzub_pluginloader_get_name = dlsym(libzzub, "zzub_pluginloader_get_name", c_char_p, ("pluginloader", POINTER(zzub_pluginloader_t)))
688 zzub_pluginloader_get_short_name = dlsym(libzzub, "zzub_pluginloader_get_short_name", c_char_p, ("pluginloader", POINTER(zzub_pluginloader_t)))
689 zzub_pluginloader_get_parameter_count = dlsym(libzzub, "zzub_pluginloader_get_parameter_count", c_int, ("pluginloader", POINTER(zzub_pluginloader_t)), ("group",c_int))
690 zzub_pluginloader_get_parameter = dlsym(libzzub, "zzub_pluginloader_get_parameter", POINTER(zzub_parameter_t), ("pluginloader", POINTER(zzub_pluginloader_t)), ("group",c_int), ("index",c_int))
691 zzub_pluginloader_get_attribute_count = dlsym(libzzub, "zzub_pluginloader_get_attribute_count", c_int, ("pluginloader", POINTER(zzub_pluginloader_t)))
692 zzub_pluginloader_get_attribute = dlsym(libzzub, "zzub_pluginloader_get_attribute", POINTER(zzub_attribute_t), ("pluginloader", POINTER(zzub_pluginloader_t)), ("index",c_int))
693 zzub_pluginloader_get_loader_name = dlsym(libzzub, "zzub_pluginloader_get_loader_name", c_char_p, ("pluginloader", POINTER(zzub_pluginloader_t)))
694 zzub_pluginloader_get_flags = dlsym(libzzub, "zzub_pluginloader_get_flags", c_int, ("pluginloader", POINTER(zzub_pluginloader_t)))
695 zzub_pluginloader_get_uri = dlsym(libzzub, "zzub_pluginloader_get_uri", c_char_p, ("pluginloader", POINTER(zzub_pluginloader_t)))
696 zzub_pluginloader_get_author = dlsym(libzzub, "zzub_pluginloader_get_author", c_char_p, ("pluginloader", POINTER(zzub_pluginloader_t)))
697 zzub_pluginloader_get_instrument_list = dlsym(libzzub, "zzub_pluginloader_get_instrument_list", c_int, ("pluginloader", POINTER(zzub_pluginloader_t)), ("result",POINTER(c_char)), ("maxbytes",c_int))
698 zzub_pluginloader_get_tracks_min = dlsym(libzzub, "zzub_pluginloader_get_tracks_min", c_int, ("pluginloader", POINTER(zzub_pluginloader_t)))
699 zzub_pluginloader_get_tracks_max = dlsym(libzzub, "zzub_pluginloader_get_tracks_max", c_int, ("pluginloader", POINTER(zzub_pluginloader_t)))
700 zzub_pluginloader_get_stream_format_count = dlsym(libzzub, "zzub_pluginloader_get_stream_format_count", c_int, ("pluginloader", POINTER(zzub_pluginloader_t)))
701 zzub_pluginloader_get_stream_format_ext = dlsym(libzzub, "zzub_pluginloader_get_stream_format_ext", c_char_p, ("pluginloader", POINTER(zzub_pluginloader_t)), ("index",c_int))
702 zzub_plugin_destroy = dlsym(libzzub, "zzub_plugin_destroy", c_int, ("plugin", POINTER(zzub_plugin_t)))
703 zzub_plugin_load = dlsym(libzzub, "zzub_plugin_load", c_int, ("plugin", POINTER(zzub_plugin_t)), ("input",POINTER(zzub_input_t)))
704 zzub_plugin_save = dlsym(libzzub, "zzub_plugin_save", c_int, ("plugin", POINTER(zzub_plugin_t)), ("ouput",POINTER(zzub_output_t)))
705 zzub_plugin_set_name = dlsym(libzzub, "zzub_plugin_set_name", c_int, ("plugin", POINTER(zzub_plugin_t)), ("name",c_char_p))
706 zzub_plugin_get_name = dlsym(libzzub, "zzub_plugin_get_name", c_int, ("plugin", POINTER(zzub_plugin_t)), ("name",c_char_p), ("maxlen",c_int))
707 zzub_plugin_get_id = dlsym(libzzub, "zzub_plugin_get_id", c_int, ("plugin", POINTER(zzub_plugin_t)))
708 zzub_plugin_get_position = dlsym(libzzub, "zzub_plugin_get_position", None, ("plugin", POINTER(zzub_plugin_t)), ("x",POINTER(c_float)), ("y",POINTER(c_float)))
709 zzub_plugin_set_position = dlsym(libzzub, "zzub_plugin_set_position", None, ("plugin", POINTER(zzub_plugin_t)), ("x",c_float), ("y",c_float))
710 zzub_plugin_set_position_direct = dlsym(libzzub, "zzub_plugin_set_position_direct", None, ("plugin", POINTER(zzub_plugin_t)), ("x",c_float), ("y",c_float))
711 zzub_plugin_get_flags = dlsym(libzzub, "zzub_plugin_get_flags", c_int, ("plugin", POINTER(zzub_plugin_t)))
712 zzub_plugin_get_track_count = dlsym(libzzub, "zzub_plugin_get_track_count", c_int, ("plugin", POINTER(zzub_plugin_t)))
713 zzub_plugin_set_track_count = dlsym(libzzub, "zzub_plugin_set_track_count", None, ("plugin", POINTER(zzub_plugin_t)), ("count",c_int))
714 zzub_plugin_get_group_track_count = dlsym(libzzub, "zzub_plugin_get_group_track_count", c_int, ("plugin", POINTER(zzub_plugin_t)), ("group",c_int))
715 zzub_plugin_get_mute = dlsym(libzzub, "zzub_plugin_get_mute", c_int, ("plugin", POINTER(zzub_plugin_t)))
716 zzub_plugin_set_mute = dlsym(libzzub, "zzub_plugin_set_mute", None, ("plugin", POINTER(zzub_plugin_t)), ("muted",c_int))
717 zzub_plugin_get_bypass = dlsym(libzzub, "zzub_plugin_get_bypass", c_int, ("plugin", POINTER(zzub_plugin_t)))
718 zzub_plugin_configure = dlsym(libzzub, "zzub_plugin_configure", None, ("plugin", POINTER(zzub_plugin_t)), ("key",c_char_p), ("value",c_char_p))
719 zzub_plugin_set_bypass = dlsym(libzzub, "zzub_plugin_set_bypass", None, ("plugin", POINTER(zzub_plugin_t)), ("muted",c_int))
720 zzub_plugin_get_commands = dlsym(libzzub, "zzub_plugin_get_commands", c_int, ("plugin", POINTER(zzub_plugin_t)), ("commands",c_char_p), ("maxlen",c_int))
721 zzub_plugin_get_sub_commands = dlsym(libzzub, "zzub_plugin_get_sub_commands", c_int, ("plugin", POINTER(zzub_plugin_t)), ("i",c_int), ("commands",c_char_p), ("maxlen",c_int))
722 zzub_plugin_command = dlsym(libzzub, "zzub_plugin_command", None, ("plugin", POINTER(zzub_plugin_t)), ("i",c_int))
723 zzub_plugin_get_pluginloader = dlsym(libzzub, "zzub_plugin_get_pluginloader", POINTER(zzub_pluginloader_t), ("plugin", POINTER(zzub_plugin_t)))
724 zzub_plugin_get_midi_output_device_count = dlsym(libzzub, "zzub_plugin_get_midi_output_device_count", c_int, ("plugin", POINTER(zzub_plugin_t)))
725 zzub_plugin_get_midi_output_device = dlsym(libzzub, "zzub_plugin_get_midi_output_device", c_char_p, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
726 zzub_plugin_get_envelope_count = dlsym(libzzub, "zzub_plugin_get_envelope_count", c_int, ("plugin", POINTER(zzub_plugin_t)))
727 zzub_plugin_get_envelope_flags = dlsym(libzzub, "zzub_plugin_get_envelope_flags", c_int, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
728 zzub_plugin_get_envelope_name = dlsym(libzzub, "zzub_plugin_get_envelope_name", c_char_p, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
729 zzub_plugin_set_stream_source = dlsym(libzzub, "zzub_plugin_set_stream_source", None, ("plugin", POINTER(zzub_plugin_t)), ("resource",c_char_p))
730 zzub_plugin_set_instrument = dlsym(libzzub, "zzub_plugin_set_instrument", c_int, ("plugin", POINTER(zzub_plugin_t)), ("name",c_char_p))
731 zzub_plugin_create_range_pattern = dlsym(libzzub, "zzub_plugin_create_range_pattern", POINTER(zzub_pattern_t), ("player",POINTER(zzub_player_t)), ("columns",c_int), ("rows",c_int))
732 zzub_plugin_create_pattern = dlsym(libzzub, "zzub_plugin_create_pattern", POINTER(zzub_pattern_t), ("plugin", POINTER(zzub_plugin_t)), ("rows",c_int))
733 zzub_plugin_get_pattern_count = dlsym(libzzub, "zzub_plugin_get_pattern_count", c_int, ("plugin", POINTER(zzub_plugin_t)))
734 zzub_plugin_add_pattern = dlsym(libzzub, "zzub_plugin_add_pattern", None, ("plugin", POINTER(zzub_plugin_t)), ("pattern",POINTER(zzub_pattern_t)))
735 zzub_plugin_remove_pattern = dlsym(libzzub, "zzub_plugin_remove_pattern", None, ("plugin", POINTER(zzub_plugin_t)), ("pattern",c_int))
736 zzub_plugin_move_pattern = dlsym(libzzub, "zzub_plugin_move_pattern", None, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int), ("newIndex",c_int))
737 zzub_plugin_update_pattern = dlsym(libzzub, "zzub_plugin_update_pattern", None, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int), ("pattern",POINTER(zzub_pattern_t)))
738 zzub_plugin_get_pattern = dlsym(libzzub, "zzub_plugin_get_pattern", POINTER(zzub_pattern_t), ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
739 zzub_plugin_get_pattern_by_name = dlsym(libzzub, "zzub_plugin_get_pattern_by_name", c_int, ("plugin", POINTER(zzub_plugin_t)), ("name",c_char_p))
740 zzub_plugin_get_pattern_name = dlsym(libzzub, "zzub_plugin_get_pattern_name", c_char_p, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
741 zzub_plugin_set_pattern_name = dlsym(libzzub, "zzub_plugin_set_pattern_name", None, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int), ("name",c_char_p))
742 zzub_plugin_get_pattern_length = dlsym(libzzub, "zzub_plugin_get_pattern_length", c_int, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
743 zzub_plugin_set_pattern_length = dlsym(libzzub, "zzub_plugin_set_pattern_length", None, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int), ("rows",c_int))
744 zzub_plugin_get_pattern_value = dlsym(libzzub, "zzub_plugin_get_pattern_value", c_int, ("plugin", POINTER(zzub_plugin_t)), ("pattern",c_int), ("group",c_int), ("track",c_int), ("column",c_int), ("row",c_int))
745 zzub_plugin_set_pattern_value = dlsym(libzzub, "zzub_plugin_set_pattern_value", None, ("plugin", POINTER(zzub_plugin_t)), ("pattern",c_int), ("group",c_int), ("track",c_int), ("column",c_int), ("row",c_int), ("value",c_int))
746 zzub_plugin_get_new_pattern_name = dlsym(libzzub, "zzub_plugin_get_new_pattern_name", None, ("plugin", POINTER(zzub_plugin_t)), ("name",c_char_p), ("maxLen",c_int))
747 zzub_plugin_linear_to_pattern = dlsym(libzzub, "zzub_plugin_linear_to_pattern", c_int, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int), ("group",POINTER(c_int)), ("track",POINTER(c_int)), ("column",POINTER(c_int)))
748 zzub_plugin_pattern_to_linear = dlsym(libzzub, "zzub_plugin_pattern_to_linear", c_int, ("plugin", POINTER(zzub_plugin_t)), ("group",c_int), ("track",c_int), ("column",c_int), ("index",POINTER(c_int)))
749 zzub_plugin_get_pattern_column_count = dlsym(libzzub, "zzub_plugin_get_pattern_column_count", c_int, ("plugin", POINTER(zzub_plugin_t)))
750 zzub_plugin_insert_pattern_rows = dlsym(libzzub, "zzub_plugin_insert_pattern_rows", None, ("plugin", POINTER(zzub_plugin_t)), ("pattern",c_int), ("column_indices",POINTER(c_int)), ("num_indices",c_int), ("start",c_int), ("rows",c_int))
751 zzub_plugin_remove_pattern_rows = dlsym(libzzub, "zzub_plugin_remove_pattern_rows", None, ("plugin", POINTER(zzub_plugin_t)), ("pattern",c_int), ("column_indices",POINTER(c_int)), ("num_indices",c_int), ("start",c_int), ("rows",c_int))
752 zzub_plugin_describe_value = dlsym(libzzub, "zzub_plugin_describe_value", c_int, ("plugin", POINTER(zzub_plugin_t)), ("group",c_int), ("column",c_int), ("value",c_int), ("name",c_char_p), ("maxlen",c_int))
753 zzub_plugin_get_parameter_value = dlsym(libzzub, "zzub_plugin_get_parameter_value", c_int, ("plugin", POINTER(zzub_plugin_t)), ("group",c_int), ("track",c_int), ("column",c_int))
754 zzub_plugin_set_parameter_value = dlsym(libzzub, "zzub_plugin_set_parameter_value", None, ("plugin", POINTER(zzub_plugin_t)), ("group",c_int), ("track",c_int), ("column",c_int), ("value",c_int), ("record",c_int))
755 zzub_plugin_set_parameter_value_direct = dlsym(libzzub, "zzub_plugin_set_parameter_value_direct", None, ("plugin", POINTER(zzub_plugin_t)), ("group",c_int), ("track",c_int), ("column",c_int), ("value",c_int), ("record",c_int))
756 zzub_plugin_get_parameter_count = dlsym(libzzub, "zzub_plugin_get_parameter_count", c_int, ("plugin", POINTER(zzub_plugin_t)), ("group",c_int), ("track",c_int))
757 zzub_plugin_get_parameter = dlsym(libzzub, "zzub_plugin_get_parameter", POINTER(zzub_parameter_t), ("plugin", POINTER(zzub_plugin_t)), ("group",c_int), ("track",c_int), ("column",c_int))
758 zzub_plugin_get_input_connection_count = dlsym(libzzub, "zzub_plugin_get_input_connection_count", c_int, ("plugin", POINTER(zzub_plugin_t)))
759 zzub_plugin_get_input_connection_by_type = dlsym(libzzub, "zzub_plugin_get_input_connection_by_type", c_int, ("plugin", POINTER(zzub_plugin_t)), ("from_plugin",POINTER(zzub_plugin_t)), ("type",c_int))
760 zzub_plugin_get_input_connection_type = dlsym(libzzub, "zzub_plugin_get_input_connection_type", c_int, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
761 zzub_plugin_get_input_connection_plugin = dlsym(libzzub, "zzub_plugin_get_input_connection_plugin", POINTER(zzub_plugin_t), ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
762 zzub_plugin_get_output_connection_count = dlsym(libzzub, "zzub_plugin_get_output_connection_count", c_int, ("plugin", POINTER(zzub_plugin_t)))
763 zzub_plugin_get_output_connection_by_type = dlsym(libzzub, "zzub_plugin_get_output_connection_by_type", c_int, ("plugin", POINTER(zzub_plugin_t)), ("from_plugin",POINTER(zzub_plugin_t)), ("type",c_int))
764 zzub_plugin_get_output_connection_type = dlsym(libzzub, "zzub_plugin_get_output_connection_type", c_int, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
765 zzub_plugin_get_output_connection_plugin = dlsym(libzzub, "zzub_plugin_get_output_connection_plugin", POINTER(zzub_plugin_t), ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
766 zzub_plugin_add_input = dlsym(libzzub, "zzub_plugin_add_input", c_int, ("plugin", POINTER(zzub_plugin_t)), ("from_plugin",POINTER(zzub_plugin_t)), ("type",c_int))
767 zzub_plugin_delete_input = dlsym(libzzub, "zzub_plugin_delete_input", None, ("plugin", POINTER(zzub_plugin_t)), ("from_plugin",POINTER(zzub_plugin_t)), ("type",c_int))
768 zzub_plugin_get_mixbuffer = dlsym(libzzub, "zzub_plugin_get_mixbuffer", c_int, ("plugin", POINTER(zzub_plugin_t)), ("leftbuffer",POINTER(c_float)), ("rightbuffer",POINTER(c_float)), ("size",POINTER(c_int)), ("samplepos",POINTER(c_longlong)))
769 zzub_plugin_get_last_peak = dlsym(libzzub, "zzub_plugin_get_last_peak", None, ("plugin", POINTER(zzub_plugin_t)), ("maxL",POINTER(c_float)), ("maxR",POINTER(c_float)))
770 zzub_plugin_get_last_worktime = dlsym(libzzub, "zzub_plugin_get_last_worktime", c_double, ("plugin", POINTER(zzub_plugin_t)))
771 zzub_plugin_get_last_cpu_load = dlsym(libzzub, "zzub_plugin_get_last_cpu_load", c_double, ("plugin", POINTER(zzub_plugin_t)))
772 zzub_plugin_get_last_midi_result = dlsym(libzzub, "zzub_plugin_get_last_midi_result", c_int, ("plugin", POINTER(zzub_plugin_t)))
773 zzub_plugin_get_last_audio_result = dlsym(libzzub, "zzub_plugin_get_last_audio_result", c_int, ("plugin", POINTER(zzub_plugin_t)))
774 zzub_plugin_invoke_event = dlsym(libzzub, "zzub_plugin_invoke_event", c_int, ("plugin", POINTER(zzub_plugin_t)), ("data",POINTER(zzub_event_data_t)), ("immediate",c_int))
775 zzub_plugin_tick = dlsym(libzzub, "zzub_plugin_tick", None, ("plugin", POINTER(zzub_plugin_t)))
776 zzub_plugin_get_attribute_value = dlsym(libzzub, "zzub_plugin_get_attribute_value", c_int, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int))
777 zzub_plugin_set_attribute_value = dlsym(libzzub, "zzub_plugin_set_attribute_value", None, ("plugin", POINTER(zzub_plugin_t)), ("index",c_int), ("value",c_int))
778 zzub_plugin_play_midi_note = dlsym(libzzub, "zzub_plugin_play_midi_note", None, ("plugin", POINTER(zzub_plugin_t)), ("note",c_int), ("prevNote",c_int), ("velocity",c_int))
779 zzub_plugin_play_pattern_row_ref = dlsym(libzzub, "zzub_plugin_play_pattern_row_ref", None, ("plugin", POINTER(zzub_plugin_t)), ("pattern",c_int), ("row",c_int))
780 zzub_plugin_play_pattern_row = dlsym(libzzub, "zzub_plugin_play_pattern_row", None, ("plugin", POINTER(zzub_plugin_t)), ("pattern",POINTER(zzub_pattern_t)), ("row",c_int))
781 zzub_plugin_set_midi_connection_device = dlsym(libzzub, "zzub_plugin_set_midi_connection_device", c_int, ("plugin", POINTER(zzub_plugin_t)), ("from_plugin",POINTER(zzub_plugin_t)), ("name",c_char_p))
782 zzub_plugin_add_event_connection_binding = dlsym(libzzub, "zzub_plugin_add_event_connection_binding", None, ("plugin", POINTER(zzub_plugin_t)), ("from_plugin",POINTER(zzub_plugin_t)), ("sourceparam",c_int), ("targetgroup",c_int), ("targettrack",c_int), ("targetparam",c_int))
783 zzub_sequence_destroy = dlsym(libzzub, "zzub_sequence_destroy", None, ("sequence", POINTER(zzub_sequence_t)))
784 zzub_sequence_move = dlsym(libzzub, "zzub_sequence_move", None, ("sequence", POINTER(zzub_sequence_t)), ("newIndex",c_int))
785 zzub_sequence_insert_events = dlsym(libzzub, "zzub_sequence_insert_events", c_int, ("sequence", POINTER(zzub_sequence_t)), ("start",c_int), ("ticks",c_int))
786 zzub_sequence_remove_events = dlsym(libzzub, "zzub_sequence_remove_events", c_int, ("sequence", POINTER(zzub_sequence_t)), ("start",c_int), ("ticks",c_int))
787 zzub_sequence_set_event = dlsym(libzzub, "zzub_sequence_set_event", None, ("sequence", POINTER(zzub_sequence_t)), ("pos",c_int), ("value",c_int))
788 zzub_sequence_get_plugin = dlsym(libzzub, "zzub_sequence_get_plugin", POINTER(zzub_plugin_t), ("sequence", POINTER(zzub_sequence_t)))
789 zzub_sequence_get_event_at = dlsym(libzzub, "zzub_sequence_get_event_at", c_int, ("sequence", POINTER(zzub_sequence_t)), ("pos",c_int))
790 zzub_sequence_get_event_count = dlsym(libzzub, "zzub_sequence_get_event_count", c_int, ("sequence", POINTER(zzub_sequence_t)))
791 zzub_sequence_get_event = dlsym(libzzub, "zzub_sequence_get_event", c_int, ("sequence", POINTER(zzub_sequence_t)), ("index",c_int), ("pos",POINTER(c_int)), ("value",POINTER(c_int)))
792 zzub_sequence_get_type = dlsym(libzzub, "zzub_sequence_get_type", c_int, ("sequence", POINTER(zzub_sequence_t)))
793 zzub_wavelevel_get_wave = dlsym(libzzub, "zzub_wavelevel_get_wave", POINTER(zzub_wave_t), ("wavelevel", POINTER(zzub_wavelevel_t)))
794 zzub_wavelevel_clear = dlsym(libzzub, "zzub_wavelevel_clear", c_int, ("wavelevel", POINTER(zzub_wavelevel_t)))
795 zzub_wavelevel_get_sample_count = dlsym(libzzub, "zzub_wavelevel_get_sample_count", c_int, ("wavelevel", POINTER(zzub_wavelevel_t)))
796 zzub_wavelevel_set_sample_count = dlsym(libzzub, "zzub_wavelevel_set_sample_count", None, ("wavelevel", POINTER(zzub_wavelevel_t)), ("count",c_int))
797 zzub_wavelevel_get_root_note = dlsym(libzzub, "zzub_wavelevel_get_root_note", c_int, ("wavelevel", POINTER(zzub_wavelevel_t)))
798 zzub_wavelevel_set_root_note = dlsym(libzzub, "zzub_wavelevel_set_root_note", None, ("wavelevel", POINTER(zzub_wavelevel_t)), ("note",c_int))
799 zzub_wavelevel_get_samples_per_second = dlsym(libzzub, "zzub_wavelevel_get_samples_per_second", c_int, ("wavelevel", POINTER(zzub_wavelevel_t)))
800 zzub_wavelevel_set_samples_per_second = dlsym(libzzub, "zzub_wavelevel_set_samples_per_second", None, ("wavelevel", POINTER(zzub_wavelevel_t)), ("sps",c_int))
801 zzub_wavelevel_get_loop_start = dlsym(libzzub, "zzub_wavelevel_get_loop_start", c_int, ("wavelevel", POINTER(zzub_wavelevel_t)))
802 zzub_wavelevel_set_loop_start = dlsym(libzzub, "zzub_wavelevel_set_loop_start", None, ("wavelevel", POINTER(zzub_wavelevel_t)), ("pos",c_int))
803 zzub_wavelevel_get_loop_end = dlsym(libzzub, "zzub_wavelevel_get_loop_end", c_int, ("wavelevel", POINTER(zzub_wavelevel_t)))
804 zzub_wavelevel_set_loop_end = dlsym(libzzub, "zzub_wavelevel_set_loop_end", None, ("wavelevel", POINTER(zzub_wavelevel_t)), ("pos",c_int))
805 zzub_wavelevel_get_format = dlsym(libzzub, "zzub_wavelevel_get_format", c_int, ("wavelevel", POINTER(zzub_wavelevel_t)))
806 zzub_wavelevel_remove_sample_range = dlsym(libzzub, "zzub_wavelevel_remove_sample_range", None, ("wavelevel", POINTER(zzub_wavelevel_t)), ("start",c_int), ("end",c_int))
807 zzub_wavelevel_get_samples_digest = dlsym(libzzub, "zzub_wavelevel_get_samples_digest", None, ("wavelevel", POINTER(zzub_wavelevel_t)), ("channel",c_int), ("start",c_int), ("end",c_int), ("mindigest",POINTER(c_float)), ("maxdigest",POINTER(c_float)), ("ampdigest",POINTER(c_float)), ("digestsize",c_int))
808 zzub_envelope_get_attack = dlsym(libzzub, "zzub_envelope_get_attack", c_ushort, ("envelope", POINTER(zzub_envelope_t)))
809 zzub_envelope_get_decay = dlsym(libzzub, "zzub_envelope_get_decay", c_ushort, ("envelope", POINTER(zzub_envelope_t)))
810 zzub_envelope_get_sustain = dlsym(libzzub, "zzub_envelope_get_sustain", c_ushort, ("envelope", POINTER(zzub_envelope_t)))
811 zzub_envelope_get_release = dlsym(libzzub, "zzub_envelope_get_release", c_ushort, ("envelope", POINTER(zzub_envelope_t)))
812 zzub_envelope_set_attack = dlsym(libzzub, "zzub_envelope_set_attack", None, ("envelope", POINTER(zzub_envelope_t)), ("attack",c_ushort))
813 zzub_envelope_set_decay = dlsym(libzzub, "zzub_envelope_set_decay", None, ("envelope", POINTER(zzub_envelope_t)), ("decay",c_ushort))
814 zzub_envelope_set_sustain = dlsym(libzzub, "zzub_envelope_set_sustain", None, ("envelope", POINTER(zzub_envelope_t)), ("sustain",c_ushort))
815 zzub_envelope_set_release = dlsym(libzzub, "zzub_envelope_set_release", None, ("envelope", POINTER(zzub_envelope_t)), ("release",c_ushort))
816 zzub_envelope_get_subdivision = dlsym(libzzub, "zzub_envelope_get_subdivision", c_byte, ("envelope", POINTER(zzub_envelope_t)))
817 zzub_envelope_set_subdivision = dlsym(libzzub, "zzub_envelope_set_subdivision", None, ("envelope", POINTER(zzub_envelope_t)), ("subdiv",c_byte))
818 zzub_envelope_get_flags = dlsym(libzzub, "zzub_envelope_get_flags", c_byte, ("envelope", POINTER(zzub_envelope_t)))
819 zzub_envelope_set_flags = dlsym(libzzub, "zzub_envelope_set_flags", None, ("envelope", POINTER(zzub_envelope_t)), ("flags",c_byte))
820 zzub_envelope_is_enabled = dlsym(libzzub, "zzub_envelope_is_enabled", c_int, ("envelope", POINTER(zzub_envelope_t)))
821 zzub_envelope_enable = dlsym(libzzub, "zzub_envelope_enable", None, ("envelope", POINTER(zzub_envelope_t)), ("enable",c_int))
822 zzub_envelope_get_point_count = dlsym(libzzub, "zzub_envelope_get_point_count", c_int, ("envelope", POINTER(zzub_envelope_t)))
823 zzub_envelope_get_point = dlsym(libzzub, "zzub_envelope_get_point", None, ("envelope", POINTER(zzub_envelope_t)), ("index",c_int), ("x",POINTER(c_ushort)), ("y",POINTER(c_ushort)), ("flags",POINTER(c_byte)))
824 zzub_envelope_set_point = dlsym(libzzub, "zzub_envelope_set_point", None, ("envelope", POINTER(zzub_envelope_t)), ("index",c_int), ("x",c_ushort), ("y",c_ushort), ("flags",c_byte))
825 zzub_envelope_insert_point = dlsym(libzzub, "zzub_envelope_insert_point", None, ("envelope", POINTER(zzub_envelope_t)), ("index",c_int))
826 zzub_envelope_delete_point = dlsym(libzzub, "zzub_envelope_delete_point", None, ("envelope", POINTER(zzub_envelope_t)), ("index",c_int))
827 zzub_wave_get_index = dlsym(libzzub, "zzub_wave_get_index", c_int, ("wave", POINTER(zzub_wave_t)))
828 zzub_wave_load_sample = dlsym(libzzub, "zzub_wave_load_sample", c_int, ("wave", POINTER(zzub_wave_t)), ("level",c_int), ("offset",c_int), ("clear",c_int), ("path",c_char_p), ("datastream",POINTER(zzub_input_t)))
829 zzub_wave_save_sample = dlsym(libzzub, "zzub_wave_save_sample", c_int, ("wave", POINTER(zzub_wave_t)), ("level",c_int), ("datastream",POINTER(zzub_output_t)))
830 zzub_wave_save_sample_range = dlsym(libzzub, "zzub_wave_save_sample_range", c_int, ("wave", POINTER(zzub_wave_t)), ("level",c_int), ("datastream",POINTER(zzub_output_t)), ("start",c_int), ("end",c_int))
831 zzub_wave_clear = dlsym(libzzub, "zzub_wave_clear", c_int, ("wave", POINTER(zzub_wave_t)))
832 zzub_wave_get_name = dlsym(libzzub, "zzub_wave_get_name", c_char_p, ("wave", POINTER(zzub_wave_t)))
833 zzub_wave_set_name = dlsym(libzzub, "zzub_wave_set_name", None, ("wave", POINTER(zzub_wave_t)), ("name",c_char_p))
834 zzub_wave_get_path = dlsym(libzzub, "zzub_wave_get_path", c_char_p, ("wave", POINTER(zzub_wave_t)))
835 zzub_wave_set_path = dlsym(libzzub, "zzub_wave_set_path", None, ("wave", POINTER(zzub_wave_t)), ("path",c_char_p))
836 zzub_wave_get_flags = dlsym(libzzub, "zzub_wave_get_flags", c_int, ("wave", POINTER(zzub_wave_t)))
837 zzub_wave_set_flags = dlsym(libzzub, "zzub_wave_set_flags", None, ("wave", POINTER(zzub_wave_t)), ("flags",c_int))
838 zzub_wave_get_volume = dlsym(libzzub, "zzub_wave_get_volume", c_float, ("wave", POINTER(zzub_wave_t)))
839 zzub_wave_set_volume = dlsym(libzzub, "zzub_wave_set_volume", None, ("wave", POINTER(zzub_wave_t)), ("volume",c_float))
840 zzub_wave_get_envelope_count = dlsym(libzzub, "zzub_wave_get_envelope_count", c_int, ("wave", POINTER(zzub_wave_t)))
841 zzub_wave_set_envelope_count = dlsym(libzzub, "zzub_wave_set_envelope_count", None, ("wave", POINTER(zzub_wave_t)), ("count",c_int))
842 zzub_wave_get_envelope = dlsym(libzzub, "zzub_wave_get_envelope", POINTER(zzub_envelope_t), ("wave", POINTER(zzub_wave_t)), ("index",c_int))
843 zzub_wave_set_envelope = dlsym(libzzub, "zzub_wave_set_envelope", None, ("wave", POINTER(zzub_wave_t)), ("index",c_int), ("env",POINTER(zzub_envelope_t)))
844 zzub_wave_get_level_count = dlsym(libzzub, "zzub_wave_get_level_count", c_int, ("wave", POINTER(zzub_wave_t)))
845 zzub_wave_get_level = dlsym(libzzub, "zzub_wave_get_level", POINTER(zzub_wavelevel_t), ("wave", POINTER(zzub_wave_t)), ("index",c_int))
846 zzub_player_create = dlsym(libzzub, "zzub_player_create", POINTER(zzub_player_t))
847 zzub_player_destroy = dlsym(libzzub, "zzub_player_destroy", None, ("player", POINTER(zzub_player_t)))
848 zzub_player_add_plugin_path = dlsym(libzzub, "zzub_player_add_plugin_path", None, ("player", POINTER(zzub_player_t)), ("path",c_char_p))
849 zzub_player_blacklist_plugin = dlsym(libzzub, "zzub_player_blacklist_plugin", None, ("player", POINTER(zzub_player_t)), ("uri",c_char_p))
850 zzub_player_initialize = dlsym(libzzub, "zzub_player_initialize", c_int, ("player", POINTER(zzub_player_t)), ("samplesPerSecond",c_int))
851 zzub_player_load_bmx = dlsym(libzzub, "zzub_player_load_bmx", c_int, ("player", POINTER(zzub_player_t)), ("datastream",POINTER(zzub_input_t)), ("messages",c_char_p), ("maxLen",c_int), ("flags",c_int), ("x",c_float), ("y",c_float))
852 zzub_player_save_bmx = dlsym(libzzub, "zzub_player_save_bmx", c_int, ("player", POINTER(zzub_player_t)), ("plugins",POINTER(POINTER(zzub_plugin_t))), ("num_plugins",c_int), ("save_waves",c_int), ("datastream",POINTER(zzub_output_t)))
853 zzub_player_load_ccm = dlsym(libzzub, "zzub_player_load_ccm", c_int, ("player", POINTER(zzub_player_t)), ("fileName",c_char_p))
854 zzub_player_save_ccm = dlsym(libzzub, "zzub_player_save_ccm", c_int, ("player", POINTER(zzub_player_t)), ("fileName",c_char_p))
855 zzub_player_get_state = dlsym(libzzub, "zzub_player_get_state", c_int, ("player", POINTER(zzub_player_t)))
856 zzub_player_set_state = dlsym(libzzub, "zzub_player_set_state", None, ("player", POINTER(zzub_player_t)), ("state",c_int))
857 zzub_player_set_position = dlsym(libzzub, "zzub_player_set_position", None, ("player", POINTER(zzub_player_t)), ("tick",c_int))
858 zzub_player_get_bpm = dlsym(libzzub, "zzub_player_get_bpm", c_float, ("player", POINTER(zzub_player_t)))
859 zzub_player_get_tpb = dlsym(libzzub, "zzub_player_get_tpb", c_int, ("player", POINTER(zzub_player_t)))
860 zzub_player_set_bpm = dlsym(libzzub, "zzub_player_set_bpm", None, ("player", POINTER(zzub_player_t)), ("bpm",c_float))
861 zzub_player_set_tpb = dlsym(libzzub, "zzub_player_set_tpb", None, ("player", POINTER(zzub_player_t)), ("tpb",c_int))
862 zzub_player_get_pluginloader_count = dlsym(libzzub, "zzub_player_get_pluginloader_count", c_int, ("player", POINTER(zzub_player_t)))
863 zzub_player_get_pluginloader = dlsym(libzzub, "zzub_player_get_pluginloader", POINTER(zzub_pluginloader_t), ("player", POINTER(zzub_player_t)), ("index",c_int))
864 zzub_player_get_pluginloader_by_name = dlsym(libzzub, "zzub_player_get_pluginloader_by_name", POINTER(zzub_pluginloader_t), ("player", POINTER(zzub_player_t)), ("name",c_char_p))
865 zzub_player_get_plugin_count = dlsym(libzzub, "zzub_player_get_plugin_count", c_int, ("player", POINTER(zzub_player_t)))
866 zzub_player_add_midimapping = dlsym(libzzub, "zzub_player_add_midimapping", POINTER(zzub_midimapping_t), ("plugin",POINTER(zzub_plugin_t)), ("group",c_int), ("track",c_int), ("param",c_int), ("channel",c_int), ("controller",c_int))
867 zzub_player_remove_midimapping = dlsym(libzzub, "zzub_player_remove_midimapping", c_int, ("plugin",POINTER(zzub_plugin_t)), ("group",c_int), ("track",c_int), ("param",c_int))
868 zzub_player_get_plugin_by_name = dlsym(libzzub, "zzub_player_get_plugin_by_name", POINTER(zzub_plugin_t), ("player", POINTER(zzub_player_t)), ("name",c_char_p))
869 zzub_player_get_plugin_by_id = dlsym(libzzub, "zzub_player_get_plugin_by_id", POINTER(zzub_plugin_t), ("player", POINTER(zzub_player_t)), ("id",c_int))
870 zzub_player_get_plugin = dlsym(libzzub, "zzub_player_get_plugin", POINTER(zzub_plugin_t), ("player", POINTER(zzub_player_t)), ("index",c_int))
871 zzub_player_work_stereo = dlsym(libzzub, "zzub_player_work_stereo", POINTER(POINTER(c_float)), ("player", POINTER(zzub_player_t)), ("numSamples",POINTER(c_int)))
872 zzub_player_clear = dlsym(libzzub, "zzub_player_clear", None, ("player", POINTER(zzub_player_t)))
873 zzub_player_get_position = dlsym(libzzub, "zzub_player_get_position", c_int, ("player", POINTER(zzub_player_t)))
874 zzub_player_set_position = dlsym(libzzub, "zzub_player_set_position", None, ("player", POINTER(zzub_player_t)), ("pos",c_int))
875 zzub_player_get_loop_start = dlsym(libzzub, "zzub_player_get_loop_start", c_int, ("player", POINTER(zzub_player_t)))
876 zzub_player_get_loop_end = dlsym(libzzub, "zzub_player_get_loop_end", c_int, ("player", POINTER(zzub_player_t)))
877 zzub_player_set_loop_start = dlsym(libzzub, "zzub_player_set_loop_start", None, ("player", POINTER(zzub_player_t)), ("v",c_int))
878 zzub_player_set_loop_end = dlsym(libzzub, "zzub_player_set_loop_end", None, ("player", POINTER(zzub_player_t)), ("v",c_int))
879 zzub_player_get_loop = dlsym(libzzub, "zzub_player_get_loop", None, ("player", POINTER(zzub_player_t)), ("begin",POINTER(c_int)), ("end",POINTER(c_int)))
880 zzub_player_set_loop = dlsym(libzzub, "zzub_player_set_loop", None, ("player", POINTER(zzub_player_t)), ("begin",c_int), ("end",c_int))
881 zzub_player_get_song_start = dlsym(libzzub, "zzub_player_get_song_start", c_int, ("player", POINTER(zzub_player_t)))
882 zzub_player_get_song_end = dlsym(libzzub, "zzub_player_get_song_end", c_int, ("player", POINTER(zzub_player_t)))
883 zzub_player_set_song_start = dlsym(libzzub, "zzub_player_set_song_start", None, ("player", POINTER(zzub_player_t)), ("v",c_int))
884 zzub_player_set_song_end = dlsym(libzzub, "zzub_player_set_song_end", None, ("player", POINTER(zzub_player_t)), ("v",c_int))
885 zzub_player_set_loop_enabled = dlsym(libzzub, "zzub_player_set_loop_enabled", None, ("player", POINTER(zzub_player_t)), ("enable",c_int))
886 zzub_player_get_loop_enabled = dlsym(libzzub, "zzub_player_get_loop_enabled", c_int, ("player", POINTER(zzub_player_t)))
887 zzub_player_get_sequence_track_count = dlsym(libzzub, "zzub_player_get_sequence_track_count", c_int, ("player", POINTER(zzub_player_t)))
888 zzub_player_get_sequence = dlsym(libzzub, "zzub_player_get_sequence", POINTER(zzub_sequence_t), ("player", POINTER(zzub_player_t)), ("index",c_int))
889 zzub_player_get_currently_playing_pattern = dlsym(libzzub, "zzub_player_get_currently_playing_pattern", c_int, ("plugin",POINTER(zzub_plugin_t)), ("pattern",POINTER(c_int)), ("row",POINTER(c_int)))
890 zzub_player_get_currently_playing_pattern_row = dlsym(libzzub, "zzub_player_get_currently_playing_pattern_row", c_int, ("plugin",POINTER(zzub_plugin_t)), ("pattern",c_int), ("row",POINTER(c_int)))
891 zzub_player_get_wave_count = dlsym(libzzub, "zzub_player_get_wave_count", c_int, ("player", POINTER(zzub_player_t)))
892 zzub_player_get_wave = dlsym(libzzub, "zzub_player_get_wave", POINTER(zzub_wave_t), ("player", POINTER(zzub_player_t)), ("index",c_int))
893 zzub_player_get_next_event = dlsym(libzzub, "zzub_player_get_next_event", POINTER(zzub_event_data_t), ("player", POINTER(zzub_player_t)))
894 zzub_player_set_callback = dlsym(libzzub, "zzub_player_set_callback", None, ("player", POINTER(zzub_player_t)), ("callback",zzub_callback_t), ("tag",c_void_p))
895 zzub_player_handle_events = dlsym(libzzub, "zzub_player_handle_events", None, ("player", POINTER(zzub_player_t)))
896 zzub_player_set_event_queue_state = dlsym(libzzub, "zzub_player_set_event_queue_state", None, ("player", POINTER(zzub_player_t)), ("enable",c_int))
897 zzub_player_get_midimapping = dlsym(libzzub, "zzub_player_get_midimapping", POINTER(zzub_midimapping_t), ("player", POINTER(zzub_player_t)), ("index",c_int))
898 zzub_player_get_midimapping_count = dlsym(libzzub, "zzub_player_get_midimapping_count", c_int, ("player", POINTER(zzub_player_t)))
899 zzub_player_get_automation = dlsym(libzzub, "zzub_player_get_automation", c_int, ("player", POINTER(zzub_player_t)))
900 zzub_player_set_automation = dlsym(libzzub, "zzub_player_set_automation", None, ("player", POINTER(zzub_player_t)), ("enable",c_int))
901 zzub_player_get_midi_transport = dlsym(libzzub, "zzub_player_get_midi_transport", c_int, ("player", POINTER(zzub_player_t)))
902 zzub_player_set_midi_transport = dlsym(libzzub, "zzub_player_set_midi_transport", None, ("player", POINTER(zzub_player_t)), ("enable",c_int))
903 zzub_player_get_infotext = dlsym(libzzub, "zzub_player_get_infotext", c_char_p, ("player", POINTER(zzub_player_t)))
904 zzub_player_set_infotext = dlsym(libzzub, "zzub_player_set_infotext", None, ("player", POINTER(zzub_player_t)), ("text",c_char_p))
905 zzub_player_set_midi_plugin = dlsym(libzzub, "zzub_player_set_midi_plugin", None, ("player", POINTER(zzub_player_t)), ("plugin",POINTER(zzub_plugin_t)))
906 zzub_player_get_midi_plugin = dlsym(libzzub, "zzub_player_get_midi_plugin", POINTER(zzub_plugin_t), ("player", POINTER(zzub_player_t)))
907 zzub_player_get_new_plugin_name = dlsym(libzzub, "zzub_player_get_new_plugin_name", None, ("player", POINTER(zzub_player_t)), ("uri",c_char_p), ("name",c_char_p), ("maxLen",c_int))
908 zzub_player_reset_keyjazz = dlsym(libzzub, "zzub_player_reset_keyjazz", None, ("player", POINTER(zzub_player_t)))
909 zzub_player_create_plugin = dlsym(libzzub, "zzub_player_create_plugin", POINTER(zzub_plugin_t), ("player", POINTER(zzub_player_t)), ("input",POINTER(zzub_input_t)), ("dataSize",c_int), ("instanceName",c_char_p), ("loader",POINTER(zzub_pluginloader_t)), ("flags",c_int))
910 zzub_player_create_sequence = dlsym(libzzub, "zzub_player_create_sequence", POINTER(zzub_sequence_t), ("player", POINTER(zzub_player_t)), ("plugin",POINTER(zzub_plugin_t)), ("type",c_int))
911 zzub_player_flush = dlsym(libzzub, "zzub_player_flush", None, ("player", POINTER(zzub_player_t)), ("redo_event",POINTER(zzub_event_data_t)), ("undo_event",POINTER(zzub_event_data_t)))
912 zzub_player_undo = dlsym(libzzub, "zzub_player_undo", None, ("player", POINTER(zzub_player_t)))
913 zzub_player_redo = dlsym(libzzub, "zzub_player_redo", None, ("player", POINTER(zzub_player_t)))
914 zzub_player_history_commit = dlsym(libzzub, "zzub_player_history_commit", None, ("player", POINTER(zzub_player_t)), ("description",c_char_p))
915 zzub_player_history_get_uncomitted_operations = dlsym(libzzub, "zzub_player_history_get_uncomitted_operations", c_int, ("player", POINTER(zzub_player_t)))
916 zzub_player_history_flush_last = dlsym(libzzub, "zzub_player_history_flush_last", None, ("player", POINTER(zzub_player_t)))
917 zzub_player_history_flush = dlsym(libzzub, "zzub_player_history_flush", None, ("player", POINTER(zzub_player_t)))
918 zzub_player_history_get_size = dlsym(libzzub, "zzub_player_history_get_size", c_int, ("player", POINTER(zzub_player_t)))
919 zzub_player_history_get_position = dlsym(libzzub, "zzub_player_history_get_position", c_int, ("player", POINTER(zzub_player_t)))
920 zzub_player_history_get_description = dlsym(libzzub, "zzub_player_history_get_description", c_char_p, ("player", POINTER(zzub_player_t)), ("position",c_int))
921 zzub_player_set_host_info = dlsym(libzzub, "zzub_player_set_host_info", None, ("player", POINTER(zzub_player_t)), ("id",c_int), ("version",c_int), ("host_ptr",c_void_p))
922 EventData = zzub_event_data_t
925 """Audio Driver Methods
926 Configure and create an audio driver instance."""
927
928 _as_parameter_ = None
929 _hash = 0
930
934
935 @classmethod
937 if not handle:
938 return None
939 return cls(handle)
940
943
945 return self._hash == hash(other)
946
948 return self._hash != hash(other)
949
950 @staticmethod
954
955 @staticmethod
959
960 @staticmethod
961 - def create_silent(player, name, out_channels, in_channels, num_rates):
962 """Create a silent, non-processing audio driver that has one device with the specified properties."""
963 supported_rates = (c_int*num_rates)()
964 _ret_arg = zzub_audiodriver_create_silent(player,name,out_channels,in_channels,supported_rates,num_rates)
965 return Audiodriver._new_from_handle(_ret_arg),[v for v in supported_rates]
966
967 @staticmethod
971
976
977 - def get_name(self, index, max_len=1024):
983
989
993
997
1002
1007
1012
1017
1022
1027
1032
1036
1040
1044
1048
1052
1056
1060
1061
1062 zzub_audiodriver_t._wrapper_ = Audiodriver
1065 """MIDI Driver Methods
1066 Open midi devices."""
1067
1068 _as_parameter_ = None
1069 _hash = 0
1070
1074
1075 @classmethod
1077 if not handle:
1078 return None
1079 return cls(handle)
1080
1083
1085 return self._hash == hash(other)
1086
1088 return self._hash != hash(other)
1089
1090 @staticmethod
1093
1094 @staticmethod
1097
1098 @staticmethod
1101
1102 @staticmethod
1105
1106 @staticmethod
1107 - def open(player, index):
1109
1110 @staticmethod
1113
1114
1115 zzub_mididriver_t._wrapper_ = Mididriver
1118 """Plugin Collection Methods
1119 For enumerating and configuring plugin collections."""
1120
1121 _as_parameter_ = None
1122 _hash = 0
1123
1127
1128 @classmethod
1130 if not handle:
1131 return None
1132 return cls(handle)
1133
1136
1138 return self._hash == hash(other)
1139
1141 return self._hash != hash(other)
1142
1143 @staticmethod
1146
1150
1151
1152 zzub_plugincollection_t._wrapper_ = Plugincollection
1205
1206
1207 zzub_input_t._wrapper_ = Input
1210
1211 _as_parameter_ = None
1212 _hash = 0
1213
1217
1218 @classmethod
1220 if not handle:
1221 return None
1222 return cls(handle)
1223
1226
1228 return self._hash == hash(other)
1229
1231 return self._hash != hash(other)
1232
1233 @staticmethod
1237
1242
1243 - def write(self, buffer, bytes):
1247
1251
1252 - def seek(self, pos, mode):
1255
1256
1257 zzub_output_t._wrapper_ = Output
1260
1261 _as_parameter_ = None
1262 _hash = 0
1263
1267
1268 @classmethod
1270 if not handle:
1271 return None
1272 return cls(handle)
1273
1276
1278 return self._hash == hash(other)
1279
1281 return self._hash != hash(other)
1282
1283 @staticmethod
1287
1292
1297
1301
1302
1303 zzub_archive_t._wrapper_ = Archive
1306 """MIDI Mapping Methods"""
1307
1308 _as_parameter_ = None
1309 _hash = 0
1310
1314
1315 @classmethod
1317 if not handle:
1318 return None
1319 return cls(handle)
1320
1323
1325 return self._hash == hash(other)
1326
1328 return self._hash != hash(other)
1329
1333
1337
1341
1345
1349
1353
1354
1355 zzub_midimapping_t._wrapper_ = Midimapping
1358 """Offline pattern methods
1359 These functions are meant to help editing patterns. Note you cannot
1360 retreive a direct zzub_pattern_t object for a "live pattern". You can
1361 however, use zzub_plugin_get_pattern to retreive copies of live patterns,
1362 and then call zzub_plugin_update_pattern to write the changed pattern back
1363 to the engine.
1364 Alternately, zzub_plugin_get_pattern_value/zzub_plugin_set_pattern_value
1365 can also be used to edit single values in live patterns."""
1366
1367 _as_parameter_ = None
1368 _hash = 0
1369
1373
1374 @classmethod
1376 if not handle:
1377 return None
1378 return cls(handle)
1379
1382
1384 return self._hash == hash(other)
1385
1387 return self._hash != hash(other)
1388
1392
1398
1402
1406
1410
1414
1418
1419 - def get_value(self, row, group, track, column):
1422
1423 - def set_value(self, row, group, track, column, value):
1426
1430
1431
1432 zzub_pattern_t._wrapper_ = Pattern
1435 """Parameter methods
1436 Retreive more details from zzub_parameter_t objects."""
1437
1438 _as_parameter_ = None
1439 _hash = 0
1440
1444
1445 @classmethod
1447 if not handle:
1448 return None
1449 return cls(handle)
1450
1453
1455 return self._hash == hash(other)
1456
1458 return self._hash != hash(other)
1459
1464
1468
1472
1476
1480
1484
1488
1493
1494
1495 zzub_parameter_t._wrapper_ = Parameter
1498 """Attribute methods
1499 Retreive more details from zzub_attribute_t objects."""
1500
1501 _as_parameter_ = None
1502 _hash = 0
1503
1507
1508 @classmethod
1510 if not handle:
1511 return None
1512 return cls(handle)
1513
1516
1518 return self._hash == hash(other)
1519
1521 return self._hash != hash(other)
1522
1526
1530
1534
1538
1539
1540 zzub_attribute_t._wrapper_ = Attribute
1543 """Plugin loading methods
1544 Retreive more details from zzub_pluginloader_t objects."""
1545
1546 _as_parameter_ = None
1547 _hash = 0
1548
1552
1553 @classmethod
1555 if not handle:
1556 return None
1557 return cls(handle)
1558
1561
1563 return self._hash == hash(other)
1564
1566 return self._hash != hash(other)
1567
1571
1575
1579
1584
1588
1592
1596
1600
1605
1609
1613
1619
1623
1627
1632
1637
1638
1639 zzub_pluginloader_t._wrapper_ = Pluginloader
1642 """Plugin methods
1643 Retreive more details about plugins."""
1644
1645 _as_parameter_ = None
1646 _hash = 0
1647
1651
1652 @classmethod
1654 if not handle:
1655 return None
1656 return cls(handle)
1657
1660
1662 return self._hash == hash(other)
1663
1665 return self._hash != hash(other)
1666
1671
1672 - def load(self, input):
1676
1677 - def save(self, ouput):
1681
1686
1693
1695 """Retreive the unique per-session id of a plugin. See also zzub_player_get_plugin_by_id()."""
1696 assert self._as_parameter_
1697 return zzub_plugin_get_id(self)
1698
1700 """Returns the screen position coordinates for the plugin. Values are expected to be in the range -1..1."""
1701 assert self._as_parameter_
1702 x = c_float()
1703 y = c_float()
1704 zzub_plugin_get_position(self,byref(x),byref(y))
1705 return x.value,y.value
1706
1711
1716
1718 """Returns flags for this plugin. Shorthand for using zzub_pluginloader_get_flags(). Combined by zero or more values in the zzub_plugin_flag enumeration."""
1719 assert self._as_parameter_
1720 return zzub_plugin_get_flags(self)
1721
1726
1731
1736
1741
1743 """Set whether plugin is muted. 1 for muted, 0 for normal.
1744 A muted machine does not produce any sound."""
1745 assert self._as_parameter_
1746 zzub_plugin_set_mute(self,muted)
1747
1752
1758
1760 """Set whether plugin is bypassed. 1 for bypass, 0 for normal.
1761 Bypass causes no processing to occur in the given machine."""
1762 assert self._as_parameter_
1763 zzub_plugin_set_bypass(self,muted)
1764
1772
1774 """When a plugin command string starts with the char '\', it has subcommands.
1775 Unexpectedly, zzub_plugin_get_sub_commands returns a \\\
1776 -separated string (like get_commands).
1777 Some plugins need to be ticked before calling get_sub_commands."""
1778 assert self._as_parameter_
1779 commands = (c_char*maxlen)()
1780 zzub_plugin_get_sub_commands(self,i,commands,maxlen)
1781 return commands.value
1782
1787
1792
1796
1800
1804
1808
1812
1816
1821
1822 @staticmethod
1826
1831
1836
1841
1846
1851
1856
1861
1865
1870
1875
1880
1885
1890
1895
1900
1906
1914
1920
1924
1930
1936
1938 """Copies columns from an offline pattern to a live pattern. Source and target columns are set up in
1939 the mappings array, which has 6 ints for each mapping: group, track and column for source and target
1940 plugins.
1941 Creates a textual description of the given value. The return value is the number of characters in the output string."""
1942 assert self._as_parameter_
1943 name = (c_char*maxlen)()
1944 zzub_plugin_describe_value(self,group,column,value,name,maxlen)
1945 return name.value
1946
1951
1956
1961
1965
1969
1974
1979
1984
1989
1994
1999
2004
2009
2014
2019
2021 """Copies the given plugins work buffer."""
2022 assert self._as_parameter_
2023 leftbuffer = (c_float*size)()
2024 rightbuffer = (c_float*size)()
2025 size = c_int()
2026 samplepos = c_longlong()
2027 _ret_arg = zzub_plugin_get_mixbuffer(self,leftbuffer,rightbuffer,byref(size),byref(samplepos))
2028 return _ret_arg,[v for v in leftbuffer],[v for v in rightbuffer],size.value,samplepos.value
2029
2036
2040
2044
2048
2052
2056
2060
2064
2068
2072
2076
2080
2084
2088
2089
2090 zzub_plugin_t._wrapper_ = Plugin
2093 """Sequencer methods"""
2094
2095 _as_parameter_ = None
2096 _hash = 0
2097
2101
2102 @classmethod
2104 if not handle:
2105 return None
2106 return cls(handle)
2107
2110
2112 return self._hash == hash(other)
2113
2115 return self._hash != hash(other)
2116
2120
2121 - def move(self, newIndex):
2124
2128
2132
2136
2140
2144
2148
2155
2159
2163
2164
2165 zzub_sequence_t._wrapper_ = Sequence
2168 """Wavelevel"""
2169
2170 _as_parameter_ = None
2171 _hash = 0
2172
2176
2177 @classmethod
2179 if not handle:
2180 return None
2181 return cls(handle)
2182
2185
2187 return self._hash == hash(other)
2188
2190 return self._hash != hash(other)
2191
2195
2199
2203
2207
2211
2215
2219
2223
2227
2231
2235
2239
2243
2247
2249 assert self._as_parameter_
2250 mindigest = (c_float*digestsize)()
2251 maxdigest = (c_float*digestsize)()
2252 ampdigest = (c_float*digestsize)()
2253 zzub_wavelevel_get_samples_digest(self,channel,start,end,mindigest,maxdigest,ampdigest,digestsize)
2254 return [v for v in mindigest],[v for v in maxdigest],[v for v in ampdigest]
2255
2256
2257 zzub_wavelevel_t._wrapper_ = Wavelevel
2260 """Envelopes"""
2261
2262 _as_parameter_ = None
2263 _hash = 0
2264
2268
2269 @classmethod
2271 if not handle:
2272 return None
2273 return cls(handle)
2274
2277
2279 return self._hash == hash(other)
2280
2282 return self._hash != hash(other)
2283
2287
2291
2295
2299
2303
2307
2311
2315
2319
2323
2327
2331
2335
2339
2343
2351
2355
2359
2363
2367
2368
2369 zzub_envelope_t._wrapper_ = Envelope
2370
2371 -class Wave(object):
2372 """Wave table"""
2373
2374 _as_parameter_ = None
2375 _hash = 0
2376
2380
2381 @classmethod
2383 if not handle:
2384 return None
2385 return cls(handle)
2386
2389
2391 return self._hash == hash(other)
2392
2394 return self._hash != hash(other)
2395
2399
2400 - def load_sample(self, level, offset, clear, path, datastream):
2403
2407
2411
2415
2419
2423
2427
2431
2435
2439
2443
2447
2451
2455
2459
2463
2467
2471
2475
2476
2477 zzub_wave_t._wrapper_ = Wave
2480 """Memory and file streams - load/save from/to file/clipboard
2481 Create file or memory data streams for use by e.g
2482 zzub_wavetable_load_sample() and
2483 zzub_player_load_bmx()/zzub_player_save_bmx().
2484
2485 In-memory streams are implemented via the zzub_archive_t object
2486 and destroyed via zzub_archive_destroy().
2487 File-streams are created with zzub_input_open_file and zzub_output_create_file()
2488 and closed/destroyed with zzub_input_destroy() and zzub_output_destroy()."""
2489
2490 _as_parameter_ = None
2491 _hash = 0
2492
2496
2497 @classmethod
2499 if not handle:
2500 return None
2501 return cls(handle)
2502
2505
2507 return self._hash == hash(other)
2508
2510 return self._hash != hash(other)
2511
2512
2513 zzub_recorder_t._wrapper_ = Recorder
2516 """Player Methods"""
2517
2518 _as_parameter_ = None
2519 _hash = 0
2520
2524
2525 @classmethod
2527 if not handle:
2528 return None
2529 return cls(handle)
2530
2533
2535 return self._hash == hash(other)
2536
2538 return self._hash != hash(other)
2539
2540 @staticmethod
2544
2549
2555
2560
2562 """Inititializes the player.
2563 initialize() must be called only after the audio driver,
2564 plugin directories and optional blacklists are set up."""
2565 assert self._as_parameter_
2566 return zzub_player_initialize(self,samplesPerSecond)
2567
2568 - def load_bmx(self, datastream, maxLen, flags, x, y):
2569 """Loads a BMX from memory or file.
2570
2571 Load warnings and error messages are placed in the messages string."""
2572 assert self._as_parameter_
2573 messages = (c_char*maxLen)()
2574 _ret_arg = zzub_player_load_bmx(self,datastream,messages,maxLen,flags,x,y)
2575 return _ret_arg,messages.value
2576
2577 - def save_bmx(self, plugins, num_plugins, save_waves, datastream):
2578 """Saves a BMX to memory or file.
2579
2580 plugins is an array of ints containing the plugin ids to save in the song. If plugins is NULL,
2581 everything in the running graph is saved. Optionally without waves, when save_waves is zero."""
2582 assert self._as_parameter_
2583 plugins = (POINTER(zzub_plugin_t)*num_plugins)(*plugins)
2584 return zzub_player_save_bmx(self,plugins,num_plugins,save_waves,datastream)
2585
2590
2595
2600
2605
2609
2613
2617
2621
2625
2630
2635
2640
2644
2649
2650 @staticmethod
2653
2654 @staticmethod
2657
2662
2667
2672
2676
2682
2686
2690
2694
2698
2702
2706
2710
2717
2721
2725
2729
2733
2737
2741
2745
2749
2753
2757
2758 @staticmethod
2765
2766 @staticmethod
2772
2776
2780
2784
2786 """Returns a pointer to the next event or zero. Intended to replace
2787 the set_callback/handle_events combo. Call this periodically
2788 in a timer or on idle processing. When calling, call get_next_event
2789 until a NULL pointer occurs. After the call, all previously returned
2790 pointers are invalid."""
2791 assert self._as_parameter_
2792 return (lambda p: p and p.contents)(zzub_player_get_next_event(self))
2793
2798
2800 """Process player events. Intended to be called by the host in a timer
2801 or on idle processing to receive events about parameter changes etc."""
2802 assert self._as_parameter_
2803 zzub_player_handle_events(self)
2804
2808
2812
2816
2820
2824
2828
2832
2836
2837 - def get_infotext(self):
2840
2841 - def set_infotext(self, text):
2844
2850
2854
2861
2865
2866 - def create_plugin(self, input, dataSize, instanceName, loader, flags=0):
2870
2874
2875 - def flush(self, redo_event, undo_event):
2876 """Write changes made to the graph since zzub_player_begin().
2877
2878 When redo_event and/or undo_event are NULL, zzub will invoke the callback for every editing operation.
2879 If a custom event is specified, the callback is invoked only once with either redo_event or undo_event
2880 as its parameter."""
2881 assert self._as_parameter_
2882 zzub_player_flush(self,redo_event,undo_event)
2883
2885 """Rolls back all editing operations one step. Each step is defined with a call to zzub_player_history_commit()."""
2886 assert self._as_parameter_
2887 zzub_player_undo(self)
2888
2893
2894 - def history_commit(self, description):
2895 """Commits the last operations to the undo buffer and marks a new undo step."""
2896 assert self._as_parameter_
2897 zzub_player_history_commit(self,description)
2898
2900 """Returns the count of uncomitted operations."""
2901 assert self._as_parameter_
2902 return zzub_player_history_get_uncomitted_operations(self)
2903
2905 """Causes the last operations to not appear in the undo buffer."""
2906 assert self._as_parameter_
2907 zzub_player_history_flush_last(self)
2908
2909 - def history_flush(self):
2910 """Clears the undo buffer and frees all associated resources."""
2911 assert self._as_parameter_
2912 zzub_player_history_flush(self)
2913
2914 - def history_get_size(self):
2915 """Returns the size of the undo buffer."""
2916 assert self._as_parameter_
2917 return zzub_player_history_get_size(self)
2918
2920 """Returns the current position in the undo buffer."""
2921 assert self._as_parameter_
2922 return zzub_player_history_get_position(self)
2923
2924 - def history_get_description(self, position):
2925 """Returns the description of an operation in the undo buffer."""
2926 assert self._as_parameter_
2927 return zzub_player_history_get_description(self,position)
2928
2930 """Set versioned, host-specific data. Plugins can retreive a pointer to this information with _host->get_host_info().
2931 Use and/or dependence on the host's version is regarded as bad practise and should not be used in new code."""
2932 assert self._as_parameter_
2933 zzub_player_set_host_info(self,id,version,host_ptr)
2934
2935
2936 zzub_player_t._wrapper_ = Player
2937