Package zzub
[hide private]
[frames] | no frames]

Source Code for Package zzub

   1  #!/usr/bin/env python 
   2  # encoding: latin-1 
   3   
   4  from ctypes import * 
   5   
   6  import sys, os 
7 8 -def load_library(*names,**kw):
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
67 -def dlopen(*args,**kwds):
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
95 96 -def callback_from_param(cls, obj):
97 """ 98 A workaround to assign None to a CFUNCTYPE object. 99 """ 100 if obj is None: 101 return None # return a NULL pointer 102 from ctypes import _CFuncPtr 103 return _CFuncPtr.from_param(obj)
104 105 libzzub = dlopen("zzub", "0.3") 106 107 # enum zzub 108 zzub_version = 15 109 zzub_buffer_size = 256 110 111 # enum zzub_event_type 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 # enum zzub_player_state 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 # enum zzub_parameter_type 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 # enum zzub_wave_buffer_type 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 # enum zzub_oscillator_type 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 # enum zzub_note_value 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 # enum zzub_switch_value 186 zzub_switch_value_none = 255 187 zzub_switch_value_off = 0 188 zzub_switch_value_on = 1 189 190 # enum zzub_wavetable_index_value 191 zzub_wavetable_index_value_none = 0 192 zzub_wavetable_index_value_min = 1 193 zzub_wavetable_index_value_max = 200 194 195 # enum zzub_parameter_flag 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 # enum zzub_plugin_flag 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 # enum zzub_state_flag 223 zzub_state_flag_playing = 1 224 zzub_state_flag_recording = 2 225 226 # enum zzub_wave_flag 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 # enum zzub_envelope_flag 234 zzub_envelope_flag_sustain = (1 << 0) 235 zzub_envelope_flag_loop = (1 << 1) 236 237 # enum zzub_process_mode 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 # enum zzub_connection_type 244 zzub_connection_type_audio = 0 245 zzub_connection_type_event = 1 246 zzub_connection_type_midi = 2 247 248 # enum zzub_parameter_group 249 zzub_parameter_group_connection = 0 250 zzub_parameter_group_global = 1 251 zzub_parameter_group_track = 2 252 253 # enum zzub_sequence_type 254 zzub_sequence_type_pattern = 0 255 zzub_sequence_type_wave = 1 256 zzub_sequence_type_automation = 2
257 -class zzub_plugin_t(Structure):
258 """Plugin methods 259 Retreive more details about plugins.""" 260 _fields_ = [ 261 ] 262 _anonymous_ = [ 263 ]
264 -class zzub_event_data_new_plugin_t(Structure):
265 _fields_ = [ 266 ("plugin", POINTER(zzub_plugin_t)), 267 ] 268 _anonymous_ = [ 269 ]
270 -class zzub_event_data_delete_plugin_t(Structure):
271 _fields_ = [ 272 ("plugin", POINTER(zzub_plugin_t)), 273 ] 274 _anonymous_ = [ 275 ]
276 -class zzub_event_data_midi_message_t(Structure):
277 _fields_ = [ 278 ("status", c_ubyte), 279 ("data1", c_ubyte), 280 ("data2", c_ubyte), 281 ] 282 _anonymous_ = [ 283 ]
284 -class zzub_event_data_connect_t(Structure):
285 _fields_ = [ 286 ("from_plugin", POINTER(zzub_plugin_t)), 287 ("to_plugin", POINTER(zzub_plugin_t)), 288 ("type", c_int), 289 ] 290 _anonymous_ = [ 291 ]
292 -class zzub_event_data_plugin_changed_t(Structure):
293 _fields_ = [ 294 ("plugin", POINTER(zzub_plugin_t)), 295 ] 296 _anonymous_ = [ 297 ]
298 -class zzub_event_data_change_parameter_t(Structure):
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 ]
308 -class zzub_event_data_set_tracks_t(Structure):
309 _fields_ = [ 310 ("plugin", POINTER(zzub_plugin_t)), 311 ] 312 _anonymous_ = [ 313 ]
314 -class zzub_event_data_player_state_changed_t(Structure):
315 _fields_ = [ 316 ("player_state", c_int), 317 ] 318 _anonymous_ = [ 319 ]
320 -class zzub_event_data_osc_message_t(Structure):
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 ]
330 -class zzub_event_data_vu_t(Structure):
331 _fields_ = [ 332 ("size", c_int), 333 ("left_amp", c_float), 334 ("right_amp", c_float), 335 ("time", c_float), 336 ] 337 _anonymous_ = [ 338 ]
339 -class zzub_archive_t(Structure):
340 _fields_ = [ 341 ] 342 _anonymous_ = [ 343 ]
344 -class zzub_event_data_serialize_t(Structure):
345 _fields_ = [ 346 ("mode", c_char), 347 ("archive", POINTER(zzub_archive_t)), 348 ] 349 _anonymous_ = [ 350 ]
351 -class zzub_event_data_set_sequence_tracks_t(Structure):
352 _fields_ = [ 353 ("plugin", POINTER(zzub_plugin_t)), 354 ] 355 _anonymous_ = [ 356 ]
357 -class zzub_event_data_set_sequence_event_t(Structure):
358 _fields_ = [ 359 ("plugin", POINTER(zzub_plugin_t)), 360 ("track", c_int), 361 ("time", c_int), 362 ] 363 _anonymous_ = [ 364 ]
365 -class zzub_event_data_new_pattern_t(Structure):
366 _fields_ = [ 367 ("plugin", POINTER(zzub_plugin_t)), 368 ("index", c_int), 369 ] 370 _anonymous_ = [ 371 ]
372 -class zzub_event_data_delete_pattern_t(Structure):
373 _fields_ = [ 374 ("plugin", POINTER(zzub_plugin_t)), 375 ("index", c_int), 376 ] 377 _anonymous_ = [ 378 ]
379 -class zzub_event_data_edit_pattern_t(Structure):
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 ]
391 -class zzub_event_data_pattern_changed_t(Structure):
392 _fields_ = [ 393 ("plugin", POINTER(zzub_plugin_t)), 394 ("index", c_int), 395 ] 396 _anonymous_ = [ 397 ]
398 -class zzub_wave_t(Structure):
399 """Wave table""" 400 _fields_ = [ 401 ] 402 _anonymous_ = [ 403 ]
404 -class zzub_event_data_change_wave_t(Structure):
405 _fields_ = [ 406 ("wave", POINTER(zzub_wave_t)), 407 ] 408 _anonymous_ = [ 409 ]
410 -class zzub_event_data_delete_wave_t(Structure):
411 _fields_ = [ 412 ("wave", POINTER(zzub_wave_t)), 413 ] 414 _anonymous_ = [ 415 ]
416 -class zzub_wavelevel_t(Structure):
417 """Wavelevel""" 418 _fields_ = [ 419 ] 420 _anonymous_ = [ 421 ]
422 -class zzub_event_data_allocate_wavelevel_t(Structure):
423 _fields_ = [ 424 ("wavelevel", POINTER(zzub_wavelevel_t)), 425 ] 426 _anonymous_ = [ 427 ]
428 -class zzub_event_data_pattern_insert_rows_t(Structure):
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 ]
439 -class zzub_event_data_pattern_remove_rows_t(Structure):
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 ]
450 -class zzub_event_data_custom_t(Structure):
451 _fields_ = [ 452 ("id", c_int), 453 ("data", c_void_p), 454 ] 455 _anonymous_ = [ 456 ]
457 -class zzub_event_data_all_t(Structure):
458 _fields_ = [ 459 ("data", POINTER("zzub_event_data_t")), 460 ] 461 _anonymous_ = [ 462 ]
463 -class zzub_event_data_unknown_t(Structure):
464 _fields_ = [ 465 ("param", c_void_p), 466 ] 467 _anonymous_ = [ 468 ]
469 -class zzub_event_data_union_00000000_t(Union):
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 ]
498 -class zzub_event_data_t(Structure):
499 _fields_ = [ 500 ("type", c_int), 501 ("union_00000000",zzub_event_data_union_00000000_t), 502 ] 503 _anonymous_ = [ 504 "union_00000000", 505 ]
506 -class zzub_audiodriver_t(Structure):
507 """Audio Driver Methods 508 Configure and create an audio driver instance.""" 509 _fields_ = [ 510 ] 511 _anonymous_ = [ 512 ]
513 -class zzub_mididriver_t(Structure):
514 """MIDI Driver Methods 515 Open midi devices.""" 516 _fields_ = [ 517 ] 518 _anonymous_ = [ 519 ]
520 -class zzub_plugincollection_t(Structure):
521 """Plugin Collection Methods 522 For enumerating and configuring plugin collections.""" 523 _fields_ = [ 524 ] 525 _anonymous_ = [ 526 ]
527 -class zzub_input_t(Structure):
528 _fields_ = [ 529 ] 530 _anonymous_ = [ 531 ]
532 -class zzub_output_t(Structure):
533 _fields_ = [ 534 ] 535 _anonymous_ = [ 536 ]
537 -class zzub_midimapping_t(Structure):
538 """MIDI Mapping Methods""" 539 _fields_ = [ 540 ] 541 _anonymous_ = [ 542 ]
543 -class zzub_pattern_t(Structure):
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 ]
556 -class zzub_parameter_t(Structure):
557 """Parameter methods 558 Retreive more details from zzub_parameter_t objects.""" 559 _fields_ = [ 560 ] 561 _anonymous_ = [ 562 ]
563 -class zzub_attribute_t(Structure):
564 """Attribute methods 565 Retreive more details from zzub_attribute_t objects.""" 566 _fields_ = [ 567 ] 568 _anonymous_ = [ 569 ]
570 -class zzub_pluginloader_t(Structure):
571 """Plugin loading methods 572 Retreive more details from zzub_pluginloader_t objects.""" 573 _fields_ = [ 574 ] 575 _anonymous_ = [ 576 ]
577 -class zzub_sequence_t(Structure):
578 """Sequencer methods""" 579 _fields_ = [ 580 ] 581 _anonymous_ = [ 582 ]
583 -class zzub_envelope_t(Structure):
584 """Envelopes""" 585 _fields_ = [ 586 ] 587 _anonymous_ = [ 588 ]
589 -class zzub_recorder_t(Structure):
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 ]
603 -class zzub_player_t(Structure):
604 """Player Methods""" 605 _fields_ = [ 606 ] 607 _anonymous_ = [ 608 ]
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
923 924 -class Audiodriver(object):
925 """Audio Driver Methods 926 Configure and create an audio driver instance.""" 927 928 _as_parameter_ = None 929 _hash = 0 930
931 - def __init__(self, handle):
932 self._as_parameter_ = handle 933 self._hash = cast(self._as_parameter_, c_void_p).value
934 935 @classmethod
936 - def _new_from_handle(cls,handle):
937 if not handle: 938 return None 939 return cls(handle)
940
941 - def __hash__(self):
942 return self._hash
943
944 - def __eq__(self,other):
945 return self._hash == hash(other)
946
947 - def __ne__(self,other):
948 return self._hash != hash(other)
949 950 @staticmethod
951 - def create_portaudio(player):
952 """Create an audio driver that uses the PortAudio API.""" 953 return Audiodriver._new_from_handle(zzub_audiodriver_create_portaudio(player))
954 955 @staticmethod
956 - def create_rtaudio(player):
957 """Create an audio driver that uses the RtAudio API.""" 958 return Audiodriver._new_from_handle(zzub_audiodriver_create_rtaudio(player))
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
968 - def create(player):
969 """Creates the preferred audio driver.""" 970 return Audiodriver._new_from_handle(zzub_audiodriver_create(player))
971
972 - def get_count(self):
973 """Get number of detected input and output audio devices""" 974 assert self._as_parameter_ 975 return zzub_audiodriver_get_count(self)
976
977 - def get_name(self, index, max_len=1024):
978 """Get name of specified audio device""" 979 assert self._as_parameter_ 980 name = (c_char*max_len)() 981 zzub_audiodriver_get_name(self,index,name,max_len) 982 return name.value
983
984 - def get_supported_samplerates(self, index, maxrates):
985 assert self._as_parameter_ 986 result = (c_int*maxrates)() 987 _ret_arg = zzub_audiodriver_get_supported_samplerates(self,index,result,maxrates) 988 return _ret_arg,[v for v in result]
989
990 - def get_supported_output_channels(self, index):
993
994 - def get_supported_input_channels(self, index):
997
998 - def create_device(self, input_index, output_index):
999 """Create specified audio device.""" 1000 assert self._as_parameter_ 1001 return zzub_audiodriver_create_device(self,input_index,output_index)
1002
1003 - def enable(self, state):
1004 """Enable or disable current audio driver""" 1005 assert self._as_parameter_ 1006 zzub_audiodriver_enable(self,state)
1007
1008 - def get_enabled(self):
1009 """Returns whether current audio driver is enabled or disabled""" 1010 assert self._as_parameter_ 1011 return zzub_audiodriver_get_enabled(self)
1012
1013 - def destroy(self):
1014 """Disassociate audio driver and player""" 1015 assert self._as_parameter_ 1016 zzub_audiodriver_destroy(self)
1017
1018 - def destroy_device(self):
1019 """De-allocate the current device.""" 1020 assert self._as_parameter_ 1021 zzub_audiodriver_destroy_device(self)
1022
1023 - def set_samplerate(self, samplerate):
1024 """Set audio driver sample rate""" 1025 assert self._as_parameter_ 1026 zzub_audiodriver_set_samplerate(self,samplerate)
1027
1028 - def get_samplerate(self):
1029 """Retreive audio driver sample rate""" 1030 assert self._as_parameter_ 1031 return zzub_audiodriver_get_samplerate(self)
1032
1033 - def set_buffersize(self, buffersize):
1034 assert self._as_parameter_ 1035 zzub_audiodriver_set_buffersize(self,buffersize)
1036
1037 - def get_buffersize(self):
1038 assert self._as_parameter_ 1039 return zzub_audiodriver_get_buffersize(self)
1040
1041 - def get_cpu_load(self):
1042 assert self._as_parameter_ 1043 return zzub_audiodriver_get_cpu_load(self)
1044
1045 - def is_output(self, index):
1046 assert self._as_parameter_ 1047 return zzub_audiodriver_is_output(self,index)
1048
1049 - def is_input(self, index):
1050 assert self._as_parameter_ 1051 return zzub_audiodriver_is_input(self,index)
1052
1053 - def get_master_channel(self):
1054 assert self._as_parameter_ 1055 return zzub_audiodriver_get_master_channel(self)
1056
1057 - def set_master_channel(self, index):
1060 1061 1062 zzub_audiodriver_t._wrapper_ = Audiodriver
1063 1064 -class Mididriver(object):
1065 """MIDI Driver Methods 1066 Open midi devices.""" 1067 1068 _as_parameter_ = None 1069 _hash = 0 1070
1071 - def __init__(self, handle):
1072 self._as_parameter_ = handle 1073 self._hash = cast(self._as_parameter_, c_void_p).value
1074 1075 @classmethod
1076 - def _new_from_handle(cls,handle):
1077 if not handle: 1078 return None 1079 return cls(handle)
1080
1081 - def __hash__(self):
1082 return self._hash
1083
1084 - def __eq__(self,other):
1085 return self._hash == hash(other)
1086
1087 - def __ne__(self,other):
1088 return self._hash != hash(other)
1089 1090 @staticmethod
1091 - def get_count(player):
1092 return zzub_mididriver_get_count(player)
1093 1094 @staticmethod
1095 - def get_name(player, index):
1096 return zzub_mididriver_get_name(player,index)
1097 1098 @staticmethod
1099 - def is_input(player, index):
1100 return zzub_mididriver_is_input(player,index)
1101 1102 @staticmethod
1103 - def is_output(player, index):
1104 return zzub_mididriver_is_output(player,index)
1105 1106 @staticmethod
1107 - def open(player, index):
1108 return zzub_mididriver_open(player,index)
1109 1110 @staticmethod
1111 - def close_all(player):
1112 return zzub_mididriver_close_all(player)
1113 1114 1115 zzub_mididriver_t._wrapper_ = Mididriver
1116 1117 -class Plugincollection(object):
1118 """Plugin Collection Methods 1119 For enumerating and configuring plugin collections.""" 1120 1121 _as_parameter_ = None 1122 _hash = 0 1123
1124 - def __init__(self, handle):
1125 self._as_parameter_ = handle 1126 self._hash = cast(self._as_parameter_, c_void_p).value
1127 1128 @classmethod
1129 - def _new_from_handle(cls,handle):
1130 if not handle: 1131 return None 1132 return cls(handle)
1133
1134 - def __hash__(self):
1135 return self._hash
1136
1137 - def __eq__(self,other):
1138 return self._hash == hash(other)
1139
1140 - def __ne__(self,other):
1141 return self._hash != hash(other)
1142 1143 @staticmethod
1144 - def get_by_uri(player, uri):
1146
1147 - def configure(self, key, value):
1148 assert self._as_parameter_ 1149 zzub_plugincollection_configure(self,key,value)
1150 1151 1152 zzub_plugincollection_t._wrapper_ = Plugincollection
1153 1154 -class Input(object):
1155 1156 _as_parameter_ = None 1157 _hash = 0 1158
1159 - def __init__(self, handle):
1160 self._as_parameter_ = handle 1161 self._hash = cast(self._as_parameter_, c_void_p).value
1162 1163 @classmethod
1164 - def _new_from_handle(cls,handle):
1165 if not handle: 1166 return None 1167 return cls(handle)
1168
1169 - def __hash__(self):
1170 return self._hash
1171
1172 - def __eq__(self,other):
1173 return self._hash == hash(other)
1174
1175 - def __ne__(self,other):
1176 return self._hash != hash(other)
1177 1178 @staticmethod
1179 - def open_file(filename):
1180 """Create an input stream that reads from a file.""" 1181 return Input._new_from_handle(zzub_input_open_file(filename))
1182
1183 - def destroy(self):
1184 """Closes an input stream created with zzub_create_output_XXX.""" 1185 assert self._as_parameter_ 1186 zzub_input_destroy(self)
1187
1188 - def read(self, bytes):
1189 assert self._as_parameter_ 1190 buffer = (c_char*bytes)() 1191 zzub_input_read(self,buffer,bytes) 1192 return [v for v in buffer]
1193
1194 - def size(self):
1195 assert self._as_parameter_ 1196 return zzub_input_size(self)
1197
1198 - def position(self):
1199 assert self._as_parameter_ 1200 return zzub_input_position(self)
1201
1202 - def seek(self, pos, mode):
1203 assert self._as_parameter_ 1204 zzub_input_seek(self,pos,mode)
1205 1206 1207 zzub_input_t._wrapper_ = Input
1208 1209 -class Output(object):
1210 1211 _as_parameter_ = None 1212 _hash = 0 1213
1214 - def __init__(self, handle):
1215 self._as_parameter_ = handle 1216 self._hash = cast(self._as_parameter_, c_void_p).value
1217 1218 @classmethod
1219 - def _new_from_handle(cls,handle):
1220 if not handle: 1221 return None 1222 return cls(handle)
1223
1224 - def __hash__(self):
1225 return self._hash
1226
1227 - def __eq__(self,other):
1228 return self._hash == hash(other)
1229
1230 - def __ne__(self,other):
1231 return self._hash != hash(other)
1232 1233 @staticmethod
1234 - def create_file(filename):
1235 """Create an output stream that writes to a file.""" 1236 return Output._new_from_handle(zzub_output_create_file(filename))
1237
1238 - def destroy(self):
1239 """Closes an output stream created with zzub_create_output_XXX.""" 1240 assert self._as_parameter_ 1241 zzub_output_destroy(self)
1242
1243 - def write(self, buffer, bytes):
1244 assert self._as_parameter_ 1245 buffer = (c_char*bytes)(*buffer) 1246 zzub_output_write(self,buffer,bytes)
1247
1248 - def position(self):
1249 assert self._as_parameter_ 1250 return zzub_output_position(self)
1251
1252 - def seek(self, pos, mode):
1253 assert self._as_parameter_ 1254 zzub_output_seek(self,pos,mode)
1255 1256 1257 zzub_output_t._wrapper_ = Output
1258 1259 -class Archive(object):
1260 1261 _as_parameter_ = None 1262 _hash = 0 1263
1264 - def __init__(self, handle):
1265 self._as_parameter_ = handle 1266 self._hash = cast(self._as_parameter_, c_void_p).value
1267 1268 @classmethod
1269 - def _new_from_handle(cls,handle):
1270 if not handle: 1271 return None 1272 return cls(handle)
1273
1274 - def __hash__(self):
1275 return self._hash
1276
1277 - def __eq__(self,other):
1278 return self._hash == hash(other)
1279
1280 - def __ne__(self,other):
1281 return self._hash != hash(other)
1282 1283 @staticmethod
1284 - def create_memory():
1285 """Create an in-memory archive of keyed input and output streams.""" 1286 return Archive._new_from_handle(zzub_archive_create_memory())
1287
1288 - def get_output(self, path):
1289 """Returns an output stream object for writing.""" 1290 assert self._as_parameter_ 1291 return Output._new_from_handle(zzub_archive_get_output(self,path))
1292
1293 - def get_input(self, path):
1294 """Returns an input stream object for reading.""" 1295 assert self._as_parameter_ 1296 return Input._new_from_handle(zzub_archive_get_input(self,path))
1297
1298 - def destroy(self):
1299 assert self._as_parameter_ 1300 zzub_archive_destroy(self)
1301 1302 1303 zzub_archive_t._wrapper_ = Archive
1304 1305 -class Midimapping(object):
1306 """MIDI Mapping Methods""" 1307 1308 _as_parameter_ = None 1309 _hash = 0 1310
1311 - def __init__(self, handle):
1312 self._as_parameter_ = handle 1313 self._hash = cast(self._as_parameter_, c_void_p).value
1314 1315 @classmethod
1316 - def _new_from_handle(cls,handle):
1317 if not handle: 1318 return None 1319 return cls(handle)
1320
1321 - def __hash__(self):
1322 return self._hash
1323
1324 - def __eq__(self,other):
1325 return self._hash == hash(other)
1326
1327 - def __ne__(self,other):
1328 return self._hash != hash(other)
1329
1330 - def get_plugin(self):
1331 assert self._as_parameter_ 1332 return zzub_midimapping_get_plugin(self)
1333
1334 - def get_group(self):
1335 assert self._as_parameter_ 1336 return zzub_midimapping_get_group(self)
1337
1338 - def get_track(self):
1339 assert self._as_parameter_ 1340 return zzub_midimapping_get_track(self)
1341
1342 - def get_column(self):
1343 assert self._as_parameter_ 1344 return zzub_midimapping_get_column(self)
1345
1346 - def get_channel(self):
1347 assert self._as_parameter_ 1348 return zzub_midimapping_get_channel(self)
1349
1350 - def get_controller(self):
1351 assert self._as_parameter_ 1352 return zzub_midimapping_get_controller(self)
1353 1354 1355 zzub_midimapping_t._wrapper_ = Midimapping
1356 1357 -class Pattern(object):
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
1370 - def __init__(self, handle):
1371 self._as_parameter_ = handle 1372 self._hash = cast(self._as_parameter_, c_void_p).value
1373 1374 @classmethod
1375 - def _new_from_handle(cls,handle):
1376 if not handle: 1377 return None 1378 return cls(handle)
1379
1380 - def __hash__(self):
1381 return self._hash
1382
1383 - def __eq__(self,other):
1384 return self._hash == hash(other)
1385
1386 - def __ne__(self,other):
1387 return self._hash != hash(other)
1388
1389 - def destroy(self):
1390 assert self._as_parameter_ 1391 zzub_pattern_destroy(self)
1392
1393 - def get_name(self, maxLen=1024):
1394 assert self._as_parameter_ 1395 name = (c_char*maxLen)() 1396 zzub_pattern_get_name(self,name,maxLen) 1397 return name.value
1398
1399 - def set_name(self, name):
1400 assert self._as_parameter_ 1401 zzub_pattern_set_name(self,name)
1402
1403 - def get_row_count(self):
1404 assert self._as_parameter_ 1405 return zzub_pattern_get_row_count(self)
1406
1407 - def get_group_count(self):
1408 assert self._as_parameter_ 1409 return zzub_pattern_get_group_count(self)
1410
1411 - def get_track_count(self, group):
1412 assert self._as_parameter_ 1413 return zzub_pattern_get_track_count(self,group)
1414
1415 - def get_column_count(self, group, track):
1416 assert self._as_parameter_ 1417 return zzub_pattern_get_column_count(self,group,track)
1418
1419 - def get_value(self, row, group, track, column):
1420 assert self._as_parameter_ 1421 return zzub_pattern_get_value(self,row,group,track,column)
1422
1423 - def set_value(self, row, group, track, column, value):
1426
1427 - def interpolate(self):
1428 assert self._as_parameter_ 1429 zzub_pattern_interpolate(self)
1430 1431 1432 zzub_pattern_t._wrapper_ = Pattern
1433 1434 -class Parameter(object):
1435 """Parameter methods 1436 Retreive more details from zzub_parameter_t objects.""" 1437 1438 _as_parameter_ = None 1439 _hash = 0 1440
1441 - def __init__(self, handle):
1442 self._as_parameter_ = handle 1443 self._hash = cast(self._as_parameter_, c_void_p).value
1444 1445 @classmethod
1446 - def _new_from_handle(cls,handle):
1447 if not handle: 1448 return None 1449 return cls(handle)
1450
1451 - def __hash__(self):
1452 return self._hash
1453
1454 - def __eq__(self,other):
1455 return self._hash == hash(other)
1456
1457 - def __ne__(self,other):
1458 return self._hash != hash(other)
1459
1460 - def get_type(self):
1461 """Returns one of the values in the zzub_parameter_type enumeration.""" 1462 assert self._as_parameter_ 1463 return zzub_parameter_get_type(self)
1464
1465 - def get_name(self):
1466 assert self._as_parameter_ 1467 return zzub_parameter_get_name(self)
1468
1469 - def get_description(self):
1470 assert self._as_parameter_ 1471 return zzub_parameter_get_description(self)
1472
1473 - def get_value_min(self):
1474 assert self._as_parameter_ 1475 return zzub_parameter_get_value_min(self)
1476
1477 - def get_value_max(self):
1478 assert self._as_parameter_ 1479 return zzub_parameter_get_value_max(self)
1480
1481 - def get_value_none(self):
1482 assert self._as_parameter_ 1483 return zzub_parameter_get_value_none(self)
1484
1485 - def get_value_default(self):
1486 assert self._as_parameter_ 1487 return zzub_parameter_get_value_default(self)
1488
1489 - def get_flags(self):
1490 """A parameter flag is combined by zero or more values in the zzub_parameter_flag enumeration.""" 1491 assert self._as_parameter_ 1492 return zzub_parameter_get_flags(self)
1493 1494 1495 zzub_parameter_t._wrapper_ = Parameter
1496 1497 -class Attribute(object):
1498 """Attribute methods 1499 Retreive more details from zzub_attribute_t objects.""" 1500 1501 _as_parameter_ = None 1502 _hash = 0 1503
1504 - def __init__(self, handle):
1505 self._as_parameter_ = handle 1506 self._hash = cast(self._as_parameter_, c_void_p).value
1507 1508 @classmethod
1509 - def _new_from_handle(cls,handle):
1510 if not handle: 1511 return None 1512 return cls(handle)
1513
1514 - def __hash__(self):
1515 return self._hash
1516
1517 - def __eq__(self,other):
1518 return self._hash == hash(other)
1519
1520 - def __ne__(self,other):
1521 return self._hash != hash(other)
1522
1523 - def get_name(self):
1524 assert self._as_parameter_ 1525 return zzub_attribute_get_name(self)
1526
1527 - def get_value_min(self):
1528 assert self._as_parameter_ 1529 return zzub_attribute_get_value_min(self)
1530
1531 - def get_value_max(self):
1532 assert self._as_parameter_ 1533 return zzub_attribute_get_value_max(self)
1534
1535 - def get_value_default(self):
1536 assert self._as_parameter_ 1537 return zzub_attribute_get_value_default(self)
1538 1539 1540 zzub_attribute_t._wrapper_ = Attribute
1541 1542 -class Pluginloader(object):
1543 """Plugin loading methods 1544 Retreive more details from zzub_pluginloader_t objects.""" 1545 1546 _as_parameter_ = None 1547 _hash = 0 1548
1549 - def __init__(self, handle):
1550 self._as_parameter_ = handle 1551 self._hash = cast(self._as_parameter_, c_void_p).value
1552 1553 @classmethod
1554 - def _new_from_handle(cls,handle):
1555 if not handle: 1556 return None 1557 return cls(handle)
1558
1559 - def __hash__(self):
1560 return self._hash
1561
1562 - def __eq__(self,other):
1563 return self._hash == hash(other)
1564
1565 - def __ne__(self,other):
1566 return self._hash != hash(other)
1567
1568 - def get_name(self):
1569 assert self._as_parameter_ 1570 return zzub_pluginloader_get_name(self)
1571
1572 - def get_short_name(self):
1573 assert self._as_parameter_ 1574 return zzub_pluginloader_get_short_name(self)
1575
1576 - def get_parameter_count(self, group):
1577 assert self._as_parameter_ 1578 return zzub_pluginloader_get_parameter_count(self,group)
1579
1580 - def get_parameter(self, group, index):
1581 """Returns the parameter for a group and column. See also zzub_plugin_get_parameter() which also returns parameters in group 0.""" 1582 assert self._as_parameter_ 1583 return Parameter._new_from_handle(zzub_pluginloader_get_parameter(self,group,index))
1584
1585 - def get_attribute_count(self):
1586 assert self._as_parameter_ 1587 return zzub_pluginloader_get_attribute_count(self)
1588
1589 - def get_attribute(self, index):
1592
1593 - def get_attribute_list(self):
1594 for index in xrange(self.get_attribute_count()): 1595 yield self.get_attribute(index)
1596
1597 - def get_loader_name(self):
1598 assert self._as_parameter_ 1599 return zzub_pluginloader_get_loader_name(self)
1600
1601 - def get_flags(self):
1602 """Returns the flags for this plugin loader. Combined by zero or more values in the zzub_plugin_flag enumeration.""" 1603 assert self._as_parameter_ 1604 return zzub_pluginloader_get_flags(self)
1605
1606 - def get_uri(self):
1607 assert self._as_parameter_ 1608 return zzub_pluginloader_get_uri(self)
1609
1610 - def get_author(self):
1611 assert self._as_parameter_ 1612 return zzub_pluginloader_get_author(self)
1613
1614 - def get_instrument_list(self, maxbytes):
1615 assert self._as_parameter_ 1616 result = (c_char*maxbytes)() 1617 _ret_arg = zzub_pluginloader_get_instrument_list(self,result,maxbytes) 1618 return _ret_arg,[v for v in result]
1619
1620 - def get_tracks_min(self):
1621 assert self._as_parameter_ 1622 return zzub_pluginloader_get_tracks_min(self)
1623
1624 - def get_tracks_max(self):
1625 assert self._as_parameter_ 1626 return zzub_pluginloader_get_tracks_max(self)
1627
1628 - def get_stream_format_count(self):
1629 """Returns the number of supported stream formats. Used with plugins flagged zzub_plugin_flag_stream.""" 1630 assert self._as_parameter_ 1631 return zzub_pluginloader_get_stream_format_count(self)
1632
1633 - def get_stream_format_ext(self, index):
1634 """Returns a supported stream file format extension stream. Used with plugins flagged zzub_plugin_flag_stream.""" 1635 assert self._as_parameter_ 1636 return zzub_pluginloader_get_stream_format_ext(self,index)
1637 1638 1639 zzub_pluginloader_t._wrapper_ = Pluginloader
1640 1641 -class Plugin(object):
1642 """Plugin methods 1643 Retreive more details about plugins.""" 1644 1645 _as_parameter_ = None 1646 _hash = 0 1647
1648 - def __init__(self, handle):
1649 self._as_parameter_ = handle 1650 self._hash = cast(self._as_parameter_, c_void_p).value
1651 1652 @classmethod
1653 - def _new_from_handle(cls,handle):
1654 if not handle: 1655 return None 1656 return cls(handle)
1657
1658 - def __hash__(self):
1659 return self._hash
1660
1661 - def __eq__(self,other):
1662 return self._hash == hash(other)
1663
1664 - def __ne__(self,other):
1665 return self._hash != hash(other)
1666
1667 - def destroy(self):
1668 """Deletes a plugin""" 1669 assert self._as_parameter_ 1670 return zzub_plugin_destroy(self)
1671
1672 - def load(self, input):
1673 """Load plugin state.""" 1674 assert self._as_parameter_ 1675 return zzub_plugin_load(self,input)
1676
1677 - def save(self, ouput):
1678 """Save plugin state.""" 1679 assert self._as_parameter_ 1680 return zzub_plugin_save(self,ouput)
1681
1682 - def set_name(self, name):
1683 """Renames a plugin. Should fail and return -1 if the name already exists.""" 1684 assert self._as_parameter_ 1685 return zzub_plugin_set_name(self,name)
1686
1687 - def get_name(self, maxlen=1024):
1688 """Retreive the name of a plugin.""" 1689 assert self._as_parameter_ 1690 name = (c_char*maxlen)() 1691 zzub_plugin_get_name(self,name,maxlen) 1692 return name.value
1693
1694 - def get_id(self):
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
1699 - def get_position(self):
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
1707 - def set_position(self, x, y):
1708 """Sets the plugin screen position. Values are expected to be in the range -1..1.""" 1709 assert self._as_parameter_ 1710 zzub_plugin_set_position(self,x,y)
1711
1712 - def set_position_direct(self, x, y):
1713 """Sets the plugin screen position. Values are expected to be in the range -1..1. This method is not undoable.""" 1714 assert self._as_parameter_ 1715 zzub_plugin_set_position_direct(self,x,y)
1716
1717 - def get_flags(self):
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
1722 - def get_track_count(self):
1723 """Returns the number of tracks.""" 1724 assert self._as_parameter_ 1725 return zzub_plugin_get_track_count(self)
1726
1727 - def set_track_count(self, count):
1728 """Sets the number of tracks. Will call plugin::set_track_count() from the player thread.""" 1729 assert self._as_parameter_ 1730 zzub_plugin_set_track_count(self,count)
1731
1732 - def get_group_track_count(self, group):
1733 """Returns the number of tracks for one of ParameterGroup""" 1734 assert self._as_parameter_ 1735 return zzub_plugin_get_group_track_count(self,group)
1736
1737 - def get_mute(self):
1738 """Returns 1 if plugin is muted, otherwise 0.""" 1739 assert self._as_parameter_ 1740 return zzub_plugin_get_mute(self)
1741
1742 - def set_mute(self, muted):
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
1748 - def get_bypass(self):
1749 """Returns 1 if plugin is bypassed, otherwise 0.""" 1750 assert self._as_parameter_ 1751 return zzub_plugin_get_bypass(self)
1752
1753 - def configure(self, key, value):
1754 """Configure a plugin option. this is e.g. used by the recorder plugin to 1755 specify a file path to write to.""" 1756 assert self._as_parameter_ 1757 zzub_plugin_configure(self,key,value)
1758
1759 - def set_bypass(self, muted):
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
1765 - def get_commands(self, maxlen=1024):
1766 """Returns a string of \\\ 1767 -separated command strings""" 1768 assert self._as_parameter_ 1769 commands = (c_char*maxlen)() 1770 zzub_plugin_get_commands(self,commands,maxlen) 1771 return commands.value
1772
1773 - def get_sub_commands(self, i, maxlen=1024):
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
1783 - def command(self, i):
1784 """Invoke a command on the plugin.""" 1785 assert self._as_parameter_ 1786 zzub_plugin_command(self,i)
1787
1788 - def get_pluginloader(self):
1789 """Returns the pluginloader used to create this plugin.""" 1790 assert self._as_parameter_ 1791 return Pluginloader._new_from_handle(zzub_plugin_get_pluginloader(self))
1792
1794 assert self._as_parameter_ 1795 return zzub_plugin_get_midi_output_device_count(self)
1796
1797 - def get_midi_output_device(self, index):
1798 assert self._as_parameter_ 1799 return zzub_plugin_get_midi_output_device(self,index)
1800
1801 - def get_envelope_count(self):
1802 assert self._as_parameter_ 1803 return zzub_plugin_get_envelope_count(self)
1804
1805 - def get_envelope_flags(self, index):
1806 assert self._as_parameter_ 1807 return zzub_plugin_get_envelope_flags(self,index)
1808
1809 - def get_envelope_name(self, index):
1810 assert self._as_parameter_ 1811 return zzub_plugin_get_envelope_name(self,index)
1812
1813 - def set_stream_source(self, resource):
1814 assert self._as_parameter_ 1815 zzub_plugin_set_stream_source(self,resource)
1816
1817 - def set_instrument(self, name):
1818 """Sets the plugin instrument (d'oh!)""" 1819 assert self._as_parameter_ 1820 return zzub_plugin_set_instrument(self,name)
1821 1822 @staticmethod
1823 - def create_range_pattern(player, columns, rows):
1824 """Creates a non-playable pattern with given columns and rows in group 0, track 0. All values are set to 0 by default.""" 1825 return Pattern._new_from_handle(zzub_plugin_create_range_pattern(player,columns,rows))
1826
1827 - def create_pattern(self, rows):
1828 """Creates a pattern compatible with given plugin. The pattern becomes incompatible if the plugin has tracks or incoming connections added.""" 1829 assert self._as_parameter_ 1830 return Pattern._new_from_handle(zzub_plugin_create_pattern(self,rows))
1831
1832 - def get_pattern_count(self):
1833 """Returns how many patterns are associated with the plugin.""" 1834 assert self._as_parameter_ 1835 return zzub_plugin_get_pattern_count(self)
1836
1837 - def add_pattern(self, pattern):
1838 """Adds a pattern at the end of the plugins list of patterns""" 1839 assert self._as_parameter_ 1840 zzub_plugin_add_pattern(self,pattern)
1841
1842 - def remove_pattern(self, pattern):
1843 """Remove the pattern from the plugin""" 1844 assert self._as_parameter_ 1845 zzub_plugin_remove_pattern(self,pattern)
1846
1847 - def move_pattern(self, index, newIndex):
1848 """Change the order of patterns""" 1849 assert self._as_parameter_ 1850 zzub_plugin_move_pattern(self,index,newIndex)
1851
1852 - def update_pattern(self, index, pattern):
1853 """Replaces pattern contents """ 1854 assert self._as_parameter_ 1855 zzub_plugin_update_pattern(self,index,pattern)
1856
1857 - def get_pattern(self, index):
1858 """Returns a copy of the requested pattern. Callers must destroy the pattern returned from get_pattern""" 1859 assert self._as_parameter_ 1860 return Pattern._new_from_handle(zzub_plugin_get_pattern(self,index))
1861
1862 - def get_pattern_list(self):
1863 for index in xrange(self.get_pattern_count()): 1864 yield self.get_pattern(index)
1865
1866 - def get_pattern_by_name(self, name):
1867 """Returns the index of the pattern with the given name""" 1868 assert self._as_parameter_ 1869 return zzub_plugin_get_pattern_by_name(self,name)
1870
1871 - def get_pattern_name(self, index):
1872 """Returns the name of given pattern.""" 1873 assert self._as_parameter_ 1874 return zzub_plugin_get_pattern_name(self,index)
1875
1876 - def set_pattern_name(self, index, name):
1877 """Updates the name of the pattern.""" 1878 assert self._as_parameter_ 1879 zzub_plugin_set_pattern_name(self,index,name)
1880
1881 - def get_pattern_length(self, index):
1882 """Returns the length of the pattern.""" 1883 assert self._as_parameter_ 1884 return zzub_plugin_get_pattern_length(self,index)
1885
1886 - def set_pattern_length(self, index, rows):
1887 """Updates the number of rows in the pattern.""" 1888 assert self._as_parameter_ 1889 zzub_plugin_set_pattern_length(self,index,rows)
1890
1891 - def get_pattern_value(self, pattern, group, track, column, row):
1892 """Returns a value from the requested pattern.""" 1893 assert self._as_parameter_ 1894 return zzub_plugin_get_pattern_value(self,pattern,group,track,column,row)
1895
1896 - def set_pattern_value(self, pattern, group, track, column, row, value):
1897 """Sets a value in a pattern.""" 1898 assert self._as_parameter_ 1899 zzub_plugin_set_pattern_value(self,pattern,group,track,column,row,value)
1900
1901 - def get_new_pattern_name(self, maxLen=1024):
1902 assert self._as_parameter_ 1903 name = (c_char*maxLen)() 1904 zzub_plugin_get_new_pattern_name(self,name,maxLen) 1905 return name.value
1906
1907 - def linear_to_pattern(self, index):
1908 assert self._as_parameter_ 1909 group = c_int() 1910 track = c_int() 1911 column = c_int() 1912 _ret_arg = zzub_plugin_linear_to_pattern(self,index,byref(group),byref(track),byref(column)) 1913 return _ret_arg,group.value,track.value,column.value
1914
1915 - def pattern_to_linear(self, group, track, column):
1916 assert self._as_parameter_ 1917 index = c_int() 1918 _ret_arg = zzub_plugin_pattern_to_linear(self,group,track,column,byref(index)) 1919 return _ret_arg,index.value
1920
1921 - def get_pattern_column_count(self):
1922 assert self._as_parameter_ 1923 return zzub_plugin_get_pattern_column_count(self)
1924
1925 - def insert_pattern_rows(self, pattern, column_indices, num_indices, start, rows):
1926 """Inserts rows in a pattern. column_indices has a total length of 3 * num_indices, where each index is a triple of group, track and column.""" 1927 assert self._as_parameter_ 1928 column_indices = (c_int*(num_indices*3))(*column_indices) 1929 zzub_plugin_insert_pattern_rows(self,pattern,column_indices,num_indices,start,rows)
1930
1931 - def remove_pattern_rows(self, pattern, column_indices, num_indices, start, rows):
1932 """Removes rows in a pattern. column_indices has a total length of 3 * num_indices, where each index is a triple of group, track and column.""" 1933 assert self._as_parameter_ 1934 column_indices = (c_int*(num_indices*3))(*column_indices) 1935 zzub_plugin_remove_pattern_rows(self,pattern,column_indices,num_indices,start,rows)
1936
1937 - def describe_value(self, group, column, value, maxlen=1024):
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
1947 - def get_parameter_value(self, group, track, column):
1948 """Returns the last written value of the requested parameter.""" 1949 assert self._as_parameter_ 1950 return zzub_plugin_get_parameter_value(self,group,track,column)
1951
1952 - def set_parameter_value(self, group, track, column, value, record):
1953 """Sets the value of a plugin parameter. The method will wait for the player thread to pick up the modified value and call process_events().""" 1954 assert self._as_parameter_ 1955 zzub_plugin_set_parameter_value(self,group,track,column,value,record)
1956
1957 - def set_parameter_value_direct(self, group, track, column, value, record):
1958 """Sets the value of a plugin parameter. Unlike zzub_plugin_set_parameter_value(), this method returns immediately. The parameter will be changed later when the player thread notices the modified value. Is also not undoable.""" 1959 assert self._as_parameter_ 1960 zzub_plugin_set_parameter_value_direct(self,group,track,column,value,record)
1961
1962 - def get_parameter_count(self, group, track):
1963 assert self._as_parameter_ 1964 return zzub_plugin_get_parameter_count(self,group,track)
1965
1966 - def get_parameter(self, group, track, column):
1969
1970 - def get_input_connection_count(self):
1971 """Returns the number of input connections for given plugin.""" 1972 assert self._as_parameter_ 1973 return zzub_plugin_get_input_connection_count(self)
1974
1975 - def get_input_connection_by_type(self, from_plugin, type):
1976 """Returns the input connection index for given plugin and connection type.""" 1977 assert self._as_parameter_ 1978 return zzub_plugin_get_input_connection_by_type(self,from_plugin,type)
1979
1980 - def get_input_connection_type(self, index):
1981 """Returns the connection type for given plugin and connection index.""" 1982 assert self._as_parameter_ 1983 return zzub_plugin_get_input_connection_type(self,index)
1984
1985 - def get_input_connection_plugin(self, index):
1986 """Returns the plugin index for given plugin and connection index.""" 1987 assert self._as_parameter_ 1988 return Plugin._new_from_handle(zzub_plugin_get_input_connection_plugin(self,index))
1989
1991 """Returns the number of output connections for given plugin.""" 1992 assert self._as_parameter_ 1993 return zzub_plugin_get_output_connection_count(self)
1994
1995 - def get_output_connection_by_type(self, from_plugin, type):
1996 """Returns the output connection index for given plugin and connection type.""" 1997 assert self._as_parameter_ 1998 return zzub_plugin_get_output_connection_by_type(self,from_plugin,type)
1999
2000 - def get_output_connection_type(self, index):
2001 """Returns the connection type for given plugin and connection index.""" 2002 assert self._as_parameter_ 2003 return zzub_plugin_get_output_connection_type(self,index)
2004
2005 - def get_output_connection_plugin(self, index):
2006 """Returns the plugin index for given plugin and connection index.""" 2007 assert self._as_parameter_ 2008 return Plugin._new_from_handle(zzub_plugin_get_output_connection_plugin(self,index))
2009
2010 - def add_input(self, from_plugin, type):
2011 """Connect two plugins""" 2012 assert self._as_parameter_ 2013 return zzub_plugin_add_input(self,from_plugin,type)
2014
2015 - def delete_input(self, from_plugin, type):
2016 """Disconnect two plugins""" 2017 assert self._as_parameter_ 2018 zzub_plugin_delete_input(self,from_plugin,type)
2019
2020 - def get_mixbuffer(self):
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
2030 - def get_last_peak(self):
2031 assert self._as_parameter_ 2032 maxL = c_float() 2033 maxR = c_float() 2034 zzub_plugin_get_last_peak(self,byref(maxL),byref(maxR)) 2035 return maxL.value,maxR.value
2036
2037 - def get_last_worktime(self):
2038 assert self._as_parameter_ 2039 return zzub_plugin_get_last_worktime(self)
2040
2041 - def get_last_cpu_load(self):
2042 assert self._as_parameter_ 2043 return zzub_plugin_get_last_cpu_load(self)
2044
2045 - def get_last_midi_result(self):
2046 assert self._as_parameter_ 2047 return zzub_plugin_get_last_midi_result(self)
2048
2049 - def get_last_audio_result(self):
2050 assert self._as_parameter_ 2051 return zzub_plugin_get_last_audio_result(self)
2052
2053 - def invoke_event(self, data, immediate):
2054 assert self._as_parameter_ 2055 return zzub_plugin_invoke_event(self,data,immediate)
2056
2057 - def tick(self):
2058 assert self._as_parameter_ 2059 zzub_plugin_tick(self)
2060
2061 - def get_attribute_value(self, index):
2062 assert self._as_parameter_ 2063 return zzub_plugin_get_attribute_value(self,index)
2064
2065 - def set_attribute_value(self, index, value):
2068
2069 - def play_midi_note(self, note, prevNote, velocity):
2070 assert self._as_parameter_ 2071 zzub_plugin_play_midi_note(self,note,prevNote,velocity)
2072
2073 - def play_pattern_row_ref(self, pattern, row):
2074 assert self._as_parameter_ 2075 zzub_plugin_play_pattern_row_ref(self,pattern,row)
2076
2077 - def play_pattern_row(self, pattern, row):
2078 assert self._as_parameter_ 2079 zzub_plugin_play_pattern_row(self,pattern,row)
2080
2081 - def set_midi_connection_device(self, from_plugin, name):
2082 assert self._as_parameter_ 2083 return zzub_plugin_set_midi_connection_device(self,from_plugin,name)
2084
2085 - def add_event_connection_binding(self, from_plugin, sourceparam, targetgroup, targettrack, targetparam):
2086 assert self._as_parameter_ 2087 zzub_plugin_add_event_connection_binding(self,from_plugin,sourceparam,targetgroup,targettrack,targetparam)
2088 2089 2090 zzub_plugin_t._wrapper_ = Plugin
2091 2092 -class Sequence(object):
2093 """Sequencer methods""" 2094 2095 _as_parameter_ = None 2096 _hash = 0 2097
2098 - def __init__(self, handle):
2099 self._as_parameter_ = handle 2100 self._hash = cast(self._as_parameter_, c_void_p).value
2101 2102 @classmethod
2103 - def _new_from_handle(cls,handle):
2104 if not handle: 2105 return None 2106 return cls(handle)
2107
2108 - def __hash__(self):
2109 return self._hash
2110
2111 - def __eq__(self,other):
2112 return self._hash == hash(other)
2113
2114 - def __ne__(self,other):
2115 return self._hash != hash(other)
2116
2117 - def destroy(self):
2118 assert self._as_parameter_ 2119 zzub_sequence_destroy(self)
2120
2121 - def move(self, newIndex):
2122 assert self._as_parameter_ 2123 zzub_sequence_move(self,newIndex)
2124
2125 - def insert_events(self, start, ticks):
2126 assert self._as_parameter_ 2127 return zzub_sequence_insert_events(self,start,ticks)
2128
2129 - def remove_events(self, start, ticks):
2130 assert self._as_parameter_ 2131 return zzub_sequence_remove_events(self,start,ticks)
2132
2133 - def set_event(self, pos, value):
2134 assert self._as_parameter_ 2135 zzub_sequence_set_event(self,pos,value)
2136
2137 - def get_plugin(self):
2138 assert self._as_parameter_ 2139 return Plugin._new_from_handle(zzub_sequence_get_plugin(self))
2140
2141 - def get_event_at(self, pos):
2142 assert self._as_parameter_ 2143 return zzub_sequence_get_event_at(self,pos)
2144
2145 - def get_event_count(self):
2146 assert self._as_parameter_ 2147 return zzub_sequence_get_event_count(self)
2148
2149 - def get_event(self, index):
2150 assert self._as_parameter_ 2151 pos = c_int() 2152 value = c_int() 2153 zzub_sequence_get_event(self,index,byref(pos),byref(value)) 2154 return pos.value,value.value
2155
2156 - def get_event_list(self):
2157 for index in xrange(self.get_event_count()): 2158 yield self.get_event(index)
2159
2160 - def get_type(self):
2161 assert self._as_parameter_ 2162 return zzub_sequence_get_type(self)
2163 2164 2165 zzub_sequence_t._wrapper_ = Sequence
2166 2167 -class Wavelevel(object):
2168 """Wavelevel""" 2169 2170 _as_parameter_ = None 2171 _hash = 0 2172
2173 - def __init__(self, handle):
2174 self._as_parameter_ = handle 2175 self._hash = cast(self._as_parameter_, c_void_p).value
2176 2177 @classmethod
2178 - def _new_from_handle(cls,handle):
2179 if not handle: 2180 return None 2181 return cls(handle)
2182
2183 - def __hash__(self):
2184 return self._hash
2185
2186 - def __eq__(self,other):
2187 return self._hash == hash(other)
2188
2189 - def __ne__(self,other):
2190 return self._hash != hash(other)
2191
2192 - def get_wave(self):
2193 assert self._as_parameter_ 2194 return Wave._new_from_handle(zzub_wavelevel_get_wave(self))
2195
2196 - def clear(self):
2197 assert self._as_parameter_ 2198 return zzub_wavelevel_clear(self)
2199
2200 - def get_sample_count(self):
2201 assert self._as_parameter_ 2202 return zzub_wavelevel_get_sample_count(self)
2203
2204 - def set_sample_count(self, count):
2205 assert self._as_parameter_ 2206 zzub_wavelevel_set_sample_count(self,count)
2207
2208 - def get_root_note(self):
2209 assert self._as_parameter_ 2210 return zzub_wavelevel_get_root_note(self)
2211
2212 - def set_root_note(self, note):
2213 assert self._as_parameter_ 2214 zzub_wavelevel_set_root_note(self,note)
2215
2216 - def get_samples_per_second(self):
2217 assert self._as_parameter_ 2218 return zzub_wavelevel_get_samples_per_second(self)
2219
2220 - def set_samples_per_second(self, sps):
2221 assert self._as_parameter_ 2222 zzub_wavelevel_set_samples_per_second(self,sps)
2223
2224 - def get_loop_start(self):
2225 assert self._as_parameter_ 2226 return zzub_wavelevel_get_loop_start(self)
2227
2228 - def set_loop_start(self, pos):
2229 assert self._as_parameter_ 2230 zzub_wavelevel_set_loop_start(self,pos)
2231
2232 - def get_loop_end(self):
2233 assert self._as_parameter_ 2234 return zzub_wavelevel_get_loop_end(self)
2235
2236 - def set_loop_end(self, pos):
2237 assert self._as_parameter_ 2238 zzub_wavelevel_set_loop_end(self,pos)
2239
2240 - def get_format(self):
2241 assert self._as_parameter_ 2242 return zzub_wavelevel_get_format(self)
2243
2244 - def remove_sample_range(self, start, end):
2245 assert self._as_parameter_ 2246 zzub_wavelevel_remove_sample_range(self,start,end)
2247
2248 - def get_samples_digest(self, channel, start, end, digestsize):
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
2258 2259 -class Envelope(object):
2260 """Envelopes""" 2261 2262 _as_parameter_ = None 2263 _hash = 0 2264
2265 - def __init__(self, handle):
2266 self._as_parameter_ = handle 2267 self._hash = cast(self._as_parameter_, c_void_p).value
2268 2269 @classmethod
2270 - def _new_from_handle(cls,handle):
2271 if not handle: 2272 return None 2273 return cls(handle)
2274
2275 - def __hash__(self):
2276 return self._hash
2277
2278 - def __eq__(self,other):
2279 return self._hash == hash(other)
2280
2281 - def __ne__(self,other):
2282 return self._hash != hash(other)
2283
2284 - def get_attack(self):
2285 assert self._as_parameter_ 2286 return zzub_envelope_get_attack(self)
2287
2288 - def get_decay(self):
2289 assert self._as_parameter_ 2290 return zzub_envelope_get_decay(self)
2291
2292 - def get_sustain(self):
2293 assert self._as_parameter_ 2294 return zzub_envelope_get_sustain(self)
2295
2296 - def get_release(self):
2297 assert self._as_parameter_ 2298 return zzub_envelope_get_release(self)
2299
2300 - def set_attack(self, attack):
2301 assert self._as_parameter_ 2302 zzub_envelope_set_attack(self,attack)
2303
2304 - def set_decay(self, decay):
2305 assert self._as_parameter_ 2306 zzub_envelope_set_decay(self,decay)
2307
2308 - def set_sustain(self, sustain):
2309 assert self._as_parameter_ 2310 zzub_envelope_set_sustain(self,sustain)
2311
2312 - def set_release(self, release):
2313 assert self._as_parameter_ 2314 zzub_envelope_set_release(self,release)
2315
2316 - def get_subdivision(self):
2317 assert self._as_parameter_ 2318 return zzub_envelope_get_subdivision(self)
2319
2320 - def set_subdivision(self, subdiv):
2321 assert self._as_parameter_ 2322 zzub_envelope_set_subdivision(self,subdiv)
2323
2324 - def get_flags(self):
2325 assert self._as_parameter_ 2326 return zzub_envelope_get_flags(self)
2327
2328 - def set_flags(self, flags):
2329 assert self._as_parameter_ 2330 zzub_envelope_set_flags(self,flags)
2331
2332 - def is_enabled(self):
2333 assert self._as_parameter_ 2334 return zzub_envelope_is_enabled(self)
2335
2336 - def enable(self, enable):
2337 assert self._as_parameter_ 2338 zzub_envelope_enable(self,enable)
2339
2340 - def get_point_count(self):
2341 assert self._as_parameter_ 2342 return zzub_envelope_get_point_count(self)
2343
2344 - def get_point(self, index):
2345 assert self._as_parameter_ 2346 x = c_ushort() 2347 y = c_ushort() 2348 flags = c_byte() 2349 zzub_envelope_get_point(self,index,byref(x),byref(y),byref(flags)) 2350 return x.value,y.value,flags.value
2351
2352 - def get_point_list(self):
2353 for index in xrange(self.get_point_count()): 2354 yield self.get_point(index)
2355
2356 - def set_point(self, index, x, y, flags):
2357 assert self._as_parameter_ 2358 zzub_envelope_set_point(self,index,x,y,flags)
2359
2360 - def insert_point(self, index):
2361 assert self._as_parameter_ 2362 zzub_envelope_insert_point(self,index)
2363
2364 - def delete_point(self, index):
2365 assert self._as_parameter_ 2366 zzub_envelope_delete_point(self,index)
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
2377 - def __init__(self, handle):
2378 self._as_parameter_ = handle 2379 self._hash = cast(self._as_parameter_, c_void_p).value
2380 2381 @classmethod
2382 - def _new_from_handle(cls,handle):
2383 if not handle: 2384 return None 2385 return cls(handle)
2386
2387 - def __hash__(self):
2388 return self._hash
2389
2390 - def __eq__(self,other):
2391 return self._hash == hash(other)
2392
2393 - def __ne__(self,other):
2394 return self._hash != hash(other)
2395
2396 - def get_index(self):
2397 assert self._as_parameter_ 2398 return zzub_wave_get_index(self)
2399
2400 - def load_sample(self, level, offset, clear, path, datastream):
2401 assert self._as_parameter_ 2402 return zzub_wave_load_sample(self,level,offset,clear,path,datastream)
2403
2404 - def save_sample(self, level, datastream):
2405 assert self._as_parameter_ 2406 return zzub_wave_save_sample(self,level,datastream)
2407
2408 - def save_sample_range(self, level, datastream, start, end):
2409 assert self._as_parameter_ 2410 return zzub_wave_save_sample_range(self,level,datastream,start,end)
2411
2412 - def clear(self):
2413 assert self._as_parameter_ 2414 return zzub_wave_clear(self)
2415
2416 - def get_name(self):
2417 assert self._as_parameter_ 2418 return zzub_wave_get_name(self)
2419
2420 - def set_name(self, name):
2421 assert self._as_parameter_ 2422 zzub_wave_set_name(self,name)
2423
2424 - def get_path(self):
2425 assert self._as_parameter_ 2426 return zzub_wave_get_path(self)
2427
2428 - def set_path(self, path):
2429 assert self._as_parameter_ 2430 zzub_wave_set_path(self,path)
2431
2432 - def get_flags(self):
2433 assert self._as_parameter_ 2434 return zzub_wave_get_flags(self)
2435
2436 - def set_flags(self, flags):
2437 assert self._as_parameter_ 2438 zzub_wave_set_flags(self,flags)
2439
2440 - def get_volume(self):
2441 assert self._as_parameter_ 2442 return zzub_wave_get_volume(self)
2443
2444 - def set_volume(self, volume):
2445 assert self._as_parameter_ 2446 zzub_wave_set_volume(self,volume)
2447
2448 - def get_envelope_count(self):
2449 assert self._as_parameter_ 2450 return zzub_wave_get_envelope_count(self)
2451
2452 - def set_envelope_count(self, count):
2453 assert self._as_parameter_ 2454 zzub_wave_set_envelope_count(self,count)
2455
2456 - def get_envelope(self, index):
2459
2460 - def set_envelope(self, index, env):
2461 assert self._as_parameter_ 2462 zzub_wave_set_envelope(self,index,env)
2463
2464 - def get_level_count(self):
2465 assert self._as_parameter_ 2466 return zzub_wave_get_level_count(self)
2467
2468 - def get_level(self, index):
2471
2472 - def get_level_list(self):
2473 for index in xrange(self.get_level_count()): 2474 yield self.get_level(index)
2475 2476 2477 zzub_wave_t._wrapper_ = Wave
2478 2479 -class Recorder(object):
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
2493 - def __init__(self, handle):
2494 self._as_parameter_ = handle 2495 self._hash = cast(self._as_parameter_, c_void_p).value
2496 2497 @classmethod
2498 - def _new_from_handle(cls,handle):
2499 if not handle: 2500 return None 2501 return cls(handle)
2502
2503 - def __hash__(self):
2504 return self._hash
2505
2506 - def __eq__(self,other):
2507 return self._hash == hash(other)
2508
2509 - def __ne__(self,other):
2510 return self._hash != hash(other)
2511 2512 2513 zzub_recorder_t._wrapper_ = Recorder
2514 2515 -class Player(object):
2516 """Player Methods""" 2517 2518 _as_parameter_ = None 2519 _hash = 0 2520
2521 - def __init__(self, handle):
2522 self._as_parameter_ = handle 2523 self._hash = cast(self._as_parameter_, c_void_p).value
2524 2525 @classmethod
2526 - def _new_from_handle(cls,handle):
2527 if not handle: 2528 return None 2529 return cls(handle)
2530
2531 - def __hash__(self):
2532 return self._hash
2533
2534 - def __eq__(self,other):
2535 return self._hash == hash(other)
2536
2537 - def __ne__(self,other):
2538 return self._hash != hash(other)
2539 2540 @staticmethod
2541 - def create():
2542 """Create a player instance.""" 2543 return Player._new_from_handle(zzub_player_create())
2544
2545 - def destroy(self):
2546 """Destroy a player instance and all its resources.""" 2547 assert self._as_parameter_ 2548 zzub_player_destroy(self)
2549
2550 - def add_plugin_path(self, path):
2551 """Adds a directory that will be scanned for plugins upon initialization. 2552 The path *must* be terminated with an ending (back)slash. """ 2553 assert self._as_parameter_ 2554 zzub_player_add_plugin_path(self,path)
2555
2556 - def blacklist_plugin(self, uri):
2557 """Blacklist plugin.""" 2558 assert self._as_parameter_ 2559 zzub_player_blacklist_plugin(self,uri)
2560
2561 - def initialize(self, samplesPerSecond):
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
2586 - def load_ccm(self, fileName):
2587 """Load a project in CCM file format from disk.""" 2588 assert self._as_parameter_ 2589 return zzub_player_load_ccm(self,fileName)
2590
2591 - def save_ccm(self, fileName):
2592 """Save current project in the CCM file format to disk.""" 2593 assert self._as_parameter_ 2594 return zzub_player_save_ccm(self,fileName)
2595
2596 - def get_state(self):
2597 """Returns one of the values in the state enumeration.""" 2598 assert self._as_parameter_ 2599 return zzub_player_get_state(self)
2600
2601 - def set_state(self, state):
2602 """Set player state. Takes one of the values in the state enumeration as parameter.""" 2603 assert self._as_parameter_ 2604 zzub_player_set_state(self,state)
2605
2606 - def set_position(self, tick):
2607 assert self._as_parameter_ 2608 zzub_player_set_position(self,tick)
2609
2610 - def get_bpm(self):
2611 assert self._as_parameter_ 2612 return zzub_player_get_bpm(self)
2613
2614 - def get_tpb(self):
2615 assert self._as_parameter_ 2616 return zzub_player_get_tpb(self)
2617
2618 - def set_bpm(self, bpm):
2619 assert self._as_parameter_ 2620 zzub_player_set_bpm(self,bpm)
2621
2622 - def set_tpb(self, tpb):
2623 assert self._as_parameter_ 2624 zzub_player_set_tpb(self,tpb)
2625
2626 - def get_pluginloader_count(self):
2627 """Returns number of plugin loaders.""" 2628 assert self._as_parameter_ 2629 return zzub_player_get_pluginloader_count(self)
2630
2631 - def get_pluginloader(self, index):
2632 """Returns a zzub_pluginloader_t handle by index.""" 2633 assert self._as_parameter_ 2634 return Pluginloader._new_from_handle(zzub_player_get_pluginloader(self,index))
2635
2636 - def get_pluginloader_by_name(self, name):
2637 """Finds a zzub_pluginloader_t handle by uri.""" 2638 assert self._as_parameter_ 2639 return Pluginloader._new_from_handle(zzub_player_get_pluginloader_by_name(self,name))
2640
2641 - def get_pluginloader_list(self):
2642 for index in xrange(self.get_pluginloader_count()): 2643 yield self.get_pluginloader(index)
2644
2645 - def get_plugin_count(self):
2646 """Returns number of plugins in the current song.""" 2647 assert self._as_parameter_ 2648 return zzub_player_get_plugin_count(self)
2649 2650 @staticmethod
2651 - def add_midimapping(plugin, group, track, param, channel, controller):
2653 2654 @staticmethod
2655 - def remove_midimapping(plugin, group, track, param):
2657
2658 - def get_plugin_by_name(self, name):
2659 """Returns the plugin object given the plugins name.""" 2660 assert self._as_parameter_ 2661 return Plugin._new_from_handle(zzub_player_get_plugin_by_name(self,name))
2662
2663 - def get_plugin_by_id(self, id):
2664 """Returns the plugin object given the plugin id. See also zzub_plugin_get_id().""" 2665 assert self._as_parameter_ 2666 return Plugin._new_from_handle(zzub_player_get_plugin_by_id(self,id))
2667
2668 - def get_plugin(self, index):
2669 """Returns the plugin object given the plugins index in the graph.""" 2670 assert self._as_parameter_ 2671 return Plugin._new_from_handle(zzub_player_get_plugin(self,index))
2672
2673 - def get_plugin_list(self):
2674 for index in xrange(self.get_plugin_count()): 2675 yield self.get_plugin(index)
2676
2677 - def work_stereo(self):
2678 assert self._as_parameter_ 2679 numSamples = c_int() 2680 _ret_arg = zzub_player_work_stereo(self,byref(numSamples)) 2681 return _ret_arg,numSamples.value
2682
2683 - def clear(self):
2684 assert self._as_parameter_ 2685 zzub_player_clear(self)
2686
2687 - def get_position(self):
2688 assert self._as_parameter_ 2689 return zzub_player_get_position(self)
2690
2691 - def set_position(self, pos):
2692 assert self._as_parameter_ 2693 zzub_player_set_position(self,pos)
2694
2695 - def get_loop_start(self):
2696 assert self._as_parameter_ 2697 return zzub_player_get_loop_start(self)
2698
2699 - def get_loop_end(self):
2700 assert self._as_parameter_ 2701 return zzub_player_get_loop_end(self)
2702
2703 - def set_loop_start(self, v):
2704 assert self._as_parameter_ 2705 zzub_player_set_loop_start(self,v)
2706
2707 - def set_loop_end(self, v):
2708 assert self._as_parameter_ 2709 zzub_player_set_loop_end(self,v)
2710
2711 - def get_loop(self):
2712 assert self._as_parameter_ 2713 begin = c_int() 2714 end = c_int() 2715 zzub_player_get_loop(self,byref(begin),byref(end)) 2716 return begin.value,end.value
2717
2718 - def set_loop(self, begin, end):
2719 assert self._as_parameter_ 2720 zzub_player_set_loop(self,begin,end)
2721
2722 - def get_song_start(self):
2723 assert self._as_parameter_ 2724 return zzub_player_get_song_start(self)
2725
2726 - def get_song_end(self):
2727 assert self._as_parameter_ 2728 return zzub_player_get_song_end(self)
2729
2730 - def set_song_start(self, v):
2731 assert self._as_parameter_ 2732 zzub_player_set_song_start(self,v)
2733
2734 - def set_song_end(self, v):
2735 assert self._as_parameter_ 2736 zzub_player_set_song_end(self,v)
2737
2738 - def set_loop_enabled(self, enable):
2741
2742 - def get_loop_enabled(self):
2743 assert self._as_parameter_ 2744 return zzub_player_get_loop_enabled(self)
2745
2746 - def get_sequence_track_count(self):
2747 assert self._as_parameter_ 2748 return zzub_player_get_sequence_track_count(self)
2749
2750 - def get_sequence(self, index):
2753
2754 - def get_sequence_list(self):
2755 for index in xrange(self.get_sequence_track_count()): 2756 yield self.get_sequence(index)
2757 2758 @staticmethod
2759 - def get_currently_playing_pattern(plugin):
2760 """Retreive the currently playing pattern and row for a plugin.""" 2761 pattern = c_int() 2762 row = c_int() 2763 _ret_arg = zzub_player_get_currently_playing_pattern(plugin,byref(pattern),byref(row)) 2764 return _ret_arg,pattern.value,row.value
2765 2766 @staticmethod
2767 - def get_currently_playing_pattern_row(plugin, pattern):
2768 """Retreive the currently playing row for a plugin and a pattern.""" 2769 row = c_int() 2770 _ret_arg = zzub_player_get_currently_playing_pattern_row(plugin,pattern,byref(row)) 2771 return _ret_arg,row.value
2772
2773 - def get_wave_count(self):
2774 assert self._as_parameter_ 2775 return zzub_player_get_wave_count(self)
2776
2777 - def get_wave(self, index):
2778 assert self._as_parameter_ 2779 return Wave._new_from_handle(zzub_player_get_wave(self,index))
2780
2781 - def get_wave_list(self):
2782 for index in xrange(self.get_wave_count()): 2783 yield self.get_wave(index)
2784
2785 - def get_next_event(self):
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
2794 - def set_callback(self, callback, tag):
2795 """Sets a function that receives events.""" 2796 assert self._as_parameter_ 2797 zzub_player_set_callback(self,callback,tag)
2798
2799 - def handle_events(self):
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
2805 - def set_event_queue_state(self, enable):
2808
2809 - def get_midimapping(self, index):
2812
2813 - def get_midimapping_count(self):
2814 assert self._as_parameter_ 2815 return zzub_player_get_midimapping_count(self)
2816
2817 - def get_midimapping_list(self):
2818 for index in xrange(self.get_midimapping_count()): 2819 yield self.get_midimapping(index)
2820
2821 - def get_automation(self):
2822 assert self._as_parameter_ 2823 return zzub_player_get_automation(self)
2824
2825 - def set_automation(self, enable):
2826 assert self._as_parameter_ 2827 zzub_player_set_automation(self,enable)
2828
2829 - def get_midi_transport(self):
2830 assert self._as_parameter_ 2831 return zzub_player_get_midi_transport(self)
2832
2833 - def set_midi_transport(self, enable):
2836
2837 - def get_infotext(self):
2838 assert self._as_parameter_ 2839 return zzub_player_get_infotext(self)
2840
2841 - def set_infotext(self, text):
2842 assert self._as_parameter_ 2843 zzub_player_set_infotext(self,text)
2844
2845 - def set_midi_plugin(self, plugin):
2846 """Sets the plugin to receive MIDI data if the plugin's internal MIDI 2847 channel is set to the special channel 17 ("Play if selected").""" 2848 assert self._as_parameter_ 2849 zzub_player_set_midi_plugin(self,plugin)
2850
2851 - def get_midi_plugin(self):
2854
2855 - def get_new_plugin_name(self, uri, maxLen=1024):
2856 """Generates a new plugin name that can be used in a call to create_plugin().""" 2857 assert self._as_parameter_ 2858 name = (c_char*maxLen)() 2859 zzub_player_get_new_plugin_name(self,uri,name,maxLen) 2860 return name.value
2861
2862 - def reset_keyjazz(self):
2863 assert self._as_parameter_ 2864 zzub_player_reset_keyjazz(self)
2865
2866 - def create_plugin(self, input, dataSize, instanceName, loader, flags=0):
2867 """Create a new plugin""" 2868 assert self._as_parameter_ 2869 return Plugin._new_from_handle(zzub_player_create_plugin(self,input,dataSize,instanceName,loader,flags))
2870
2871 - def create_sequence(self, plugin, type):
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
2884 - def undo(self):
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
2889 - def redo(self):
2890 """Redoes all editing operations since last call to zzub_player_history_commit().""" 2891 assert self._as_parameter_ 2892 zzub_player_redo(self)
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
2904 - def history_flush_last(self):
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
2919 - def history_get_position(self):
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
2929 - def set_host_info(self, id, version, host_ptr):
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