diff options
Diffstat (limited to 'drivers')
64 files changed, 26597 insertions, 1622 deletions
diff --git a/drivers/alsa/SCsub b/drivers/alsa/SCsub index 91e1140b75..1d76bb18c4 100644 --- a/drivers/alsa/SCsub +++ b/drivers/alsa/SCsub @@ -2,4 +2,7 @@ Import("env") +if "alsa" in env and env["alsa"]: + env.add_source_files(env.drivers_sources, "asound-so_wrap.c") + env.add_source_files(env.drivers_sources, "*.cpp") diff --git a/drivers/alsa/asound-so_wrap.c b/drivers/alsa/asound-so_wrap.c new file mode 100644 index 0000000000..65624bcb70 --- /dev/null +++ b/drivers/alsa/asound-so_wrap.c @@ -0,0 +1,14092 @@ +// This file is generated. Do not edit! +// see https://github.com/hpvb/dynload-wrapper for details +// generated by /home/hp/Projects/godot/pulse/generate-wrapper.py 0.3 on 2021-02-22 19:22:12 +// flags: /home/hp/Projects/godot/pulse/generate-wrapper.py --include /usr/include/alsa/asoundlib.h --sys-include <alsa/asoundlib.h> --soname libasound.so.2 --init-name asound --omit-prefix snd_pcm_sw_params_set_tstamp_type --omit-prefix snd_pcm_status_get_audio_htstamp_report --omit-prefix snd_pcm_sw_params_get_tstamp_type --omit-prefix snd_pcm_status_set_audio_htstamp_config --output-header asound-so_wrap.h --output-implementation asound-so_wrap.c +// +#include <stdint.h> + +#define snd_asoundlib_version snd_asoundlib_version_dylibloader_orig_asound +#define snd_dlpath snd_dlpath_dylibloader_orig_asound +#define snd_dlopen snd_dlopen_dylibloader_orig_asound +#define snd_dlsym snd_dlsym_dylibloader_orig_asound +#define snd_dlclose snd_dlclose_dylibloader_orig_asound +#define snd_async_add_handler snd_async_add_handler_dylibloader_orig_asound +#define snd_async_del_handler snd_async_del_handler_dylibloader_orig_asound +#define snd_async_handler_get_fd snd_async_handler_get_fd_dylibloader_orig_asound +#define snd_async_handler_get_signo snd_async_handler_get_signo_dylibloader_orig_asound +#define snd_async_handler_get_callback_private snd_async_handler_get_callback_private_dylibloader_orig_asound +#define snd_shm_area_create snd_shm_area_create_dylibloader_orig_asound +#define snd_shm_area_share snd_shm_area_share_dylibloader_orig_asound +#define snd_shm_area_destroy snd_shm_area_destroy_dylibloader_orig_asound +#define snd_user_file snd_user_file_dylibloader_orig_asound +#define snd_input_stdio_open snd_input_stdio_open_dylibloader_orig_asound +#define snd_input_stdio_attach snd_input_stdio_attach_dylibloader_orig_asound +#define snd_input_buffer_open snd_input_buffer_open_dylibloader_orig_asound +#define snd_input_close snd_input_close_dylibloader_orig_asound +#define snd_input_scanf snd_input_scanf_dylibloader_orig_asound +#define snd_input_gets snd_input_gets_dylibloader_orig_asound +#define snd_input_getc snd_input_getc_dylibloader_orig_asound +#define snd_input_ungetc snd_input_ungetc_dylibloader_orig_asound +#define snd_output_stdio_open snd_output_stdio_open_dylibloader_orig_asound +#define snd_output_stdio_attach snd_output_stdio_attach_dylibloader_orig_asound +#define snd_output_buffer_open snd_output_buffer_open_dylibloader_orig_asound +#define snd_output_buffer_string snd_output_buffer_string_dylibloader_orig_asound +#define snd_output_close snd_output_close_dylibloader_orig_asound +#define snd_output_printf snd_output_printf_dylibloader_orig_asound +#define snd_output_vprintf snd_output_vprintf_dylibloader_orig_asound +#define snd_output_puts snd_output_puts_dylibloader_orig_asound +#define snd_output_putc snd_output_putc_dylibloader_orig_asound +#define snd_output_flush snd_output_flush_dylibloader_orig_asound +#define snd_strerror snd_strerror_dylibloader_orig_asound +#define snd_lib_error_set_handler snd_lib_error_set_handler_dylibloader_orig_asound +#define snd_lib_error_set_local snd_lib_error_set_local_dylibloader_orig_asound +#define snd_config_topdir snd_config_topdir_dylibloader_orig_asound +#define snd_config_top snd_config_top_dylibloader_orig_asound +#define snd_config_load snd_config_load_dylibloader_orig_asound +#define snd_config_load_override snd_config_load_override_dylibloader_orig_asound +#define snd_config_save snd_config_save_dylibloader_orig_asound +#define snd_config_update snd_config_update_dylibloader_orig_asound +#define snd_config_update_r snd_config_update_r_dylibloader_orig_asound +#define snd_config_update_free snd_config_update_free_dylibloader_orig_asound +#define snd_config_update_free_global snd_config_update_free_global_dylibloader_orig_asound +#define snd_config_update_ref snd_config_update_ref_dylibloader_orig_asound +#define snd_config_ref snd_config_ref_dylibloader_orig_asound +#define snd_config_unref snd_config_unref_dylibloader_orig_asound +#define snd_config_search snd_config_search_dylibloader_orig_asound +#define snd_config_searchv snd_config_searchv_dylibloader_orig_asound +#define snd_config_search_definition snd_config_search_definition_dylibloader_orig_asound +#define snd_config_expand snd_config_expand_dylibloader_orig_asound +#define snd_config_evaluate snd_config_evaluate_dylibloader_orig_asound +#define snd_config_add snd_config_add_dylibloader_orig_asound +#define snd_config_add_before snd_config_add_before_dylibloader_orig_asound +#define snd_config_add_after snd_config_add_after_dylibloader_orig_asound +#define snd_config_remove snd_config_remove_dylibloader_orig_asound +#define snd_config_delete snd_config_delete_dylibloader_orig_asound +#define snd_config_delete_compound_members snd_config_delete_compound_members_dylibloader_orig_asound +#define snd_config_copy snd_config_copy_dylibloader_orig_asound +#define snd_config_make snd_config_make_dylibloader_orig_asound +#define snd_config_make_integer snd_config_make_integer_dylibloader_orig_asound +#define snd_config_make_integer64 snd_config_make_integer64_dylibloader_orig_asound +#define snd_config_make_real snd_config_make_real_dylibloader_orig_asound +#define snd_config_make_string snd_config_make_string_dylibloader_orig_asound +#define snd_config_make_pointer snd_config_make_pointer_dylibloader_orig_asound +#define snd_config_make_compound snd_config_make_compound_dylibloader_orig_asound +#define snd_config_imake_integer snd_config_imake_integer_dylibloader_orig_asound +#define snd_config_imake_integer64 snd_config_imake_integer64_dylibloader_orig_asound +#define snd_config_imake_real snd_config_imake_real_dylibloader_orig_asound +#define snd_config_imake_string snd_config_imake_string_dylibloader_orig_asound +#define snd_config_imake_safe_string snd_config_imake_safe_string_dylibloader_orig_asound +#define snd_config_imake_pointer snd_config_imake_pointer_dylibloader_orig_asound +#define snd_config_get_type snd_config_get_type_dylibloader_orig_asound +#define snd_config_is_array snd_config_is_array_dylibloader_orig_asound +#define snd_config_set_id snd_config_set_id_dylibloader_orig_asound +#define snd_config_set_integer snd_config_set_integer_dylibloader_orig_asound +#define snd_config_set_integer64 snd_config_set_integer64_dylibloader_orig_asound +#define snd_config_set_real snd_config_set_real_dylibloader_orig_asound +#define snd_config_set_string snd_config_set_string_dylibloader_orig_asound +#define snd_config_set_ascii snd_config_set_ascii_dylibloader_orig_asound +#define snd_config_set_pointer snd_config_set_pointer_dylibloader_orig_asound +#define snd_config_get_id snd_config_get_id_dylibloader_orig_asound +#define snd_config_get_integer snd_config_get_integer_dylibloader_orig_asound +#define snd_config_get_integer64 snd_config_get_integer64_dylibloader_orig_asound +#define snd_config_get_real snd_config_get_real_dylibloader_orig_asound +#define snd_config_get_ireal snd_config_get_ireal_dylibloader_orig_asound +#define snd_config_get_string snd_config_get_string_dylibloader_orig_asound +#define snd_config_get_ascii snd_config_get_ascii_dylibloader_orig_asound +#define snd_config_get_pointer snd_config_get_pointer_dylibloader_orig_asound +#define snd_config_test_id snd_config_test_id_dylibloader_orig_asound +#define snd_config_iterator_first snd_config_iterator_first_dylibloader_orig_asound +#define snd_config_iterator_next snd_config_iterator_next_dylibloader_orig_asound +#define snd_config_iterator_end snd_config_iterator_end_dylibloader_orig_asound +#define snd_config_iterator_entry snd_config_iterator_entry_dylibloader_orig_asound +#define snd_config_get_bool_ascii snd_config_get_bool_ascii_dylibloader_orig_asound +#define snd_config_get_bool snd_config_get_bool_dylibloader_orig_asound +#define snd_config_get_ctl_iface_ascii snd_config_get_ctl_iface_ascii_dylibloader_orig_asound +#define snd_config_get_ctl_iface snd_config_get_ctl_iface_dylibloader_orig_asound +#define snd_names_list snd_names_list_dylibloader_orig_asound +#define snd_names_list_free snd_names_list_free_dylibloader_orig_asound +#define snd_pcm_open snd_pcm_open_dylibloader_orig_asound +#define snd_pcm_open_lconf snd_pcm_open_lconf_dylibloader_orig_asound +#define snd_pcm_open_fallback snd_pcm_open_fallback_dylibloader_orig_asound +#define snd_pcm_close snd_pcm_close_dylibloader_orig_asound +#define snd_pcm_name snd_pcm_name_dylibloader_orig_asound +#define snd_pcm_type snd_pcm_type_dylibloader_orig_asound +#define snd_pcm_stream snd_pcm_stream_dylibloader_orig_asound +#define snd_pcm_poll_descriptors_count snd_pcm_poll_descriptors_count_dylibloader_orig_asound +#define snd_pcm_poll_descriptors snd_pcm_poll_descriptors_dylibloader_orig_asound +#define snd_pcm_poll_descriptors_revents snd_pcm_poll_descriptors_revents_dylibloader_orig_asound +#define snd_pcm_nonblock snd_pcm_nonblock_dylibloader_orig_asound +#define snd_async_add_pcm_handler snd_async_add_pcm_handler_dylibloader_orig_asound +#define snd_async_handler_get_pcm snd_async_handler_get_pcm_dylibloader_orig_asound +#define snd_pcm_info snd_pcm_info_dylibloader_orig_asound +#define snd_pcm_hw_params_current snd_pcm_hw_params_current_dylibloader_orig_asound +#define snd_pcm_hw_params snd_pcm_hw_params_dylibloader_orig_asound +#define snd_pcm_hw_free snd_pcm_hw_free_dylibloader_orig_asound +#define snd_pcm_sw_params_current snd_pcm_sw_params_current_dylibloader_orig_asound +#define snd_pcm_sw_params snd_pcm_sw_params_dylibloader_orig_asound +#define snd_pcm_prepare snd_pcm_prepare_dylibloader_orig_asound +#define snd_pcm_reset snd_pcm_reset_dylibloader_orig_asound +#define snd_pcm_status snd_pcm_status_dylibloader_orig_asound +#define snd_pcm_start snd_pcm_start_dylibloader_orig_asound +#define snd_pcm_drop snd_pcm_drop_dylibloader_orig_asound +#define snd_pcm_drain snd_pcm_drain_dylibloader_orig_asound +#define snd_pcm_pause snd_pcm_pause_dylibloader_orig_asound +#define snd_pcm_state snd_pcm_state_dylibloader_orig_asound +#define snd_pcm_hwsync snd_pcm_hwsync_dylibloader_orig_asound +#define snd_pcm_delay snd_pcm_delay_dylibloader_orig_asound +#define snd_pcm_resume snd_pcm_resume_dylibloader_orig_asound +#define snd_pcm_htimestamp snd_pcm_htimestamp_dylibloader_orig_asound +#define snd_pcm_avail snd_pcm_avail_dylibloader_orig_asound +#define snd_pcm_avail_update snd_pcm_avail_update_dylibloader_orig_asound +#define snd_pcm_avail_delay snd_pcm_avail_delay_dylibloader_orig_asound +#define snd_pcm_rewindable snd_pcm_rewindable_dylibloader_orig_asound +#define snd_pcm_rewind snd_pcm_rewind_dylibloader_orig_asound +#define snd_pcm_forwardable snd_pcm_forwardable_dylibloader_orig_asound +#define snd_pcm_forward snd_pcm_forward_dylibloader_orig_asound +#define snd_pcm_writei snd_pcm_writei_dylibloader_orig_asound +#define snd_pcm_readi snd_pcm_readi_dylibloader_orig_asound +#define snd_pcm_writen snd_pcm_writen_dylibloader_orig_asound +#define snd_pcm_readn snd_pcm_readn_dylibloader_orig_asound +#define snd_pcm_wait snd_pcm_wait_dylibloader_orig_asound +#define snd_pcm_link snd_pcm_link_dylibloader_orig_asound +#define snd_pcm_unlink snd_pcm_unlink_dylibloader_orig_asound +#define snd_pcm_query_chmaps snd_pcm_query_chmaps_dylibloader_orig_asound +#define snd_pcm_query_chmaps_from_hw snd_pcm_query_chmaps_from_hw_dylibloader_orig_asound +#define snd_pcm_free_chmaps snd_pcm_free_chmaps_dylibloader_orig_asound +#define snd_pcm_get_chmap snd_pcm_get_chmap_dylibloader_orig_asound +#define snd_pcm_set_chmap snd_pcm_set_chmap_dylibloader_orig_asound +#define snd_pcm_chmap_type_name snd_pcm_chmap_type_name_dylibloader_orig_asound +#define snd_pcm_chmap_name snd_pcm_chmap_name_dylibloader_orig_asound +#define snd_pcm_chmap_long_name snd_pcm_chmap_long_name_dylibloader_orig_asound +#define snd_pcm_chmap_print snd_pcm_chmap_print_dylibloader_orig_asound +#define snd_pcm_chmap_from_string snd_pcm_chmap_from_string_dylibloader_orig_asound +#define snd_pcm_chmap_parse_string snd_pcm_chmap_parse_string_dylibloader_orig_asound +#define snd_pcm_recover snd_pcm_recover_dylibloader_orig_asound +#define snd_pcm_set_params snd_pcm_set_params_dylibloader_orig_asound +#define snd_pcm_get_params snd_pcm_get_params_dylibloader_orig_asound +#define snd_pcm_info_sizeof snd_pcm_info_sizeof_dylibloader_orig_asound +#define snd_pcm_info_malloc snd_pcm_info_malloc_dylibloader_orig_asound +#define snd_pcm_info_free snd_pcm_info_free_dylibloader_orig_asound +#define snd_pcm_info_copy snd_pcm_info_copy_dylibloader_orig_asound +#define snd_pcm_info_get_device snd_pcm_info_get_device_dylibloader_orig_asound +#define snd_pcm_info_get_subdevice snd_pcm_info_get_subdevice_dylibloader_orig_asound +#define snd_pcm_info_get_stream snd_pcm_info_get_stream_dylibloader_orig_asound +#define snd_pcm_info_get_card snd_pcm_info_get_card_dylibloader_orig_asound +#define snd_pcm_info_get_id snd_pcm_info_get_id_dylibloader_orig_asound +#define snd_pcm_info_get_name snd_pcm_info_get_name_dylibloader_orig_asound +#define snd_pcm_info_get_subdevice_name snd_pcm_info_get_subdevice_name_dylibloader_orig_asound +#define snd_pcm_info_get_class snd_pcm_info_get_class_dylibloader_orig_asound +#define snd_pcm_info_get_subclass snd_pcm_info_get_subclass_dylibloader_orig_asound +#define snd_pcm_info_get_subdevices_count snd_pcm_info_get_subdevices_count_dylibloader_orig_asound +#define snd_pcm_info_get_subdevices_avail snd_pcm_info_get_subdevices_avail_dylibloader_orig_asound +#define snd_pcm_info_get_sync snd_pcm_info_get_sync_dylibloader_orig_asound +#define snd_pcm_info_set_device snd_pcm_info_set_device_dylibloader_orig_asound +#define snd_pcm_info_set_subdevice snd_pcm_info_set_subdevice_dylibloader_orig_asound +#define snd_pcm_info_set_stream snd_pcm_info_set_stream_dylibloader_orig_asound +#define snd_pcm_hw_params_any snd_pcm_hw_params_any_dylibloader_orig_asound +#define snd_pcm_hw_params_can_mmap_sample_resolution snd_pcm_hw_params_can_mmap_sample_resolution_dylibloader_orig_asound +#define snd_pcm_hw_params_is_double snd_pcm_hw_params_is_double_dylibloader_orig_asound +#define snd_pcm_hw_params_is_batch snd_pcm_hw_params_is_batch_dylibloader_orig_asound +#define snd_pcm_hw_params_is_block_transfer snd_pcm_hw_params_is_block_transfer_dylibloader_orig_asound +#define snd_pcm_hw_params_is_monotonic snd_pcm_hw_params_is_monotonic_dylibloader_orig_asound +#define snd_pcm_hw_params_can_overrange snd_pcm_hw_params_can_overrange_dylibloader_orig_asound +#define snd_pcm_hw_params_can_pause snd_pcm_hw_params_can_pause_dylibloader_orig_asound +#define snd_pcm_hw_params_can_resume snd_pcm_hw_params_can_resume_dylibloader_orig_asound +#define snd_pcm_hw_params_is_half_duplex snd_pcm_hw_params_is_half_duplex_dylibloader_orig_asound +#define snd_pcm_hw_params_is_joint_duplex snd_pcm_hw_params_is_joint_duplex_dylibloader_orig_asound +#define snd_pcm_hw_params_can_sync_start snd_pcm_hw_params_can_sync_start_dylibloader_orig_asound +#define snd_pcm_hw_params_can_disable_period_wakeup snd_pcm_hw_params_can_disable_period_wakeup_dylibloader_orig_asound +#define snd_pcm_hw_params_supports_audio_wallclock_ts snd_pcm_hw_params_supports_audio_wallclock_ts_dylibloader_orig_asound +#define snd_pcm_hw_params_supports_audio_ts_type snd_pcm_hw_params_supports_audio_ts_type_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate_numden snd_pcm_hw_params_get_rate_numden_dylibloader_orig_asound +#define snd_pcm_hw_params_get_sbits snd_pcm_hw_params_get_sbits_dylibloader_orig_asound +#define snd_pcm_hw_params_get_fifo_size snd_pcm_hw_params_get_fifo_size_dylibloader_orig_asound +#define snd_pcm_hw_params_sizeof snd_pcm_hw_params_sizeof_dylibloader_orig_asound +#define snd_pcm_hw_params_malloc snd_pcm_hw_params_malloc_dylibloader_orig_asound +#define snd_pcm_hw_params_free snd_pcm_hw_params_free_dylibloader_orig_asound +#define snd_pcm_hw_params_copy snd_pcm_hw_params_copy_dylibloader_orig_asound +#define snd_pcm_hw_params_get_access snd_pcm_hw_params_get_access_dylibloader_orig_asound +#define snd_pcm_hw_params_test_access snd_pcm_hw_params_test_access_dylibloader_orig_asound +#define snd_pcm_hw_params_set_access snd_pcm_hw_params_set_access_dylibloader_orig_asound +#define snd_pcm_hw_params_set_access_first snd_pcm_hw_params_set_access_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_access_last snd_pcm_hw_params_set_access_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_access_mask snd_pcm_hw_params_set_access_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_access_mask snd_pcm_hw_params_get_access_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_format snd_pcm_hw_params_get_format_dylibloader_orig_asound +#define snd_pcm_hw_params_test_format snd_pcm_hw_params_test_format_dylibloader_orig_asound +#define snd_pcm_hw_params_set_format snd_pcm_hw_params_set_format_dylibloader_orig_asound +#define snd_pcm_hw_params_set_format_first snd_pcm_hw_params_set_format_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_format_last snd_pcm_hw_params_set_format_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_format_mask snd_pcm_hw_params_set_format_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_format_mask snd_pcm_hw_params_get_format_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_subformat snd_pcm_hw_params_get_subformat_dylibloader_orig_asound +#define snd_pcm_hw_params_test_subformat snd_pcm_hw_params_test_subformat_dylibloader_orig_asound +#define snd_pcm_hw_params_set_subformat snd_pcm_hw_params_set_subformat_dylibloader_orig_asound +#define snd_pcm_hw_params_set_subformat_first snd_pcm_hw_params_set_subformat_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_subformat_last snd_pcm_hw_params_set_subformat_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_subformat_mask snd_pcm_hw_params_set_subformat_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_subformat_mask snd_pcm_hw_params_get_subformat_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_channels snd_pcm_hw_params_get_channels_dylibloader_orig_asound +#define snd_pcm_hw_params_get_channels_min snd_pcm_hw_params_get_channels_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_channels_max snd_pcm_hw_params_get_channels_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_channels snd_pcm_hw_params_test_channels_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels snd_pcm_hw_params_set_channels_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_min snd_pcm_hw_params_set_channels_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_max snd_pcm_hw_params_set_channels_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_minmax snd_pcm_hw_params_set_channels_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_near snd_pcm_hw_params_set_channels_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_first snd_pcm_hw_params_set_channels_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_last snd_pcm_hw_params_set_channels_last_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate snd_pcm_hw_params_get_rate_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate_min snd_pcm_hw_params_get_rate_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate_max snd_pcm_hw_params_get_rate_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_rate snd_pcm_hw_params_test_rate_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate snd_pcm_hw_params_set_rate_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_min snd_pcm_hw_params_set_rate_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_max snd_pcm_hw_params_set_rate_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_minmax snd_pcm_hw_params_set_rate_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_near snd_pcm_hw_params_set_rate_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_first snd_pcm_hw_params_set_rate_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_last snd_pcm_hw_params_set_rate_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_resample snd_pcm_hw_params_set_rate_resample_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate_resample snd_pcm_hw_params_get_rate_resample_dylibloader_orig_asound +#define snd_pcm_hw_params_set_export_buffer snd_pcm_hw_params_set_export_buffer_dylibloader_orig_asound +#define snd_pcm_hw_params_get_export_buffer snd_pcm_hw_params_get_export_buffer_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_wakeup snd_pcm_hw_params_set_period_wakeup_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_wakeup snd_pcm_hw_params_get_period_wakeup_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_time snd_pcm_hw_params_get_period_time_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_time_min snd_pcm_hw_params_get_period_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_time_max snd_pcm_hw_params_get_period_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_period_time snd_pcm_hw_params_test_period_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time snd_pcm_hw_params_set_period_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_min snd_pcm_hw_params_set_period_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_max snd_pcm_hw_params_set_period_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_minmax snd_pcm_hw_params_set_period_time_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_near snd_pcm_hw_params_set_period_time_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_first snd_pcm_hw_params_set_period_time_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_last snd_pcm_hw_params_set_period_time_last_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_size snd_pcm_hw_params_get_period_size_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_size_min snd_pcm_hw_params_get_period_size_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_size_max snd_pcm_hw_params_get_period_size_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_period_size snd_pcm_hw_params_test_period_size_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size snd_pcm_hw_params_set_period_size_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_min snd_pcm_hw_params_set_period_size_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_max snd_pcm_hw_params_set_period_size_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_minmax snd_pcm_hw_params_set_period_size_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_near snd_pcm_hw_params_set_period_size_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_first snd_pcm_hw_params_set_period_size_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_last snd_pcm_hw_params_set_period_size_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_integer snd_pcm_hw_params_set_period_size_integer_dylibloader_orig_asound +#define snd_pcm_hw_params_get_periods snd_pcm_hw_params_get_periods_dylibloader_orig_asound +#define snd_pcm_hw_params_get_periods_min snd_pcm_hw_params_get_periods_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_periods_max snd_pcm_hw_params_get_periods_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_periods snd_pcm_hw_params_test_periods_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods snd_pcm_hw_params_set_periods_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_min snd_pcm_hw_params_set_periods_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_max snd_pcm_hw_params_set_periods_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_minmax snd_pcm_hw_params_set_periods_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_near snd_pcm_hw_params_set_periods_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_first snd_pcm_hw_params_set_periods_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_last snd_pcm_hw_params_set_periods_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_integer snd_pcm_hw_params_set_periods_integer_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_time snd_pcm_hw_params_get_buffer_time_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_time_min snd_pcm_hw_params_get_buffer_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_time_max snd_pcm_hw_params_get_buffer_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_buffer_time snd_pcm_hw_params_test_buffer_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time snd_pcm_hw_params_set_buffer_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_min snd_pcm_hw_params_set_buffer_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_max snd_pcm_hw_params_set_buffer_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_minmax snd_pcm_hw_params_set_buffer_time_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_near snd_pcm_hw_params_set_buffer_time_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_first snd_pcm_hw_params_set_buffer_time_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_last snd_pcm_hw_params_set_buffer_time_last_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_size snd_pcm_hw_params_get_buffer_size_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_size_min snd_pcm_hw_params_get_buffer_size_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_size_max snd_pcm_hw_params_get_buffer_size_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_buffer_size snd_pcm_hw_params_test_buffer_size_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size snd_pcm_hw_params_set_buffer_size_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_min snd_pcm_hw_params_set_buffer_size_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_max snd_pcm_hw_params_set_buffer_size_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_minmax snd_pcm_hw_params_set_buffer_size_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_near snd_pcm_hw_params_set_buffer_size_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_first snd_pcm_hw_params_set_buffer_size_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_last snd_pcm_hw_params_set_buffer_size_last_dylibloader_orig_asound +#define snd_pcm_hw_params_get_min_align snd_pcm_hw_params_get_min_align_dylibloader_orig_asound +#define snd_pcm_sw_params_sizeof snd_pcm_sw_params_sizeof_dylibloader_orig_asound +#define snd_pcm_sw_params_malloc snd_pcm_sw_params_malloc_dylibloader_orig_asound +#define snd_pcm_sw_params_free snd_pcm_sw_params_free_dylibloader_orig_asound +#define snd_pcm_sw_params_copy snd_pcm_sw_params_copy_dylibloader_orig_asound +#define snd_pcm_sw_params_get_boundary snd_pcm_sw_params_get_boundary_dylibloader_orig_asound +#define snd_pcm_sw_params_set_tstamp_mode snd_pcm_sw_params_set_tstamp_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_get_tstamp_mode snd_pcm_sw_params_get_tstamp_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_set_avail_min snd_pcm_sw_params_set_avail_min_dylibloader_orig_asound +#define snd_pcm_sw_params_get_avail_min snd_pcm_sw_params_get_avail_min_dylibloader_orig_asound +#define snd_pcm_sw_params_set_period_event snd_pcm_sw_params_set_period_event_dylibloader_orig_asound +#define snd_pcm_sw_params_get_period_event snd_pcm_sw_params_get_period_event_dylibloader_orig_asound +#define snd_pcm_sw_params_set_start_threshold snd_pcm_sw_params_set_start_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_get_start_threshold snd_pcm_sw_params_get_start_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_set_stop_threshold snd_pcm_sw_params_set_stop_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_get_stop_threshold snd_pcm_sw_params_get_stop_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_set_silence_threshold snd_pcm_sw_params_set_silence_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_get_silence_threshold snd_pcm_sw_params_get_silence_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_set_silence_size snd_pcm_sw_params_set_silence_size_dylibloader_orig_asound +#define snd_pcm_sw_params_get_silence_size snd_pcm_sw_params_get_silence_size_dylibloader_orig_asound +#define snd_pcm_access_mask_sizeof snd_pcm_access_mask_sizeof_dylibloader_orig_asound +#define snd_pcm_access_mask_malloc snd_pcm_access_mask_malloc_dylibloader_orig_asound +#define snd_pcm_access_mask_free snd_pcm_access_mask_free_dylibloader_orig_asound +#define snd_pcm_access_mask_copy snd_pcm_access_mask_copy_dylibloader_orig_asound +#define snd_pcm_access_mask_none snd_pcm_access_mask_none_dylibloader_orig_asound +#define snd_pcm_access_mask_any snd_pcm_access_mask_any_dylibloader_orig_asound +#define snd_pcm_access_mask_test snd_pcm_access_mask_test_dylibloader_orig_asound +#define snd_pcm_access_mask_empty snd_pcm_access_mask_empty_dylibloader_orig_asound +#define snd_pcm_access_mask_set snd_pcm_access_mask_set_dylibloader_orig_asound +#define snd_pcm_access_mask_reset snd_pcm_access_mask_reset_dylibloader_orig_asound +#define snd_pcm_format_mask_sizeof snd_pcm_format_mask_sizeof_dylibloader_orig_asound +#define snd_pcm_format_mask_malloc snd_pcm_format_mask_malloc_dylibloader_orig_asound +#define snd_pcm_format_mask_free snd_pcm_format_mask_free_dylibloader_orig_asound +#define snd_pcm_format_mask_copy snd_pcm_format_mask_copy_dylibloader_orig_asound +#define snd_pcm_format_mask_none snd_pcm_format_mask_none_dylibloader_orig_asound +#define snd_pcm_format_mask_any snd_pcm_format_mask_any_dylibloader_orig_asound +#define snd_pcm_format_mask_test snd_pcm_format_mask_test_dylibloader_orig_asound +#define snd_pcm_format_mask_empty snd_pcm_format_mask_empty_dylibloader_orig_asound +#define snd_pcm_format_mask_set snd_pcm_format_mask_set_dylibloader_orig_asound +#define snd_pcm_format_mask_reset snd_pcm_format_mask_reset_dylibloader_orig_asound +#define snd_pcm_subformat_mask_sizeof snd_pcm_subformat_mask_sizeof_dylibloader_orig_asound +#define snd_pcm_subformat_mask_malloc snd_pcm_subformat_mask_malloc_dylibloader_orig_asound +#define snd_pcm_subformat_mask_free snd_pcm_subformat_mask_free_dylibloader_orig_asound +#define snd_pcm_subformat_mask_copy snd_pcm_subformat_mask_copy_dylibloader_orig_asound +#define snd_pcm_subformat_mask_none snd_pcm_subformat_mask_none_dylibloader_orig_asound +#define snd_pcm_subformat_mask_any snd_pcm_subformat_mask_any_dylibloader_orig_asound +#define snd_pcm_subformat_mask_test snd_pcm_subformat_mask_test_dylibloader_orig_asound +#define snd_pcm_subformat_mask_empty snd_pcm_subformat_mask_empty_dylibloader_orig_asound +#define snd_pcm_subformat_mask_set snd_pcm_subformat_mask_set_dylibloader_orig_asound +#define snd_pcm_subformat_mask_reset snd_pcm_subformat_mask_reset_dylibloader_orig_asound +#define snd_pcm_status_sizeof snd_pcm_status_sizeof_dylibloader_orig_asound +#define snd_pcm_status_malloc snd_pcm_status_malloc_dylibloader_orig_asound +#define snd_pcm_status_free snd_pcm_status_free_dylibloader_orig_asound +#define snd_pcm_status_copy snd_pcm_status_copy_dylibloader_orig_asound +#define snd_pcm_status_get_state snd_pcm_status_get_state_dylibloader_orig_asound +#define snd_pcm_status_get_trigger_tstamp snd_pcm_status_get_trigger_tstamp_dylibloader_orig_asound +#define snd_pcm_status_get_trigger_htstamp snd_pcm_status_get_trigger_htstamp_dylibloader_orig_asound +#define snd_pcm_status_get_tstamp snd_pcm_status_get_tstamp_dylibloader_orig_asound +#define snd_pcm_status_get_htstamp snd_pcm_status_get_htstamp_dylibloader_orig_asound +#define snd_pcm_status_get_audio_htstamp snd_pcm_status_get_audio_htstamp_dylibloader_orig_asound +#define snd_pcm_status_get_driver_htstamp snd_pcm_status_get_driver_htstamp_dylibloader_orig_asound +#define snd_pcm_status_get_delay snd_pcm_status_get_delay_dylibloader_orig_asound +#define snd_pcm_status_get_avail snd_pcm_status_get_avail_dylibloader_orig_asound +#define snd_pcm_status_get_avail_max snd_pcm_status_get_avail_max_dylibloader_orig_asound +#define snd_pcm_status_get_overrange snd_pcm_status_get_overrange_dylibloader_orig_asound +#define snd_pcm_type_name snd_pcm_type_name_dylibloader_orig_asound +#define snd_pcm_stream_name snd_pcm_stream_name_dylibloader_orig_asound +#define snd_pcm_access_name snd_pcm_access_name_dylibloader_orig_asound +#define snd_pcm_format_name snd_pcm_format_name_dylibloader_orig_asound +#define snd_pcm_format_description snd_pcm_format_description_dylibloader_orig_asound +#define snd_pcm_subformat_name snd_pcm_subformat_name_dylibloader_orig_asound +#define snd_pcm_subformat_description snd_pcm_subformat_description_dylibloader_orig_asound +#define snd_pcm_format_value snd_pcm_format_value_dylibloader_orig_asound +#define snd_pcm_tstamp_mode_name snd_pcm_tstamp_mode_name_dylibloader_orig_asound +#define snd_pcm_state_name snd_pcm_state_name_dylibloader_orig_asound +#define snd_pcm_dump snd_pcm_dump_dylibloader_orig_asound +#define snd_pcm_dump_hw_setup snd_pcm_dump_hw_setup_dylibloader_orig_asound +#define snd_pcm_dump_sw_setup snd_pcm_dump_sw_setup_dylibloader_orig_asound +#define snd_pcm_dump_setup snd_pcm_dump_setup_dylibloader_orig_asound +#define snd_pcm_hw_params_dump snd_pcm_hw_params_dump_dylibloader_orig_asound +#define snd_pcm_sw_params_dump snd_pcm_sw_params_dump_dylibloader_orig_asound +#define snd_pcm_status_dump snd_pcm_status_dump_dylibloader_orig_asound +#define snd_pcm_mmap_begin snd_pcm_mmap_begin_dylibloader_orig_asound +#define snd_pcm_mmap_commit snd_pcm_mmap_commit_dylibloader_orig_asound +#define snd_pcm_mmap_writei snd_pcm_mmap_writei_dylibloader_orig_asound +#define snd_pcm_mmap_readi snd_pcm_mmap_readi_dylibloader_orig_asound +#define snd_pcm_mmap_writen snd_pcm_mmap_writen_dylibloader_orig_asound +#define snd_pcm_mmap_readn snd_pcm_mmap_readn_dylibloader_orig_asound +#define snd_pcm_format_signed snd_pcm_format_signed_dylibloader_orig_asound +#define snd_pcm_format_unsigned snd_pcm_format_unsigned_dylibloader_orig_asound +#define snd_pcm_format_linear snd_pcm_format_linear_dylibloader_orig_asound +#define snd_pcm_format_float snd_pcm_format_float_dylibloader_orig_asound +#define snd_pcm_format_little_endian snd_pcm_format_little_endian_dylibloader_orig_asound +#define snd_pcm_format_big_endian snd_pcm_format_big_endian_dylibloader_orig_asound +#define snd_pcm_format_cpu_endian snd_pcm_format_cpu_endian_dylibloader_orig_asound +#define snd_pcm_format_width snd_pcm_format_width_dylibloader_orig_asound +#define snd_pcm_format_physical_width snd_pcm_format_physical_width_dylibloader_orig_asound +#define snd_pcm_build_linear_format snd_pcm_build_linear_format_dylibloader_orig_asound +#define snd_pcm_format_size snd_pcm_format_size_dylibloader_orig_asound +#define snd_pcm_format_silence snd_pcm_format_silence_dylibloader_orig_asound +#define snd_pcm_format_silence_16 snd_pcm_format_silence_16_dylibloader_orig_asound +#define snd_pcm_format_silence_32 snd_pcm_format_silence_32_dylibloader_orig_asound +#define snd_pcm_format_silence_64 snd_pcm_format_silence_64_dylibloader_orig_asound +#define snd_pcm_format_set_silence snd_pcm_format_set_silence_dylibloader_orig_asound +#define snd_pcm_bytes_to_frames snd_pcm_bytes_to_frames_dylibloader_orig_asound +#define snd_pcm_frames_to_bytes snd_pcm_frames_to_bytes_dylibloader_orig_asound +#define snd_pcm_bytes_to_samples snd_pcm_bytes_to_samples_dylibloader_orig_asound +#define snd_pcm_samples_to_bytes snd_pcm_samples_to_bytes_dylibloader_orig_asound +#define snd_pcm_area_silence snd_pcm_area_silence_dylibloader_orig_asound +#define snd_pcm_areas_silence snd_pcm_areas_silence_dylibloader_orig_asound +#define snd_pcm_area_copy snd_pcm_area_copy_dylibloader_orig_asound +#define snd_pcm_areas_copy snd_pcm_areas_copy_dylibloader_orig_asound +#define snd_pcm_areas_copy_wrap snd_pcm_areas_copy_wrap_dylibloader_orig_asound +#define snd_pcm_hook_get_pcm snd_pcm_hook_get_pcm_dylibloader_orig_asound +#define snd_pcm_hook_get_private snd_pcm_hook_get_private_dylibloader_orig_asound +#define snd_pcm_hook_set_private snd_pcm_hook_set_private_dylibloader_orig_asound +#define snd_pcm_hook_add snd_pcm_hook_add_dylibloader_orig_asound +#define snd_pcm_hook_remove snd_pcm_hook_remove_dylibloader_orig_asound +#define snd_pcm_meter_get_bufsize snd_pcm_meter_get_bufsize_dylibloader_orig_asound +#define snd_pcm_meter_get_channels snd_pcm_meter_get_channels_dylibloader_orig_asound +#define snd_pcm_meter_get_rate snd_pcm_meter_get_rate_dylibloader_orig_asound +#define snd_pcm_meter_get_now snd_pcm_meter_get_now_dylibloader_orig_asound +#define snd_pcm_meter_get_boundary snd_pcm_meter_get_boundary_dylibloader_orig_asound +#define snd_pcm_meter_add_scope snd_pcm_meter_add_scope_dylibloader_orig_asound +#define snd_pcm_meter_search_scope snd_pcm_meter_search_scope_dylibloader_orig_asound +#define snd_pcm_scope_malloc snd_pcm_scope_malloc_dylibloader_orig_asound +#define snd_pcm_scope_set_ops snd_pcm_scope_set_ops_dylibloader_orig_asound +#define snd_pcm_scope_set_name snd_pcm_scope_set_name_dylibloader_orig_asound +#define snd_pcm_scope_get_name snd_pcm_scope_get_name_dylibloader_orig_asound +#define snd_pcm_scope_get_callback_private snd_pcm_scope_get_callback_private_dylibloader_orig_asound +#define snd_pcm_scope_set_callback_private snd_pcm_scope_set_callback_private_dylibloader_orig_asound +#define snd_pcm_scope_s16_open snd_pcm_scope_s16_open_dylibloader_orig_asound +#define snd_pcm_scope_s16_get_channel_buffer snd_pcm_scope_s16_get_channel_buffer_dylibloader_orig_asound +#define snd_spcm_init snd_spcm_init_dylibloader_orig_asound +#define snd_spcm_init_duplex snd_spcm_init_duplex_dylibloader_orig_asound +#define snd_spcm_init_get_params snd_spcm_init_get_params_dylibloader_orig_asound +#define snd_pcm_start_mode_name snd_pcm_start_mode_name_dylibloader_orig_asound +#define snd_pcm_xrun_mode_name snd_pcm_xrun_mode_name_dylibloader_orig_asound +#define snd_pcm_sw_params_set_start_mode snd_pcm_sw_params_set_start_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_get_start_mode snd_pcm_sw_params_get_start_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_set_xrun_mode snd_pcm_sw_params_set_xrun_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_get_xrun_mode snd_pcm_sw_params_get_xrun_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_set_xfer_align snd_pcm_sw_params_set_xfer_align_dylibloader_orig_asound +#define snd_pcm_sw_params_get_xfer_align snd_pcm_sw_params_get_xfer_align_dylibloader_orig_asound +#define snd_pcm_sw_params_set_sleep_min snd_pcm_sw_params_set_sleep_min_dylibloader_orig_asound +#define snd_pcm_sw_params_get_sleep_min snd_pcm_sw_params_get_sleep_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_tick_time snd_pcm_hw_params_get_tick_time_dylibloader_orig_asound +#define snd_pcm_hw_params_get_tick_time_min snd_pcm_hw_params_get_tick_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_tick_time_max snd_pcm_hw_params_get_tick_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_tick_time snd_pcm_hw_params_test_tick_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time snd_pcm_hw_params_set_tick_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_min snd_pcm_hw_params_set_tick_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_max snd_pcm_hw_params_set_tick_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_minmax snd_pcm_hw_params_set_tick_time_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_near snd_pcm_hw_params_set_tick_time_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_first snd_pcm_hw_params_set_tick_time_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_last snd_pcm_hw_params_set_tick_time_last_dylibloader_orig_asound +#define snd_rawmidi_open snd_rawmidi_open_dylibloader_orig_asound +#define snd_rawmidi_open_lconf snd_rawmidi_open_lconf_dylibloader_orig_asound +#define snd_rawmidi_close snd_rawmidi_close_dylibloader_orig_asound +#define snd_rawmidi_poll_descriptors_count snd_rawmidi_poll_descriptors_count_dylibloader_orig_asound +#define snd_rawmidi_poll_descriptors snd_rawmidi_poll_descriptors_dylibloader_orig_asound +#define snd_rawmidi_poll_descriptors_revents snd_rawmidi_poll_descriptors_revents_dylibloader_orig_asound +#define snd_rawmidi_nonblock snd_rawmidi_nonblock_dylibloader_orig_asound +#define snd_rawmidi_info_sizeof snd_rawmidi_info_sizeof_dylibloader_orig_asound +#define snd_rawmidi_info_malloc snd_rawmidi_info_malloc_dylibloader_orig_asound +#define snd_rawmidi_info_free snd_rawmidi_info_free_dylibloader_orig_asound +#define snd_rawmidi_info_copy snd_rawmidi_info_copy_dylibloader_orig_asound +#define snd_rawmidi_info_get_device snd_rawmidi_info_get_device_dylibloader_orig_asound +#define snd_rawmidi_info_get_subdevice snd_rawmidi_info_get_subdevice_dylibloader_orig_asound +#define snd_rawmidi_info_get_stream snd_rawmidi_info_get_stream_dylibloader_orig_asound +#define snd_rawmidi_info_get_card snd_rawmidi_info_get_card_dylibloader_orig_asound +#define snd_rawmidi_info_get_flags snd_rawmidi_info_get_flags_dylibloader_orig_asound +#define snd_rawmidi_info_get_id snd_rawmidi_info_get_id_dylibloader_orig_asound +#define snd_rawmidi_info_get_name snd_rawmidi_info_get_name_dylibloader_orig_asound +#define snd_rawmidi_info_get_subdevice_name snd_rawmidi_info_get_subdevice_name_dylibloader_orig_asound +#define snd_rawmidi_info_get_subdevices_count snd_rawmidi_info_get_subdevices_count_dylibloader_orig_asound +#define snd_rawmidi_info_get_subdevices_avail snd_rawmidi_info_get_subdevices_avail_dylibloader_orig_asound +#define snd_rawmidi_info_set_device snd_rawmidi_info_set_device_dylibloader_orig_asound +#define snd_rawmidi_info_set_subdevice snd_rawmidi_info_set_subdevice_dylibloader_orig_asound +#define snd_rawmidi_info_set_stream snd_rawmidi_info_set_stream_dylibloader_orig_asound +#define snd_rawmidi_info snd_rawmidi_info_dylibloader_orig_asound +#define snd_rawmidi_params_sizeof snd_rawmidi_params_sizeof_dylibloader_orig_asound +#define snd_rawmidi_params_malloc snd_rawmidi_params_malloc_dylibloader_orig_asound +#define snd_rawmidi_params_free snd_rawmidi_params_free_dylibloader_orig_asound +#define snd_rawmidi_params_copy snd_rawmidi_params_copy_dylibloader_orig_asound +#define snd_rawmidi_params_set_buffer_size snd_rawmidi_params_set_buffer_size_dylibloader_orig_asound +#define snd_rawmidi_params_get_buffer_size snd_rawmidi_params_get_buffer_size_dylibloader_orig_asound +#define snd_rawmidi_params_set_avail_min snd_rawmidi_params_set_avail_min_dylibloader_orig_asound +#define snd_rawmidi_params_get_avail_min snd_rawmidi_params_get_avail_min_dylibloader_orig_asound +#define snd_rawmidi_params_set_no_active_sensing snd_rawmidi_params_set_no_active_sensing_dylibloader_orig_asound +#define snd_rawmidi_params_get_no_active_sensing snd_rawmidi_params_get_no_active_sensing_dylibloader_orig_asound +#define snd_rawmidi_params snd_rawmidi_params_dylibloader_orig_asound +#define snd_rawmidi_params_current snd_rawmidi_params_current_dylibloader_orig_asound +#define snd_rawmidi_status_sizeof snd_rawmidi_status_sizeof_dylibloader_orig_asound +#define snd_rawmidi_status_malloc snd_rawmidi_status_malloc_dylibloader_orig_asound +#define snd_rawmidi_status_free snd_rawmidi_status_free_dylibloader_orig_asound +#define snd_rawmidi_status_copy snd_rawmidi_status_copy_dylibloader_orig_asound +#define snd_rawmidi_status_get_tstamp snd_rawmidi_status_get_tstamp_dylibloader_orig_asound +#define snd_rawmidi_status_get_avail snd_rawmidi_status_get_avail_dylibloader_orig_asound +#define snd_rawmidi_status_get_xruns snd_rawmidi_status_get_xruns_dylibloader_orig_asound +#define snd_rawmidi_status snd_rawmidi_status_dylibloader_orig_asound +#define snd_rawmidi_drain snd_rawmidi_drain_dylibloader_orig_asound +#define snd_rawmidi_drop snd_rawmidi_drop_dylibloader_orig_asound +#define snd_rawmidi_write snd_rawmidi_write_dylibloader_orig_asound +#define snd_rawmidi_read snd_rawmidi_read_dylibloader_orig_asound +#define snd_rawmidi_name snd_rawmidi_name_dylibloader_orig_asound +#define snd_rawmidi_type snd_rawmidi_type_dylibloader_orig_asound +#define snd_rawmidi_stream snd_rawmidi_stream_dylibloader_orig_asound +#define snd_timer_query_open snd_timer_query_open_dylibloader_orig_asound +#define snd_timer_query_open_lconf snd_timer_query_open_lconf_dylibloader_orig_asound +#define snd_timer_query_close snd_timer_query_close_dylibloader_orig_asound +#define snd_timer_query_next_device snd_timer_query_next_device_dylibloader_orig_asound +#define snd_timer_query_info snd_timer_query_info_dylibloader_orig_asound +#define snd_timer_query_params snd_timer_query_params_dylibloader_orig_asound +#define snd_timer_query_status snd_timer_query_status_dylibloader_orig_asound +#define snd_timer_open snd_timer_open_dylibloader_orig_asound +#define snd_timer_open_lconf snd_timer_open_lconf_dylibloader_orig_asound +#define snd_timer_close snd_timer_close_dylibloader_orig_asound +#define snd_async_add_timer_handler snd_async_add_timer_handler_dylibloader_orig_asound +#define snd_async_handler_get_timer snd_async_handler_get_timer_dylibloader_orig_asound +#define snd_timer_poll_descriptors_count snd_timer_poll_descriptors_count_dylibloader_orig_asound +#define snd_timer_poll_descriptors snd_timer_poll_descriptors_dylibloader_orig_asound +#define snd_timer_poll_descriptors_revents snd_timer_poll_descriptors_revents_dylibloader_orig_asound +#define snd_timer_info snd_timer_info_dylibloader_orig_asound +#define snd_timer_params snd_timer_params_dylibloader_orig_asound +#define snd_timer_status snd_timer_status_dylibloader_orig_asound +#define snd_timer_start snd_timer_start_dylibloader_orig_asound +#define snd_timer_stop snd_timer_stop_dylibloader_orig_asound +#define snd_timer_continue snd_timer_continue_dylibloader_orig_asound +#define snd_timer_read snd_timer_read_dylibloader_orig_asound +#define snd_timer_id_sizeof snd_timer_id_sizeof_dylibloader_orig_asound +#define snd_timer_id_malloc snd_timer_id_malloc_dylibloader_orig_asound +#define snd_timer_id_free snd_timer_id_free_dylibloader_orig_asound +#define snd_timer_id_copy snd_timer_id_copy_dylibloader_orig_asound +#define snd_timer_id_set_class snd_timer_id_set_class_dylibloader_orig_asound +#define snd_timer_id_get_class snd_timer_id_get_class_dylibloader_orig_asound +#define snd_timer_id_set_sclass snd_timer_id_set_sclass_dylibloader_orig_asound +#define snd_timer_id_get_sclass snd_timer_id_get_sclass_dylibloader_orig_asound +#define snd_timer_id_set_card snd_timer_id_set_card_dylibloader_orig_asound +#define snd_timer_id_get_card snd_timer_id_get_card_dylibloader_orig_asound +#define snd_timer_id_set_device snd_timer_id_set_device_dylibloader_orig_asound +#define snd_timer_id_get_device snd_timer_id_get_device_dylibloader_orig_asound +#define snd_timer_id_set_subdevice snd_timer_id_set_subdevice_dylibloader_orig_asound +#define snd_timer_id_get_subdevice snd_timer_id_get_subdevice_dylibloader_orig_asound +#define snd_timer_ginfo_sizeof snd_timer_ginfo_sizeof_dylibloader_orig_asound +#define snd_timer_ginfo_malloc snd_timer_ginfo_malloc_dylibloader_orig_asound +#define snd_timer_ginfo_free snd_timer_ginfo_free_dylibloader_orig_asound +#define snd_timer_ginfo_copy snd_timer_ginfo_copy_dylibloader_orig_asound +#define snd_timer_ginfo_set_tid snd_timer_ginfo_set_tid_dylibloader_orig_asound +#define snd_timer_ginfo_get_tid snd_timer_ginfo_get_tid_dylibloader_orig_asound +#define snd_timer_ginfo_get_flags snd_timer_ginfo_get_flags_dylibloader_orig_asound +#define snd_timer_ginfo_get_card snd_timer_ginfo_get_card_dylibloader_orig_asound +#define snd_timer_ginfo_get_id snd_timer_ginfo_get_id_dylibloader_orig_asound +#define snd_timer_ginfo_get_name snd_timer_ginfo_get_name_dylibloader_orig_asound +#define snd_timer_ginfo_get_resolution snd_timer_ginfo_get_resolution_dylibloader_orig_asound +#define snd_timer_ginfo_get_resolution_min snd_timer_ginfo_get_resolution_min_dylibloader_orig_asound +#define snd_timer_ginfo_get_resolution_max snd_timer_ginfo_get_resolution_max_dylibloader_orig_asound +#define snd_timer_ginfo_get_clients snd_timer_ginfo_get_clients_dylibloader_orig_asound +#define snd_timer_info_sizeof snd_timer_info_sizeof_dylibloader_orig_asound +#define snd_timer_info_malloc snd_timer_info_malloc_dylibloader_orig_asound +#define snd_timer_info_free snd_timer_info_free_dylibloader_orig_asound +#define snd_timer_info_copy snd_timer_info_copy_dylibloader_orig_asound +#define snd_timer_info_is_slave snd_timer_info_is_slave_dylibloader_orig_asound +#define snd_timer_info_get_card snd_timer_info_get_card_dylibloader_orig_asound +#define snd_timer_info_get_id snd_timer_info_get_id_dylibloader_orig_asound +#define snd_timer_info_get_name snd_timer_info_get_name_dylibloader_orig_asound +#define snd_timer_info_get_resolution snd_timer_info_get_resolution_dylibloader_orig_asound +#define snd_timer_params_sizeof snd_timer_params_sizeof_dylibloader_orig_asound +#define snd_timer_params_malloc snd_timer_params_malloc_dylibloader_orig_asound +#define snd_timer_params_free snd_timer_params_free_dylibloader_orig_asound +#define snd_timer_params_copy snd_timer_params_copy_dylibloader_orig_asound +#define snd_timer_params_set_auto_start snd_timer_params_set_auto_start_dylibloader_orig_asound +#define snd_timer_params_get_auto_start snd_timer_params_get_auto_start_dylibloader_orig_asound +#define snd_timer_params_set_exclusive snd_timer_params_set_exclusive_dylibloader_orig_asound +#define snd_timer_params_get_exclusive snd_timer_params_get_exclusive_dylibloader_orig_asound +#define snd_timer_params_set_early_event snd_timer_params_set_early_event_dylibloader_orig_asound +#define snd_timer_params_get_early_event snd_timer_params_get_early_event_dylibloader_orig_asound +#define snd_timer_params_set_ticks snd_timer_params_set_ticks_dylibloader_orig_asound +#define snd_timer_params_get_ticks snd_timer_params_get_ticks_dylibloader_orig_asound +#define snd_timer_params_set_queue_size snd_timer_params_set_queue_size_dylibloader_orig_asound +#define snd_timer_params_get_queue_size snd_timer_params_get_queue_size_dylibloader_orig_asound +#define snd_timer_params_set_filter snd_timer_params_set_filter_dylibloader_orig_asound +#define snd_timer_params_get_filter snd_timer_params_get_filter_dylibloader_orig_asound +#define snd_timer_status_sizeof snd_timer_status_sizeof_dylibloader_orig_asound +#define snd_timer_status_malloc snd_timer_status_malloc_dylibloader_orig_asound +#define snd_timer_status_free snd_timer_status_free_dylibloader_orig_asound +#define snd_timer_status_copy snd_timer_status_copy_dylibloader_orig_asound +#define snd_timer_status_get_timestamp snd_timer_status_get_timestamp_dylibloader_orig_asound +#define snd_timer_status_get_resolution snd_timer_status_get_resolution_dylibloader_orig_asound +#define snd_timer_status_get_lost snd_timer_status_get_lost_dylibloader_orig_asound +#define snd_timer_status_get_overrun snd_timer_status_get_overrun_dylibloader_orig_asound +#define snd_timer_status_get_queue snd_timer_status_get_queue_dylibloader_orig_asound +#define snd_timer_info_get_ticks snd_timer_info_get_ticks_dylibloader_orig_asound +#define snd_hwdep_open snd_hwdep_open_dylibloader_orig_asound +#define snd_hwdep_close snd_hwdep_close_dylibloader_orig_asound +#define snd_hwdep_poll_descriptors snd_hwdep_poll_descriptors_dylibloader_orig_asound +#define snd_hwdep_poll_descriptors_count snd_hwdep_poll_descriptors_count_dylibloader_orig_asound +#define snd_hwdep_poll_descriptors_revents snd_hwdep_poll_descriptors_revents_dylibloader_orig_asound +#define snd_hwdep_nonblock snd_hwdep_nonblock_dylibloader_orig_asound +#define snd_hwdep_info snd_hwdep_info_dylibloader_orig_asound +#define snd_hwdep_dsp_status snd_hwdep_dsp_status_dylibloader_orig_asound +#define snd_hwdep_dsp_load snd_hwdep_dsp_load_dylibloader_orig_asound +#define snd_hwdep_ioctl snd_hwdep_ioctl_dylibloader_orig_asound +#define snd_hwdep_write snd_hwdep_write_dylibloader_orig_asound +#define snd_hwdep_read snd_hwdep_read_dylibloader_orig_asound +#define snd_hwdep_info_sizeof snd_hwdep_info_sizeof_dylibloader_orig_asound +#define snd_hwdep_info_malloc snd_hwdep_info_malloc_dylibloader_orig_asound +#define snd_hwdep_info_free snd_hwdep_info_free_dylibloader_orig_asound +#define snd_hwdep_info_copy snd_hwdep_info_copy_dylibloader_orig_asound +#define snd_hwdep_info_get_device snd_hwdep_info_get_device_dylibloader_orig_asound +#define snd_hwdep_info_get_card snd_hwdep_info_get_card_dylibloader_orig_asound +#define snd_hwdep_info_get_id snd_hwdep_info_get_id_dylibloader_orig_asound +#define snd_hwdep_info_get_name snd_hwdep_info_get_name_dylibloader_orig_asound +#define snd_hwdep_info_get_iface snd_hwdep_info_get_iface_dylibloader_orig_asound +#define snd_hwdep_info_set_device snd_hwdep_info_set_device_dylibloader_orig_asound +#define snd_hwdep_dsp_status_sizeof snd_hwdep_dsp_status_sizeof_dylibloader_orig_asound +#define snd_hwdep_dsp_status_malloc snd_hwdep_dsp_status_malloc_dylibloader_orig_asound +#define snd_hwdep_dsp_status_free snd_hwdep_dsp_status_free_dylibloader_orig_asound +#define snd_hwdep_dsp_status_copy snd_hwdep_dsp_status_copy_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_version snd_hwdep_dsp_status_get_version_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_id snd_hwdep_dsp_status_get_id_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_num_dsps snd_hwdep_dsp_status_get_num_dsps_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_dsp_loaded snd_hwdep_dsp_status_get_dsp_loaded_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_chip_ready snd_hwdep_dsp_status_get_chip_ready_dylibloader_orig_asound +#define snd_hwdep_dsp_image_sizeof snd_hwdep_dsp_image_sizeof_dylibloader_orig_asound +#define snd_hwdep_dsp_image_malloc snd_hwdep_dsp_image_malloc_dylibloader_orig_asound +#define snd_hwdep_dsp_image_free snd_hwdep_dsp_image_free_dylibloader_orig_asound +#define snd_hwdep_dsp_image_copy snd_hwdep_dsp_image_copy_dylibloader_orig_asound +#define snd_hwdep_dsp_image_get_index snd_hwdep_dsp_image_get_index_dylibloader_orig_asound +#define snd_hwdep_dsp_image_get_name snd_hwdep_dsp_image_get_name_dylibloader_orig_asound +#define snd_hwdep_dsp_image_get_image snd_hwdep_dsp_image_get_image_dylibloader_orig_asound +#define snd_hwdep_dsp_image_get_length snd_hwdep_dsp_image_get_length_dylibloader_orig_asound +#define snd_hwdep_dsp_image_set_index snd_hwdep_dsp_image_set_index_dylibloader_orig_asound +#define snd_hwdep_dsp_image_set_name snd_hwdep_dsp_image_set_name_dylibloader_orig_asound +#define snd_hwdep_dsp_image_set_image snd_hwdep_dsp_image_set_image_dylibloader_orig_asound +#define snd_hwdep_dsp_image_set_length snd_hwdep_dsp_image_set_length_dylibloader_orig_asound +#define snd_card_load snd_card_load_dylibloader_orig_asound +#define snd_card_next snd_card_next_dylibloader_orig_asound +#define snd_card_get_index snd_card_get_index_dylibloader_orig_asound +#define snd_card_get_name snd_card_get_name_dylibloader_orig_asound +#define snd_card_get_longname snd_card_get_longname_dylibloader_orig_asound +#define snd_device_name_hint snd_device_name_hint_dylibloader_orig_asound +#define snd_device_name_free_hint snd_device_name_free_hint_dylibloader_orig_asound +#define snd_device_name_get_hint snd_device_name_get_hint_dylibloader_orig_asound +#define snd_ctl_open snd_ctl_open_dylibloader_orig_asound +#define snd_ctl_open_lconf snd_ctl_open_lconf_dylibloader_orig_asound +#define snd_ctl_open_fallback snd_ctl_open_fallback_dylibloader_orig_asound +#define snd_ctl_close snd_ctl_close_dylibloader_orig_asound +#define snd_ctl_nonblock snd_ctl_nonblock_dylibloader_orig_asound +#define snd_async_add_ctl_handler snd_async_add_ctl_handler_dylibloader_orig_asound +#define snd_async_handler_get_ctl snd_async_handler_get_ctl_dylibloader_orig_asound +#define snd_ctl_poll_descriptors_count snd_ctl_poll_descriptors_count_dylibloader_orig_asound +#define snd_ctl_poll_descriptors snd_ctl_poll_descriptors_dylibloader_orig_asound +#define snd_ctl_poll_descriptors_revents snd_ctl_poll_descriptors_revents_dylibloader_orig_asound +#define snd_ctl_subscribe_events snd_ctl_subscribe_events_dylibloader_orig_asound +#define snd_ctl_card_info snd_ctl_card_info_dylibloader_orig_asound +#define snd_ctl_elem_list snd_ctl_elem_list_dylibloader_orig_asound +#define snd_ctl_elem_info snd_ctl_elem_info_dylibloader_orig_asound +#define snd_ctl_elem_read snd_ctl_elem_read_dylibloader_orig_asound +#define snd_ctl_elem_write snd_ctl_elem_write_dylibloader_orig_asound +#define snd_ctl_elem_lock snd_ctl_elem_lock_dylibloader_orig_asound +#define snd_ctl_elem_unlock snd_ctl_elem_unlock_dylibloader_orig_asound +#define snd_ctl_elem_tlv_read snd_ctl_elem_tlv_read_dylibloader_orig_asound +#define snd_ctl_elem_tlv_write snd_ctl_elem_tlv_write_dylibloader_orig_asound +#define snd_ctl_elem_tlv_command snd_ctl_elem_tlv_command_dylibloader_orig_asound +#define snd_ctl_hwdep_next_device snd_ctl_hwdep_next_device_dylibloader_orig_asound +#define snd_ctl_hwdep_info snd_ctl_hwdep_info_dylibloader_orig_asound +#define snd_ctl_pcm_next_device snd_ctl_pcm_next_device_dylibloader_orig_asound +#define snd_ctl_pcm_info snd_ctl_pcm_info_dylibloader_orig_asound +#define snd_ctl_pcm_prefer_subdevice snd_ctl_pcm_prefer_subdevice_dylibloader_orig_asound +#define snd_ctl_rawmidi_next_device snd_ctl_rawmidi_next_device_dylibloader_orig_asound +#define snd_ctl_rawmidi_info snd_ctl_rawmidi_info_dylibloader_orig_asound +#define snd_ctl_rawmidi_prefer_subdevice snd_ctl_rawmidi_prefer_subdevice_dylibloader_orig_asound +#define snd_ctl_set_power_state snd_ctl_set_power_state_dylibloader_orig_asound +#define snd_ctl_get_power_state snd_ctl_get_power_state_dylibloader_orig_asound +#define snd_ctl_read snd_ctl_read_dylibloader_orig_asound +#define snd_ctl_wait snd_ctl_wait_dylibloader_orig_asound +#define snd_ctl_name snd_ctl_name_dylibloader_orig_asound +#define snd_ctl_type snd_ctl_type_dylibloader_orig_asound +#define snd_ctl_elem_type_name snd_ctl_elem_type_name_dylibloader_orig_asound +#define snd_ctl_elem_iface_name snd_ctl_elem_iface_name_dylibloader_orig_asound +#define snd_ctl_event_type_name snd_ctl_event_type_name_dylibloader_orig_asound +#define snd_ctl_event_elem_get_mask snd_ctl_event_elem_get_mask_dylibloader_orig_asound +#define snd_ctl_event_elem_get_numid snd_ctl_event_elem_get_numid_dylibloader_orig_asound +#define snd_ctl_event_elem_get_id snd_ctl_event_elem_get_id_dylibloader_orig_asound +#define snd_ctl_event_elem_get_interface snd_ctl_event_elem_get_interface_dylibloader_orig_asound +#define snd_ctl_event_elem_get_device snd_ctl_event_elem_get_device_dylibloader_orig_asound +#define snd_ctl_event_elem_get_subdevice snd_ctl_event_elem_get_subdevice_dylibloader_orig_asound +#define snd_ctl_event_elem_get_name snd_ctl_event_elem_get_name_dylibloader_orig_asound +#define snd_ctl_event_elem_get_index snd_ctl_event_elem_get_index_dylibloader_orig_asound +#define snd_ctl_elem_list_alloc_space snd_ctl_elem_list_alloc_space_dylibloader_orig_asound +#define snd_ctl_elem_list_free_space snd_ctl_elem_list_free_space_dylibloader_orig_asound +#define snd_ctl_ascii_elem_id_get snd_ctl_ascii_elem_id_get_dylibloader_orig_asound +#define snd_ctl_ascii_elem_id_parse snd_ctl_ascii_elem_id_parse_dylibloader_orig_asound +#define snd_ctl_ascii_value_parse snd_ctl_ascii_value_parse_dylibloader_orig_asound +#define snd_ctl_elem_id_sizeof snd_ctl_elem_id_sizeof_dylibloader_orig_asound +#define snd_ctl_elem_id_malloc snd_ctl_elem_id_malloc_dylibloader_orig_asound +#define snd_ctl_elem_id_free snd_ctl_elem_id_free_dylibloader_orig_asound +#define snd_ctl_elem_id_clear snd_ctl_elem_id_clear_dylibloader_orig_asound +#define snd_ctl_elem_id_copy snd_ctl_elem_id_copy_dylibloader_orig_asound +#define snd_ctl_elem_id_get_numid snd_ctl_elem_id_get_numid_dylibloader_orig_asound +#define snd_ctl_elem_id_get_interface snd_ctl_elem_id_get_interface_dylibloader_orig_asound +#define snd_ctl_elem_id_get_device snd_ctl_elem_id_get_device_dylibloader_orig_asound +#define snd_ctl_elem_id_get_subdevice snd_ctl_elem_id_get_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_id_get_name snd_ctl_elem_id_get_name_dylibloader_orig_asound +#define snd_ctl_elem_id_get_index snd_ctl_elem_id_get_index_dylibloader_orig_asound +#define snd_ctl_elem_id_set_numid snd_ctl_elem_id_set_numid_dylibloader_orig_asound +#define snd_ctl_elem_id_set_interface snd_ctl_elem_id_set_interface_dylibloader_orig_asound +#define snd_ctl_elem_id_set_device snd_ctl_elem_id_set_device_dylibloader_orig_asound +#define snd_ctl_elem_id_set_subdevice snd_ctl_elem_id_set_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_id_set_name snd_ctl_elem_id_set_name_dylibloader_orig_asound +#define snd_ctl_elem_id_set_index snd_ctl_elem_id_set_index_dylibloader_orig_asound +#define snd_ctl_card_info_sizeof snd_ctl_card_info_sizeof_dylibloader_orig_asound +#define snd_ctl_card_info_malloc snd_ctl_card_info_malloc_dylibloader_orig_asound +#define snd_ctl_card_info_free snd_ctl_card_info_free_dylibloader_orig_asound +#define snd_ctl_card_info_clear snd_ctl_card_info_clear_dylibloader_orig_asound +#define snd_ctl_card_info_copy snd_ctl_card_info_copy_dylibloader_orig_asound +#define snd_ctl_card_info_get_card snd_ctl_card_info_get_card_dylibloader_orig_asound +#define snd_ctl_card_info_get_id snd_ctl_card_info_get_id_dylibloader_orig_asound +#define snd_ctl_card_info_get_driver snd_ctl_card_info_get_driver_dylibloader_orig_asound +#define snd_ctl_card_info_get_name snd_ctl_card_info_get_name_dylibloader_orig_asound +#define snd_ctl_card_info_get_longname snd_ctl_card_info_get_longname_dylibloader_orig_asound +#define snd_ctl_card_info_get_mixername snd_ctl_card_info_get_mixername_dylibloader_orig_asound +#define snd_ctl_card_info_get_components snd_ctl_card_info_get_components_dylibloader_orig_asound +#define snd_ctl_event_sizeof snd_ctl_event_sizeof_dylibloader_orig_asound +#define snd_ctl_event_malloc snd_ctl_event_malloc_dylibloader_orig_asound +#define snd_ctl_event_free snd_ctl_event_free_dylibloader_orig_asound +#define snd_ctl_event_clear snd_ctl_event_clear_dylibloader_orig_asound +#define snd_ctl_event_copy snd_ctl_event_copy_dylibloader_orig_asound +#define snd_ctl_event_get_type snd_ctl_event_get_type_dylibloader_orig_asound +#define snd_ctl_elem_list_sizeof snd_ctl_elem_list_sizeof_dylibloader_orig_asound +#define snd_ctl_elem_list_malloc snd_ctl_elem_list_malloc_dylibloader_orig_asound +#define snd_ctl_elem_list_free snd_ctl_elem_list_free_dylibloader_orig_asound +#define snd_ctl_elem_list_clear snd_ctl_elem_list_clear_dylibloader_orig_asound +#define snd_ctl_elem_list_copy snd_ctl_elem_list_copy_dylibloader_orig_asound +#define snd_ctl_elem_list_set_offset snd_ctl_elem_list_set_offset_dylibloader_orig_asound +#define snd_ctl_elem_list_get_used snd_ctl_elem_list_get_used_dylibloader_orig_asound +#define snd_ctl_elem_list_get_count snd_ctl_elem_list_get_count_dylibloader_orig_asound +#define snd_ctl_elem_list_get_id snd_ctl_elem_list_get_id_dylibloader_orig_asound +#define snd_ctl_elem_list_get_numid snd_ctl_elem_list_get_numid_dylibloader_orig_asound +#define snd_ctl_elem_list_get_interface snd_ctl_elem_list_get_interface_dylibloader_orig_asound +#define snd_ctl_elem_list_get_device snd_ctl_elem_list_get_device_dylibloader_orig_asound +#define snd_ctl_elem_list_get_subdevice snd_ctl_elem_list_get_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_list_get_name snd_ctl_elem_list_get_name_dylibloader_orig_asound +#define snd_ctl_elem_list_get_index snd_ctl_elem_list_get_index_dylibloader_orig_asound +#define snd_ctl_elem_info_sizeof snd_ctl_elem_info_sizeof_dylibloader_orig_asound +#define snd_ctl_elem_info_malloc snd_ctl_elem_info_malloc_dylibloader_orig_asound +#define snd_ctl_elem_info_free snd_ctl_elem_info_free_dylibloader_orig_asound +#define snd_ctl_elem_info_clear snd_ctl_elem_info_clear_dylibloader_orig_asound +#define snd_ctl_elem_info_copy snd_ctl_elem_info_copy_dylibloader_orig_asound +#define snd_ctl_elem_info_get_type snd_ctl_elem_info_get_type_dylibloader_orig_asound +#define snd_ctl_elem_info_is_readable snd_ctl_elem_info_is_readable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_writable snd_ctl_elem_info_is_writable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_volatile snd_ctl_elem_info_is_volatile_dylibloader_orig_asound +#define snd_ctl_elem_info_is_inactive snd_ctl_elem_info_is_inactive_dylibloader_orig_asound +#define snd_ctl_elem_info_is_locked snd_ctl_elem_info_is_locked_dylibloader_orig_asound +#define snd_ctl_elem_info_is_tlv_readable snd_ctl_elem_info_is_tlv_readable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_tlv_writable snd_ctl_elem_info_is_tlv_writable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_tlv_commandable snd_ctl_elem_info_is_tlv_commandable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_owner snd_ctl_elem_info_is_owner_dylibloader_orig_asound +#define snd_ctl_elem_info_is_user snd_ctl_elem_info_is_user_dylibloader_orig_asound +#define snd_ctl_elem_info_get_owner snd_ctl_elem_info_get_owner_dylibloader_orig_asound +#define snd_ctl_elem_info_get_count snd_ctl_elem_info_get_count_dylibloader_orig_asound +#define snd_ctl_elem_info_get_min snd_ctl_elem_info_get_min_dylibloader_orig_asound +#define snd_ctl_elem_info_get_max snd_ctl_elem_info_get_max_dylibloader_orig_asound +#define snd_ctl_elem_info_get_step snd_ctl_elem_info_get_step_dylibloader_orig_asound +#define snd_ctl_elem_info_get_min64 snd_ctl_elem_info_get_min64_dylibloader_orig_asound +#define snd_ctl_elem_info_get_max64 snd_ctl_elem_info_get_max64_dylibloader_orig_asound +#define snd_ctl_elem_info_get_step64 snd_ctl_elem_info_get_step64_dylibloader_orig_asound +#define snd_ctl_elem_info_get_items snd_ctl_elem_info_get_items_dylibloader_orig_asound +#define snd_ctl_elem_info_set_item snd_ctl_elem_info_set_item_dylibloader_orig_asound +#define snd_ctl_elem_info_get_item_name snd_ctl_elem_info_get_item_name_dylibloader_orig_asound +#define snd_ctl_elem_info_get_dimensions snd_ctl_elem_info_get_dimensions_dylibloader_orig_asound +#define snd_ctl_elem_info_get_dimension snd_ctl_elem_info_get_dimension_dylibloader_orig_asound +#define snd_ctl_elem_info_set_dimension snd_ctl_elem_info_set_dimension_dylibloader_orig_asound +#define snd_ctl_elem_info_get_id snd_ctl_elem_info_get_id_dylibloader_orig_asound +#define snd_ctl_elem_info_get_numid snd_ctl_elem_info_get_numid_dylibloader_orig_asound +#define snd_ctl_elem_info_get_interface snd_ctl_elem_info_get_interface_dylibloader_orig_asound +#define snd_ctl_elem_info_get_device snd_ctl_elem_info_get_device_dylibloader_orig_asound +#define snd_ctl_elem_info_get_subdevice snd_ctl_elem_info_get_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_info_get_name snd_ctl_elem_info_get_name_dylibloader_orig_asound +#define snd_ctl_elem_info_get_index snd_ctl_elem_info_get_index_dylibloader_orig_asound +#define snd_ctl_elem_info_set_id snd_ctl_elem_info_set_id_dylibloader_orig_asound +#define snd_ctl_elem_info_set_numid snd_ctl_elem_info_set_numid_dylibloader_orig_asound +#define snd_ctl_elem_info_set_interface snd_ctl_elem_info_set_interface_dylibloader_orig_asound +#define snd_ctl_elem_info_set_device snd_ctl_elem_info_set_device_dylibloader_orig_asound +#define snd_ctl_elem_info_set_subdevice snd_ctl_elem_info_set_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_info_set_name snd_ctl_elem_info_set_name_dylibloader_orig_asound +#define snd_ctl_elem_info_set_index snd_ctl_elem_info_set_index_dylibloader_orig_asound +#define snd_ctl_add_integer_elem_set snd_ctl_add_integer_elem_set_dylibloader_orig_asound +#define snd_ctl_add_integer64_elem_set snd_ctl_add_integer64_elem_set_dylibloader_orig_asound +#define snd_ctl_add_boolean_elem_set snd_ctl_add_boolean_elem_set_dylibloader_orig_asound +#define snd_ctl_add_enumerated_elem_set snd_ctl_add_enumerated_elem_set_dylibloader_orig_asound +#define snd_ctl_add_bytes_elem_set snd_ctl_add_bytes_elem_set_dylibloader_orig_asound +#define snd_ctl_elem_add_integer snd_ctl_elem_add_integer_dylibloader_orig_asound +#define snd_ctl_elem_add_integer64 snd_ctl_elem_add_integer64_dylibloader_orig_asound +#define snd_ctl_elem_add_boolean snd_ctl_elem_add_boolean_dylibloader_orig_asound +#define snd_ctl_elem_add_enumerated snd_ctl_elem_add_enumerated_dylibloader_orig_asound +#define snd_ctl_elem_add_iec958 snd_ctl_elem_add_iec958_dylibloader_orig_asound +#define snd_ctl_elem_remove snd_ctl_elem_remove_dylibloader_orig_asound +#define snd_ctl_elem_value_sizeof snd_ctl_elem_value_sizeof_dylibloader_orig_asound +#define snd_ctl_elem_value_malloc snd_ctl_elem_value_malloc_dylibloader_orig_asound +#define snd_ctl_elem_value_free snd_ctl_elem_value_free_dylibloader_orig_asound +#define snd_ctl_elem_value_clear snd_ctl_elem_value_clear_dylibloader_orig_asound +#define snd_ctl_elem_value_copy snd_ctl_elem_value_copy_dylibloader_orig_asound +#define snd_ctl_elem_value_compare snd_ctl_elem_value_compare_dylibloader_orig_asound +#define snd_ctl_elem_value_get_id snd_ctl_elem_value_get_id_dylibloader_orig_asound +#define snd_ctl_elem_value_get_numid snd_ctl_elem_value_get_numid_dylibloader_orig_asound +#define snd_ctl_elem_value_get_interface snd_ctl_elem_value_get_interface_dylibloader_orig_asound +#define snd_ctl_elem_value_get_device snd_ctl_elem_value_get_device_dylibloader_orig_asound +#define snd_ctl_elem_value_get_subdevice snd_ctl_elem_value_get_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_value_get_name snd_ctl_elem_value_get_name_dylibloader_orig_asound +#define snd_ctl_elem_value_get_index snd_ctl_elem_value_get_index_dylibloader_orig_asound +#define snd_ctl_elem_value_set_id snd_ctl_elem_value_set_id_dylibloader_orig_asound +#define snd_ctl_elem_value_set_numid snd_ctl_elem_value_set_numid_dylibloader_orig_asound +#define snd_ctl_elem_value_set_interface snd_ctl_elem_value_set_interface_dylibloader_orig_asound +#define snd_ctl_elem_value_set_device snd_ctl_elem_value_set_device_dylibloader_orig_asound +#define snd_ctl_elem_value_set_subdevice snd_ctl_elem_value_set_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_value_set_name snd_ctl_elem_value_set_name_dylibloader_orig_asound +#define snd_ctl_elem_value_set_index snd_ctl_elem_value_set_index_dylibloader_orig_asound +#define snd_ctl_elem_value_get_boolean snd_ctl_elem_value_get_boolean_dylibloader_orig_asound +#define snd_ctl_elem_value_get_integer snd_ctl_elem_value_get_integer_dylibloader_orig_asound +#define snd_ctl_elem_value_get_integer64 snd_ctl_elem_value_get_integer64_dylibloader_orig_asound +#define snd_ctl_elem_value_get_enumerated snd_ctl_elem_value_get_enumerated_dylibloader_orig_asound +#define snd_ctl_elem_value_get_byte snd_ctl_elem_value_get_byte_dylibloader_orig_asound +#define snd_ctl_elem_value_set_boolean snd_ctl_elem_value_set_boolean_dylibloader_orig_asound +#define snd_ctl_elem_value_set_integer snd_ctl_elem_value_set_integer_dylibloader_orig_asound +#define snd_ctl_elem_value_set_integer64 snd_ctl_elem_value_set_integer64_dylibloader_orig_asound +#define snd_ctl_elem_value_set_enumerated snd_ctl_elem_value_set_enumerated_dylibloader_orig_asound +#define snd_ctl_elem_value_set_byte snd_ctl_elem_value_set_byte_dylibloader_orig_asound +#define snd_ctl_elem_set_bytes snd_ctl_elem_set_bytes_dylibloader_orig_asound +#define snd_ctl_elem_value_get_bytes snd_ctl_elem_value_get_bytes_dylibloader_orig_asound +#define snd_ctl_elem_value_get_iec958 snd_ctl_elem_value_get_iec958_dylibloader_orig_asound +#define snd_ctl_elem_value_set_iec958 snd_ctl_elem_value_set_iec958_dylibloader_orig_asound +#define snd_tlv_parse_dB_info snd_tlv_parse_dB_info_dylibloader_orig_asound +#define snd_tlv_get_dB_range snd_tlv_get_dB_range_dylibloader_orig_asound +#define snd_tlv_convert_to_dB snd_tlv_convert_to_dB_dylibloader_orig_asound +#define snd_tlv_convert_from_dB snd_tlv_convert_from_dB_dylibloader_orig_asound +#define snd_ctl_get_dB_range snd_ctl_get_dB_range_dylibloader_orig_asound +#define snd_ctl_convert_to_dB snd_ctl_convert_to_dB_dylibloader_orig_asound +#define snd_ctl_convert_from_dB snd_ctl_convert_from_dB_dylibloader_orig_asound +#define snd_hctl_compare_fast snd_hctl_compare_fast_dylibloader_orig_asound +#define snd_hctl_open snd_hctl_open_dylibloader_orig_asound +#define snd_hctl_open_ctl snd_hctl_open_ctl_dylibloader_orig_asound +#define snd_hctl_close snd_hctl_close_dylibloader_orig_asound +#define snd_hctl_nonblock snd_hctl_nonblock_dylibloader_orig_asound +#define snd_hctl_poll_descriptors_count snd_hctl_poll_descriptors_count_dylibloader_orig_asound +#define snd_hctl_poll_descriptors snd_hctl_poll_descriptors_dylibloader_orig_asound +#define snd_hctl_poll_descriptors_revents snd_hctl_poll_descriptors_revents_dylibloader_orig_asound +#define snd_hctl_get_count snd_hctl_get_count_dylibloader_orig_asound +#define snd_hctl_set_compare snd_hctl_set_compare_dylibloader_orig_asound +#define snd_hctl_first_elem snd_hctl_first_elem_dylibloader_orig_asound +#define snd_hctl_last_elem snd_hctl_last_elem_dylibloader_orig_asound +#define snd_hctl_find_elem snd_hctl_find_elem_dylibloader_orig_asound +#define snd_hctl_set_callback snd_hctl_set_callback_dylibloader_orig_asound +#define snd_hctl_set_callback_private snd_hctl_set_callback_private_dylibloader_orig_asound +#define snd_hctl_get_callback_private snd_hctl_get_callback_private_dylibloader_orig_asound +#define snd_hctl_load snd_hctl_load_dylibloader_orig_asound +#define snd_hctl_free snd_hctl_free_dylibloader_orig_asound +#define snd_hctl_handle_events snd_hctl_handle_events_dylibloader_orig_asound +#define snd_hctl_name snd_hctl_name_dylibloader_orig_asound +#define snd_hctl_wait snd_hctl_wait_dylibloader_orig_asound +#define snd_hctl_ctl snd_hctl_ctl_dylibloader_orig_asound +#define snd_hctl_elem_next snd_hctl_elem_next_dylibloader_orig_asound +#define snd_hctl_elem_prev snd_hctl_elem_prev_dylibloader_orig_asound +#define snd_hctl_elem_info snd_hctl_elem_info_dylibloader_orig_asound +#define snd_hctl_elem_read snd_hctl_elem_read_dylibloader_orig_asound +#define snd_hctl_elem_write snd_hctl_elem_write_dylibloader_orig_asound +#define snd_hctl_elem_tlv_read snd_hctl_elem_tlv_read_dylibloader_orig_asound +#define snd_hctl_elem_tlv_write snd_hctl_elem_tlv_write_dylibloader_orig_asound +#define snd_hctl_elem_tlv_command snd_hctl_elem_tlv_command_dylibloader_orig_asound +#define snd_hctl_elem_get_hctl snd_hctl_elem_get_hctl_dylibloader_orig_asound +#define snd_hctl_elem_get_id snd_hctl_elem_get_id_dylibloader_orig_asound +#define snd_hctl_elem_get_numid snd_hctl_elem_get_numid_dylibloader_orig_asound +#define snd_hctl_elem_get_interface snd_hctl_elem_get_interface_dylibloader_orig_asound +#define snd_hctl_elem_get_device snd_hctl_elem_get_device_dylibloader_orig_asound +#define snd_hctl_elem_get_subdevice snd_hctl_elem_get_subdevice_dylibloader_orig_asound +#define snd_hctl_elem_get_name snd_hctl_elem_get_name_dylibloader_orig_asound +#define snd_hctl_elem_get_index snd_hctl_elem_get_index_dylibloader_orig_asound +#define snd_hctl_elem_set_callback snd_hctl_elem_set_callback_dylibloader_orig_asound +#define snd_hctl_elem_get_callback_private snd_hctl_elem_get_callback_private_dylibloader_orig_asound +#define snd_hctl_elem_set_callback_private snd_hctl_elem_set_callback_private_dylibloader_orig_asound +#define snd_sctl_build snd_sctl_build_dylibloader_orig_asound +#define snd_sctl_free snd_sctl_free_dylibloader_orig_asound +#define snd_sctl_install snd_sctl_install_dylibloader_orig_asound +#define snd_sctl_remove snd_sctl_remove_dylibloader_orig_asound +#define snd_mixer_open snd_mixer_open_dylibloader_orig_asound +#define snd_mixer_close snd_mixer_close_dylibloader_orig_asound +#define snd_mixer_first_elem snd_mixer_first_elem_dylibloader_orig_asound +#define snd_mixer_last_elem snd_mixer_last_elem_dylibloader_orig_asound +#define snd_mixer_handle_events snd_mixer_handle_events_dylibloader_orig_asound +#define snd_mixer_attach snd_mixer_attach_dylibloader_orig_asound +#define snd_mixer_attach_hctl snd_mixer_attach_hctl_dylibloader_orig_asound +#define snd_mixer_detach snd_mixer_detach_dylibloader_orig_asound +#define snd_mixer_detach_hctl snd_mixer_detach_hctl_dylibloader_orig_asound +#define snd_mixer_get_hctl snd_mixer_get_hctl_dylibloader_orig_asound +#define snd_mixer_poll_descriptors_count snd_mixer_poll_descriptors_count_dylibloader_orig_asound +#define snd_mixer_poll_descriptors snd_mixer_poll_descriptors_dylibloader_orig_asound +#define snd_mixer_poll_descriptors_revents snd_mixer_poll_descriptors_revents_dylibloader_orig_asound +#define snd_mixer_load snd_mixer_load_dylibloader_orig_asound +#define snd_mixer_free snd_mixer_free_dylibloader_orig_asound +#define snd_mixer_wait snd_mixer_wait_dylibloader_orig_asound +#define snd_mixer_set_compare snd_mixer_set_compare_dylibloader_orig_asound +#define snd_mixer_set_callback snd_mixer_set_callback_dylibloader_orig_asound +#define snd_mixer_get_callback_private snd_mixer_get_callback_private_dylibloader_orig_asound +#define snd_mixer_set_callback_private snd_mixer_set_callback_private_dylibloader_orig_asound +#define snd_mixer_get_count snd_mixer_get_count_dylibloader_orig_asound +#define snd_mixer_class_unregister snd_mixer_class_unregister_dylibloader_orig_asound +#define snd_mixer_elem_next snd_mixer_elem_next_dylibloader_orig_asound +#define snd_mixer_elem_prev snd_mixer_elem_prev_dylibloader_orig_asound +#define snd_mixer_elem_set_callback snd_mixer_elem_set_callback_dylibloader_orig_asound +#define snd_mixer_elem_get_callback_private snd_mixer_elem_get_callback_private_dylibloader_orig_asound +#define snd_mixer_elem_set_callback_private snd_mixer_elem_set_callback_private_dylibloader_orig_asound +#define snd_mixer_elem_get_type snd_mixer_elem_get_type_dylibloader_orig_asound +#define snd_mixer_class_register snd_mixer_class_register_dylibloader_orig_asound +#define snd_mixer_elem_new snd_mixer_elem_new_dylibloader_orig_asound +#define snd_mixer_elem_add snd_mixer_elem_add_dylibloader_orig_asound +#define snd_mixer_elem_remove snd_mixer_elem_remove_dylibloader_orig_asound +#define snd_mixer_elem_free snd_mixer_elem_free_dylibloader_orig_asound +#define snd_mixer_elem_info snd_mixer_elem_info_dylibloader_orig_asound +#define snd_mixer_elem_value snd_mixer_elem_value_dylibloader_orig_asound +#define snd_mixer_elem_attach snd_mixer_elem_attach_dylibloader_orig_asound +#define snd_mixer_elem_detach snd_mixer_elem_detach_dylibloader_orig_asound +#define snd_mixer_elem_empty snd_mixer_elem_empty_dylibloader_orig_asound +#define snd_mixer_elem_get_private snd_mixer_elem_get_private_dylibloader_orig_asound +#define snd_mixer_class_sizeof snd_mixer_class_sizeof_dylibloader_orig_asound +#define snd_mixer_class_malloc snd_mixer_class_malloc_dylibloader_orig_asound +#define snd_mixer_class_free snd_mixer_class_free_dylibloader_orig_asound +#define snd_mixer_class_copy snd_mixer_class_copy_dylibloader_orig_asound +#define snd_mixer_class_get_mixer snd_mixer_class_get_mixer_dylibloader_orig_asound +#define snd_mixer_class_get_event snd_mixer_class_get_event_dylibloader_orig_asound +#define snd_mixer_class_get_private snd_mixer_class_get_private_dylibloader_orig_asound +#define snd_mixer_class_get_compare snd_mixer_class_get_compare_dylibloader_orig_asound +#define snd_mixer_class_set_event snd_mixer_class_set_event_dylibloader_orig_asound +#define snd_mixer_class_set_private snd_mixer_class_set_private_dylibloader_orig_asound +#define snd_mixer_class_set_private_free snd_mixer_class_set_private_free_dylibloader_orig_asound +#define snd_mixer_class_set_compare snd_mixer_class_set_compare_dylibloader_orig_asound +#define snd_mixer_selem_channel_name snd_mixer_selem_channel_name_dylibloader_orig_asound +#define snd_mixer_selem_register snd_mixer_selem_register_dylibloader_orig_asound +#define snd_mixer_selem_get_id snd_mixer_selem_get_id_dylibloader_orig_asound +#define snd_mixer_selem_get_name snd_mixer_selem_get_name_dylibloader_orig_asound +#define snd_mixer_selem_get_index snd_mixer_selem_get_index_dylibloader_orig_asound +#define snd_mixer_find_selem snd_mixer_find_selem_dylibloader_orig_asound +#define snd_mixer_selem_is_active snd_mixer_selem_is_active_dylibloader_orig_asound +#define snd_mixer_selem_is_playback_mono snd_mixer_selem_is_playback_mono_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_channel snd_mixer_selem_has_playback_channel_dylibloader_orig_asound +#define snd_mixer_selem_is_capture_mono snd_mixer_selem_is_capture_mono_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_channel snd_mixer_selem_has_capture_channel_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_group snd_mixer_selem_get_capture_group_dylibloader_orig_asound +#define snd_mixer_selem_has_common_volume snd_mixer_selem_has_common_volume_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_volume snd_mixer_selem_has_playback_volume_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_volume_joined snd_mixer_selem_has_playback_volume_joined_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_volume snd_mixer_selem_has_capture_volume_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_volume_joined snd_mixer_selem_has_capture_volume_joined_dylibloader_orig_asound +#define snd_mixer_selem_has_common_switch snd_mixer_selem_has_common_switch_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_switch snd_mixer_selem_has_playback_switch_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_switch_joined snd_mixer_selem_has_playback_switch_joined_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_switch snd_mixer_selem_has_capture_switch_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_switch_joined snd_mixer_selem_has_capture_switch_joined_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_switch_exclusive snd_mixer_selem_has_capture_switch_exclusive_dylibloader_orig_asound +#define snd_mixer_selem_ask_playback_vol_dB snd_mixer_selem_ask_playback_vol_dB_dylibloader_orig_asound +#define snd_mixer_selem_ask_capture_vol_dB snd_mixer_selem_ask_capture_vol_dB_dylibloader_orig_asound +#define snd_mixer_selem_ask_playback_dB_vol snd_mixer_selem_ask_playback_dB_vol_dylibloader_orig_asound +#define snd_mixer_selem_ask_capture_dB_vol snd_mixer_selem_ask_capture_dB_vol_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_volume snd_mixer_selem_get_playback_volume_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_volume snd_mixer_selem_get_capture_volume_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_dB snd_mixer_selem_get_playback_dB_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_dB snd_mixer_selem_get_capture_dB_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_switch snd_mixer_selem_get_playback_switch_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_switch snd_mixer_selem_get_capture_switch_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_volume snd_mixer_selem_set_playback_volume_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_volume snd_mixer_selem_set_capture_volume_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_dB snd_mixer_selem_set_playback_dB_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_dB snd_mixer_selem_set_capture_dB_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_volume_all snd_mixer_selem_set_playback_volume_all_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_volume_all snd_mixer_selem_set_capture_volume_all_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_dB_all snd_mixer_selem_set_playback_dB_all_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_dB_all snd_mixer_selem_set_capture_dB_all_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_switch snd_mixer_selem_set_playback_switch_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_switch snd_mixer_selem_set_capture_switch_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_switch_all snd_mixer_selem_set_playback_switch_all_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_switch_all snd_mixer_selem_set_capture_switch_all_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_volume_range snd_mixer_selem_get_playback_volume_range_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_dB_range snd_mixer_selem_get_playback_dB_range_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_volume_range snd_mixer_selem_set_playback_volume_range_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_volume_range snd_mixer_selem_get_capture_volume_range_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_dB_range snd_mixer_selem_get_capture_dB_range_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_volume_range snd_mixer_selem_set_capture_volume_range_dylibloader_orig_asound +#define snd_mixer_selem_is_enumerated snd_mixer_selem_is_enumerated_dylibloader_orig_asound +#define snd_mixer_selem_is_enum_playback snd_mixer_selem_is_enum_playback_dylibloader_orig_asound +#define snd_mixer_selem_is_enum_capture snd_mixer_selem_is_enum_capture_dylibloader_orig_asound +#define snd_mixer_selem_get_enum_items snd_mixer_selem_get_enum_items_dylibloader_orig_asound +#define snd_mixer_selem_get_enum_item_name snd_mixer_selem_get_enum_item_name_dylibloader_orig_asound +#define snd_mixer_selem_get_enum_item snd_mixer_selem_get_enum_item_dylibloader_orig_asound +#define snd_mixer_selem_set_enum_item snd_mixer_selem_set_enum_item_dylibloader_orig_asound +#define snd_mixer_selem_id_sizeof snd_mixer_selem_id_sizeof_dylibloader_orig_asound +#define snd_mixer_selem_id_malloc snd_mixer_selem_id_malloc_dylibloader_orig_asound +#define snd_mixer_selem_id_free snd_mixer_selem_id_free_dylibloader_orig_asound +#define snd_mixer_selem_id_copy snd_mixer_selem_id_copy_dylibloader_orig_asound +#define snd_mixer_selem_id_get_name snd_mixer_selem_id_get_name_dylibloader_orig_asound +#define snd_mixer_selem_id_get_index snd_mixer_selem_id_get_index_dylibloader_orig_asound +#define snd_mixer_selem_id_set_name snd_mixer_selem_id_set_name_dylibloader_orig_asound +#define snd_mixer_selem_id_set_index snd_mixer_selem_id_set_index_dylibloader_orig_asound +#define snd_mixer_selem_id_parse snd_mixer_selem_id_parse_dylibloader_orig_asound +#define snd_seq_open snd_seq_open_dylibloader_orig_asound +#define snd_seq_open_lconf snd_seq_open_lconf_dylibloader_orig_asound +#define snd_seq_name snd_seq_name_dylibloader_orig_asound +#define snd_seq_type snd_seq_type_dylibloader_orig_asound +#define snd_seq_close snd_seq_close_dylibloader_orig_asound +#define snd_seq_poll_descriptors_count snd_seq_poll_descriptors_count_dylibloader_orig_asound +#define snd_seq_poll_descriptors snd_seq_poll_descriptors_dylibloader_orig_asound +#define snd_seq_poll_descriptors_revents snd_seq_poll_descriptors_revents_dylibloader_orig_asound +#define snd_seq_nonblock snd_seq_nonblock_dylibloader_orig_asound +#define snd_seq_client_id snd_seq_client_id_dylibloader_orig_asound +#define snd_seq_get_output_buffer_size snd_seq_get_output_buffer_size_dylibloader_orig_asound +#define snd_seq_get_input_buffer_size snd_seq_get_input_buffer_size_dylibloader_orig_asound +#define snd_seq_set_output_buffer_size snd_seq_set_output_buffer_size_dylibloader_orig_asound +#define snd_seq_set_input_buffer_size snd_seq_set_input_buffer_size_dylibloader_orig_asound +#define snd_seq_system_info_sizeof snd_seq_system_info_sizeof_dylibloader_orig_asound +#define snd_seq_system_info_malloc snd_seq_system_info_malloc_dylibloader_orig_asound +#define snd_seq_system_info_free snd_seq_system_info_free_dylibloader_orig_asound +#define snd_seq_system_info_copy snd_seq_system_info_copy_dylibloader_orig_asound +#define snd_seq_system_info_get_queues snd_seq_system_info_get_queues_dylibloader_orig_asound +#define snd_seq_system_info_get_clients snd_seq_system_info_get_clients_dylibloader_orig_asound +#define snd_seq_system_info_get_ports snd_seq_system_info_get_ports_dylibloader_orig_asound +#define snd_seq_system_info_get_channels snd_seq_system_info_get_channels_dylibloader_orig_asound +#define snd_seq_system_info_get_cur_clients snd_seq_system_info_get_cur_clients_dylibloader_orig_asound +#define snd_seq_system_info_get_cur_queues snd_seq_system_info_get_cur_queues_dylibloader_orig_asound +#define snd_seq_system_info snd_seq_system_info_dylibloader_orig_asound +#define snd_seq_client_info_sizeof snd_seq_client_info_sizeof_dylibloader_orig_asound +#define snd_seq_client_info_malloc snd_seq_client_info_malloc_dylibloader_orig_asound +#define snd_seq_client_info_free snd_seq_client_info_free_dylibloader_orig_asound +#define snd_seq_client_info_copy snd_seq_client_info_copy_dylibloader_orig_asound +#define snd_seq_client_info_get_client snd_seq_client_info_get_client_dylibloader_orig_asound +#define snd_seq_client_info_get_type snd_seq_client_info_get_type_dylibloader_orig_asound +#define snd_seq_client_info_get_name snd_seq_client_info_get_name_dylibloader_orig_asound +#define snd_seq_client_info_get_broadcast_filter snd_seq_client_info_get_broadcast_filter_dylibloader_orig_asound +#define snd_seq_client_info_get_error_bounce snd_seq_client_info_get_error_bounce_dylibloader_orig_asound +#define snd_seq_client_info_get_card snd_seq_client_info_get_card_dylibloader_orig_asound +#define snd_seq_client_info_get_pid snd_seq_client_info_get_pid_dylibloader_orig_asound +#define snd_seq_client_info_get_event_filter snd_seq_client_info_get_event_filter_dylibloader_orig_asound +#define snd_seq_client_info_get_num_ports snd_seq_client_info_get_num_ports_dylibloader_orig_asound +#define snd_seq_client_info_get_event_lost snd_seq_client_info_get_event_lost_dylibloader_orig_asound +#define snd_seq_client_info_set_client snd_seq_client_info_set_client_dylibloader_orig_asound +#define snd_seq_client_info_set_name snd_seq_client_info_set_name_dylibloader_orig_asound +#define snd_seq_client_info_set_broadcast_filter snd_seq_client_info_set_broadcast_filter_dylibloader_orig_asound +#define snd_seq_client_info_set_error_bounce snd_seq_client_info_set_error_bounce_dylibloader_orig_asound +#define snd_seq_client_info_set_event_filter snd_seq_client_info_set_event_filter_dylibloader_orig_asound +#define snd_seq_client_info_event_filter_clear snd_seq_client_info_event_filter_clear_dylibloader_orig_asound +#define snd_seq_client_info_event_filter_add snd_seq_client_info_event_filter_add_dylibloader_orig_asound +#define snd_seq_client_info_event_filter_del snd_seq_client_info_event_filter_del_dylibloader_orig_asound +#define snd_seq_client_info_event_filter_check snd_seq_client_info_event_filter_check_dylibloader_orig_asound +#define snd_seq_get_client_info snd_seq_get_client_info_dylibloader_orig_asound +#define snd_seq_get_any_client_info snd_seq_get_any_client_info_dylibloader_orig_asound +#define snd_seq_set_client_info snd_seq_set_client_info_dylibloader_orig_asound +#define snd_seq_query_next_client snd_seq_query_next_client_dylibloader_orig_asound +#define snd_seq_client_pool_sizeof snd_seq_client_pool_sizeof_dylibloader_orig_asound +#define snd_seq_client_pool_malloc snd_seq_client_pool_malloc_dylibloader_orig_asound +#define snd_seq_client_pool_free snd_seq_client_pool_free_dylibloader_orig_asound +#define snd_seq_client_pool_copy snd_seq_client_pool_copy_dylibloader_orig_asound +#define snd_seq_client_pool_get_client snd_seq_client_pool_get_client_dylibloader_orig_asound +#define snd_seq_client_pool_get_output_pool snd_seq_client_pool_get_output_pool_dylibloader_orig_asound +#define snd_seq_client_pool_get_input_pool snd_seq_client_pool_get_input_pool_dylibloader_orig_asound +#define snd_seq_client_pool_get_output_room snd_seq_client_pool_get_output_room_dylibloader_orig_asound +#define snd_seq_client_pool_get_output_free snd_seq_client_pool_get_output_free_dylibloader_orig_asound +#define snd_seq_client_pool_get_input_free snd_seq_client_pool_get_input_free_dylibloader_orig_asound +#define snd_seq_client_pool_set_output_pool snd_seq_client_pool_set_output_pool_dylibloader_orig_asound +#define snd_seq_client_pool_set_input_pool snd_seq_client_pool_set_input_pool_dylibloader_orig_asound +#define snd_seq_client_pool_set_output_room snd_seq_client_pool_set_output_room_dylibloader_orig_asound +#define snd_seq_get_client_pool snd_seq_get_client_pool_dylibloader_orig_asound +#define snd_seq_set_client_pool snd_seq_set_client_pool_dylibloader_orig_asound +#define snd_seq_port_info_sizeof snd_seq_port_info_sizeof_dylibloader_orig_asound +#define snd_seq_port_info_malloc snd_seq_port_info_malloc_dylibloader_orig_asound +#define snd_seq_port_info_free snd_seq_port_info_free_dylibloader_orig_asound +#define snd_seq_port_info_copy snd_seq_port_info_copy_dylibloader_orig_asound +#define snd_seq_port_info_get_client snd_seq_port_info_get_client_dylibloader_orig_asound +#define snd_seq_port_info_get_port snd_seq_port_info_get_port_dylibloader_orig_asound +#define snd_seq_port_info_get_addr snd_seq_port_info_get_addr_dylibloader_orig_asound +#define snd_seq_port_info_get_name snd_seq_port_info_get_name_dylibloader_orig_asound +#define snd_seq_port_info_get_capability snd_seq_port_info_get_capability_dylibloader_orig_asound +#define snd_seq_port_info_get_type snd_seq_port_info_get_type_dylibloader_orig_asound +#define snd_seq_port_info_get_midi_channels snd_seq_port_info_get_midi_channels_dylibloader_orig_asound +#define snd_seq_port_info_get_midi_voices snd_seq_port_info_get_midi_voices_dylibloader_orig_asound +#define snd_seq_port_info_get_synth_voices snd_seq_port_info_get_synth_voices_dylibloader_orig_asound +#define snd_seq_port_info_get_read_use snd_seq_port_info_get_read_use_dylibloader_orig_asound +#define snd_seq_port_info_get_write_use snd_seq_port_info_get_write_use_dylibloader_orig_asound +#define snd_seq_port_info_get_port_specified snd_seq_port_info_get_port_specified_dylibloader_orig_asound +#define snd_seq_port_info_get_timestamping snd_seq_port_info_get_timestamping_dylibloader_orig_asound +#define snd_seq_port_info_get_timestamp_real snd_seq_port_info_get_timestamp_real_dylibloader_orig_asound +#define snd_seq_port_info_get_timestamp_queue snd_seq_port_info_get_timestamp_queue_dylibloader_orig_asound +#define snd_seq_port_info_set_client snd_seq_port_info_set_client_dylibloader_orig_asound +#define snd_seq_port_info_set_port snd_seq_port_info_set_port_dylibloader_orig_asound +#define snd_seq_port_info_set_addr snd_seq_port_info_set_addr_dylibloader_orig_asound +#define snd_seq_port_info_set_name snd_seq_port_info_set_name_dylibloader_orig_asound +#define snd_seq_port_info_set_capability snd_seq_port_info_set_capability_dylibloader_orig_asound +#define snd_seq_port_info_set_type snd_seq_port_info_set_type_dylibloader_orig_asound +#define snd_seq_port_info_set_midi_channels snd_seq_port_info_set_midi_channels_dylibloader_orig_asound +#define snd_seq_port_info_set_midi_voices snd_seq_port_info_set_midi_voices_dylibloader_orig_asound +#define snd_seq_port_info_set_synth_voices snd_seq_port_info_set_synth_voices_dylibloader_orig_asound +#define snd_seq_port_info_set_port_specified snd_seq_port_info_set_port_specified_dylibloader_orig_asound +#define snd_seq_port_info_set_timestamping snd_seq_port_info_set_timestamping_dylibloader_orig_asound +#define snd_seq_port_info_set_timestamp_real snd_seq_port_info_set_timestamp_real_dylibloader_orig_asound +#define snd_seq_port_info_set_timestamp_queue snd_seq_port_info_set_timestamp_queue_dylibloader_orig_asound +#define snd_seq_create_port snd_seq_create_port_dylibloader_orig_asound +#define snd_seq_delete_port snd_seq_delete_port_dylibloader_orig_asound +#define snd_seq_get_port_info snd_seq_get_port_info_dylibloader_orig_asound +#define snd_seq_get_any_port_info snd_seq_get_any_port_info_dylibloader_orig_asound +#define snd_seq_set_port_info snd_seq_set_port_info_dylibloader_orig_asound +#define snd_seq_query_next_port snd_seq_query_next_port_dylibloader_orig_asound +#define snd_seq_port_subscribe_sizeof snd_seq_port_subscribe_sizeof_dylibloader_orig_asound +#define snd_seq_port_subscribe_malloc snd_seq_port_subscribe_malloc_dylibloader_orig_asound +#define snd_seq_port_subscribe_free snd_seq_port_subscribe_free_dylibloader_orig_asound +#define snd_seq_port_subscribe_copy snd_seq_port_subscribe_copy_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_sender snd_seq_port_subscribe_get_sender_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_dest snd_seq_port_subscribe_get_dest_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_queue snd_seq_port_subscribe_get_queue_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_exclusive snd_seq_port_subscribe_get_exclusive_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_time_update snd_seq_port_subscribe_get_time_update_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_time_real snd_seq_port_subscribe_get_time_real_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_sender snd_seq_port_subscribe_set_sender_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_dest snd_seq_port_subscribe_set_dest_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_queue snd_seq_port_subscribe_set_queue_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_exclusive snd_seq_port_subscribe_set_exclusive_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_time_update snd_seq_port_subscribe_set_time_update_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_time_real snd_seq_port_subscribe_set_time_real_dylibloader_orig_asound +#define snd_seq_get_port_subscription snd_seq_get_port_subscription_dylibloader_orig_asound +#define snd_seq_subscribe_port snd_seq_subscribe_port_dylibloader_orig_asound +#define snd_seq_unsubscribe_port snd_seq_unsubscribe_port_dylibloader_orig_asound +#define snd_seq_query_subscribe_sizeof snd_seq_query_subscribe_sizeof_dylibloader_orig_asound +#define snd_seq_query_subscribe_malloc snd_seq_query_subscribe_malloc_dylibloader_orig_asound +#define snd_seq_query_subscribe_free snd_seq_query_subscribe_free_dylibloader_orig_asound +#define snd_seq_query_subscribe_copy snd_seq_query_subscribe_copy_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_client snd_seq_query_subscribe_get_client_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_port snd_seq_query_subscribe_get_port_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_root snd_seq_query_subscribe_get_root_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_type snd_seq_query_subscribe_get_type_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_index snd_seq_query_subscribe_get_index_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_num_subs snd_seq_query_subscribe_get_num_subs_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_addr snd_seq_query_subscribe_get_addr_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_queue snd_seq_query_subscribe_get_queue_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_exclusive snd_seq_query_subscribe_get_exclusive_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_time_update snd_seq_query_subscribe_get_time_update_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_time_real snd_seq_query_subscribe_get_time_real_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_client snd_seq_query_subscribe_set_client_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_port snd_seq_query_subscribe_set_port_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_root snd_seq_query_subscribe_set_root_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_type snd_seq_query_subscribe_set_type_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_index snd_seq_query_subscribe_set_index_dylibloader_orig_asound +#define snd_seq_query_port_subscribers snd_seq_query_port_subscribers_dylibloader_orig_asound +#define snd_seq_queue_info_sizeof snd_seq_queue_info_sizeof_dylibloader_orig_asound +#define snd_seq_queue_info_malloc snd_seq_queue_info_malloc_dylibloader_orig_asound +#define snd_seq_queue_info_free snd_seq_queue_info_free_dylibloader_orig_asound +#define snd_seq_queue_info_copy snd_seq_queue_info_copy_dylibloader_orig_asound +#define snd_seq_queue_info_get_queue snd_seq_queue_info_get_queue_dylibloader_orig_asound +#define snd_seq_queue_info_get_name snd_seq_queue_info_get_name_dylibloader_orig_asound +#define snd_seq_queue_info_get_owner snd_seq_queue_info_get_owner_dylibloader_orig_asound +#define snd_seq_queue_info_get_locked snd_seq_queue_info_get_locked_dylibloader_orig_asound +#define snd_seq_queue_info_get_flags snd_seq_queue_info_get_flags_dylibloader_orig_asound +#define snd_seq_queue_info_set_name snd_seq_queue_info_set_name_dylibloader_orig_asound +#define snd_seq_queue_info_set_owner snd_seq_queue_info_set_owner_dylibloader_orig_asound +#define snd_seq_queue_info_set_locked snd_seq_queue_info_set_locked_dylibloader_orig_asound +#define snd_seq_queue_info_set_flags snd_seq_queue_info_set_flags_dylibloader_orig_asound +#define snd_seq_create_queue snd_seq_create_queue_dylibloader_orig_asound +#define snd_seq_alloc_named_queue snd_seq_alloc_named_queue_dylibloader_orig_asound +#define snd_seq_alloc_queue snd_seq_alloc_queue_dylibloader_orig_asound +#define snd_seq_free_queue snd_seq_free_queue_dylibloader_orig_asound +#define snd_seq_get_queue_info snd_seq_get_queue_info_dylibloader_orig_asound +#define snd_seq_set_queue_info snd_seq_set_queue_info_dylibloader_orig_asound +#define snd_seq_query_named_queue snd_seq_query_named_queue_dylibloader_orig_asound +#define snd_seq_get_queue_usage snd_seq_get_queue_usage_dylibloader_orig_asound +#define snd_seq_set_queue_usage snd_seq_set_queue_usage_dylibloader_orig_asound +#define snd_seq_queue_status_sizeof snd_seq_queue_status_sizeof_dylibloader_orig_asound +#define snd_seq_queue_status_malloc snd_seq_queue_status_malloc_dylibloader_orig_asound +#define snd_seq_queue_status_free snd_seq_queue_status_free_dylibloader_orig_asound +#define snd_seq_queue_status_copy snd_seq_queue_status_copy_dylibloader_orig_asound +#define snd_seq_queue_status_get_queue snd_seq_queue_status_get_queue_dylibloader_orig_asound +#define snd_seq_queue_status_get_events snd_seq_queue_status_get_events_dylibloader_orig_asound +#define snd_seq_queue_status_get_tick_time snd_seq_queue_status_get_tick_time_dylibloader_orig_asound +#define snd_seq_queue_status_get_real_time snd_seq_queue_status_get_real_time_dylibloader_orig_asound +#define snd_seq_queue_status_get_status snd_seq_queue_status_get_status_dylibloader_orig_asound +#define snd_seq_get_queue_status snd_seq_get_queue_status_dylibloader_orig_asound +#define snd_seq_queue_tempo_sizeof snd_seq_queue_tempo_sizeof_dylibloader_orig_asound +#define snd_seq_queue_tempo_malloc snd_seq_queue_tempo_malloc_dylibloader_orig_asound +#define snd_seq_queue_tempo_free snd_seq_queue_tempo_free_dylibloader_orig_asound +#define snd_seq_queue_tempo_copy snd_seq_queue_tempo_copy_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_queue snd_seq_queue_tempo_get_queue_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_tempo snd_seq_queue_tempo_get_tempo_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_ppq snd_seq_queue_tempo_get_ppq_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_skew snd_seq_queue_tempo_get_skew_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_skew_base snd_seq_queue_tempo_get_skew_base_dylibloader_orig_asound +#define snd_seq_queue_tempo_set_tempo snd_seq_queue_tempo_set_tempo_dylibloader_orig_asound +#define snd_seq_queue_tempo_set_ppq snd_seq_queue_tempo_set_ppq_dylibloader_orig_asound +#define snd_seq_queue_tempo_set_skew snd_seq_queue_tempo_set_skew_dylibloader_orig_asound +#define snd_seq_queue_tempo_set_skew_base snd_seq_queue_tempo_set_skew_base_dylibloader_orig_asound +#define snd_seq_get_queue_tempo snd_seq_get_queue_tempo_dylibloader_orig_asound +#define snd_seq_set_queue_tempo snd_seq_set_queue_tempo_dylibloader_orig_asound +#define snd_seq_queue_timer_sizeof snd_seq_queue_timer_sizeof_dylibloader_orig_asound +#define snd_seq_queue_timer_malloc snd_seq_queue_timer_malloc_dylibloader_orig_asound +#define snd_seq_queue_timer_free snd_seq_queue_timer_free_dylibloader_orig_asound +#define snd_seq_queue_timer_copy snd_seq_queue_timer_copy_dylibloader_orig_asound +#define snd_seq_queue_timer_get_queue snd_seq_queue_timer_get_queue_dylibloader_orig_asound +#define snd_seq_queue_timer_get_type snd_seq_queue_timer_get_type_dylibloader_orig_asound +#define snd_seq_queue_timer_get_id snd_seq_queue_timer_get_id_dylibloader_orig_asound +#define snd_seq_queue_timer_get_resolution snd_seq_queue_timer_get_resolution_dylibloader_orig_asound +#define snd_seq_queue_timer_set_type snd_seq_queue_timer_set_type_dylibloader_orig_asound +#define snd_seq_queue_timer_set_id snd_seq_queue_timer_set_id_dylibloader_orig_asound +#define snd_seq_queue_timer_set_resolution snd_seq_queue_timer_set_resolution_dylibloader_orig_asound +#define snd_seq_get_queue_timer snd_seq_get_queue_timer_dylibloader_orig_asound +#define snd_seq_set_queue_timer snd_seq_set_queue_timer_dylibloader_orig_asound +#define snd_seq_free_event snd_seq_free_event_dylibloader_orig_asound +#define snd_seq_event_length snd_seq_event_length_dylibloader_orig_asound +#define snd_seq_event_output snd_seq_event_output_dylibloader_orig_asound +#define snd_seq_event_output_buffer snd_seq_event_output_buffer_dylibloader_orig_asound +#define snd_seq_event_output_direct snd_seq_event_output_direct_dylibloader_orig_asound +#define snd_seq_event_input snd_seq_event_input_dylibloader_orig_asound +#define snd_seq_event_input_pending snd_seq_event_input_pending_dylibloader_orig_asound +#define snd_seq_drain_output snd_seq_drain_output_dylibloader_orig_asound +#define snd_seq_event_output_pending snd_seq_event_output_pending_dylibloader_orig_asound +#define snd_seq_extract_output snd_seq_extract_output_dylibloader_orig_asound +#define snd_seq_drop_output snd_seq_drop_output_dylibloader_orig_asound +#define snd_seq_drop_output_buffer snd_seq_drop_output_buffer_dylibloader_orig_asound +#define snd_seq_drop_input snd_seq_drop_input_dylibloader_orig_asound +#define snd_seq_drop_input_buffer snd_seq_drop_input_buffer_dylibloader_orig_asound +#define snd_seq_remove_events_sizeof snd_seq_remove_events_sizeof_dylibloader_orig_asound +#define snd_seq_remove_events_malloc snd_seq_remove_events_malloc_dylibloader_orig_asound +#define snd_seq_remove_events_free snd_seq_remove_events_free_dylibloader_orig_asound +#define snd_seq_remove_events_copy snd_seq_remove_events_copy_dylibloader_orig_asound +#define snd_seq_remove_events_get_condition snd_seq_remove_events_get_condition_dylibloader_orig_asound +#define snd_seq_remove_events_get_queue snd_seq_remove_events_get_queue_dylibloader_orig_asound +#define snd_seq_remove_events_get_time snd_seq_remove_events_get_time_dylibloader_orig_asound +#define snd_seq_remove_events_get_dest snd_seq_remove_events_get_dest_dylibloader_orig_asound +#define snd_seq_remove_events_get_channel snd_seq_remove_events_get_channel_dylibloader_orig_asound +#define snd_seq_remove_events_get_event_type snd_seq_remove_events_get_event_type_dylibloader_orig_asound +#define snd_seq_remove_events_get_tag snd_seq_remove_events_get_tag_dylibloader_orig_asound +#define snd_seq_remove_events_set_condition snd_seq_remove_events_set_condition_dylibloader_orig_asound +#define snd_seq_remove_events_set_queue snd_seq_remove_events_set_queue_dylibloader_orig_asound +#define snd_seq_remove_events_set_time snd_seq_remove_events_set_time_dylibloader_orig_asound +#define snd_seq_remove_events_set_dest snd_seq_remove_events_set_dest_dylibloader_orig_asound +#define snd_seq_remove_events_set_channel snd_seq_remove_events_set_channel_dylibloader_orig_asound +#define snd_seq_remove_events_set_event_type snd_seq_remove_events_set_event_type_dylibloader_orig_asound +#define snd_seq_remove_events_set_tag snd_seq_remove_events_set_tag_dylibloader_orig_asound +#define snd_seq_remove_events snd_seq_remove_events_dylibloader_orig_asound +#define snd_seq_set_bit snd_seq_set_bit_dylibloader_orig_asound +#define snd_seq_unset_bit snd_seq_unset_bit_dylibloader_orig_asound +#define snd_seq_change_bit snd_seq_change_bit_dylibloader_orig_asound +#define snd_seq_get_bit snd_seq_get_bit_dylibloader_orig_asound +#define snd_seq_control_queue snd_seq_control_queue_dylibloader_orig_asound +#define snd_seq_create_simple_port snd_seq_create_simple_port_dylibloader_orig_asound +#define snd_seq_delete_simple_port snd_seq_delete_simple_port_dylibloader_orig_asound +#define snd_seq_connect_from snd_seq_connect_from_dylibloader_orig_asound +#define snd_seq_connect_to snd_seq_connect_to_dylibloader_orig_asound +#define snd_seq_disconnect_from snd_seq_disconnect_from_dylibloader_orig_asound +#define snd_seq_disconnect_to snd_seq_disconnect_to_dylibloader_orig_asound +#define snd_seq_set_client_name snd_seq_set_client_name_dylibloader_orig_asound +#define snd_seq_set_client_event_filter snd_seq_set_client_event_filter_dylibloader_orig_asound +#define snd_seq_set_client_pool_output snd_seq_set_client_pool_output_dylibloader_orig_asound +#define snd_seq_set_client_pool_output_room snd_seq_set_client_pool_output_room_dylibloader_orig_asound +#define snd_seq_set_client_pool_input snd_seq_set_client_pool_input_dylibloader_orig_asound +#define snd_seq_sync_output_queue snd_seq_sync_output_queue_dylibloader_orig_asound +#define snd_seq_parse_address snd_seq_parse_address_dylibloader_orig_asound +#define snd_seq_reset_pool_output snd_seq_reset_pool_output_dylibloader_orig_asound +#define snd_seq_reset_pool_input snd_seq_reset_pool_input_dylibloader_orig_asound +#define snd_midi_event_new snd_midi_event_new_dylibloader_orig_asound +#define snd_midi_event_resize_buffer snd_midi_event_resize_buffer_dylibloader_orig_asound +#define snd_midi_event_free snd_midi_event_free_dylibloader_orig_asound +#define snd_midi_event_init snd_midi_event_init_dylibloader_orig_asound +#define snd_midi_event_reset_encode snd_midi_event_reset_encode_dylibloader_orig_asound +#define snd_midi_event_reset_decode snd_midi_event_reset_decode_dylibloader_orig_asound +#define snd_midi_event_no_status snd_midi_event_no_status_dylibloader_orig_asound +#define snd_midi_event_encode snd_midi_event_encode_dylibloader_orig_asound +#define snd_midi_event_encode_byte snd_midi_event_encode_byte_dylibloader_orig_asound +#define snd_midi_event_decode snd_midi_event_decode_dylibloader_orig_asound +#include <alsa/asoundlib.h> +#undef snd_asoundlib_version +#undef snd_dlpath +#undef snd_dlopen +#undef snd_dlsym +#undef snd_dlclose +#undef snd_async_add_handler +#undef snd_async_del_handler +#undef snd_async_handler_get_fd +#undef snd_async_handler_get_signo +#undef snd_async_handler_get_callback_private +#undef snd_shm_area_create +#undef snd_shm_area_share +#undef snd_shm_area_destroy +#undef snd_user_file +#undef snd_input_stdio_open +#undef snd_input_stdio_attach +#undef snd_input_buffer_open +#undef snd_input_close +#undef snd_input_scanf +#undef snd_input_gets +#undef snd_input_getc +#undef snd_input_ungetc +#undef snd_output_stdio_open +#undef snd_output_stdio_attach +#undef snd_output_buffer_open +#undef snd_output_buffer_string +#undef snd_output_close +#undef snd_output_printf +#undef snd_output_vprintf +#undef snd_output_puts +#undef snd_output_putc +#undef snd_output_flush +#undef snd_strerror +#undef snd_lib_error_set_handler +#undef snd_lib_error_set_local +#undef snd_config_topdir +#undef snd_config_top +#undef snd_config_load +#undef snd_config_load_override +#undef snd_config_save +#undef snd_config_update +#undef snd_config_update_r +#undef snd_config_update_free +#undef snd_config_update_free_global +#undef snd_config_update_ref +#undef snd_config_ref +#undef snd_config_unref +#undef snd_config_search +#undef snd_config_searchv +#undef snd_config_search_definition +#undef snd_config_expand +#undef snd_config_evaluate +#undef snd_config_add +#undef snd_config_add_before +#undef snd_config_add_after +#undef snd_config_remove +#undef snd_config_delete +#undef snd_config_delete_compound_members +#undef snd_config_copy +#undef snd_config_make +#undef snd_config_make_integer +#undef snd_config_make_integer64 +#undef snd_config_make_real +#undef snd_config_make_string +#undef snd_config_make_pointer +#undef snd_config_make_compound +#undef snd_config_imake_integer +#undef snd_config_imake_integer64 +#undef snd_config_imake_real +#undef snd_config_imake_string +#undef snd_config_imake_safe_string +#undef snd_config_imake_pointer +#undef snd_config_get_type +#undef snd_config_is_array +#undef snd_config_set_id +#undef snd_config_set_integer +#undef snd_config_set_integer64 +#undef snd_config_set_real +#undef snd_config_set_string +#undef snd_config_set_ascii +#undef snd_config_set_pointer +#undef snd_config_get_id +#undef snd_config_get_integer +#undef snd_config_get_integer64 +#undef snd_config_get_real +#undef snd_config_get_ireal +#undef snd_config_get_string +#undef snd_config_get_ascii +#undef snd_config_get_pointer +#undef snd_config_test_id +#undef snd_config_iterator_first +#undef snd_config_iterator_next +#undef snd_config_iterator_end +#undef snd_config_iterator_entry +#undef snd_config_get_bool_ascii +#undef snd_config_get_bool +#undef snd_config_get_ctl_iface_ascii +#undef snd_config_get_ctl_iface +#undef snd_names_list +#undef snd_names_list_free +#undef snd_pcm_open +#undef snd_pcm_open_lconf +#undef snd_pcm_open_fallback +#undef snd_pcm_close +#undef snd_pcm_name +#undef snd_pcm_type +#undef snd_pcm_stream +#undef snd_pcm_poll_descriptors_count +#undef snd_pcm_poll_descriptors +#undef snd_pcm_poll_descriptors_revents +#undef snd_pcm_nonblock +#undef snd_async_add_pcm_handler +#undef snd_async_handler_get_pcm +#undef snd_pcm_info +#undef snd_pcm_hw_params_current +#undef snd_pcm_hw_params +#undef snd_pcm_hw_free +#undef snd_pcm_sw_params_current +#undef snd_pcm_sw_params +#undef snd_pcm_prepare +#undef snd_pcm_reset +#undef snd_pcm_status +#undef snd_pcm_start +#undef snd_pcm_drop +#undef snd_pcm_drain +#undef snd_pcm_pause +#undef snd_pcm_state +#undef snd_pcm_hwsync +#undef snd_pcm_delay +#undef snd_pcm_resume +#undef snd_pcm_htimestamp +#undef snd_pcm_avail +#undef snd_pcm_avail_update +#undef snd_pcm_avail_delay +#undef snd_pcm_rewindable +#undef snd_pcm_rewind +#undef snd_pcm_forwardable +#undef snd_pcm_forward +#undef snd_pcm_writei +#undef snd_pcm_readi +#undef snd_pcm_writen +#undef snd_pcm_readn +#undef snd_pcm_wait +#undef snd_pcm_link +#undef snd_pcm_unlink +#undef snd_pcm_query_chmaps +#undef snd_pcm_query_chmaps_from_hw +#undef snd_pcm_free_chmaps +#undef snd_pcm_get_chmap +#undef snd_pcm_set_chmap +#undef snd_pcm_chmap_type_name +#undef snd_pcm_chmap_name +#undef snd_pcm_chmap_long_name +#undef snd_pcm_chmap_print +#undef snd_pcm_chmap_from_string +#undef snd_pcm_chmap_parse_string +#undef snd_pcm_recover +#undef snd_pcm_set_params +#undef snd_pcm_get_params +#undef snd_pcm_info_sizeof +#undef snd_pcm_info_malloc +#undef snd_pcm_info_free +#undef snd_pcm_info_copy +#undef snd_pcm_info_get_device +#undef snd_pcm_info_get_subdevice +#undef snd_pcm_info_get_stream +#undef snd_pcm_info_get_card +#undef snd_pcm_info_get_id +#undef snd_pcm_info_get_name +#undef snd_pcm_info_get_subdevice_name +#undef snd_pcm_info_get_class +#undef snd_pcm_info_get_subclass +#undef snd_pcm_info_get_subdevices_count +#undef snd_pcm_info_get_subdevices_avail +#undef snd_pcm_info_get_sync +#undef snd_pcm_info_set_device +#undef snd_pcm_info_set_subdevice +#undef snd_pcm_info_set_stream +#undef snd_pcm_hw_params_any +#undef snd_pcm_hw_params_can_mmap_sample_resolution +#undef snd_pcm_hw_params_is_double +#undef snd_pcm_hw_params_is_batch +#undef snd_pcm_hw_params_is_block_transfer +#undef snd_pcm_hw_params_is_monotonic +#undef snd_pcm_hw_params_can_overrange +#undef snd_pcm_hw_params_can_pause +#undef snd_pcm_hw_params_can_resume +#undef snd_pcm_hw_params_is_half_duplex +#undef snd_pcm_hw_params_is_joint_duplex +#undef snd_pcm_hw_params_can_sync_start +#undef snd_pcm_hw_params_can_disable_period_wakeup +#undef snd_pcm_hw_params_supports_audio_wallclock_ts +#undef snd_pcm_hw_params_supports_audio_ts_type +#undef snd_pcm_hw_params_get_rate_numden +#undef snd_pcm_hw_params_get_sbits +#undef snd_pcm_hw_params_get_fifo_size +#undef snd_pcm_hw_params_sizeof +#undef snd_pcm_hw_params_malloc +#undef snd_pcm_hw_params_free +#undef snd_pcm_hw_params_copy +#undef snd_pcm_hw_params_get_access +#undef snd_pcm_hw_params_test_access +#undef snd_pcm_hw_params_set_access +#undef snd_pcm_hw_params_set_access_first +#undef snd_pcm_hw_params_set_access_last +#undef snd_pcm_hw_params_set_access_mask +#undef snd_pcm_hw_params_get_access_mask +#undef snd_pcm_hw_params_get_format +#undef snd_pcm_hw_params_test_format +#undef snd_pcm_hw_params_set_format +#undef snd_pcm_hw_params_set_format_first +#undef snd_pcm_hw_params_set_format_last +#undef snd_pcm_hw_params_set_format_mask +#undef snd_pcm_hw_params_get_format_mask +#undef snd_pcm_hw_params_get_subformat +#undef snd_pcm_hw_params_test_subformat +#undef snd_pcm_hw_params_set_subformat +#undef snd_pcm_hw_params_set_subformat_first +#undef snd_pcm_hw_params_set_subformat_last +#undef snd_pcm_hw_params_set_subformat_mask +#undef snd_pcm_hw_params_get_subformat_mask +#undef snd_pcm_hw_params_get_channels +#undef snd_pcm_hw_params_get_channels_min +#undef snd_pcm_hw_params_get_channels_max +#undef snd_pcm_hw_params_test_channels +#undef snd_pcm_hw_params_set_channels +#undef snd_pcm_hw_params_set_channels_min +#undef snd_pcm_hw_params_set_channels_max +#undef snd_pcm_hw_params_set_channels_minmax +#undef snd_pcm_hw_params_set_channels_near +#undef snd_pcm_hw_params_set_channels_first +#undef snd_pcm_hw_params_set_channels_last +#undef snd_pcm_hw_params_get_rate +#undef snd_pcm_hw_params_get_rate_min +#undef snd_pcm_hw_params_get_rate_max +#undef snd_pcm_hw_params_test_rate +#undef snd_pcm_hw_params_set_rate +#undef snd_pcm_hw_params_set_rate_min +#undef snd_pcm_hw_params_set_rate_max +#undef snd_pcm_hw_params_set_rate_minmax +#undef snd_pcm_hw_params_set_rate_near +#undef snd_pcm_hw_params_set_rate_first +#undef snd_pcm_hw_params_set_rate_last +#undef snd_pcm_hw_params_set_rate_resample +#undef snd_pcm_hw_params_get_rate_resample +#undef snd_pcm_hw_params_set_export_buffer +#undef snd_pcm_hw_params_get_export_buffer +#undef snd_pcm_hw_params_set_period_wakeup +#undef snd_pcm_hw_params_get_period_wakeup +#undef snd_pcm_hw_params_get_period_time +#undef snd_pcm_hw_params_get_period_time_min +#undef snd_pcm_hw_params_get_period_time_max +#undef snd_pcm_hw_params_test_period_time +#undef snd_pcm_hw_params_set_period_time +#undef snd_pcm_hw_params_set_period_time_min +#undef snd_pcm_hw_params_set_period_time_max +#undef snd_pcm_hw_params_set_period_time_minmax +#undef snd_pcm_hw_params_set_period_time_near +#undef snd_pcm_hw_params_set_period_time_first +#undef snd_pcm_hw_params_set_period_time_last +#undef snd_pcm_hw_params_get_period_size +#undef snd_pcm_hw_params_get_period_size_min +#undef snd_pcm_hw_params_get_period_size_max +#undef snd_pcm_hw_params_test_period_size +#undef snd_pcm_hw_params_set_period_size +#undef snd_pcm_hw_params_set_period_size_min +#undef snd_pcm_hw_params_set_period_size_max +#undef snd_pcm_hw_params_set_period_size_minmax +#undef snd_pcm_hw_params_set_period_size_near +#undef snd_pcm_hw_params_set_period_size_first +#undef snd_pcm_hw_params_set_period_size_last +#undef snd_pcm_hw_params_set_period_size_integer +#undef snd_pcm_hw_params_get_periods +#undef snd_pcm_hw_params_get_periods_min +#undef snd_pcm_hw_params_get_periods_max +#undef snd_pcm_hw_params_test_periods +#undef snd_pcm_hw_params_set_periods +#undef snd_pcm_hw_params_set_periods_min +#undef snd_pcm_hw_params_set_periods_max +#undef snd_pcm_hw_params_set_periods_minmax +#undef snd_pcm_hw_params_set_periods_near +#undef snd_pcm_hw_params_set_periods_first +#undef snd_pcm_hw_params_set_periods_last +#undef snd_pcm_hw_params_set_periods_integer +#undef snd_pcm_hw_params_get_buffer_time +#undef snd_pcm_hw_params_get_buffer_time_min +#undef snd_pcm_hw_params_get_buffer_time_max +#undef snd_pcm_hw_params_test_buffer_time +#undef snd_pcm_hw_params_set_buffer_time +#undef snd_pcm_hw_params_set_buffer_time_min +#undef snd_pcm_hw_params_set_buffer_time_max +#undef snd_pcm_hw_params_set_buffer_time_minmax +#undef snd_pcm_hw_params_set_buffer_time_near +#undef snd_pcm_hw_params_set_buffer_time_first +#undef snd_pcm_hw_params_set_buffer_time_last +#undef snd_pcm_hw_params_get_buffer_size +#undef snd_pcm_hw_params_get_buffer_size_min +#undef snd_pcm_hw_params_get_buffer_size_max +#undef snd_pcm_hw_params_test_buffer_size +#undef snd_pcm_hw_params_set_buffer_size +#undef snd_pcm_hw_params_set_buffer_size_min +#undef snd_pcm_hw_params_set_buffer_size_max +#undef snd_pcm_hw_params_set_buffer_size_minmax +#undef snd_pcm_hw_params_set_buffer_size_near +#undef snd_pcm_hw_params_set_buffer_size_first +#undef snd_pcm_hw_params_set_buffer_size_last +#undef snd_pcm_hw_params_get_min_align +#undef snd_pcm_sw_params_sizeof +#undef snd_pcm_sw_params_malloc +#undef snd_pcm_sw_params_free +#undef snd_pcm_sw_params_copy +#undef snd_pcm_sw_params_get_boundary +#undef snd_pcm_sw_params_set_tstamp_mode +#undef snd_pcm_sw_params_get_tstamp_mode +#undef snd_pcm_sw_params_set_avail_min +#undef snd_pcm_sw_params_get_avail_min +#undef snd_pcm_sw_params_set_period_event +#undef snd_pcm_sw_params_get_period_event +#undef snd_pcm_sw_params_set_start_threshold +#undef snd_pcm_sw_params_get_start_threshold +#undef snd_pcm_sw_params_set_stop_threshold +#undef snd_pcm_sw_params_get_stop_threshold +#undef snd_pcm_sw_params_set_silence_threshold +#undef snd_pcm_sw_params_get_silence_threshold +#undef snd_pcm_sw_params_set_silence_size +#undef snd_pcm_sw_params_get_silence_size +#undef snd_pcm_access_mask_sizeof +#undef snd_pcm_access_mask_malloc +#undef snd_pcm_access_mask_free +#undef snd_pcm_access_mask_copy +#undef snd_pcm_access_mask_none +#undef snd_pcm_access_mask_any +#undef snd_pcm_access_mask_test +#undef snd_pcm_access_mask_empty +#undef snd_pcm_access_mask_set +#undef snd_pcm_access_mask_reset +#undef snd_pcm_format_mask_sizeof +#undef snd_pcm_format_mask_malloc +#undef snd_pcm_format_mask_free +#undef snd_pcm_format_mask_copy +#undef snd_pcm_format_mask_none +#undef snd_pcm_format_mask_any +#undef snd_pcm_format_mask_test +#undef snd_pcm_format_mask_empty +#undef snd_pcm_format_mask_set +#undef snd_pcm_format_mask_reset +#undef snd_pcm_subformat_mask_sizeof +#undef snd_pcm_subformat_mask_malloc +#undef snd_pcm_subformat_mask_free +#undef snd_pcm_subformat_mask_copy +#undef snd_pcm_subformat_mask_none +#undef snd_pcm_subformat_mask_any +#undef snd_pcm_subformat_mask_test +#undef snd_pcm_subformat_mask_empty +#undef snd_pcm_subformat_mask_set +#undef snd_pcm_subformat_mask_reset +#undef snd_pcm_status_sizeof +#undef snd_pcm_status_malloc +#undef snd_pcm_status_free +#undef snd_pcm_status_copy +#undef snd_pcm_status_get_state +#undef snd_pcm_status_get_trigger_tstamp +#undef snd_pcm_status_get_trigger_htstamp +#undef snd_pcm_status_get_tstamp +#undef snd_pcm_status_get_htstamp +#undef snd_pcm_status_get_audio_htstamp +#undef snd_pcm_status_get_driver_htstamp +#undef snd_pcm_status_get_delay +#undef snd_pcm_status_get_avail +#undef snd_pcm_status_get_avail_max +#undef snd_pcm_status_get_overrange +#undef snd_pcm_type_name +#undef snd_pcm_stream_name +#undef snd_pcm_access_name +#undef snd_pcm_format_name +#undef snd_pcm_format_description +#undef snd_pcm_subformat_name +#undef snd_pcm_subformat_description +#undef snd_pcm_format_value +#undef snd_pcm_tstamp_mode_name +#undef snd_pcm_state_name +#undef snd_pcm_dump +#undef snd_pcm_dump_hw_setup +#undef snd_pcm_dump_sw_setup +#undef snd_pcm_dump_setup +#undef snd_pcm_hw_params_dump +#undef snd_pcm_sw_params_dump +#undef snd_pcm_status_dump +#undef snd_pcm_mmap_begin +#undef snd_pcm_mmap_commit +#undef snd_pcm_mmap_writei +#undef snd_pcm_mmap_readi +#undef snd_pcm_mmap_writen +#undef snd_pcm_mmap_readn +#undef snd_pcm_format_signed +#undef snd_pcm_format_unsigned +#undef snd_pcm_format_linear +#undef snd_pcm_format_float +#undef snd_pcm_format_little_endian +#undef snd_pcm_format_big_endian +#undef snd_pcm_format_cpu_endian +#undef snd_pcm_format_width +#undef snd_pcm_format_physical_width +#undef snd_pcm_build_linear_format +#undef snd_pcm_format_size +#undef snd_pcm_format_silence +#undef snd_pcm_format_silence_16 +#undef snd_pcm_format_silence_32 +#undef snd_pcm_format_silence_64 +#undef snd_pcm_format_set_silence +#undef snd_pcm_bytes_to_frames +#undef snd_pcm_frames_to_bytes +#undef snd_pcm_bytes_to_samples +#undef snd_pcm_samples_to_bytes +#undef snd_pcm_area_silence +#undef snd_pcm_areas_silence +#undef snd_pcm_area_copy +#undef snd_pcm_areas_copy +#undef snd_pcm_areas_copy_wrap +#undef snd_pcm_hook_get_pcm +#undef snd_pcm_hook_get_private +#undef snd_pcm_hook_set_private +#undef snd_pcm_hook_add +#undef snd_pcm_hook_remove +#undef snd_pcm_meter_get_bufsize +#undef snd_pcm_meter_get_channels +#undef snd_pcm_meter_get_rate +#undef snd_pcm_meter_get_now +#undef snd_pcm_meter_get_boundary +#undef snd_pcm_meter_add_scope +#undef snd_pcm_meter_search_scope +#undef snd_pcm_scope_malloc +#undef snd_pcm_scope_set_ops +#undef snd_pcm_scope_set_name +#undef snd_pcm_scope_get_name +#undef snd_pcm_scope_get_callback_private +#undef snd_pcm_scope_set_callback_private +#undef snd_pcm_scope_s16_open +#undef snd_pcm_scope_s16_get_channel_buffer +#undef snd_spcm_init +#undef snd_spcm_init_duplex +#undef snd_spcm_init_get_params +#undef snd_pcm_start_mode_name +#undef snd_pcm_xrun_mode_name +#undef snd_pcm_sw_params_set_start_mode +#undef snd_pcm_sw_params_get_start_mode +#undef snd_pcm_sw_params_set_xrun_mode +#undef snd_pcm_sw_params_get_xrun_mode +#undef snd_pcm_sw_params_set_xfer_align +#undef snd_pcm_sw_params_get_xfer_align +#undef snd_pcm_sw_params_set_sleep_min +#undef snd_pcm_sw_params_get_sleep_min +#undef snd_pcm_hw_params_get_tick_time +#undef snd_pcm_hw_params_get_tick_time_min +#undef snd_pcm_hw_params_get_tick_time_max +#undef snd_pcm_hw_params_test_tick_time +#undef snd_pcm_hw_params_set_tick_time +#undef snd_pcm_hw_params_set_tick_time_min +#undef snd_pcm_hw_params_set_tick_time_max +#undef snd_pcm_hw_params_set_tick_time_minmax +#undef snd_pcm_hw_params_set_tick_time_near +#undef snd_pcm_hw_params_set_tick_time_first +#undef snd_pcm_hw_params_set_tick_time_last +#undef snd_rawmidi_open +#undef snd_rawmidi_open_lconf +#undef snd_rawmidi_close +#undef snd_rawmidi_poll_descriptors_count +#undef snd_rawmidi_poll_descriptors +#undef snd_rawmidi_poll_descriptors_revents +#undef snd_rawmidi_nonblock +#undef snd_rawmidi_info_sizeof +#undef snd_rawmidi_info_malloc +#undef snd_rawmidi_info_free +#undef snd_rawmidi_info_copy +#undef snd_rawmidi_info_get_device +#undef snd_rawmidi_info_get_subdevice +#undef snd_rawmidi_info_get_stream +#undef snd_rawmidi_info_get_card +#undef snd_rawmidi_info_get_flags +#undef snd_rawmidi_info_get_id +#undef snd_rawmidi_info_get_name +#undef snd_rawmidi_info_get_subdevice_name +#undef snd_rawmidi_info_get_subdevices_count +#undef snd_rawmidi_info_get_subdevices_avail +#undef snd_rawmidi_info_set_device +#undef snd_rawmidi_info_set_subdevice +#undef snd_rawmidi_info_set_stream +#undef snd_rawmidi_info +#undef snd_rawmidi_params_sizeof +#undef snd_rawmidi_params_malloc +#undef snd_rawmidi_params_free +#undef snd_rawmidi_params_copy +#undef snd_rawmidi_params_set_buffer_size +#undef snd_rawmidi_params_get_buffer_size +#undef snd_rawmidi_params_set_avail_min +#undef snd_rawmidi_params_get_avail_min +#undef snd_rawmidi_params_set_no_active_sensing +#undef snd_rawmidi_params_get_no_active_sensing +#undef snd_rawmidi_params +#undef snd_rawmidi_params_current +#undef snd_rawmidi_status_sizeof +#undef snd_rawmidi_status_malloc +#undef snd_rawmidi_status_free +#undef snd_rawmidi_status_copy +#undef snd_rawmidi_status_get_tstamp +#undef snd_rawmidi_status_get_avail +#undef snd_rawmidi_status_get_xruns +#undef snd_rawmidi_status +#undef snd_rawmidi_drain +#undef snd_rawmidi_drop +#undef snd_rawmidi_write +#undef snd_rawmidi_read +#undef snd_rawmidi_name +#undef snd_rawmidi_type +#undef snd_rawmidi_stream +#undef snd_timer_query_open +#undef snd_timer_query_open_lconf +#undef snd_timer_query_close +#undef snd_timer_query_next_device +#undef snd_timer_query_info +#undef snd_timer_query_params +#undef snd_timer_query_status +#undef snd_timer_open +#undef snd_timer_open_lconf +#undef snd_timer_close +#undef snd_async_add_timer_handler +#undef snd_async_handler_get_timer +#undef snd_timer_poll_descriptors_count +#undef snd_timer_poll_descriptors +#undef snd_timer_poll_descriptors_revents +#undef snd_timer_info +#undef snd_timer_params +#undef snd_timer_status +#undef snd_timer_start +#undef snd_timer_stop +#undef snd_timer_continue +#undef snd_timer_read +#undef snd_timer_id_sizeof +#undef snd_timer_id_malloc +#undef snd_timer_id_free +#undef snd_timer_id_copy +#undef snd_timer_id_set_class +#undef snd_timer_id_get_class +#undef snd_timer_id_set_sclass +#undef snd_timer_id_get_sclass +#undef snd_timer_id_set_card +#undef snd_timer_id_get_card +#undef snd_timer_id_set_device +#undef snd_timer_id_get_device +#undef snd_timer_id_set_subdevice +#undef snd_timer_id_get_subdevice +#undef snd_timer_ginfo_sizeof +#undef snd_timer_ginfo_malloc +#undef snd_timer_ginfo_free +#undef snd_timer_ginfo_copy +#undef snd_timer_ginfo_set_tid +#undef snd_timer_ginfo_get_tid +#undef snd_timer_ginfo_get_flags +#undef snd_timer_ginfo_get_card +#undef snd_timer_ginfo_get_id +#undef snd_timer_ginfo_get_name +#undef snd_timer_ginfo_get_resolution +#undef snd_timer_ginfo_get_resolution_min +#undef snd_timer_ginfo_get_resolution_max +#undef snd_timer_ginfo_get_clients +#undef snd_timer_info_sizeof +#undef snd_timer_info_malloc +#undef snd_timer_info_free +#undef snd_timer_info_copy +#undef snd_timer_info_is_slave +#undef snd_timer_info_get_card +#undef snd_timer_info_get_id +#undef snd_timer_info_get_name +#undef snd_timer_info_get_resolution +#undef snd_timer_params_sizeof +#undef snd_timer_params_malloc +#undef snd_timer_params_free +#undef snd_timer_params_copy +#undef snd_timer_params_set_auto_start +#undef snd_timer_params_get_auto_start +#undef snd_timer_params_set_exclusive +#undef snd_timer_params_get_exclusive +#undef snd_timer_params_set_early_event +#undef snd_timer_params_get_early_event +#undef snd_timer_params_set_ticks +#undef snd_timer_params_get_ticks +#undef snd_timer_params_set_queue_size +#undef snd_timer_params_get_queue_size +#undef snd_timer_params_set_filter +#undef snd_timer_params_get_filter +#undef snd_timer_status_sizeof +#undef snd_timer_status_malloc +#undef snd_timer_status_free +#undef snd_timer_status_copy +#undef snd_timer_status_get_timestamp +#undef snd_timer_status_get_resolution +#undef snd_timer_status_get_lost +#undef snd_timer_status_get_overrun +#undef snd_timer_status_get_queue +#undef snd_timer_info_get_ticks +#undef snd_hwdep_open +#undef snd_hwdep_close +#undef snd_hwdep_poll_descriptors +#undef snd_hwdep_poll_descriptors_count +#undef snd_hwdep_poll_descriptors_revents +#undef snd_hwdep_nonblock +#undef snd_hwdep_info +#undef snd_hwdep_dsp_status +#undef snd_hwdep_dsp_load +#undef snd_hwdep_ioctl +#undef snd_hwdep_write +#undef snd_hwdep_read +#undef snd_hwdep_info_sizeof +#undef snd_hwdep_info_malloc +#undef snd_hwdep_info_free +#undef snd_hwdep_info_copy +#undef snd_hwdep_info_get_device +#undef snd_hwdep_info_get_card +#undef snd_hwdep_info_get_id +#undef snd_hwdep_info_get_name +#undef snd_hwdep_info_get_iface +#undef snd_hwdep_info_set_device +#undef snd_hwdep_dsp_status_sizeof +#undef snd_hwdep_dsp_status_malloc +#undef snd_hwdep_dsp_status_free +#undef snd_hwdep_dsp_status_copy +#undef snd_hwdep_dsp_status_get_version +#undef snd_hwdep_dsp_status_get_id +#undef snd_hwdep_dsp_status_get_num_dsps +#undef snd_hwdep_dsp_status_get_dsp_loaded +#undef snd_hwdep_dsp_status_get_chip_ready +#undef snd_hwdep_dsp_image_sizeof +#undef snd_hwdep_dsp_image_malloc +#undef snd_hwdep_dsp_image_free +#undef snd_hwdep_dsp_image_copy +#undef snd_hwdep_dsp_image_get_index +#undef snd_hwdep_dsp_image_get_name +#undef snd_hwdep_dsp_image_get_image +#undef snd_hwdep_dsp_image_get_length +#undef snd_hwdep_dsp_image_set_index +#undef snd_hwdep_dsp_image_set_name +#undef snd_hwdep_dsp_image_set_image +#undef snd_hwdep_dsp_image_set_length +#undef snd_card_load +#undef snd_card_next +#undef snd_card_get_index +#undef snd_card_get_name +#undef snd_card_get_longname +#undef snd_device_name_hint +#undef snd_device_name_free_hint +#undef snd_device_name_get_hint +#undef snd_ctl_open +#undef snd_ctl_open_lconf +#undef snd_ctl_open_fallback +#undef snd_ctl_close +#undef snd_ctl_nonblock +#undef snd_async_add_ctl_handler +#undef snd_async_handler_get_ctl +#undef snd_ctl_poll_descriptors_count +#undef snd_ctl_poll_descriptors +#undef snd_ctl_poll_descriptors_revents +#undef snd_ctl_subscribe_events +#undef snd_ctl_card_info +#undef snd_ctl_elem_list +#undef snd_ctl_elem_info +#undef snd_ctl_elem_read +#undef snd_ctl_elem_write +#undef snd_ctl_elem_lock +#undef snd_ctl_elem_unlock +#undef snd_ctl_elem_tlv_read +#undef snd_ctl_elem_tlv_write +#undef snd_ctl_elem_tlv_command +#undef snd_ctl_hwdep_next_device +#undef snd_ctl_hwdep_info +#undef snd_ctl_pcm_next_device +#undef snd_ctl_pcm_info +#undef snd_ctl_pcm_prefer_subdevice +#undef snd_ctl_rawmidi_next_device +#undef snd_ctl_rawmidi_info +#undef snd_ctl_rawmidi_prefer_subdevice +#undef snd_ctl_set_power_state +#undef snd_ctl_get_power_state +#undef snd_ctl_read +#undef snd_ctl_wait +#undef snd_ctl_name +#undef snd_ctl_type +#undef snd_ctl_elem_type_name +#undef snd_ctl_elem_iface_name +#undef snd_ctl_event_type_name +#undef snd_ctl_event_elem_get_mask +#undef snd_ctl_event_elem_get_numid +#undef snd_ctl_event_elem_get_id +#undef snd_ctl_event_elem_get_interface +#undef snd_ctl_event_elem_get_device +#undef snd_ctl_event_elem_get_subdevice +#undef snd_ctl_event_elem_get_name +#undef snd_ctl_event_elem_get_index +#undef snd_ctl_elem_list_alloc_space +#undef snd_ctl_elem_list_free_space +#undef snd_ctl_ascii_elem_id_get +#undef snd_ctl_ascii_elem_id_parse +#undef snd_ctl_ascii_value_parse +#undef snd_ctl_elem_id_sizeof +#undef snd_ctl_elem_id_malloc +#undef snd_ctl_elem_id_free +#undef snd_ctl_elem_id_clear +#undef snd_ctl_elem_id_copy +#undef snd_ctl_elem_id_get_numid +#undef snd_ctl_elem_id_get_interface +#undef snd_ctl_elem_id_get_device +#undef snd_ctl_elem_id_get_subdevice +#undef snd_ctl_elem_id_get_name +#undef snd_ctl_elem_id_get_index +#undef snd_ctl_elem_id_set_numid +#undef snd_ctl_elem_id_set_interface +#undef snd_ctl_elem_id_set_device +#undef snd_ctl_elem_id_set_subdevice +#undef snd_ctl_elem_id_set_name +#undef snd_ctl_elem_id_set_index +#undef snd_ctl_card_info_sizeof +#undef snd_ctl_card_info_malloc +#undef snd_ctl_card_info_free +#undef snd_ctl_card_info_clear +#undef snd_ctl_card_info_copy +#undef snd_ctl_card_info_get_card +#undef snd_ctl_card_info_get_id +#undef snd_ctl_card_info_get_driver +#undef snd_ctl_card_info_get_name +#undef snd_ctl_card_info_get_longname +#undef snd_ctl_card_info_get_mixername +#undef snd_ctl_card_info_get_components +#undef snd_ctl_event_sizeof +#undef snd_ctl_event_malloc +#undef snd_ctl_event_free +#undef snd_ctl_event_clear +#undef snd_ctl_event_copy +#undef snd_ctl_event_get_type +#undef snd_ctl_elem_list_sizeof +#undef snd_ctl_elem_list_malloc +#undef snd_ctl_elem_list_free +#undef snd_ctl_elem_list_clear +#undef snd_ctl_elem_list_copy +#undef snd_ctl_elem_list_set_offset +#undef snd_ctl_elem_list_get_used +#undef snd_ctl_elem_list_get_count +#undef snd_ctl_elem_list_get_id +#undef snd_ctl_elem_list_get_numid +#undef snd_ctl_elem_list_get_interface +#undef snd_ctl_elem_list_get_device +#undef snd_ctl_elem_list_get_subdevice +#undef snd_ctl_elem_list_get_name +#undef snd_ctl_elem_list_get_index +#undef snd_ctl_elem_info_sizeof +#undef snd_ctl_elem_info_malloc +#undef snd_ctl_elem_info_free +#undef snd_ctl_elem_info_clear +#undef snd_ctl_elem_info_copy +#undef snd_ctl_elem_info_get_type +#undef snd_ctl_elem_info_is_readable +#undef snd_ctl_elem_info_is_writable +#undef snd_ctl_elem_info_is_volatile +#undef snd_ctl_elem_info_is_inactive +#undef snd_ctl_elem_info_is_locked +#undef snd_ctl_elem_info_is_tlv_readable +#undef snd_ctl_elem_info_is_tlv_writable +#undef snd_ctl_elem_info_is_tlv_commandable +#undef snd_ctl_elem_info_is_owner +#undef snd_ctl_elem_info_is_user +#undef snd_ctl_elem_info_get_owner +#undef snd_ctl_elem_info_get_count +#undef snd_ctl_elem_info_get_min +#undef snd_ctl_elem_info_get_max +#undef snd_ctl_elem_info_get_step +#undef snd_ctl_elem_info_get_min64 +#undef snd_ctl_elem_info_get_max64 +#undef snd_ctl_elem_info_get_step64 +#undef snd_ctl_elem_info_get_items +#undef snd_ctl_elem_info_set_item +#undef snd_ctl_elem_info_get_item_name +#undef snd_ctl_elem_info_get_dimensions +#undef snd_ctl_elem_info_get_dimension +#undef snd_ctl_elem_info_set_dimension +#undef snd_ctl_elem_info_get_id +#undef snd_ctl_elem_info_get_numid +#undef snd_ctl_elem_info_get_interface +#undef snd_ctl_elem_info_get_device +#undef snd_ctl_elem_info_get_subdevice +#undef snd_ctl_elem_info_get_name +#undef snd_ctl_elem_info_get_index +#undef snd_ctl_elem_info_set_id +#undef snd_ctl_elem_info_set_numid +#undef snd_ctl_elem_info_set_interface +#undef snd_ctl_elem_info_set_device +#undef snd_ctl_elem_info_set_subdevice +#undef snd_ctl_elem_info_set_name +#undef snd_ctl_elem_info_set_index +#undef snd_ctl_add_integer_elem_set +#undef snd_ctl_add_integer64_elem_set +#undef snd_ctl_add_boolean_elem_set +#undef snd_ctl_add_enumerated_elem_set +#undef snd_ctl_add_bytes_elem_set +#undef snd_ctl_elem_add_integer +#undef snd_ctl_elem_add_integer64 +#undef snd_ctl_elem_add_boolean +#undef snd_ctl_elem_add_enumerated +#undef snd_ctl_elem_add_iec958 +#undef snd_ctl_elem_remove +#undef snd_ctl_elem_value_sizeof +#undef snd_ctl_elem_value_malloc +#undef snd_ctl_elem_value_free +#undef snd_ctl_elem_value_clear +#undef snd_ctl_elem_value_copy +#undef snd_ctl_elem_value_compare +#undef snd_ctl_elem_value_get_id +#undef snd_ctl_elem_value_get_numid +#undef snd_ctl_elem_value_get_interface +#undef snd_ctl_elem_value_get_device +#undef snd_ctl_elem_value_get_subdevice +#undef snd_ctl_elem_value_get_name +#undef snd_ctl_elem_value_get_index +#undef snd_ctl_elem_value_set_id +#undef snd_ctl_elem_value_set_numid +#undef snd_ctl_elem_value_set_interface +#undef snd_ctl_elem_value_set_device +#undef snd_ctl_elem_value_set_subdevice +#undef snd_ctl_elem_value_set_name +#undef snd_ctl_elem_value_set_index +#undef snd_ctl_elem_value_get_boolean +#undef snd_ctl_elem_value_get_integer +#undef snd_ctl_elem_value_get_integer64 +#undef snd_ctl_elem_value_get_enumerated +#undef snd_ctl_elem_value_get_byte +#undef snd_ctl_elem_value_set_boolean +#undef snd_ctl_elem_value_set_integer +#undef snd_ctl_elem_value_set_integer64 +#undef snd_ctl_elem_value_set_enumerated +#undef snd_ctl_elem_value_set_byte +#undef snd_ctl_elem_set_bytes +#undef snd_ctl_elem_value_get_bytes +#undef snd_ctl_elem_value_get_iec958 +#undef snd_ctl_elem_value_set_iec958 +#undef snd_tlv_parse_dB_info +#undef snd_tlv_get_dB_range +#undef snd_tlv_convert_to_dB +#undef snd_tlv_convert_from_dB +#undef snd_ctl_get_dB_range +#undef snd_ctl_convert_to_dB +#undef snd_ctl_convert_from_dB +#undef snd_hctl_compare_fast +#undef snd_hctl_open +#undef snd_hctl_open_ctl +#undef snd_hctl_close +#undef snd_hctl_nonblock +#undef snd_hctl_poll_descriptors_count +#undef snd_hctl_poll_descriptors +#undef snd_hctl_poll_descriptors_revents +#undef snd_hctl_get_count +#undef snd_hctl_set_compare +#undef snd_hctl_first_elem +#undef snd_hctl_last_elem +#undef snd_hctl_find_elem +#undef snd_hctl_set_callback +#undef snd_hctl_set_callback_private +#undef snd_hctl_get_callback_private +#undef snd_hctl_load +#undef snd_hctl_free +#undef snd_hctl_handle_events +#undef snd_hctl_name +#undef snd_hctl_wait +#undef snd_hctl_ctl +#undef snd_hctl_elem_next +#undef snd_hctl_elem_prev +#undef snd_hctl_elem_info +#undef snd_hctl_elem_read +#undef snd_hctl_elem_write +#undef snd_hctl_elem_tlv_read +#undef snd_hctl_elem_tlv_write +#undef snd_hctl_elem_tlv_command +#undef snd_hctl_elem_get_hctl +#undef snd_hctl_elem_get_id +#undef snd_hctl_elem_get_numid +#undef snd_hctl_elem_get_interface +#undef snd_hctl_elem_get_device +#undef snd_hctl_elem_get_subdevice +#undef snd_hctl_elem_get_name +#undef snd_hctl_elem_get_index +#undef snd_hctl_elem_set_callback +#undef snd_hctl_elem_get_callback_private +#undef snd_hctl_elem_set_callback_private +#undef snd_sctl_build +#undef snd_sctl_free +#undef snd_sctl_install +#undef snd_sctl_remove +#undef snd_mixer_open +#undef snd_mixer_close +#undef snd_mixer_first_elem +#undef snd_mixer_last_elem +#undef snd_mixer_handle_events +#undef snd_mixer_attach +#undef snd_mixer_attach_hctl +#undef snd_mixer_detach +#undef snd_mixer_detach_hctl +#undef snd_mixer_get_hctl +#undef snd_mixer_poll_descriptors_count +#undef snd_mixer_poll_descriptors +#undef snd_mixer_poll_descriptors_revents +#undef snd_mixer_load +#undef snd_mixer_free +#undef snd_mixer_wait +#undef snd_mixer_set_compare +#undef snd_mixer_set_callback +#undef snd_mixer_get_callback_private +#undef snd_mixer_set_callback_private +#undef snd_mixer_get_count +#undef snd_mixer_class_unregister +#undef snd_mixer_elem_next +#undef snd_mixer_elem_prev +#undef snd_mixer_elem_set_callback +#undef snd_mixer_elem_get_callback_private +#undef snd_mixer_elem_set_callback_private +#undef snd_mixer_elem_get_type +#undef snd_mixer_class_register +#undef snd_mixer_elem_new +#undef snd_mixer_elem_add +#undef snd_mixer_elem_remove +#undef snd_mixer_elem_free +#undef snd_mixer_elem_info +#undef snd_mixer_elem_value +#undef snd_mixer_elem_attach +#undef snd_mixer_elem_detach +#undef snd_mixer_elem_empty +#undef snd_mixer_elem_get_private +#undef snd_mixer_class_sizeof +#undef snd_mixer_class_malloc +#undef snd_mixer_class_free +#undef snd_mixer_class_copy +#undef snd_mixer_class_get_mixer +#undef snd_mixer_class_get_event +#undef snd_mixer_class_get_private +#undef snd_mixer_class_get_compare +#undef snd_mixer_class_set_event +#undef snd_mixer_class_set_private +#undef snd_mixer_class_set_private_free +#undef snd_mixer_class_set_compare +#undef snd_mixer_selem_channel_name +#undef snd_mixer_selem_register +#undef snd_mixer_selem_get_id +#undef snd_mixer_selem_get_name +#undef snd_mixer_selem_get_index +#undef snd_mixer_find_selem +#undef snd_mixer_selem_is_active +#undef snd_mixer_selem_is_playback_mono +#undef snd_mixer_selem_has_playback_channel +#undef snd_mixer_selem_is_capture_mono +#undef snd_mixer_selem_has_capture_channel +#undef snd_mixer_selem_get_capture_group +#undef snd_mixer_selem_has_common_volume +#undef snd_mixer_selem_has_playback_volume +#undef snd_mixer_selem_has_playback_volume_joined +#undef snd_mixer_selem_has_capture_volume +#undef snd_mixer_selem_has_capture_volume_joined +#undef snd_mixer_selem_has_common_switch +#undef snd_mixer_selem_has_playback_switch +#undef snd_mixer_selem_has_playback_switch_joined +#undef snd_mixer_selem_has_capture_switch +#undef snd_mixer_selem_has_capture_switch_joined +#undef snd_mixer_selem_has_capture_switch_exclusive +#undef snd_mixer_selem_ask_playback_vol_dB +#undef snd_mixer_selem_ask_capture_vol_dB +#undef snd_mixer_selem_ask_playback_dB_vol +#undef snd_mixer_selem_ask_capture_dB_vol +#undef snd_mixer_selem_get_playback_volume +#undef snd_mixer_selem_get_capture_volume +#undef snd_mixer_selem_get_playback_dB +#undef snd_mixer_selem_get_capture_dB +#undef snd_mixer_selem_get_playback_switch +#undef snd_mixer_selem_get_capture_switch +#undef snd_mixer_selem_set_playback_volume +#undef snd_mixer_selem_set_capture_volume +#undef snd_mixer_selem_set_playback_dB +#undef snd_mixer_selem_set_capture_dB +#undef snd_mixer_selem_set_playback_volume_all +#undef snd_mixer_selem_set_capture_volume_all +#undef snd_mixer_selem_set_playback_dB_all +#undef snd_mixer_selem_set_capture_dB_all +#undef snd_mixer_selem_set_playback_switch +#undef snd_mixer_selem_set_capture_switch +#undef snd_mixer_selem_set_playback_switch_all +#undef snd_mixer_selem_set_capture_switch_all +#undef snd_mixer_selem_get_playback_volume_range +#undef snd_mixer_selem_get_playback_dB_range +#undef snd_mixer_selem_set_playback_volume_range +#undef snd_mixer_selem_get_capture_volume_range +#undef snd_mixer_selem_get_capture_dB_range +#undef snd_mixer_selem_set_capture_volume_range +#undef snd_mixer_selem_is_enumerated +#undef snd_mixer_selem_is_enum_playback +#undef snd_mixer_selem_is_enum_capture +#undef snd_mixer_selem_get_enum_items +#undef snd_mixer_selem_get_enum_item_name +#undef snd_mixer_selem_get_enum_item +#undef snd_mixer_selem_set_enum_item +#undef snd_mixer_selem_id_sizeof +#undef snd_mixer_selem_id_malloc +#undef snd_mixer_selem_id_free +#undef snd_mixer_selem_id_copy +#undef snd_mixer_selem_id_get_name +#undef snd_mixer_selem_id_get_index +#undef snd_mixer_selem_id_set_name +#undef snd_mixer_selem_id_set_index +#undef snd_mixer_selem_id_parse +#undef snd_seq_open +#undef snd_seq_open_lconf +#undef snd_seq_name +#undef snd_seq_type +#undef snd_seq_close +#undef snd_seq_poll_descriptors_count +#undef snd_seq_poll_descriptors +#undef snd_seq_poll_descriptors_revents +#undef snd_seq_nonblock +#undef snd_seq_client_id +#undef snd_seq_get_output_buffer_size +#undef snd_seq_get_input_buffer_size +#undef snd_seq_set_output_buffer_size +#undef snd_seq_set_input_buffer_size +#undef snd_seq_system_info_sizeof +#undef snd_seq_system_info_malloc +#undef snd_seq_system_info_free +#undef snd_seq_system_info_copy +#undef snd_seq_system_info_get_queues +#undef snd_seq_system_info_get_clients +#undef snd_seq_system_info_get_ports +#undef snd_seq_system_info_get_channels +#undef snd_seq_system_info_get_cur_clients +#undef snd_seq_system_info_get_cur_queues +#undef snd_seq_system_info +#undef snd_seq_client_info_sizeof +#undef snd_seq_client_info_malloc +#undef snd_seq_client_info_free +#undef snd_seq_client_info_copy +#undef snd_seq_client_info_get_client +#undef snd_seq_client_info_get_type +#undef snd_seq_client_info_get_name +#undef snd_seq_client_info_get_broadcast_filter +#undef snd_seq_client_info_get_error_bounce +#undef snd_seq_client_info_get_card +#undef snd_seq_client_info_get_pid +#undef snd_seq_client_info_get_event_filter +#undef snd_seq_client_info_get_num_ports +#undef snd_seq_client_info_get_event_lost +#undef snd_seq_client_info_set_client +#undef snd_seq_client_info_set_name +#undef snd_seq_client_info_set_broadcast_filter +#undef snd_seq_client_info_set_error_bounce +#undef snd_seq_client_info_set_event_filter +#undef snd_seq_client_info_event_filter_clear +#undef snd_seq_client_info_event_filter_add +#undef snd_seq_client_info_event_filter_del +#undef snd_seq_client_info_event_filter_check +#undef snd_seq_get_client_info +#undef snd_seq_get_any_client_info +#undef snd_seq_set_client_info +#undef snd_seq_query_next_client +#undef snd_seq_client_pool_sizeof +#undef snd_seq_client_pool_malloc +#undef snd_seq_client_pool_free +#undef snd_seq_client_pool_copy +#undef snd_seq_client_pool_get_client +#undef snd_seq_client_pool_get_output_pool +#undef snd_seq_client_pool_get_input_pool +#undef snd_seq_client_pool_get_output_room +#undef snd_seq_client_pool_get_output_free +#undef snd_seq_client_pool_get_input_free +#undef snd_seq_client_pool_set_output_pool +#undef snd_seq_client_pool_set_input_pool +#undef snd_seq_client_pool_set_output_room +#undef snd_seq_get_client_pool +#undef snd_seq_set_client_pool +#undef snd_seq_port_info_sizeof +#undef snd_seq_port_info_malloc +#undef snd_seq_port_info_free +#undef snd_seq_port_info_copy +#undef snd_seq_port_info_get_client +#undef snd_seq_port_info_get_port +#undef snd_seq_port_info_get_addr +#undef snd_seq_port_info_get_name +#undef snd_seq_port_info_get_capability +#undef snd_seq_port_info_get_type +#undef snd_seq_port_info_get_midi_channels +#undef snd_seq_port_info_get_midi_voices +#undef snd_seq_port_info_get_synth_voices +#undef snd_seq_port_info_get_read_use +#undef snd_seq_port_info_get_write_use +#undef snd_seq_port_info_get_port_specified +#undef snd_seq_port_info_get_timestamping +#undef snd_seq_port_info_get_timestamp_real +#undef snd_seq_port_info_get_timestamp_queue +#undef snd_seq_port_info_set_client +#undef snd_seq_port_info_set_port +#undef snd_seq_port_info_set_addr +#undef snd_seq_port_info_set_name +#undef snd_seq_port_info_set_capability +#undef snd_seq_port_info_set_type +#undef snd_seq_port_info_set_midi_channels +#undef snd_seq_port_info_set_midi_voices +#undef snd_seq_port_info_set_synth_voices +#undef snd_seq_port_info_set_port_specified +#undef snd_seq_port_info_set_timestamping +#undef snd_seq_port_info_set_timestamp_real +#undef snd_seq_port_info_set_timestamp_queue +#undef snd_seq_create_port +#undef snd_seq_delete_port +#undef snd_seq_get_port_info +#undef snd_seq_get_any_port_info +#undef snd_seq_set_port_info +#undef snd_seq_query_next_port +#undef snd_seq_port_subscribe_sizeof +#undef snd_seq_port_subscribe_malloc +#undef snd_seq_port_subscribe_free +#undef snd_seq_port_subscribe_copy +#undef snd_seq_port_subscribe_get_sender +#undef snd_seq_port_subscribe_get_dest +#undef snd_seq_port_subscribe_get_queue +#undef snd_seq_port_subscribe_get_exclusive +#undef snd_seq_port_subscribe_get_time_update +#undef snd_seq_port_subscribe_get_time_real +#undef snd_seq_port_subscribe_set_sender +#undef snd_seq_port_subscribe_set_dest +#undef snd_seq_port_subscribe_set_queue +#undef snd_seq_port_subscribe_set_exclusive +#undef snd_seq_port_subscribe_set_time_update +#undef snd_seq_port_subscribe_set_time_real +#undef snd_seq_get_port_subscription +#undef snd_seq_subscribe_port +#undef snd_seq_unsubscribe_port +#undef snd_seq_query_subscribe_sizeof +#undef snd_seq_query_subscribe_malloc +#undef snd_seq_query_subscribe_free +#undef snd_seq_query_subscribe_copy +#undef snd_seq_query_subscribe_get_client +#undef snd_seq_query_subscribe_get_port +#undef snd_seq_query_subscribe_get_root +#undef snd_seq_query_subscribe_get_type +#undef snd_seq_query_subscribe_get_index +#undef snd_seq_query_subscribe_get_num_subs +#undef snd_seq_query_subscribe_get_addr +#undef snd_seq_query_subscribe_get_queue +#undef snd_seq_query_subscribe_get_exclusive +#undef snd_seq_query_subscribe_get_time_update +#undef snd_seq_query_subscribe_get_time_real +#undef snd_seq_query_subscribe_set_client +#undef snd_seq_query_subscribe_set_port +#undef snd_seq_query_subscribe_set_root +#undef snd_seq_query_subscribe_set_type +#undef snd_seq_query_subscribe_set_index +#undef snd_seq_query_port_subscribers +#undef snd_seq_queue_info_sizeof +#undef snd_seq_queue_info_malloc +#undef snd_seq_queue_info_free +#undef snd_seq_queue_info_copy +#undef snd_seq_queue_info_get_queue +#undef snd_seq_queue_info_get_name +#undef snd_seq_queue_info_get_owner +#undef snd_seq_queue_info_get_locked +#undef snd_seq_queue_info_get_flags +#undef snd_seq_queue_info_set_name +#undef snd_seq_queue_info_set_owner +#undef snd_seq_queue_info_set_locked +#undef snd_seq_queue_info_set_flags +#undef snd_seq_create_queue +#undef snd_seq_alloc_named_queue +#undef snd_seq_alloc_queue +#undef snd_seq_free_queue +#undef snd_seq_get_queue_info +#undef snd_seq_set_queue_info +#undef snd_seq_query_named_queue +#undef snd_seq_get_queue_usage +#undef snd_seq_set_queue_usage +#undef snd_seq_queue_status_sizeof +#undef snd_seq_queue_status_malloc +#undef snd_seq_queue_status_free +#undef snd_seq_queue_status_copy +#undef snd_seq_queue_status_get_queue +#undef snd_seq_queue_status_get_events +#undef snd_seq_queue_status_get_tick_time +#undef snd_seq_queue_status_get_real_time +#undef snd_seq_queue_status_get_status +#undef snd_seq_get_queue_status +#undef snd_seq_queue_tempo_sizeof +#undef snd_seq_queue_tempo_malloc +#undef snd_seq_queue_tempo_free +#undef snd_seq_queue_tempo_copy +#undef snd_seq_queue_tempo_get_queue +#undef snd_seq_queue_tempo_get_tempo +#undef snd_seq_queue_tempo_get_ppq +#undef snd_seq_queue_tempo_get_skew +#undef snd_seq_queue_tempo_get_skew_base +#undef snd_seq_queue_tempo_set_tempo +#undef snd_seq_queue_tempo_set_ppq +#undef snd_seq_queue_tempo_set_skew +#undef snd_seq_queue_tempo_set_skew_base +#undef snd_seq_get_queue_tempo +#undef snd_seq_set_queue_tempo +#undef snd_seq_queue_timer_sizeof +#undef snd_seq_queue_timer_malloc +#undef snd_seq_queue_timer_free +#undef snd_seq_queue_timer_copy +#undef snd_seq_queue_timer_get_queue +#undef snd_seq_queue_timer_get_type +#undef snd_seq_queue_timer_get_id +#undef snd_seq_queue_timer_get_resolution +#undef snd_seq_queue_timer_set_type +#undef snd_seq_queue_timer_set_id +#undef snd_seq_queue_timer_set_resolution +#undef snd_seq_get_queue_timer +#undef snd_seq_set_queue_timer +#undef snd_seq_free_event +#undef snd_seq_event_length +#undef snd_seq_event_output +#undef snd_seq_event_output_buffer +#undef snd_seq_event_output_direct +#undef snd_seq_event_input +#undef snd_seq_event_input_pending +#undef snd_seq_drain_output +#undef snd_seq_event_output_pending +#undef snd_seq_extract_output +#undef snd_seq_drop_output +#undef snd_seq_drop_output_buffer +#undef snd_seq_drop_input +#undef snd_seq_drop_input_buffer +#undef snd_seq_remove_events_sizeof +#undef snd_seq_remove_events_malloc +#undef snd_seq_remove_events_free +#undef snd_seq_remove_events_copy +#undef snd_seq_remove_events_get_condition +#undef snd_seq_remove_events_get_queue +#undef snd_seq_remove_events_get_time +#undef snd_seq_remove_events_get_dest +#undef snd_seq_remove_events_get_channel +#undef snd_seq_remove_events_get_event_type +#undef snd_seq_remove_events_get_tag +#undef snd_seq_remove_events_set_condition +#undef snd_seq_remove_events_set_queue +#undef snd_seq_remove_events_set_time +#undef snd_seq_remove_events_set_dest +#undef snd_seq_remove_events_set_channel +#undef snd_seq_remove_events_set_event_type +#undef snd_seq_remove_events_set_tag +#undef snd_seq_remove_events +#undef snd_seq_set_bit +#undef snd_seq_unset_bit +#undef snd_seq_change_bit +#undef snd_seq_get_bit +#undef snd_seq_control_queue +#undef snd_seq_create_simple_port +#undef snd_seq_delete_simple_port +#undef snd_seq_connect_from +#undef snd_seq_connect_to +#undef snd_seq_disconnect_from +#undef snd_seq_disconnect_to +#undef snd_seq_set_client_name +#undef snd_seq_set_client_event_filter +#undef snd_seq_set_client_pool_output +#undef snd_seq_set_client_pool_output_room +#undef snd_seq_set_client_pool_input +#undef snd_seq_sync_output_queue +#undef snd_seq_parse_address +#undef snd_seq_reset_pool_output +#undef snd_seq_reset_pool_input +#undef snd_midi_event_new +#undef snd_midi_event_resize_buffer +#undef snd_midi_event_free +#undef snd_midi_event_init +#undef snd_midi_event_reset_encode +#undef snd_midi_event_reset_decode +#undef snd_midi_event_no_status +#undef snd_midi_event_encode +#undef snd_midi_event_encode_byte +#undef snd_midi_event_decode +#include <dlfcn.h> +#include <stdio.h> +const char* (*snd_asoundlib_version_dylibloader_wrapper_asound)( void); +int (*snd_dlpath_dylibloader_wrapper_asound)( char*, size_t,const char*); +void* (*snd_dlopen_dylibloader_wrapper_asound)(const char*, int, char*, size_t); +void* (*snd_dlsym_dylibloader_wrapper_asound)( void*,const char*,const char*); +int (*snd_dlclose_dylibloader_wrapper_asound)( void*); +int (*snd_async_add_handler_dylibloader_wrapper_asound)( snd_async_handler_t**, int, snd_async_callback_t, void*); +int (*snd_async_del_handler_dylibloader_wrapper_asound)( snd_async_handler_t*); +int (*snd_async_handler_get_fd_dylibloader_wrapper_asound)( snd_async_handler_t*); +int (*snd_async_handler_get_signo_dylibloader_wrapper_asound)( snd_async_handler_t*); +void* (*snd_async_handler_get_callback_private_dylibloader_wrapper_asound)( snd_async_handler_t*); +struct snd_shm_area* (*snd_shm_area_create_dylibloader_wrapper_asound)( int, void*); +struct snd_shm_area* (*snd_shm_area_share_dylibloader_wrapper_asound)(struct snd_shm_area*); +int (*snd_shm_area_destroy_dylibloader_wrapper_asound)(struct snd_shm_area*); +int (*snd_user_file_dylibloader_wrapper_asound)(const char*, char**); +int (*snd_input_stdio_open_dylibloader_wrapper_asound)( snd_input_t**,const char*,const char*); +int (*snd_input_stdio_attach_dylibloader_wrapper_asound)( snd_input_t**, FILE*, int); +int (*snd_input_buffer_open_dylibloader_wrapper_asound)( snd_input_t**,const char*, ssize_t); +int (*snd_input_close_dylibloader_wrapper_asound)( snd_input_t*); +int (*snd_input_scanf_dylibloader_wrapper_asound)( snd_input_t*,const char*,...); +char* (*snd_input_gets_dylibloader_wrapper_asound)( snd_input_t*, char*, size_t); +int (*snd_input_getc_dylibloader_wrapper_asound)( snd_input_t*); +int (*snd_input_ungetc_dylibloader_wrapper_asound)( snd_input_t*, int); +int (*snd_output_stdio_open_dylibloader_wrapper_asound)( snd_output_t**,const char*,const char*); +int (*snd_output_stdio_attach_dylibloader_wrapper_asound)( snd_output_t**, FILE*, int); +int (*snd_output_buffer_open_dylibloader_wrapper_asound)( snd_output_t**); +size_t (*snd_output_buffer_string_dylibloader_wrapper_asound)( snd_output_t*, char**); +int (*snd_output_close_dylibloader_wrapper_asound)( snd_output_t*); +int (*snd_output_printf_dylibloader_wrapper_asound)( snd_output_t*,const char*,...); +int (*snd_output_vprintf_dylibloader_wrapper_asound)( snd_output_t*,const char*, va_list); +int (*snd_output_puts_dylibloader_wrapper_asound)( snd_output_t*,const char*); +int (*snd_output_putc_dylibloader_wrapper_asound)( snd_output_t*, int); +int (*snd_output_flush_dylibloader_wrapper_asound)( snd_output_t*); +const char* (*snd_strerror_dylibloader_wrapper_asound)( int); +int (*snd_lib_error_set_handler_dylibloader_wrapper_asound)( snd_lib_error_handler_t); +snd_local_error_handler_t (*snd_lib_error_set_local_dylibloader_wrapper_asound)( snd_local_error_handler_t); +const char* (*snd_config_topdir_dylibloader_wrapper_asound)( void); +int (*snd_config_top_dylibloader_wrapper_asound)( snd_config_t**); +int (*snd_config_load_dylibloader_wrapper_asound)( snd_config_t*, snd_input_t*); +int (*snd_config_load_override_dylibloader_wrapper_asound)( snd_config_t*, snd_input_t*); +int (*snd_config_save_dylibloader_wrapper_asound)( snd_config_t*, snd_output_t*); +int (*snd_config_update_dylibloader_wrapper_asound)( void); +int (*snd_config_update_r_dylibloader_wrapper_asound)( snd_config_t**, snd_config_update_t**,const char*); +int (*snd_config_update_free_dylibloader_wrapper_asound)( snd_config_update_t*); +int (*snd_config_update_free_global_dylibloader_wrapper_asound)( void); +int (*snd_config_update_ref_dylibloader_wrapper_asound)( snd_config_t**); +void (*snd_config_ref_dylibloader_wrapper_asound)( snd_config_t*); +void (*snd_config_unref_dylibloader_wrapper_asound)( snd_config_t*); +int (*snd_config_search_dylibloader_wrapper_asound)( snd_config_t*,const char*, snd_config_t**); +int (*snd_config_searchv_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t**,...); +int (*snd_config_search_definition_dylibloader_wrapper_asound)( snd_config_t*,const char*,const char*, snd_config_t**); +int (*snd_config_expand_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*,const char*, snd_config_t*, snd_config_t**); +int (*snd_config_evaluate_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*, snd_config_t*, snd_config_t**); +int (*snd_config_add_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*); +int (*snd_config_add_before_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*); +int (*snd_config_add_after_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*); +int (*snd_config_remove_dylibloader_wrapper_asound)( snd_config_t*); +int (*snd_config_delete_dylibloader_wrapper_asound)( snd_config_t*); +int (*snd_config_delete_compound_members_dylibloader_wrapper_asound)(const snd_config_t*); +int (*snd_config_copy_dylibloader_wrapper_asound)( snd_config_t**, snd_config_t*); +int (*snd_config_make_dylibloader_wrapper_asound)( snd_config_t**,const char*, snd_config_type_t); +int (*snd_config_make_integer_dylibloader_wrapper_asound)( snd_config_t**,const char*); +int (*snd_config_make_integer64_dylibloader_wrapper_asound)( snd_config_t**,const char*); +int (*snd_config_make_real_dylibloader_wrapper_asound)( snd_config_t**,const char*); +int (*snd_config_make_string_dylibloader_wrapper_asound)( snd_config_t**,const char*); +int (*snd_config_make_pointer_dylibloader_wrapper_asound)( snd_config_t**,const char*); +int (*snd_config_make_compound_dylibloader_wrapper_asound)( snd_config_t**,const char*, int); +int (*snd_config_imake_integer_dylibloader_wrapper_asound)( snd_config_t**,const char*,const long); +int (*snd_config_imake_integer64_dylibloader_wrapper_asound)( snd_config_t**,const char*,const long long); +int (*snd_config_imake_real_dylibloader_wrapper_asound)( snd_config_t**,const char*,const double); +int (*snd_config_imake_string_dylibloader_wrapper_asound)( snd_config_t**,const char*,const char*); +int (*snd_config_imake_safe_string_dylibloader_wrapper_asound)( snd_config_t**,const char*,const char*); +int (*snd_config_imake_pointer_dylibloader_wrapper_asound)( snd_config_t**,const char*,const void*); +snd_config_type_t (*snd_config_get_type_dylibloader_wrapper_asound)(const snd_config_t*); +int (*snd_config_is_array_dylibloader_wrapper_asound)(const snd_config_t*); +int (*snd_config_set_id_dylibloader_wrapper_asound)( snd_config_t*,const char*); +int (*snd_config_set_integer_dylibloader_wrapper_asound)( snd_config_t*, long); +int (*snd_config_set_integer64_dylibloader_wrapper_asound)( snd_config_t*, long long); +int (*snd_config_set_real_dylibloader_wrapper_asound)( snd_config_t*, double); +int (*snd_config_set_string_dylibloader_wrapper_asound)( snd_config_t*,const char*); +int (*snd_config_set_ascii_dylibloader_wrapper_asound)( snd_config_t*,const char*); +int (*snd_config_set_pointer_dylibloader_wrapper_asound)( snd_config_t*,const void*); +int (*snd_config_get_id_dylibloader_wrapper_asound)(const snd_config_t*,const char**); +int (*snd_config_get_integer_dylibloader_wrapper_asound)(const snd_config_t*, long*); +int (*snd_config_get_integer64_dylibloader_wrapper_asound)(const snd_config_t*, long long*); +int (*snd_config_get_real_dylibloader_wrapper_asound)(const snd_config_t*, double*); +int (*snd_config_get_ireal_dylibloader_wrapper_asound)(const snd_config_t*, double*); +int (*snd_config_get_string_dylibloader_wrapper_asound)(const snd_config_t*,const char**); +int (*snd_config_get_ascii_dylibloader_wrapper_asound)(const snd_config_t*, char**); +int (*snd_config_get_pointer_dylibloader_wrapper_asound)(const snd_config_t*,const void**); +int (*snd_config_test_id_dylibloader_wrapper_asound)(const snd_config_t*,const char*); +snd_config_iterator_t (*snd_config_iterator_first_dylibloader_wrapper_asound)(const snd_config_t*); +snd_config_iterator_t (*snd_config_iterator_next_dylibloader_wrapper_asound)(const snd_config_iterator_t); +snd_config_iterator_t (*snd_config_iterator_end_dylibloader_wrapper_asound)(const snd_config_t*); +snd_config_t* (*snd_config_iterator_entry_dylibloader_wrapper_asound)(const snd_config_iterator_t); +int (*snd_config_get_bool_ascii_dylibloader_wrapper_asound)(const char*); +int (*snd_config_get_bool_dylibloader_wrapper_asound)(const snd_config_t*); +int (*snd_config_get_ctl_iface_ascii_dylibloader_wrapper_asound)(const char*); +int (*snd_config_get_ctl_iface_dylibloader_wrapper_asound)(const snd_config_t*); +int (*snd_names_list_dylibloader_wrapper_asound)(const char*, snd_devname_t**); +void (*snd_names_list_free_dylibloader_wrapper_asound)( snd_devname_t*); +int (*snd_pcm_open_dylibloader_wrapper_asound)( snd_pcm_t**,const char*, snd_pcm_stream_t, int); +int (*snd_pcm_open_lconf_dylibloader_wrapper_asound)( snd_pcm_t**,const char*, snd_pcm_stream_t, int, snd_config_t*); +int (*snd_pcm_open_fallback_dylibloader_wrapper_asound)( snd_pcm_t**, snd_config_t*,const char*,const char*, snd_pcm_stream_t, int); +int (*snd_pcm_close_dylibloader_wrapper_asound)( snd_pcm_t*); +const char* (*snd_pcm_name_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_type_t (*snd_pcm_type_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_stream_t (*snd_pcm_stream_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_poll_descriptors_count_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_poll_descriptors_dylibloader_wrapper_asound)( snd_pcm_t*,struct pollfd*, unsigned int); +int (*snd_pcm_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_pcm_t*,struct pollfd*, unsigned int, unsigned short*); +int (*snd_pcm_nonblock_dylibloader_wrapper_asound)( snd_pcm_t*, int); +int (*snd_async_add_pcm_handler_dylibloader_wrapper_asound)( snd_async_handler_t**, snd_pcm_t*, snd_async_callback_t, void*); +snd_pcm_t* (*snd_async_handler_get_pcm_dylibloader_wrapper_asound)( snd_async_handler_t*); +int (*snd_pcm_info_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_info_t*); +int (*snd_pcm_hw_params_current_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +int (*snd_pcm_hw_free_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_sw_params_current_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*); +int (*snd_pcm_sw_params_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*); +int (*snd_pcm_prepare_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_reset_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_status_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_status_t*); +int (*snd_pcm_start_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_drop_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_drain_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_pause_dylibloader_wrapper_asound)( snd_pcm_t*, int); +snd_pcm_state_t (*snd_pcm_state_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_hwsync_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_delay_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sframes_t*); +int (*snd_pcm_resume_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_htimestamp_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t*, snd_htimestamp_t*); +snd_pcm_sframes_t (*snd_pcm_avail_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_sframes_t (*snd_pcm_avail_update_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_avail_delay_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sframes_t*, snd_pcm_sframes_t*); +snd_pcm_sframes_t (*snd_pcm_rewindable_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_sframes_t (*snd_pcm_rewind_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_forwardable_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_sframes_t (*snd_pcm_forward_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_writei_dylibloader_wrapper_asound)( snd_pcm_t*,const void*, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_readi_dylibloader_wrapper_asound)( snd_pcm_t*, void*, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_writen_dylibloader_wrapper_asound)( snd_pcm_t*, void**, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_readn_dylibloader_wrapper_asound)( snd_pcm_t*, void**, snd_pcm_uframes_t); +int (*snd_pcm_wait_dylibloader_wrapper_asound)( snd_pcm_t*, int); +int (*snd_pcm_link_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_t*); +int (*snd_pcm_unlink_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_chmap_query_t** (*snd_pcm_query_chmaps_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_chmap_query_t** (*snd_pcm_query_chmaps_from_hw_dylibloader_wrapper_asound)( int, int, int, snd_pcm_stream_t); +void (*snd_pcm_free_chmaps_dylibloader_wrapper_asound)( snd_pcm_chmap_query_t**); +snd_pcm_chmap_t* (*snd_pcm_get_chmap_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_set_chmap_dylibloader_wrapper_asound)( snd_pcm_t*,const snd_pcm_chmap_t*); +const char* (*snd_pcm_chmap_type_name_dylibloader_wrapper_asound)(enum snd_pcm_chmap_type); +const char* (*snd_pcm_chmap_name_dylibloader_wrapper_asound)(enum snd_pcm_chmap_position); +const char* (*snd_pcm_chmap_long_name_dylibloader_wrapper_asound)(enum snd_pcm_chmap_position); +int (*snd_pcm_chmap_print_dylibloader_wrapper_asound)(const snd_pcm_chmap_t*, size_t, char*); +unsigned int (*snd_pcm_chmap_from_string_dylibloader_wrapper_asound)(const char*); +snd_pcm_chmap_t* (*snd_pcm_chmap_parse_string_dylibloader_wrapper_asound)(const char*); +int (*snd_pcm_recover_dylibloader_wrapper_asound)( snd_pcm_t*, int, int); +int (*snd_pcm_set_params_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_format_t, snd_pcm_access_t, unsigned int, unsigned int, int, unsigned int); +int (*snd_pcm_get_params_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t*, snd_pcm_uframes_t*); +size_t (*snd_pcm_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_pcm_info_malloc_dylibloader_wrapper_asound)( snd_pcm_info_t**); +void (*snd_pcm_info_free_dylibloader_wrapper_asound)( snd_pcm_info_t*); +void (*snd_pcm_info_copy_dylibloader_wrapper_asound)( snd_pcm_info_t*,const snd_pcm_info_t*); +unsigned int (*snd_pcm_info_get_device_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +unsigned int (*snd_pcm_info_get_subdevice_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +snd_pcm_stream_t (*snd_pcm_info_get_stream_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +int (*snd_pcm_info_get_card_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +const char* (*snd_pcm_info_get_id_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +const char* (*snd_pcm_info_get_name_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +const char* (*snd_pcm_info_get_subdevice_name_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +snd_pcm_class_t (*snd_pcm_info_get_class_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +snd_pcm_subclass_t (*snd_pcm_info_get_subclass_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +unsigned int (*snd_pcm_info_get_subdevices_count_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +unsigned int (*snd_pcm_info_get_subdevices_avail_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +snd_pcm_sync_id_t (*snd_pcm_info_get_sync_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +void (*snd_pcm_info_set_device_dylibloader_wrapper_asound)( snd_pcm_info_t*, unsigned int); +void (*snd_pcm_info_set_subdevice_dylibloader_wrapper_asound)( snd_pcm_info_t*, unsigned int); +void (*snd_pcm_info_set_stream_dylibloader_wrapper_asound)( snd_pcm_info_t*, snd_pcm_stream_t); +int (*snd_pcm_hw_params_any_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_can_mmap_sample_resolution_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_is_double_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_is_batch_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_is_block_transfer_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_is_monotonic_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_can_overrange_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_can_pause_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_can_resume_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_is_half_duplex_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_is_joint_duplex_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_can_sync_start_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_can_disable_period_wakeup_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_supports_audio_wallclock_ts_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_supports_audio_ts_type_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, int); +int (*snd_pcm_hw_params_get_rate_numden_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, unsigned int*); +int (*snd_pcm_hw_params_get_sbits_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_get_fifo_size_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +size_t (*snd_pcm_hw_params_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_pcm_hw_params_malloc_dylibloader_wrapper_asound)( snd_pcm_hw_params_t**); +void (*snd_pcm_hw_params_free_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*); +void (*snd_pcm_hw_params_copy_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*,const snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_get_access_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_access_t*); +int (*snd_pcm_hw_params_test_access_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t); +int (*snd_pcm_hw_params_set_access_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t); +int (*snd_pcm_hw_params_set_access_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t*); +int (*snd_pcm_hw_params_set_access_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t*); +int (*snd_pcm_hw_params_set_access_mask_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_mask_t*); +int (*snd_pcm_hw_params_get_access_mask_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*, snd_pcm_access_mask_t*); +int (*snd_pcm_hw_params_get_format_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_format_t*); +int (*snd_pcm_hw_params_test_format_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t); +int (*snd_pcm_hw_params_set_format_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t); +int (*snd_pcm_hw_params_set_format_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t*); +int (*snd_pcm_hw_params_set_format_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t*); +int (*snd_pcm_hw_params_set_format_mask_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_mask_t*); +void (*snd_pcm_hw_params_get_format_mask_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*, snd_pcm_format_mask_t*); +int (*snd_pcm_hw_params_get_subformat_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_subformat_t*); +int (*snd_pcm_hw_params_test_subformat_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t); +int (*snd_pcm_hw_params_set_subformat_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t); +int (*snd_pcm_hw_params_set_subformat_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t*); +int (*snd_pcm_hw_params_set_subformat_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t*); +int (*snd_pcm_hw_params_set_subformat_mask_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_mask_t*); +void (*snd_pcm_hw_params_get_subformat_mask_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*, snd_pcm_subformat_mask_t*); +int (*snd_pcm_hw_params_get_channels_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_get_channels_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_get_channels_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_test_channels_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +int (*snd_pcm_hw_params_set_channels_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +int (*snd_pcm_hw_params_set_channels_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_set_channels_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_set_channels_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, unsigned int*); +int (*snd_pcm_hw_params_set_channels_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_set_channels_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_set_channels_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_get_rate_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_rate_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_rate_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_test_rate_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_rate_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_rate_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_rate_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_rate_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_rate_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_rate_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_rate_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_rate_resample_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +int (*snd_pcm_hw_params_get_rate_resample_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_set_export_buffer_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +int (*snd_pcm_hw_params_get_export_buffer_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_set_period_wakeup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +int (*snd_pcm_hw_params_get_period_wakeup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_get_period_time_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_period_time_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_period_time_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_test_period_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_period_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_period_time_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_period_time_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_period_time_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_period_time_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_period_time_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_period_time_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_period_size_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_get_period_size_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_get_period_size_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_test_period_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t, int); +int (*snd_pcm_hw_params_set_period_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t, int); +int (*snd_pcm_hw_params_set_period_size_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_set_period_size_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_set_period_size_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_set_period_size_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_set_period_size_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_set_period_size_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +int (*snd_pcm_hw_params_set_period_size_integer_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_get_periods_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_periods_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_periods_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_test_periods_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_periods_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_periods_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_periods_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_periods_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_periods_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_periods_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_periods_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_periods_integer_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +int (*snd_pcm_hw_params_get_buffer_time_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_buffer_time_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_buffer_time_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_test_buffer_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_buffer_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_buffer_time_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_buffer_time_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_buffer_time_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_buffer_time_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_buffer_time_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_buffer_time_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_buffer_size_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_get_buffer_size_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_get_buffer_size_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_test_buffer_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t); +int (*snd_pcm_hw_params_set_buffer_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t); +int (*snd_pcm_hw_params_set_buffer_size_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_set_buffer_size_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_set_buffer_size_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_set_buffer_size_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_set_buffer_size_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_set_buffer_size_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_hw_params_get_min_align_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +size_t (*snd_pcm_sw_params_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_pcm_sw_params_malloc_dylibloader_wrapper_asound)( snd_pcm_sw_params_t**); +void (*snd_pcm_sw_params_free_dylibloader_wrapper_asound)( snd_pcm_sw_params_t*); +void (*snd_pcm_sw_params_copy_dylibloader_wrapper_asound)( snd_pcm_sw_params_t*,const snd_pcm_sw_params_t*); +int (*snd_pcm_sw_params_get_boundary_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_sw_params_set_tstamp_mode_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_tstamp_t); +int (*snd_pcm_sw_params_get_tstamp_mode_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_tstamp_t*); +int (*snd_pcm_sw_params_set_avail_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +int (*snd_pcm_sw_params_get_avail_min_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_sw_params_set_period_event_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, int); +int (*snd_pcm_sw_params_get_period_event_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, int*); +int (*snd_pcm_sw_params_set_start_threshold_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +int (*snd_pcm_sw_params_get_start_threshold_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_sw_params_set_stop_threshold_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +int (*snd_pcm_sw_params_get_stop_threshold_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_sw_params_set_silence_threshold_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +int (*snd_pcm_sw_params_get_silence_threshold_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_sw_params_set_silence_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +int (*snd_pcm_sw_params_get_silence_size_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +size_t (*snd_pcm_access_mask_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_pcm_access_mask_malloc_dylibloader_wrapper_asound)( snd_pcm_access_mask_t**); +void (*snd_pcm_access_mask_free_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*); +void (*snd_pcm_access_mask_copy_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*,const snd_pcm_access_mask_t*); +void (*snd_pcm_access_mask_none_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*); +void (*snd_pcm_access_mask_any_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*); +int (*snd_pcm_access_mask_test_dylibloader_wrapper_asound)(const snd_pcm_access_mask_t*, snd_pcm_access_t); +int (*snd_pcm_access_mask_empty_dylibloader_wrapper_asound)(const snd_pcm_access_mask_t*); +void (*snd_pcm_access_mask_set_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*, snd_pcm_access_t); +void (*snd_pcm_access_mask_reset_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*, snd_pcm_access_t); +size_t (*snd_pcm_format_mask_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_pcm_format_mask_malloc_dylibloader_wrapper_asound)( snd_pcm_format_mask_t**); +void (*snd_pcm_format_mask_free_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*); +void (*snd_pcm_format_mask_copy_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*,const snd_pcm_format_mask_t*); +void (*snd_pcm_format_mask_none_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*); +void (*snd_pcm_format_mask_any_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*); +int (*snd_pcm_format_mask_test_dylibloader_wrapper_asound)(const snd_pcm_format_mask_t*, snd_pcm_format_t); +int (*snd_pcm_format_mask_empty_dylibloader_wrapper_asound)(const snd_pcm_format_mask_t*); +void (*snd_pcm_format_mask_set_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*, snd_pcm_format_t); +void (*snd_pcm_format_mask_reset_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*, snd_pcm_format_t); +size_t (*snd_pcm_subformat_mask_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_pcm_subformat_mask_malloc_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t**); +void (*snd_pcm_subformat_mask_free_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*); +void (*snd_pcm_subformat_mask_copy_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*,const snd_pcm_subformat_mask_t*); +void (*snd_pcm_subformat_mask_none_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*); +void (*snd_pcm_subformat_mask_any_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*); +int (*snd_pcm_subformat_mask_test_dylibloader_wrapper_asound)(const snd_pcm_subformat_mask_t*, snd_pcm_subformat_t); +int (*snd_pcm_subformat_mask_empty_dylibloader_wrapper_asound)(const snd_pcm_subformat_mask_t*); +void (*snd_pcm_subformat_mask_set_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*, snd_pcm_subformat_t); +void (*snd_pcm_subformat_mask_reset_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*, snd_pcm_subformat_t); +size_t (*snd_pcm_status_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_pcm_status_malloc_dylibloader_wrapper_asound)( snd_pcm_status_t**); +void (*snd_pcm_status_free_dylibloader_wrapper_asound)( snd_pcm_status_t*); +void (*snd_pcm_status_copy_dylibloader_wrapper_asound)( snd_pcm_status_t*,const snd_pcm_status_t*); +snd_pcm_state_t (*snd_pcm_status_get_state_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +void (*snd_pcm_status_get_trigger_tstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_timestamp_t*); +void (*snd_pcm_status_get_trigger_htstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_htimestamp_t*); +void (*snd_pcm_status_get_tstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_timestamp_t*); +void (*snd_pcm_status_get_htstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_htimestamp_t*); +void (*snd_pcm_status_get_audio_htstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_htimestamp_t*); +void (*snd_pcm_status_get_driver_htstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_htimestamp_t*); +snd_pcm_sframes_t (*snd_pcm_status_get_delay_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +snd_pcm_uframes_t (*snd_pcm_status_get_avail_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +snd_pcm_uframes_t (*snd_pcm_status_get_avail_max_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +snd_pcm_uframes_t (*snd_pcm_status_get_overrange_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +const char* (*snd_pcm_type_name_dylibloader_wrapper_asound)( snd_pcm_type_t); +const char* (*snd_pcm_stream_name_dylibloader_wrapper_asound)(const snd_pcm_stream_t); +const char* (*snd_pcm_access_name_dylibloader_wrapper_asound)(const snd_pcm_access_t); +const char* (*snd_pcm_format_name_dylibloader_wrapper_asound)(const snd_pcm_format_t); +const char* (*snd_pcm_format_description_dylibloader_wrapper_asound)(const snd_pcm_format_t); +const char* (*snd_pcm_subformat_name_dylibloader_wrapper_asound)(const snd_pcm_subformat_t); +const char* (*snd_pcm_subformat_description_dylibloader_wrapper_asound)(const snd_pcm_subformat_t); +snd_pcm_format_t (*snd_pcm_format_value_dylibloader_wrapper_asound)(const char*); +const char* (*snd_pcm_tstamp_mode_name_dylibloader_wrapper_asound)(const snd_pcm_tstamp_t); +const char* (*snd_pcm_state_name_dylibloader_wrapper_asound)(const snd_pcm_state_t); +int (*snd_pcm_dump_dylibloader_wrapper_asound)( snd_pcm_t*, snd_output_t*); +int (*snd_pcm_dump_hw_setup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_output_t*); +int (*snd_pcm_dump_sw_setup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_output_t*); +int (*snd_pcm_dump_setup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_output_t*); +int (*snd_pcm_hw_params_dump_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*, snd_output_t*); +int (*snd_pcm_sw_params_dump_dylibloader_wrapper_asound)( snd_pcm_sw_params_t*, snd_output_t*); +int (*snd_pcm_status_dump_dylibloader_wrapper_asound)( snd_pcm_status_t*, snd_output_t*); +int (*snd_pcm_mmap_begin_dylibloader_wrapper_asound)( snd_pcm_t*,const snd_pcm_channel_area_t**, snd_pcm_uframes_t*, snd_pcm_uframes_t*); +snd_pcm_sframes_t (*snd_pcm_mmap_commit_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_mmap_writei_dylibloader_wrapper_asound)( snd_pcm_t*,const void*, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_mmap_readi_dylibloader_wrapper_asound)( snd_pcm_t*, void*, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_mmap_writen_dylibloader_wrapper_asound)( snd_pcm_t*, void**, snd_pcm_uframes_t); +snd_pcm_sframes_t (*snd_pcm_mmap_readn_dylibloader_wrapper_asound)( snd_pcm_t*, void**, snd_pcm_uframes_t); +int (*snd_pcm_format_signed_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_unsigned_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_linear_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_float_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_little_endian_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_big_endian_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_cpu_endian_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_width_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_physical_width_dylibloader_wrapper_asound)( snd_pcm_format_t); +snd_pcm_format_t (*snd_pcm_build_linear_format_dylibloader_wrapper_asound)( int, int, int, int); +ssize_t (*snd_pcm_format_size_dylibloader_wrapper_asound)( snd_pcm_format_t, size_t); +uint8_t (*snd_pcm_format_silence_dylibloader_wrapper_asound)( snd_pcm_format_t); +uint16_t (*snd_pcm_format_silence_16_dylibloader_wrapper_asound)( snd_pcm_format_t); +uint32_t (*snd_pcm_format_silence_32_dylibloader_wrapper_asound)( snd_pcm_format_t); +uint64_t (*snd_pcm_format_silence_64_dylibloader_wrapper_asound)( snd_pcm_format_t); +int (*snd_pcm_format_set_silence_dylibloader_wrapper_asound)( snd_pcm_format_t, void*, unsigned int); +snd_pcm_sframes_t (*snd_pcm_bytes_to_frames_dylibloader_wrapper_asound)( snd_pcm_t*, ssize_t); +ssize_t (*snd_pcm_frames_to_bytes_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sframes_t); +long (*snd_pcm_bytes_to_samples_dylibloader_wrapper_asound)( snd_pcm_t*, ssize_t); +ssize_t (*snd_pcm_samples_to_bytes_dylibloader_wrapper_asound)( snd_pcm_t*, long); +int (*snd_pcm_area_silence_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_format_t); +int (*snd_pcm_areas_silence_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_uframes_t, snd_pcm_format_t); +int (*snd_pcm_area_copy_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_format_t); +int (*snd_pcm_areas_copy_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_uframes_t, snd_pcm_format_t); +int (*snd_pcm_areas_copy_wrap_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_uframes_t,const unsigned int, snd_pcm_uframes_t,const snd_pcm_format_t); +snd_pcm_t* (*snd_pcm_hook_get_pcm_dylibloader_wrapper_asound)( snd_pcm_hook_t*); +void* (*snd_pcm_hook_get_private_dylibloader_wrapper_asound)( snd_pcm_hook_t*); +void (*snd_pcm_hook_set_private_dylibloader_wrapper_asound)( snd_pcm_hook_t*, void*); +int (*snd_pcm_hook_add_dylibloader_wrapper_asound)( snd_pcm_hook_t**, snd_pcm_t*, snd_pcm_hook_type_t, snd_pcm_hook_func_t, void*); +int (*snd_pcm_hook_remove_dylibloader_wrapper_asound)( snd_pcm_hook_t*); +snd_pcm_uframes_t (*snd_pcm_meter_get_bufsize_dylibloader_wrapper_asound)( snd_pcm_t*); +unsigned int (*snd_pcm_meter_get_channels_dylibloader_wrapper_asound)( snd_pcm_t*); +unsigned int (*snd_pcm_meter_get_rate_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_uframes_t (*snd_pcm_meter_get_now_dylibloader_wrapper_asound)( snd_pcm_t*); +snd_pcm_uframes_t (*snd_pcm_meter_get_boundary_dylibloader_wrapper_asound)( snd_pcm_t*); +int (*snd_pcm_meter_add_scope_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_scope_t*); +snd_pcm_scope_t* (*snd_pcm_meter_search_scope_dylibloader_wrapper_asound)( snd_pcm_t*,const char*); +int (*snd_pcm_scope_malloc_dylibloader_wrapper_asound)( snd_pcm_scope_t**); +void (*snd_pcm_scope_set_ops_dylibloader_wrapper_asound)( snd_pcm_scope_t*,const snd_pcm_scope_ops_t*); +void (*snd_pcm_scope_set_name_dylibloader_wrapper_asound)( snd_pcm_scope_t*,const char*); +const char* (*snd_pcm_scope_get_name_dylibloader_wrapper_asound)( snd_pcm_scope_t*); +void* (*snd_pcm_scope_get_callback_private_dylibloader_wrapper_asound)( snd_pcm_scope_t*); +void (*snd_pcm_scope_set_callback_private_dylibloader_wrapper_asound)( snd_pcm_scope_t*, void*); +int (*snd_pcm_scope_s16_open_dylibloader_wrapper_asound)( snd_pcm_t*,const char*, snd_pcm_scope_t**); +int16_t* (*snd_pcm_scope_s16_get_channel_buffer_dylibloader_wrapper_asound)( snd_pcm_scope_t*, unsigned int); +int (*snd_spcm_init_dylibloader_wrapper_asound)( snd_pcm_t*, unsigned int, unsigned int, snd_pcm_format_t, snd_pcm_subformat_t, snd_spcm_latency_t, snd_pcm_access_t, snd_spcm_xrun_type_t); +int (*snd_spcm_init_duplex_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_t*, unsigned int, unsigned int, snd_pcm_format_t, snd_pcm_subformat_t, snd_spcm_latency_t, snd_pcm_access_t, snd_spcm_xrun_type_t, snd_spcm_duplex_type_t); +int (*snd_spcm_init_get_params_dylibloader_wrapper_asound)( snd_pcm_t*, unsigned int*, snd_pcm_uframes_t*, snd_pcm_uframes_t*); +const char* (*snd_pcm_start_mode_name_dylibloader_wrapper_asound)( snd_pcm_start_t); +const char* (*snd_pcm_xrun_mode_name_dylibloader_wrapper_asound)( snd_pcm_xrun_t); +int (*snd_pcm_sw_params_set_start_mode_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_start_t); +snd_pcm_start_t (*snd_pcm_sw_params_get_start_mode_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*); +int (*snd_pcm_sw_params_set_xrun_mode_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_xrun_t); +snd_pcm_xrun_t (*snd_pcm_sw_params_get_xrun_mode_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*); +int (*snd_pcm_sw_params_set_xfer_align_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +int (*snd_pcm_sw_params_get_xfer_align_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +int (*snd_pcm_sw_params_set_sleep_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, unsigned int); +int (*snd_pcm_sw_params_get_sleep_min_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, unsigned int*); +int (*snd_pcm_hw_params_get_tick_time_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_tick_time_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_get_tick_time_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_test_tick_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_tick_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +int (*snd_pcm_hw_params_set_tick_time_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_tick_time_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_tick_time_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_tick_time_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_tick_time_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_pcm_hw_params_set_tick_time_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +int (*snd_rawmidi_open_dylibloader_wrapper_asound)( snd_rawmidi_t**, snd_rawmidi_t**,const char*, int); +int (*snd_rawmidi_open_lconf_dylibloader_wrapper_asound)( snd_rawmidi_t**, snd_rawmidi_t**,const char*, int, snd_config_t*); +int (*snd_rawmidi_close_dylibloader_wrapper_asound)( snd_rawmidi_t*); +int (*snd_rawmidi_poll_descriptors_count_dylibloader_wrapper_asound)( snd_rawmidi_t*); +int (*snd_rawmidi_poll_descriptors_dylibloader_wrapper_asound)( snd_rawmidi_t*,struct pollfd*, unsigned int); +int (*snd_rawmidi_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_rawmidi_t*,struct pollfd*, unsigned int, unsigned short*); +int (*snd_rawmidi_nonblock_dylibloader_wrapper_asound)( snd_rawmidi_t*, int); +size_t (*snd_rawmidi_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_rawmidi_info_malloc_dylibloader_wrapper_asound)( snd_rawmidi_info_t**); +void (*snd_rawmidi_info_free_dylibloader_wrapper_asound)( snd_rawmidi_info_t*); +void (*snd_rawmidi_info_copy_dylibloader_wrapper_asound)( snd_rawmidi_info_t*,const snd_rawmidi_info_t*); +unsigned int (*snd_rawmidi_info_get_device_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +unsigned int (*snd_rawmidi_info_get_subdevice_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +snd_rawmidi_stream_t (*snd_rawmidi_info_get_stream_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +int (*snd_rawmidi_info_get_card_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +unsigned int (*snd_rawmidi_info_get_flags_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +const char* (*snd_rawmidi_info_get_id_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +const char* (*snd_rawmidi_info_get_name_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +const char* (*snd_rawmidi_info_get_subdevice_name_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +unsigned int (*snd_rawmidi_info_get_subdevices_count_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +unsigned int (*snd_rawmidi_info_get_subdevices_avail_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +void (*snd_rawmidi_info_set_device_dylibloader_wrapper_asound)( snd_rawmidi_info_t*, unsigned int); +void (*snd_rawmidi_info_set_subdevice_dylibloader_wrapper_asound)( snd_rawmidi_info_t*, unsigned int); +void (*snd_rawmidi_info_set_stream_dylibloader_wrapper_asound)( snd_rawmidi_info_t*, snd_rawmidi_stream_t); +int (*snd_rawmidi_info_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_info_t*); +size_t (*snd_rawmidi_params_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_rawmidi_params_malloc_dylibloader_wrapper_asound)( snd_rawmidi_params_t**); +void (*snd_rawmidi_params_free_dylibloader_wrapper_asound)( snd_rawmidi_params_t*); +void (*snd_rawmidi_params_copy_dylibloader_wrapper_asound)( snd_rawmidi_params_t*,const snd_rawmidi_params_t*); +int (*snd_rawmidi_params_set_buffer_size_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*, size_t); +size_t (*snd_rawmidi_params_get_buffer_size_dylibloader_wrapper_asound)(const snd_rawmidi_params_t*); +int (*snd_rawmidi_params_set_avail_min_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*, size_t); +size_t (*snd_rawmidi_params_get_avail_min_dylibloader_wrapper_asound)(const snd_rawmidi_params_t*); +int (*snd_rawmidi_params_set_no_active_sensing_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*, int); +int (*snd_rawmidi_params_get_no_active_sensing_dylibloader_wrapper_asound)(const snd_rawmidi_params_t*); +int (*snd_rawmidi_params_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*); +int (*snd_rawmidi_params_current_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*); +size_t (*snd_rawmidi_status_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_rawmidi_status_malloc_dylibloader_wrapper_asound)( snd_rawmidi_status_t**); +void (*snd_rawmidi_status_free_dylibloader_wrapper_asound)( snd_rawmidi_status_t*); +void (*snd_rawmidi_status_copy_dylibloader_wrapper_asound)( snd_rawmidi_status_t*,const snd_rawmidi_status_t*); +void (*snd_rawmidi_status_get_tstamp_dylibloader_wrapper_asound)(const snd_rawmidi_status_t*, snd_htimestamp_t*); +size_t (*snd_rawmidi_status_get_avail_dylibloader_wrapper_asound)(const snd_rawmidi_status_t*); +size_t (*snd_rawmidi_status_get_xruns_dylibloader_wrapper_asound)(const snd_rawmidi_status_t*); +int (*snd_rawmidi_status_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_status_t*); +int (*snd_rawmidi_drain_dylibloader_wrapper_asound)( snd_rawmidi_t*); +int (*snd_rawmidi_drop_dylibloader_wrapper_asound)( snd_rawmidi_t*); +ssize_t (*snd_rawmidi_write_dylibloader_wrapper_asound)( snd_rawmidi_t*,const void*, size_t); +ssize_t (*snd_rawmidi_read_dylibloader_wrapper_asound)( snd_rawmidi_t*, void*, size_t); +const char* (*snd_rawmidi_name_dylibloader_wrapper_asound)( snd_rawmidi_t*); +snd_rawmidi_type_t (*snd_rawmidi_type_dylibloader_wrapper_asound)( snd_rawmidi_t*); +snd_rawmidi_stream_t (*snd_rawmidi_stream_dylibloader_wrapper_asound)( snd_rawmidi_t*); +int (*snd_timer_query_open_dylibloader_wrapper_asound)( snd_timer_query_t**,const char*, int); +int (*snd_timer_query_open_lconf_dylibloader_wrapper_asound)( snd_timer_query_t**,const char*, int, snd_config_t*); +int (*snd_timer_query_close_dylibloader_wrapper_asound)( snd_timer_query_t*); +int (*snd_timer_query_next_device_dylibloader_wrapper_asound)( snd_timer_query_t*, snd_timer_id_t*); +int (*snd_timer_query_info_dylibloader_wrapper_asound)( snd_timer_query_t*, snd_timer_ginfo_t*); +int (*snd_timer_query_params_dylibloader_wrapper_asound)( snd_timer_query_t*, snd_timer_gparams_t*); +int (*snd_timer_query_status_dylibloader_wrapper_asound)( snd_timer_query_t*, snd_timer_gstatus_t*); +int (*snd_timer_open_dylibloader_wrapper_asound)( snd_timer_t**,const char*, int); +int (*snd_timer_open_lconf_dylibloader_wrapper_asound)( snd_timer_t**,const char*, int, snd_config_t*); +int (*snd_timer_close_dylibloader_wrapper_asound)( snd_timer_t*); +int (*snd_async_add_timer_handler_dylibloader_wrapper_asound)( snd_async_handler_t**, snd_timer_t*, snd_async_callback_t, void*); +snd_timer_t* (*snd_async_handler_get_timer_dylibloader_wrapper_asound)( snd_async_handler_t*); +int (*snd_timer_poll_descriptors_count_dylibloader_wrapper_asound)( snd_timer_t*); +int (*snd_timer_poll_descriptors_dylibloader_wrapper_asound)( snd_timer_t*,struct pollfd*, unsigned int); +int (*snd_timer_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_timer_t*,struct pollfd*, unsigned int, unsigned short*); +int (*snd_timer_info_dylibloader_wrapper_asound)( snd_timer_t*, snd_timer_info_t*); +int (*snd_timer_params_dylibloader_wrapper_asound)( snd_timer_t*, snd_timer_params_t*); +int (*snd_timer_status_dylibloader_wrapper_asound)( snd_timer_t*, snd_timer_status_t*); +int (*snd_timer_start_dylibloader_wrapper_asound)( snd_timer_t*); +int (*snd_timer_stop_dylibloader_wrapper_asound)( snd_timer_t*); +int (*snd_timer_continue_dylibloader_wrapper_asound)( snd_timer_t*); +ssize_t (*snd_timer_read_dylibloader_wrapper_asound)( snd_timer_t*, void*, size_t); +size_t (*snd_timer_id_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_timer_id_malloc_dylibloader_wrapper_asound)( snd_timer_id_t**); +void (*snd_timer_id_free_dylibloader_wrapper_asound)( snd_timer_id_t*); +void (*snd_timer_id_copy_dylibloader_wrapper_asound)( snd_timer_id_t*,const snd_timer_id_t*); +void (*snd_timer_id_set_class_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +int (*snd_timer_id_get_class_dylibloader_wrapper_asound)( snd_timer_id_t*); +void (*snd_timer_id_set_sclass_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +int (*snd_timer_id_get_sclass_dylibloader_wrapper_asound)( snd_timer_id_t*); +void (*snd_timer_id_set_card_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +int (*snd_timer_id_get_card_dylibloader_wrapper_asound)( snd_timer_id_t*); +void (*snd_timer_id_set_device_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +int (*snd_timer_id_get_device_dylibloader_wrapper_asound)( snd_timer_id_t*); +void (*snd_timer_id_set_subdevice_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +int (*snd_timer_id_get_subdevice_dylibloader_wrapper_asound)( snd_timer_id_t*); +size_t (*snd_timer_ginfo_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_timer_ginfo_malloc_dylibloader_wrapper_asound)( snd_timer_ginfo_t**); +void (*snd_timer_ginfo_free_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +void (*snd_timer_ginfo_copy_dylibloader_wrapper_asound)( snd_timer_ginfo_t*,const snd_timer_ginfo_t*); +int (*snd_timer_ginfo_set_tid_dylibloader_wrapper_asound)( snd_timer_ginfo_t*, snd_timer_id_t*); +snd_timer_id_t* (*snd_timer_ginfo_get_tid_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +unsigned int (*snd_timer_ginfo_get_flags_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +int (*snd_timer_ginfo_get_card_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +char* (*snd_timer_ginfo_get_id_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +char* (*snd_timer_ginfo_get_name_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +unsigned long (*snd_timer_ginfo_get_resolution_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +unsigned long (*snd_timer_ginfo_get_resolution_min_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +unsigned long (*snd_timer_ginfo_get_resolution_max_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +unsigned int (*snd_timer_ginfo_get_clients_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +size_t (*snd_timer_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_timer_info_malloc_dylibloader_wrapper_asound)( snd_timer_info_t**); +void (*snd_timer_info_free_dylibloader_wrapper_asound)( snd_timer_info_t*); +void (*snd_timer_info_copy_dylibloader_wrapper_asound)( snd_timer_info_t*,const snd_timer_info_t*); +int (*snd_timer_info_is_slave_dylibloader_wrapper_asound)( snd_timer_info_t*); +int (*snd_timer_info_get_card_dylibloader_wrapper_asound)( snd_timer_info_t*); +const char* (*snd_timer_info_get_id_dylibloader_wrapper_asound)( snd_timer_info_t*); +const char* (*snd_timer_info_get_name_dylibloader_wrapper_asound)( snd_timer_info_t*); +long (*snd_timer_info_get_resolution_dylibloader_wrapper_asound)( snd_timer_info_t*); +size_t (*snd_timer_params_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_timer_params_malloc_dylibloader_wrapper_asound)( snd_timer_params_t**); +void (*snd_timer_params_free_dylibloader_wrapper_asound)( snd_timer_params_t*); +void (*snd_timer_params_copy_dylibloader_wrapper_asound)( snd_timer_params_t*,const snd_timer_params_t*); +int (*snd_timer_params_set_auto_start_dylibloader_wrapper_asound)( snd_timer_params_t*, int); +int (*snd_timer_params_get_auto_start_dylibloader_wrapper_asound)( snd_timer_params_t*); +int (*snd_timer_params_set_exclusive_dylibloader_wrapper_asound)( snd_timer_params_t*, int); +int (*snd_timer_params_get_exclusive_dylibloader_wrapper_asound)( snd_timer_params_t*); +int (*snd_timer_params_set_early_event_dylibloader_wrapper_asound)( snd_timer_params_t*, int); +int (*snd_timer_params_get_early_event_dylibloader_wrapper_asound)( snd_timer_params_t*); +void (*snd_timer_params_set_ticks_dylibloader_wrapper_asound)( snd_timer_params_t*, long); +long (*snd_timer_params_get_ticks_dylibloader_wrapper_asound)( snd_timer_params_t*); +void (*snd_timer_params_set_queue_size_dylibloader_wrapper_asound)( snd_timer_params_t*, long); +long (*snd_timer_params_get_queue_size_dylibloader_wrapper_asound)( snd_timer_params_t*); +void (*snd_timer_params_set_filter_dylibloader_wrapper_asound)( snd_timer_params_t*, unsigned int); +unsigned int (*snd_timer_params_get_filter_dylibloader_wrapper_asound)( snd_timer_params_t*); +size_t (*snd_timer_status_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_timer_status_malloc_dylibloader_wrapper_asound)( snd_timer_status_t**); +void (*snd_timer_status_free_dylibloader_wrapper_asound)( snd_timer_status_t*); +void (*snd_timer_status_copy_dylibloader_wrapper_asound)( snd_timer_status_t*,const snd_timer_status_t*); +snd_htimestamp_t (*snd_timer_status_get_timestamp_dylibloader_wrapper_asound)( snd_timer_status_t*); +long (*snd_timer_status_get_resolution_dylibloader_wrapper_asound)( snd_timer_status_t*); +long (*snd_timer_status_get_lost_dylibloader_wrapper_asound)( snd_timer_status_t*); +long (*snd_timer_status_get_overrun_dylibloader_wrapper_asound)( snd_timer_status_t*); +long (*snd_timer_status_get_queue_dylibloader_wrapper_asound)( snd_timer_status_t*); +long (*snd_timer_info_get_ticks_dylibloader_wrapper_asound)( snd_timer_info_t*); +int (*snd_hwdep_open_dylibloader_wrapper_asound)( snd_hwdep_t**,const char*, int); +int (*snd_hwdep_close_dylibloader_wrapper_asound)( snd_hwdep_t*); +int (*snd_hwdep_poll_descriptors_dylibloader_wrapper_asound)( snd_hwdep_t*,struct pollfd*, unsigned int); +int (*snd_hwdep_poll_descriptors_count_dylibloader_wrapper_asound)( snd_hwdep_t*); +int (*snd_hwdep_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_hwdep_t*,struct pollfd*, unsigned int, unsigned short*); +int (*snd_hwdep_nonblock_dylibloader_wrapper_asound)( snd_hwdep_t*, int); +int (*snd_hwdep_info_dylibloader_wrapper_asound)( snd_hwdep_t*, snd_hwdep_info_t*); +int (*snd_hwdep_dsp_status_dylibloader_wrapper_asound)( snd_hwdep_t*, snd_hwdep_dsp_status_t*); +int (*snd_hwdep_dsp_load_dylibloader_wrapper_asound)( snd_hwdep_t*, snd_hwdep_dsp_image_t*); +int (*snd_hwdep_ioctl_dylibloader_wrapper_asound)( snd_hwdep_t*, unsigned int, void*); +ssize_t (*snd_hwdep_write_dylibloader_wrapper_asound)( snd_hwdep_t*,const void*, size_t); +ssize_t (*snd_hwdep_read_dylibloader_wrapper_asound)( snd_hwdep_t*, void*, size_t); +size_t (*snd_hwdep_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_hwdep_info_malloc_dylibloader_wrapper_asound)( snd_hwdep_info_t**); +void (*snd_hwdep_info_free_dylibloader_wrapper_asound)( snd_hwdep_info_t*); +void (*snd_hwdep_info_copy_dylibloader_wrapper_asound)( snd_hwdep_info_t*,const snd_hwdep_info_t*); +unsigned int (*snd_hwdep_info_get_device_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +int (*snd_hwdep_info_get_card_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +const char* (*snd_hwdep_info_get_id_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +const char* (*snd_hwdep_info_get_name_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +snd_hwdep_iface_t (*snd_hwdep_info_get_iface_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +void (*snd_hwdep_info_set_device_dylibloader_wrapper_asound)( snd_hwdep_info_t*, unsigned int); +size_t (*snd_hwdep_dsp_status_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_hwdep_dsp_status_malloc_dylibloader_wrapper_asound)( snd_hwdep_dsp_status_t**); +void (*snd_hwdep_dsp_status_free_dylibloader_wrapper_asound)( snd_hwdep_dsp_status_t*); +void (*snd_hwdep_dsp_status_copy_dylibloader_wrapper_asound)( snd_hwdep_dsp_status_t*,const snd_hwdep_dsp_status_t*); +unsigned int (*snd_hwdep_dsp_status_get_version_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +const char* (*snd_hwdep_dsp_status_get_id_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +unsigned int (*snd_hwdep_dsp_status_get_num_dsps_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +unsigned int (*snd_hwdep_dsp_status_get_dsp_loaded_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +unsigned int (*snd_hwdep_dsp_status_get_chip_ready_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +size_t (*snd_hwdep_dsp_image_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_hwdep_dsp_image_malloc_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t**); +void (*snd_hwdep_dsp_image_free_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*); +void (*snd_hwdep_dsp_image_copy_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*,const snd_hwdep_dsp_image_t*); +unsigned int (*snd_hwdep_dsp_image_get_index_dylibloader_wrapper_asound)(const snd_hwdep_dsp_image_t*); +const char* (*snd_hwdep_dsp_image_get_name_dylibloader_wrapper_asound)(const snd_hwdep_dsp_image_t*); +const void* (*snd_hwdep_dsp_image_get_image_dylibloader_wrapper_asound)(const snd_hwdep_dsp_image_t*); +size_t (*snd_hwdep_dsp_image_get_length_dylibloader_wrapper_asound)(const snd_hwdep_dsp_image_t*); +void (*snd_hwdep_dsp_image_set_index_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*, unsigned int); +void (*snd_hwdep_dsp_image_set_name_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*,const char*); +void (*snd_hwdep_dsp_image_set_image_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*, void*); +void (*snd_hwdep_dsp_image_set_length_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*, size_t); +int (*snd_card_load_dylibloader_wrapper_asound)( int); +int (*snd_card_next_dylibloader_wrapper_asound)( int*); +int (*snd_card_get_index_dylibloader_wrapper_asound)(const char*); +int (*snd_card_get_name_dylibloader_wrapper_asound)( int, char**); +int (*snd_card_get_longname_dylibloader_wrapper_asound)( int, char**); +int (*snd_device_name_hint_dylibloader_wrapper_asound)( int,const char*, void***); +int (*snd_device_name_free_hint_dylibloader_wrapper_asound)( void**); +char* (*snd_device_name_get_hint_dylibloader_wrapper_asound)(const void*,const char*); +int (*snd_ctl_open_dylibloader_wrapper_asound)( snd_ctl_t**,const char*, int); +int (*snd_ctl_open_lconf_dylibloader_wrapper_asound)( snd_ctl_t**,const char*, int, snd_config_t*); +int (*snd_ctl_open_fallback_dylibloader_wrapper_asound)( snd_ctl_t**, snd_config_t*,const char*,const char*, int); +int (*snd_ctl_close_dylibloader_wrapper_asound)( snd_ctl_t*); +int (*snd_ctl_nonblock_dylibloader_wrapper_asound)( snd_ctl_t*, int); +int (*snd_async_add_ctl_handler_dylibloader_wrapper_asound)( snd_async_handler_t**, snd_ctl_t*, snd_async_callback_t, void*); +snd_ctl_t* (*snd_async_handler_get_ctl_dylibloader_wrapper_asound)( snd_async_handler_t*); +int (*snd_ctl_poll_descriptors_count_dylibloader_wrapper_asound)( snd_ctl_t*); +int (*snd_ctl_poll_descriptors_dylibloader_wrapper_asound)( snd_ctl_t*,struct pollfd*, unsigned int); +int (*snd_ctl_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_ctl_t*,struct pollfd*, unsigned int, unsigned short*); +int (*snd_ctl_subscribe_events_dylibloader_wrapper_asound)( snd_ctl_t*, int); +int (*snd_ctl_card_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_card_info_t*); +int (*snd_ctl_elem_list_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_list_t*); +int (*snd_ctl_elem_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*); +int (*snd_ctl_elem_read_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_value_t*); +int (*snd_ctl_elem_write_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_value_t*); +int (*snd_ctl_elem_lock_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_id_t*); +int (*snd_ctl_elem_unlock_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_id_t*); +int (*snd_ctl_elem_tlv_read_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int*, unsigned int); +int (*snd_ctl_elem_tlv_write_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*,const unsigned int*); +int (*snd_ctl_elem_tlv_command_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*,const unsigned int*); +int (*snd_ctl_hwdep_next_device_dylibloader_wrapper_asound)( snd_ctl_t*, int*); +int (*snd_ctl_hwdep_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_hwdep_info_t*); +int (*snd_ctl_pcm_next_device_dylibloader_wrapper_asound)( snd_ctl_t*, int*); +int (*snd_ctl_pcm_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_pcm_info_t*); +int (*snd_ctl_pcm_prefer_subdevice_dylibloader_wrapper_asound)( snd_ctl_t*, int); +int (*snd_ctl_rawmidi_next_device_dylibloader_wrapper_asound)( snd_ctl_t*, int*); +int (*snd_ctl_rawmidi_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_rawmidi_info_t*); +int (*snd_ctl_rawmidi_prefer_subdevice_dylibloader_wrapper_asound)( snd_ctl_t*, int); +int (*snd_ctl_set_power_state_dylibloader_wrapper_asound)( snd_ctl_t*, unsigned int); +int (*snd_ctl_get_power_state_dylibloader_wrapper_asound)( snd_ctl_t*, unsigned int*); +int (*snd_ctl_read_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_event_t*); +int (*snd_ctl_wait_dylibloader_wrapper_asound)( snd_ctl_t*, int); +const char* (*snd_ctl_name_dylibloader_wrapper_asound)( snd_ctl_t*); +snd_ctl_type_t (*snd_ctl_type_dylibloader_wrapper_asound)( snd_ctl_t*); +const char* (*snd_ctl_elem_type_name_dylibloader_wrapper_asound)( snd_ctl_elem_type_t); +const char* (*snd_ctl_elem_iface_name_dylibloader_wrapper_asound)( snd_ctl_elem_iface_t); +const char* (*snd_ctl_event_type_name_dylibloader_wrapper_asound)( snd_ctl_event_type_t); +unsigned int (*snd_ctl_event_elem_get_mask_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +unsigned int (*snd_ctl_event_elem_get_numid_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +void (*snd_ctl_event_elem_get_id_dylibloader_wrapper_asound)(const snd_ctl_event_t*, snd_ctl_elem_id_t*); +snd_ctl_elem_iface_t (*snd_ctl_event_elem_get_interface_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +unsigned int (*snd_ctl_event_elem_get_device_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +unsigned int (*snd_ctl_event_elem_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +const char* (*snd_ctl_event_elem_get_name_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +unsigned int (*snd_ctl_event_elem_get_index_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +int (*snd_ctl_elem_list_alloc_space_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*, unsigned int); +void (*snd_ctl_elem_list_free_space_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*); +char* (*snd_ctl_ascii_elem_id_get_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*); +int (*snd_ctl_ascii_elem_id_parse_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*,const char*); +int (*snd_ctl_ascii_value_parse_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_value_t*, snd_ctl_elem_info_t*,const char*); +size_t (*snd_ctl_elem_id_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_ctl_elem_id_malloc_dylibloader_wrapper_asound)( snd_ctl_elem_id_t**); +void (*snd_ctl_elem_id_free_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*); +void (*snd_ctl_elem_id_clear_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*); +void (*snd_ctl_elem_id_copy_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*,const snd_ctl_elem_id_t*); +unsigned int (*snd_ctl_elem_id_get_numid_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +snd_ctl_elem_iface_t (*snd_ctl_elem_id_get_interface_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +unsigned int (*snd_ctl_elem_id_get_device_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +unsigned int (*snd_ctl_elem_id_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +const char* (*snd_ctl_elem_id_get_name_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +unsigned int (*snd_ctl_elem_id_get_index_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +void (*snd_ctl_elem_id_set_numid_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, unsigned int); +void (*snd_ctl_elem_id_set_interface_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, snd_ctl_elem_iface_t); +void (*snd_ctl_elem_id_set_device_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, unsigned int); +void (*snd_ctl_elem_id_set_subdevice_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, unsigned int); +void (*snd_ctl_elem_id_set_name_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*,const char*); +void (*snd_ctl_elem_id_set_index_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, unsigned int); +size_t (*snd_ctl_card_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_ctl_card_info_malloc_dylibloader_wrapper_asound)( snd_ctl_card_info_t**); +void (*snd_ctl_card_info_free_dylibloader_wrapper_asound)( snd_ctl_card_info_t*); +void (*snd_ctl_card_info_clear_dylibloader_wrapper_asound)( snd_ctl_card_info_t*); +void (*snd_ctl_card_info_copy_dylibloader_wrapper_asound)( snd_ctl_card_info_t*,const snd_ctl_card_info_t*); +int (*snd_ctl_card_info_get_card_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +const char* (*snd_ctl_card_info_get_id_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +const char* (*snd_ctl_card_info_get_driver_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +const char* (*snd_ctl_card_info_get_name_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +const char* (*snd_ctl_card_info_get_longname_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +const char* (*snd_ctl_card_info_get_mixername_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +const char* (*snd_ctl_card_info_get_components_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +size_t (*snd_ctl_event_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_ctl_event_malloc_dylibloader_wrapper_asound)( snd_ctl_event_t**); +void (*snd_ctl_event_free_dylibloader_wrapper_asound)( snd_ctl_event_t*); +void (*snd_ctl_event_clear_dylibloader_wrapper_asound)( snd_ctl_event_t*); +void (*snd_ctl_event_copy_dylibloader_wrapper_asound)( snd_ctl_event_t*,const snd_ctl_event_t*); +snd_ctl_event_type_t (*snd_ctl_event_get_type_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +size_t (*snd_ctl_elem_list_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_ctl_elem_list_malloc_dylibloader_wrapper_asound)( snd_ctl_elem_list_t**); +void (*snd_ctl_elem_list_free_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*); +void (*snd_ctl_elem_list_clear_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*); +void (*snd_ctl_elem_list_copy_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*,const snd_ctl_elem_list_t*); +void (*snd_ctl_elem_list_set_offset_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*, unsigned int); +unsigned int (*snd_ctl_elem_list_get_used_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*); +unsigned int (*snd_ctl_elem_list_get_count_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*); +void (*snd_ctl_elem_list_get_id_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int, snd_ctl_elem_id_t*); +unsigned int (*snd_ctl_elem_list_get_numid_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +snd_ctl_elem_iface_t (*snd_ctl_elem_list_get_interface_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +unsigned int (*snd_ctl_elem_list_get_device_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +unsigned int (*snd_ctl_elem_list_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +const char* (*snd_ctl_elem_list_get_name_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +unsigned int (*snd_ctl_elem_list_get_index_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +size_t (*snd_ctl_elem_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_ctl_elem_info_malloc_dylibloader_wrapper_asound)( snd_ctl_elem_info_t**); +void (*snd_ctl_elem_info_free_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*); +void (*snd_ctl_elem_info_clear_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*); +void (*snd_ctl_elem_info_copy_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*,const snd_ctl_elem_info_t*); +snd_ctl_elem_type_t (*snd_ctl_elem_info_get_type_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_readable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_writable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_volatile_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_inactive_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_locked_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_tlv_readable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_tlv_writable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_tlv_commandable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_owner_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_is_user_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +pid_t (*snd_ctl_elem_info_get_owner_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +unsigned int (*snd_ctl_elem_info_get_count_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +long (*snd_ctl_elem_info_get_min_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +long (*snd_ctl_elem_info_get_max_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +long (*snd_ctl_elem_info_get_step_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +long long (*snd_ctl_elem_info_get_min64_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +long long (*snd_ctl_elem_info_get_max64_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +long long (*snd_ctl_elem_info_get_step64_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +unsigned int (*snd_ctl_elem_info_get_items_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +void (*snd_ctl_elem_info_set_item_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +const char* (*snd_ctl_elem_info_get_item_name_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_get_dimensions_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +int (*snd_ctl_elem_info_get_dimension_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*, unsigned int); +int (*snd_ctl_elem_info_set_dimension_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*,const int [4]); +void (*snd_ctl_elem_info_get_id_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*, snd_ctl_elem_id_t*); +unsigned int (*snd_ctl_elem_info_get_numid_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +snd_ctl_elem_iface_t (*snd_ctl_elem_info_get_interface_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +unsigned int (*snd_ctl_elem_info_get_device_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +unsigned int (*snd_ctl_elem_info_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +const char* (*snd_ctl_elem_info_get_name_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +unsigned int (*snd_ctl_elem_info_get_index_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +void (*snd_ctl_elem_info_set_id_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*,const snd_ctl_elem_id_t*); +void (*snd_ctl_elem_info_set_numid_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +void (*snd_ctl_elem_info_set_interface_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, snd_ctl_elem_iface_t); +void (*snd_ctl_elem_info_set_device_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +void (*snd_ctl_elem_info_set_subdevice_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +void (*snd_ctl_elem_info_set_name_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*,const char*); +void (*snd_ctl_elem_info_set_index_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +int (*snd_ctl_add_integer_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, long, long, long); +int (*snd_ctl_add_integer64_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, long long, long long, long long); +int (*snd_ctl_add_boolean_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int); +int (*snd_ctl_add_enumerated_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, unsigned int,const char* []); +int (*snd_ctl_add_bytes_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int); +int (*snd_ctl_elem_add_integer_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, long, long, long); +int (*snd_ctl_elem_add_integer64_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, long long, long long, long long); +int (*snd_ctl_elem_add_boolean_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int); +int (*snd_ctl_elem_add_enumerated_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, unsigned int,const char* []); +int (*snd_ctl_elem_add_iec958_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*); +int (*snd_ctl_elem_remove_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_id_t*); +size_t (*snd_ctl_elem_value_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_ctl_elem_value_malloc_dylibloader_wrapper_asound)( snd_ctl_elem_value_t**); +void (*snd_ctl_elem_value_free_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*); +void (*snd_ctl_elem_value_clear_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*); +void (*snd_ctl_elem_value_copy_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const snd_ctl_elem_value_t*); +int (*snd_ctl_elem_value_compare_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const snd_ctl_elem_value_t*); +void (*snd_ctl_elem_value_get_id_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, snd_ctl_elem_id_t*); +unsigned int (*snd_ctl_elem_value_get_numid_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +snd_ctl_elem_iface_t (*snd_ctl_elem_value_get_interface_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +unsigned int (*snd_ctl_elem_value_get_device_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +unsigned int (*snd_ctl_elem_value_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +const char* (*snd_ctl_elem_value_get_name_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +unsigned int (*snd_ctl_elem_value_get_index_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +void (*snd_ctl_elem_value_set_id_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const snd_ctl_elem_id_t*); +void (*snd_ctl_elem_value_set_numid_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int); +void (*snd_ctl_elem_value_set_interface_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, snd_ctl_elem_iface_t); +void (*snd_ctl_elem_value_set_device_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int); +void (*snd_ctl_elem_value_set_subdevice_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int); +void (*snd_ctl_elem_value_set_name_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const char*); +void (*snd_ctl_elem_value_set_index_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int); +int (*snd_ctl_elem_value_get_boolean_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +long (*snd_ctl_elem_value_get_integer_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +long long (*snd_ctl_elem_value_get_integer64_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +unsigned int (*snd_ctl_elem_value_get_enumerated_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +unsigned char (*snd_ctl_elem_value_get_byte_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +void (*snd_ctl_elem_value_set_boolean_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, long); +void (*snd_ctl_elem_value_set_integer_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, long); +void (*snd_ctl_elem_value_set_integer64_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, long long); +void (*snd_ctl_elem_value_set_enumerated_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, unsigned int); +void (*snd_ctl_elem_value_set_byte_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, unsigned char); +void (*snd_ctl_elem_set_bytes_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, void*, size_t); +const void* (*snd_ctl_elem_value_get_bytes_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +void (*snd_ctl_elem_value_get_iec958_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, snd_aes_iec958_t*); +void (*snd_ctl_elem_value_set_iec958_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const snd_aes_iec958_t*); +int (*snd_tlv_parse_dB_info_dylibloader_wrapper_asound)( unsigned int*, unsigned int, unsigned int**); +int (*snd_tlv_get_dB_range_dylibloader_wrapper_asound)( unsigned int*, long, long, long*, long*); +int (*snd_tlv_convert_to_dB_dylibloader_wrapper_asound)( unsigned int*, long, long, long, long*); +int (*snd_tlv_convert_from_dB_dylibloader_wrapper_asound)( unsigned int*, long, long, long, long*, int); +int (*snd_ctl_get_dB_range_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, long*, long*); +int (*snd_ctl_convert_to_dB_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, long, long*); +int (*snd_ctl_convert_from_dB_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, long, long*, int); +int (*snd_hctl_compare_fast_dylibloader_wrapper_asound)(const snd_hctl_elem_t*,const snd_hctl_elem_t*); +int (*snd_hctl_open_dylibloader_wrapper_asound)( snd_hctl_t**,const char*, int); +int (*snd_hctl_open_ctl_dylibloader_wrapper_asound)( snd_hctl_t**, snd_ctl_t*); +int (*snd_hctl_close_dylibloader_wrapper_asound)( snd_hctl_t*); +int (*snd_hctl_nonblock_dylibloader_wrapper_asound)( snd_hctl_t*, int); +int (*snd_hctl_poll_descriptors_count_dylibloader_wrapper_asound)( snd_hctl_t*); +int (*snd_hctl_poll_descriptors_dylibloader_wrapper_asound)( snd_hctl_t*,struct pollfd*, unsigned int); +int (*snd_hctl_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_hctl_t*,struct pollfd*, unsigned int, unsigned short*); +unsigned int (*snd_hctl_get_count_dylibloader_wrapper_asound)( snd_hctl_t*); +int (*snd_hctl_set_compare_dylibloader_wrapper_asound)( snd_hctl_t*, snd_hctl_compare_t); +snd_hctl_elem_t* (*snd_hctl_first_elem_dylibloader_wrapper_asound)( snd_hctl_t*); +snd_hctl_elem_t* (*snd_hctl_last_elem_dylibloader_wrapper_asound)( snd_hctl_t*); +snd_hctl_elem_t* (*snd_hctl_find_elem_dylibloader_wrapper_asound)( snd_hctl_t*,const snd_ctl_elem_id_t*); +void (*snd_hctl_set_callback_dylibloader_wrapper_asound)( snd_hctl_t*, snd_hctl_callback_t); +void (*snd_hctl_set_callback_private_dylibloader_wrapper_asound)( snd_hctl_t*, void*); +void* (*snd_hctl_get_callback_private_dylibloader_wrapper_asound)( snd_hctl_t*); +int (*snd_hctl_load_dylibloader_wrapper_asound)( snd_hctl_t*); +int (*snd_hctl_free_dylibloader_wrapper_asound)( snd_hctl_t*); +int (*snd_hctl_handle_events_dylibloader_wrapper_asound)( snd_hctl_t*); +const char* (*snd_hctl_name_dylibloader_wrapper_asound)( snd_hctl_t*); +int (*snd_hctl_wait_dylibloader_wrapper_asound)( snd_hctl_t*, int); +snd_ctl_t* (*snd_hctl_ctl_dylibloader_wrapper_asound)( snd_hctl_t*); +snd_hctl_elem_t* (*snd_hctl_elem_next_dylibloader_wrapper_asound)( snd_hctl_elem_t*); +snd_hctl_elem_t* (*snd_hctl_elem_prev_dylibloader_wrapper_asound)( snd_hctl_elem_t*); +int (*snd_hctl_elem_info_dylibloader_wrapper_asound)( snd_hctl_elem_t*, snd_ctl_elem_info_t*); +int (*snd_hctl_elem_read_dylibloader_wrapper_asound)( snd_hctl_elem_t*, snd_ctl_elem_value_t*); +int (*snd_hctl_elem_write_dylibloader_wrapper_asound)( snd_hctl_elem_t*, snd_ctl_elem_value_t*); +int (*snd_hctl_elem_tlv_read_dylibloader_wrapper_asound)( snd_hctl_elem_t*, unsigned int*, unsigned int); +int (*snd_hctl_elem_tlv_write_dylibloader_wrapper_asound)( snd_hctl_elem_t*,const unsigned int*); +int (*snd_hctl_elem_tlv_command_dylibloader_wrapper_asound)( snd_hctl_elem_t*,const unsigned int*); +snd_hctl_t* (*snd_hctl_elem_get_hctl_dylibloader_wrapper_asound)( snd_hctl_elem_t*); +void (*snd_hctl_elem_get_id_dylibloader_wrapper_asound)(const snd_hctl_elem_t*, snd_ctl_elem_id_t*); +unsigned int (*snd_hctl_elem_get_numid_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +snd_ctl_elem_iface_t (*snd_hctl_elem_get_interface_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +unsigned int (*snd_hctl_elem_get_device_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +unsigned int (*snd_hctl_elem_get_subdevice_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +const char* (*snd_hctl_elem_get_name_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +unsigned int (*snd_hctl_elem_get_index_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +void (*snd_hctl_elem_set_callback_dylibloader_wrapper_asound)( snd_hctl_elem_t*, snd_hctl_elem_callback_t); +void* (*snd_hctl_elem_get_callback_private_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +void (*snd_hctl_elem_set_callback_private_dylibloader_wrapper_asound)( snd_hctl_elem_t*, void*); +int (*snd_sctl_build_dylibloader_wrapper_asound)( snd_sctl_t**, snd_ctl_t*, snd_config_t*, snd_config_t*, int); +int (*snd_sctl_free_dylibloader_wrapper_asound)( snd_sctl_t*); +int (*snd_sctl_install_dylibloader_wrapper_asound)( snd_sctl_t*); +int (*snd_sctl_remove_dylibloader_wrapper_asound)( snd_sctl_t*); +int (*snd_mixer_open_dylibloader_wrapper_asound)( snd_mixer_t**, int); +int (*snd_mixer_close_dylibloader_wrapper_asound)( snd_mixer_t*); +snd_mixer_elem_t* (*snd_mixer_first_elem_dylibloader_wrapper_asound)( snd_mixer_t*); +snd_mixer_elem_t* (*snd_mixer_last_elem_dylibloader_wrapper_asound)( snd_mixer_t*); +int (*snd_mixer_handle_events_dylibloader_wrapper_asound)( snd_mixer_t*); +int (*snd_mixer_attach_dylibloader_wrapper_asound)( snd_mixer_t*,const char*); +int (*snd_mixer_attach_hctl_dylibloader_wrapper_asound)( snd_mixer_t*, snd_hctl_t*); +int (*snd_mixer_detach_dylibloader_wrapper_asound)( snd_mixer_t*,const char*); +int (*snd_mixer_detach_hctl_dylibloader_wrapper_asound)( snd_mixer_t*, snd_hctl_t*); +int (*snd_mixer_get_hctl_dylibloader_wrapper_asound)( snd_mixer_t*,const char*, snd_hctl_t**); +int (*snd_mixer_poll_descriptors_count_dylibloader_wrapper_asound)( snd_mixer_t*); +int (*snd_mixer_poll_descriptors_dylibloader_wrapper_asound)( snd_mixer_t*,struct pollfd*, unsigned int); +int (*snd_mixer_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_mixer_t*,struct pollfd*, unsigned int, unsigned short*); +int (*snd_mixer_load_dylibloader_wrapper_asound)( snd_mixer_t*); +void (*snd_mixer_free_dylibloader_wrapper_asound)( snd_mixer_t*); +int (*snd_mixer_wait_dylibloader_wrapper_asound)( snd_mixer_t*, int); +int (*snd_mixer_set_compare_dylibloader_wrapper_asound)( snd_mixer_t*, snd_mixer_compare_t); +void (*snd_mixer_set_callback_dylibloader_wrapper_asound)( snd_mixer_t*, snd_mixer_callback_t); +void* (*snd_mixer_get_callback_private_dylibloader_wrapper_asound)(const snd_mixer_t*); +void (*snd_mixer_set_callback_private_dylibloader_wrapper_asound)( snd_mixer_t*, void*); +unsigned int (*snd_mixer_get_count_dylibloader_wrapper_asound)(const snd_mixer_t*); +int (*snd_mixer_class_unregister_dylibloader_wrapper_asound)( snd_mixer_class_t*); +snd_mixer_elem_t* (*snd_mixer_elem_next_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +snd_mixer_elem_t* (*snd_mixer_elem_prev_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +void (*snd_mixer_elem_set_callback_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_elem_callback_t); +void* (*snd_mixer_elem_get_callback_private_dylibloader_wrapper_asound)(const snd_mixer_elem_t*); +void (*snd_mixer_elem_set_callback_private_dylibloader_wrapper_asound)( snd_mixer_elem_t*, void*); +snd_mixer_elem_type_t (*snd_mixer_elem_get_type_dylibloader_wrapper_asound)(const snd_mixer_elem_t*); +int (*snd_mixer_class_register_dylibloader_wrapper_asound)( snd_mixer_class_t*, snd_mixer_t*); +int (*snd_mixer_elem_new_dylibloader_wrapper_asound)( snd_mixer_elem_t**, snd_mixer_elem_type_t, int, void*, void*); +int (*snd_mixer_elem_add_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_class_t*); +int (*snd_mixer_elem_remove_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +void (*snd_mixer_elem_free_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_elem_info_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_elem_value_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_elem_attach_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_hctl_elem_t*); +int (*snd_mixer_elem_detach_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_hctl_elem_t*); +int (*snd_mixer_elem_empty_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +void* (*snd_mixer_elem_get_private_dylibloader_wrapper_asound)(const snd_mixer_elem_t*); +size_t (*snd_mixer_class_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_mixer_class_malloc_dylibloader_wrapper_asound)( snd_mixer_class_t**); +void (*snd_mixer_class_free_dylibloader_wrapper_asound)( snd_mixer_class_t*); +void (*snd_mixer_class_copy_dylibloader_wrapper_asound)( snd_mixer_class_t*,const snd_mixer_class_t*); +snd_mixer_t* (*snd_mixer_class_get_mixer_dylibloader_wrapper_asound)(const snd_mixer_class_t*); +snd_mixer_event_t (*snd_mixer_class_get_event_dylibloader_wrapper_asound)(const snd_mixer_class_t*); +void* (*snd_mixer_class_get_private_dylibloader_wrapper_asound)(const snd_mixer_class_t*); +snd_mixer_compare_t (*snd_mixer_class_get_compare_dylibloader_wrapper_asound)(const snd_mixer_class_t*); +int (*snd_mixer_class_set_event_dylibloader_wrapper_asound)( snd_mixer_class_t*, snd_mixer_event_t); +int (*snd_mixer_class_set_private_dylibloader_wrapper_asound)( snd_mixer_class_t*, void*); +int (*snd_mixer_class_set_private_free_dylibloader_wrapper_asound)( snd_mixer_class_t*, void*); +int (*snd_mixer_class_set_compare_dylibloader_wrapper_asound)( snd_mixer_class_t*, snd_mixer_compare_t); +const char* (*snd_mixer_selem_channel_name_dylibloader_wrapper_asound)( snd_mixer_selem_channel_id_t); +int (*snd_mixer_selem_register_dylibloader_wrapper_asound)( snd_mixer_t*,struct snd_mixer_selem_regopt*, snd_mixer_class_t**); +void (*snd_mixer_selem_get_id_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_id_t*); +const char* (*snd_mixer_selem_get_name_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +unsigned int (*snd_mixer_selem_get_index_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +snd_mixer_elem_t* (*snd_mixer_find_selem_dylibloader_wrapper_asound)( snd_mixer_t*,const snd_mixer_selem_id_t*); +int (*snd_mixer_selem_is_active_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_is_playback_mono_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_playback_channel_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t); +int (*snd_mixer_selem_is_capture_mono_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_capture_channel_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t); +int (*snd_mixer_selem_get_capture_group_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_common_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_playback_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_playback_volume_joined_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_capture_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_capture_volume_joined_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_common_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_playback_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_playback_switch_joined_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_capture_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_capture_switch_joined_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_has_capture_switch_exclusive_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_ask_playback_vol_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, long*); +int (*snd_mixer_selem_ask_capture_vol_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, long*); +int (*snd_mixer_selem_ask_playback_dB_vol_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, int, long*); +int (*snd_mixer_selem_ask_capture_dB_vol_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, int, long*); +int (*snd_mixer_selem_get_playback_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*); +int (*snd_mixer_selem_get_capture_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*); +int (*snd_mixer_selem_get_playback_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*); +int (*snd_mixer_selem_get_capture_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*); +int (*snd_mixer_selem_get_playback_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int*); +int (*snd_mixer_selem_get_capture_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int*); +int (*snd_mixer_selem_set_playback_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long); +int (*snd_mixer_selem_set_capture_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long); +int (*snd_mixer_selem_set_playback_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long, int); +int (*snd_mixer_selem_set_capture_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long, int); +int (*snd_mixer_selem_set_playback_volume_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long); +int (*snd_mixer_selem_set_capture_volume_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long); +int (*snd_mixer_selem_set_playback_dB_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, int); +int (*snd_mixer_selem_set_capture_dB_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, int); +int (*snd_mixer_selem_set_playback_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int); +int (*snd_mixer_selem_set_capture_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int); +int (*snd_mixer_selem_set_playback_switch_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, int); +int (*snd_mixer_selem_set_capture_switch_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, int); +int (*snd_mixer_selem_get_playback_volume_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long*, long*); +int (*snd_mixer_selem_get_playback_dB_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long*, long*); +int (*snd_mixer_selem_set_playback_volume_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, long); +int (*snd_mixer_selem_get_capture_volume_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long*, long*); +int (*snd_mixer_selem_get_capture_dB_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long*, long*); +int (*snd_mixer_selem_set_capture_volume_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, long); +int (*snd_mixer_selem_is_enumerated_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_is_enum_playback_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_is_enum_capture_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_get_enum_items_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +int (*snd_mixer_selem_get_enum_item_name_dylibloader_wrapper_asound)( snd_mixer_elem_t*, unsigned int, size_t, char*); +int (*snd_mixer_selem_get_enum_item_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, unsigned int*); +int (*snd_mixer_selem_set_enum_item_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, unsigned int); +size_t (*snd_mixer_selem_id_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_mixer_selem_id_malloc_dylibloader_wrapper_asound)( snd_mixer_selem_id_t**); +void (*snd_mixer_selem_id_free_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*); +void (*snd_mixer_selem_id_copy_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*,const snd_mixer_selem_id_t*); +const char* (*snd_mixer_selem_id_get_name_dylibloader_wrapper_asound)(const snd_mixer_selem_id_t*); +unsigned int (*snd_mixer_selem_id_get_index_dylibloader_wrapper_asound)(const snd_mixer_selem_id_t*); +void (*snd_mixer_selem_id_set_name_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*,const char*); +void (*snd_mixer_selem_id_set_index_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*, unsigned int); +int (*snd_mixer_selem_id_parse_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*,const char*); +int (*snd_seq_open_dylibloader_wrapper_asound)( snd_seq_t**,const char*, int, int); +int (*snd_seq_open_lconf_dylibloader_wrapper_asound)( snd_seq_t**,const char*, int, int, snd_config_t*); +const char* (*snd_seq_name_dylibloader_wrapper_asound)( snd_seq_t*); +snd_seq_type_t (*snd_seq_type_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_close_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_poll_descriptors_count_dylibloader_wrapper_asound)( snd_seq_t*, short); +int (*snd_seq_poll_descriptors_dylibloader_wrapper_asound)( snd_seq_t*,struct pollfd*, unsigned int, short); +int (*snd_seq_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_seq_t*,struct pollfd*, unsigned int, unsigned short*); +int (*snd_seq_nonblock_dylibloader_wrapper_asound)( snd_seq_t*, int); +int (*snd_seq_client_id_dylibloader_wrapper_asound)( snd_seq_t*); +size_t (*snd_seq_get_output_buffer_size_dylibloader_wrapper_asound)( snd_seq_t*); +size_t (*snd_seq_get_input_buffer_size_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_set_output_buffer_size_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +int (*snd_seq_set_input_buffer_size_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +size_t (*snd_seq_system_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_system_info_malloc_dylibloader_wrapper_asound)( snd_seq_system_info_t**); +void (*snd_seq_system_info_free_dylibloader_wrapper_asound)( snd_seq_system_info_t*); +void (*snd_seq_system_info_copy_dylibloader_wrapper_asound)( snd_seq_system_info_t*,const snd_seq_system_info_t*); +int (*snd_seq_system_info_get_queues_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +int (*snd_seq_system_info_get_clients_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +int (*snd_seq_system_info_get_ports_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +int (*snd_seq_system_info_get_channels_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +int (*snd_seq_system_info_get_cur_clients_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +int (*snd_seq_system_info_get_cur_queues_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +int (*snd_seq_system_info_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_system_info_t*); +size_t (*snd_seq_client_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_client_info_malloc_dylibloader_wrapper_asound)( snd_seq_client_info_t**); +void (*snd_seq_client_info_free_dylibloader_wrapper_asound)( snd_seq_client_info_t*); +void (*snd_seq_client_info_copy_dylibloader_wrapper_asound)( snd_seq_client_info_t*,const snd_seq_client_info_t*); +int (*snd_seq_client_info_get_client_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +snd_seq_client_type_t (*snd_seq_client_info_get_type_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +const char* (*snd_seq_client_info_get_name_dylibloader_wrapper_asound)( snd_seq_client_info_t*); +int (*snd_seq_client_info_get_broadcast_filter_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +int (*snd_seq_client_info_get_error_bounce_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +int (*snd_seq_client_info_get_card_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +int (*snd_seq_client_info_get_pid_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +const unsigned char* (*snd_seq_client_info_get_event_filter_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +int (*snd_seq_client_info_get_num_ports_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +int (*snd_seq_client_info_get_event_lost_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +void (*snd_seq_client_info_set_client_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +void (*snd_seq_client_info_set_name_dylibloader_wrapper_asound)( snd_seq_client_info_t*,const char*); +void (*snd_seq_client_info_set_broadcast_filter_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +void (*snd_seq_client_info_set_error_bounce_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +void (*snd_seq_client_info_set_event_filter_dylibloader_wrapper_asound)( snd_seq_client_info_t*, unsigned char*); +void (*snd_seq_client_info_event_filter_clear_dylibloader_wrapper_asound)( snd_seq_client_info_t*); +void (*snd_seq_client_info_event_filter_add_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +void (*snd_seq_client_info_event_filter_del_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +int (*snd_seq_client_info_event_filter_check_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +int (*snd_seq_get_client_info_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_info_t*); +int (*snd_seq_get_any_client_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_client_info_t*); +int (*snd_seq_set_client_info_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_info_t*); +int (*snd_seq_query_next_client_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_info_t*); +size_t (*snd_seq_client_pool_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_client_pool_malloc_dylibloader_wrapper_asound)( snd_seq_client_pool_t**); +void (*snd_seq_client_pool_free_dylibloader_wrapper_asound)( snd_seq_client_pool_t*); +void (*snd_seq_client_pool_copy_dylibloader_wrapper_asound)( snd_seq_client_pool_t*,const snd_seq_client_pool_t*); +int (*snd_seq_client_pool_get_client_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +size_t (*snd_seq_client_pool_get_output_pool_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +size_t (*snd_seq_client_pool_get_input_pool_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +size_t (*snd_seq_client_pool_get_output_room_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +size_t (*snd_seq_client_pool_get_output_free_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +size_t (*snd_seq_client_pool_get_input_free_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +void (*snd_seq_client_pool_set_output_pool_dylibloader_wrapper_asound)( snd_seq_client_pool_t*, size_t); +void (*snd_seq_client_pool_set_input_pool_dylibloader_wrapper_asound)( snd_seq_client_pool_t*, size_t); +void (*snd_seq_client_pool_set_output_room_dylibloader_wrapper_asound)( snd_seq_client_pool_t*, size_t); +int (*snd_seq_get_client_pool_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_pool_t*); +int (*snd_seq_set_client_pool_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_pool_t*); +size_t (*snd_seq_port_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_port_info_malloc_dylibloader_wrapper_asound)( snd_seq_port_info_t**); +void (*snd_seq_port_info_free_dylibloader_wrapper_asound)( snd_seq_port_info_t*); +void (*snd_seq_port_info_copy_dylibloader_wrapper_asound)( snd_seq_port_info_t*,const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_client_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_port_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +const snd_seq_addr_t* (*snd_seq_port_info_get_addr_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +const char* (*snd_seq_port_info_get_name_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +unsigned int (*snd_seq_port_info_get_capability_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +unsigned int (*snd_seq_port_info_get_type_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_midi_channels_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_midi_voices_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_synth_voices_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_read_use_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_write_use_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_port_specified_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_timestamping_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_timestamp_real_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +int (*snd_seq_port_info_get_timestamp_queue_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +void (*snd_seq_port_info_set_client_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +void (*snd_seq_port_info_set_port_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +void (*snd_seq_port_info_set_addr_dylibloader_wrapper_asound)( snd_seq_port_info_t*,const snd_seq_addr_t*); +void (*snd_seq_port_info_set_name_dylibloader_wrapper_asound)( snd_seq_port_info_t*,const char*); +void (*snd_seq_port_info_set_capability_dylibloader_wrapper_asound)( snd_seq_port_info_t*, unsigned int); +void (*snd_seq_port_info_set_type_dylibloader_wrapper_asound)( snd_seq_port_info_t*, unsigned int); +void (*snd_seq_port_info_set_midi_channels_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +void (*snd_seq_port_info_set_midi_voices_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +void (*snd_seq_port_info_set_synth_voices_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +void (*snd_seq_port_info_set_port_specified_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +void (*snd_seq_port_info_set_timestamping_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +void (*snd_seq_port_info_set_timestamp_real_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +void (*snd_seq_port_info_set_timestamp_queue_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +int (*snd_seq_create_port_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_info_t*); +int (*snd_seq_delete_port_dylibloader_wrapper_asound)( snd_seq_t*, int); +int (*snd_seq_get_port_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_port_info_t*); +int (*snd_seq_get_any_port_info_dylibloader_wrapper_asound)( snd_seq_t*, int, int, snd_seq_port_info_t*); +int (*snd_seq_set_port_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_port_info_t*); +int (*snd_seq_query_next_port_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_info_t*); +size_t (*snd_seq_port_subscribe_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_port_subscribe_malloc_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t**); +void (*snd_seq_port_subscribe_free_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*); +void (*snd_seq_port_subscribe_copy_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*,const snd_seq_port_subscribe_t*); +const snd_seq_addr_t* (*snd_seq_port_subscribe_get_sender_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +const snd_seq_addr_t* (*snd_seq_port_subscribe_get_dest_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +int (*snd_seq_port_subscribe_get_queue_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +int (*snd_seq_port_subscribe_get_exclusive_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +int (*snd_seq_port_subscribe_get_time_update_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +int (*snd_seq_port_subscribe_get_time_real_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +void (*snd_seq_port_subscribe_set_sender_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*,const snd_seq_addr_t*); +void (*snd_seq_port_subscribe_set_dest_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*,const snd_seq_addr_t*); +void (*snd_seq_port_subscribe_set_queue_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*, int); +void (*snd_seq_port_subscribe_set_exclusive_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*, int); +void (*snd_seq_port_subscribe_set_time_update_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*, int); +void (*snd_seq_port_subscribe_set_time_real_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*, int); +int (*snd_seq_get_port_subscription_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_subscribe_t*); +int (*snd_seq_subscribe_port_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_subscribe_t*); +int (*snd_seq_unsubscribe_port_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_subscribe_t*); +size_t (*snd_seq_query_subscribe_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_query_subscribe_malloc_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t**); +void (*snd_seq_query_subscribe_free_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*); +void (*snd_seq_query_subscribe_copy_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*,const snd_seq_query_subscribe_t*); +int (*snd_seq_query_subscribe_get_client_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +int (*snd_seq_query_subscribe_get_port_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +const snd_seq_addr_t* (*snd_seq_query_subscribe_get_root_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +snd_seq_query_subs_type_t (*snd_seq_query_subscribe_get_type_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +int (*snd_seq_query_subscribe_get_index_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +int (*snd_seq_query_subscribe_get_num_subs_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +const snd_seq_addr_t* (*snd_seq_query_subscribe_get_addr_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +int (*snd_seq_query_subscribe_get_queue_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +int (*snd_seq_query_subscribe_get_exclusive_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +int (*snd_seq_query_subscribe_get_time_update_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +int (*snd_seq_query_subscribe_get_time_real_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +void (*snd_seq_query_subscribe_set_client_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*, int); +void (*snd_seq_query_subscribe_set_port_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*, int); +void (*snd_seq_query_subscribe_set_root_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*,const snd_seq_addr_t*); +void (*snd_seq_query_subscribe_set_type_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*, snd_seq_query_subs_type_t); +void (*snd_seq_query_subscribe_set_index_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*, int); +int (*snd_seq_query_port_subscribers_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_query_subscribe_t*); +size_t (*snd_seq_queue_info_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_queue_info_malloc_dylibloader_wrapper_asound)( snd_seq_queue_info_t**); +void (*snd_seq_queue_info_free_dylibloader_wrapper_asound)( snd_seq_queue_info_t*); +void (*snd_seq_queue_info_copy_dylibloader_wrapper_asound)( snd_seq_queue_info_t*,const snd_seq_queue_info_t*); +int (*snd_seq_queue_info_get_queue_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +const char* (*snd_seq_queue_info_get_name_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +int (*snd_seq_queue_info_get_owner_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +int (*snd_seq_queue_info_get_locked_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +unsigned int (*snd_seq_queue_info_get_flags_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +void (*snd_seq_queue_info_set_name_dylibloader_wrapper_asound)( snd_seq_queue_info_t*,const char*); +void (*snd_seq_queue_info_set_owner_dylibloader_wrapper_asound)( snd_seq_queue_info_t*, int); +void (*snd_seq_queue_info_set_locked_dylibloader_wrapper_asound)( snd_seq_queue_info_t*, int); +void (*snd_seq_queue_info_set_flags_dylibloader_wrapper_asound)( snd_seq_queue_info_t*, unsigned int); +int (*snd_seq_create_queue_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_queue_info_t*); +int (*snd_seq_alloc_named_queue_dylibloader_wrapper_asound)( snd_seq_t*,const char*); +int (*snd_seq_alloc_queue_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_free_queue_dylibloader_wrapper_asound)( snd_seq_t*, int); +int (*snd_seq_get_queue_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_info_t*); +int (*snd_seq_set_queue_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_info_t*); +int (*snd_seq_query_named_queue_dylibloader_wrapper_asound)( snd_seq_t*,const char*); +int (*snd_seq_get_queue_usage_dylibloader_wrapper_asound)( snd_seq_t*, int); +int (*snd_seq_set_queue_usage_dylibloader_wrapper_asound)( snd_seq_t*, int, int); +size_t (*snd_seq_queue_status_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_queue_status_malloc_dylibloader_wrapper_asound)( snd_seq_queue_status_t**); +void (*snd_seq_queue_status_free_dylibloader_wrapper_asound)( snd_seq_queue_status_t*); +void (*snd_seq_queue_status_copy_dylibloader_wrapper_asound)( snd_seq_queue_status_t*,const snd_seq_queue_status_t*); +int (*snd_seq_queue_status_get_queue_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +int (*snd_seq_queue_status_get_events_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +snd_seq_tick_time_t (*snd_seq_queue_status_get_tick_time_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +const snd_seq_real_time_t* (*snd_seq_queue_status_get_real_time_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +unsigned int (*snd_seq_queue_status_get_status_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +int (*snd_seq_get_queue_status_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_status_t*); +size_t (*snd_seq_queue_tempo_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_queue_tempo_malloc_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t**); +void (*snd_seq_queue_tempo_free_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*); +void (*snd_seq_queue_tempo_copy_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*,const snd_seq_queue_tempo_t*); +int (*snd_seq_queue_tempo_get_queue_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +unsigned int (*snd_seq_queue_tempo_get_tempo_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +int (*snd_seq_queue_tempo_get_ppq_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +unsigned int (*snd_seq_queue_tempo_get_skew_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +unsigned int (*snd_seq_queue_tempo_get_skew_base_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +void (*snd_seq_queue_tempo_set_tempo_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*, unsigned int); +void (*snd_seq_queue_tempo_set_ppq_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*, int); +void (*snd_seq_queue_tempo_set_skew_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*, unsigned int); +void (*snd_seq_queue_tempo_set_skew_base_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*, unsigned int); +int (*snd_seq_get_queue_tempo_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_tempo_t*); +int (*snd_seq_set_queue_tempo_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_tempo_t*); +size_t (*snd_seq_queue_timer_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_queue_timer_malloc_dylibloader_wrapper_asound)( snd_seq_queue_timer_t**); +void (*snd_seq_queue_timer_free_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*); +void (*snd_seq_queue_timer_copy_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*,const snd_seq_queue_timer_t*); +int (*snd_seq_queue_timer_get_queue_dylibloader_wrapper_asound)(const snd_seq_queue_timer_t*); +snd_seq_queue_timer_type_t (*snd_seq_queue_timer_get_type_dylibloader_wrapper_asound)(const snd_seq_queue_timer_t*); +const snd_timer_id_t* (*snd_seq_queue_timer_get_id_dylibloader_wrapper_asound)(const snd_seq_queue_timer_t*); +unsigned int (*snd_seq_queue_timer_get_resolution_dylibloader_wrapper_asound)(const snd_seq_queue_timer_t*); +void (*snd_seq_queue_timer_set_type_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*, snd_seq_queue_timer_type_t); +void (*snd_seq_queue_timer_set_id_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*,const snd_timer_id_t*); +void (*snd_seq_queue_timer_set_resolution_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*, unsigned int); +int (*snd_seq_get_queue_timer_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_timer_t*); +int (*snd_seq_set_queue_timer_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_timer_t*); +int (*snd_seq_free_event_dylibloader_wrapper_asound)( snd_seq_event_t*); +ssize_t (*snd_seq_event_length_dylibloader_wrapper_asound)( snd_seq_event_t*); +int (*snd_seq_event_output_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t*); +int (*snd_seq_event_output_buffer_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t*); +int (*snd_seq_event_output_direct_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t*); +int (*snd_seq_event_input_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t**); +int (*snd_seq_event_input_pending_dylibloader_wrapper_asound)( snd_seq_t*, int); +int (*snd_seq_drain_output_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_event_output_pending_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_extract_output_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t**); +int (*snd_seq_drop_output_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_drop_output_buffer_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_drop_input_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_drop_input_buffer_dylibloader_wrapper_asound)( snd_seq_t*); +size_t (*snd_seq_remove_events_sizeof_dylibloader_wrapper_asound)( void); +int (*snd_seq_remove_events_malloc_dylibloader_wrapper_asound)( snd_seq_remove_events_t**); +void (*snd_seq_remove_events_free_dylibloader_wrapper_asound)( snd_seq_remove_events_t*); +void (*snd_seq_remove_events_copy_dylibloader_wrapper_asound)( snd_seq_remove_events_t*,const snd_seq_remove_events_t*); +unsigned int (*snd_seq_remove_events_get_condition_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +int (*snd_seq_remove_events_get_queue_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +const snd_seq_timestamp_t* (*snd_seq_remove_events_get_time_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +const snd_seq_addr_t* (*snd_seq_remove_events_get_dest_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +int (*snd_seq_remove_events_get_channel_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +int (*snd_seq_remove_events_get_event_type_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +int (*snd_seq_remove_events_get_tag_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +void (*snd_seq_remove_events_set_condition_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, unsigned int); +void (*snd_seq_remove_events_set_queue_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, int); +void (*snd_seq_remove_events_set_time_dylibloader_wrapper_asound)( snd_seq_remove_events_t*,const snd_seq_timestamp_t*); +void (*snd_seq_remove_events_set_dest_dylibloader_wrapper_asound)( snd_seq_remove_events_t*,const snd_seq_addr_t*); +void (*snd_seq_remove_events_set_channel_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, int); +void (*snd_seq_remove_events_set_event_type_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, int); +void (*snd_seq_remove_events_set_tag_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, int); +int (*snd_seq_remove_events_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_remove_events_t*); +void (*snd_seq_set_bit_dylibloader_wrapper_asound)( int, void*); +void (*snd_seq_unset_bit_dylibloader_wrapper_asound)( int, void*); +int (*snd_seq_change_bit_dylibloader_wrapper_asound)( int, void*); +int (*snd_seq_get_bit_dylibloader_wrapper_asound)( int, void*); +int (*snd_seq_control_queue_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int, snd_seq_event_t*); +int (*snd_seq_create_simple_port_dylibloader_wrapper_asound)( snd_seq_t*,const char*, unsigned int, unsigned int); +int (*snd_seq_delete_simple_port_dylibloader_wrapper_asound)( snd_seq_t*, int); +int (*snd_seq_connect_from_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int); +int (*snd_seq_connect_to_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int); +int (*snd_seq_disconnect_from_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int); +int (*snd_seq_disconnect_to_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int); +int (*snd_seq_set_client_name_dylibloader_wrapper_asound)( snd_seq_t*,const char*); +int (*snd_seq_set_client_event_filter_dylibloader_wrapper_asound)( snd_seq_t*, int); +int (*snd_seq_set_client_pool_output_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +int (*snd_seq_set_client_pool_output_room_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +int (*snd_seq_set_client_pool_input_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +int (*snd_seq_sync_output_queue_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_parse_address_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_addr_t*,const char*); +int (*snd_seq_reset_pool_output_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_seq_reset_pool_input_dylibloader_wrapper_asound)( snd_seq_t*); +int (*snd_midi_event_new_dylibloader_wrapper_asound)( size_t, snd_midi_event_t**); +int (*snd_midi_event_resize_buffer_dylibloader_wrapper_asound)( snd_midi_event_t*, size_t); +void (*snd_midi_event_free_dylibloader_wrapper_asound)( snd_midi_event_t*); +void (*snd_midi_event_init_dylibloader_wrapper_asound)( snd_midi_event_t*); +void (*snd_midi_event_reset_encode_dylibloader_wrapper_asound)( snd_midi_event_t*); +void (*snd_midi_event_reset_decode_dylibloader_wrapper_asound)( snd_midi_event_t*); +void (*snd_midi_event_no_status_dylibloader_wrapper_asound)( snd_midi_event_t*, int); +long (*snd_midi_event_encode_dylibloader_wrapper_asound)( snd_midi_event_t*,const unsigned char*, long, snd_seq_event_t*); +int (*snd_midi_event_encode_byte_dylibloader_wrapper_asound)( snd_midi_event_t*, int, snd_seq_event_t*); +long (*snd_midi_event_decode_dylibloader_wrapper_asound)( snd_midi_event_t*, unsigned char*, long,const snd_seq_event_t*); +int initialize_asound(int verbose) { + void *handle; + char *error; + handle = dlopen("libasound.so.2", RTLD_LAZY); + if (!handle) { + if (verbose) { + fprintf(stderr, "%s\n", dlerror()); + } + return(1); + } + dlerror(); +// snd_asoundlib_version + *(void **) (&snd_asoundlib_version_dylibloader_wrapper_asound) = dlsym(handle, "snd_asoundlib_version"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_dlpath + *(void **) (&snd_dlpath_dylibloader_wrapper_asound) = dlsym(handle, "snd_dlpath"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_dlopen + *(void **) (&snd_dlopen_dylibloader_wrapper_asound) = dlsym(handle, "snd_dlopen"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_dlsym + *(void **) (&snd_dlsym_dylibloader_wrapper_asound) = dlsym(handle, "snd_dlsym"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_dlclose + *(void **) (&snd_dlclose_dylibloader_wrapper_asound) = dlsym(handle, "snd_dlclose"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_add_handler + *(void **) (&snd_async_add_handler_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_add_handler"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_del_handler + *(void **) (&snd_async_del_handler_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_del_handler"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_handler_get_fd + *(void **) (&snd_async_handler_get_fd_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_handler_get_fd"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_handler_get_signo + *(void **) (&snd_async_handler_get_signo_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_handler_get_signo"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_handler_get_callback_private + *(void **) (&snd_async_handler_get_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_handler_get_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_shm_area_create + *(void **) (&snd_shm_area_create_dylibloader_wrapper_asound) = dlsym(handle, "snd_shm_area_create"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_shm_area_share + *(void **) (&snd_shm_area_share_dylibloader_wrapper_asound) = dlsym(handle, "snd_shm_area_share"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_shm_area_destroy + *(void **) (&snd_shm_area_destroy_dylibloader_wrapper_asound) = dlsym(handle, "snd_shm_area_destroy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_user_file + *(void **) (&snd_user_file_dylibloader_wrapper_asound) = dlsym(handle, "snd_user_file"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_input_stdio_open + *(void **) (&snd_input_stdio_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_input_stdio_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_input_stdio_attach + *(void **) (&snd_input_stdio_attach_dylibloader_wrapper_asound) = dlsym(handle, "snd_input_stdio_attach"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_input_buffer_open + *(void **) (&snd_input_buffer_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_input_buffer_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_input_close + *(void **) (&snd_input_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_input_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_input_scanf + *(void **) (&snd_input_scanf_dylibloader_wrapper_asound) = dlsym(handle, "snd_input_scanf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_input_gets + *(void **) (&snd_input_gets_dylibloader_wrapper_asound) = dlsym(handle, "snd_input_gets"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_input_getc + *(void **) (&snd_input_getc_dylibloader_wrapper_asound) = dlsym(handle, "snd_input_getc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_input_ungetc + *(void **) (&snd_input_ungetc_dylibloader_wrapper_asound) = dlsym(handle, "snd_input_ungetc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_stdio_open + *(void **) (&snd_output_stdio_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_stdio_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_stdio_attach + *(void **) (&snd_output_stdio_attach_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_stdio_attach"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_buffer_open + *(void **) (&snd_output_buffer_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_buffer_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_buffer_string + *(void **) (&snd_output_buffer_string_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_buffer_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_close + *(void **) (&snd_output_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_printf + *(void **) (&snd_output_printf_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_printf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_vprintf + *(void **) (&snd_output_vprintf_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_vprintf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_puts + *(void **) (&snd_output_puts_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_puts"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_putc + *(void **) (&snd_output_putc_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_putc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_output_flush + *(void **) (&snd_output_flush_dylibloader_wrapper_asound) = dlsym(handle, "snd_output_flush"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_strerror + *(void **) (&snd_strerror_dylibloader_wrapper_asound) = dlsym(handle, "snd_strerror"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_lib_error_set_handler + *(void **) (&snd_lib_error_set_handler_dylibloader_wrapper_asound) = dlsym(handle, "snd_lib_error_set_handler"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_lib_error_set_local + *(void **) (&snd_lib_error_set_local_dylibloader_wrapper_asound) = dlsym(handle, "snd_lib_error_set_local"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_topdir + *(void **) (&snd_config_topdir_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_topdir"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_top + *(void **) (&snd_config_top_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_top"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_load + *(void **) (&snd_config_load_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_load"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_load_override + *(void **) (&snd_config_load_override_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_load_override"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_save + *(void **) (&snd_config_save_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_save"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_update + *(void **) (&snd_config_update_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_update"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_update_r + *(void **) (&snd_config_update_r_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_update_r"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_update_free + *(void **) (&snd_config_update_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_update_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_update_free_global + *(void **) (&snd_config_update_free_global_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_update_free_global"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_update_ref + *(void **) (&snd_config_update_ref_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_update_ref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_ref + *(void **) (&snd_config_ref_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_ref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_unref + *(void **) (&snd_config_unref_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_unref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_search + *(void **) (&snd_config_search_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_search"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_searchv + *(void **) (&snd_config_searchv_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_searchv"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_search_definition + *(void **) (&snd_config_search_definition_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_search_definition"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_expand + *(void **) (&snd_config_expand_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_expand"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_evaluate + *(void **) (&snd_config_evaluate_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_evaluate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_add + *(void **) (&snd_config_add_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_add"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_add_before + *(void **) (&snd_config_add_before_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_add_before"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_add_after + *(void **) (&snd_config_add_after_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_add_after"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_remove + *(void **) (&snd_config_remove_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_remove"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_delete + *(void **) (&snd_config_delete_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_delete"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_delete_compound_members + *(void **) (&snd_config_delete_compound_members_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_delete_compound_members"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_copy + *(void **) (&snd_config_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_make + *(void **) (&snd_config_make_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_make"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_make_integer + *(void **) (&snd_config_make_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_make_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_make_integer64 + *(void **) (&snd_config_make_integer64_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_make_integer64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_make_real + *(void **) (&snd_config_make_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_make_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_make_string + *(void **) (&snd_config_make_string_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_make_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_make_pointer + *(void **) (&snd_config_make_pointer_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_make_pointer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_make_compound + *(void **) (&snd_config_make_compound_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_make_compound"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_imake_integer + *(void **) (&snd_config_imake_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_imake_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_imake_integer64 + *(void **) (&snd_config_imake_integer64_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_imake_integer64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_imake_real + *(void **) (&snd_config_imake_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_imake_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_imake_string + *(void **) (&snd_config_imake_string_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_imake_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_imake_safe_string + *(void **) (&snd_config_imake_safe_string_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_imake_safe_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_imake_pointer + *(void **) (&snd_config_imake_pointer_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_imake_pointer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_type + *(void **) (&snd_config_get_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_is_array + *(void **) (&snd_config_is_array_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_is_array"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_set_id + *(void **) (&snd_config_set_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_set_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_set_integer + *(void **) (&snd_config_set_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_set_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_set_integer64 + *(void **) (&snd_config_set_integer64_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_set_integer64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_set_real + *(void **) (&snd_config_set_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_set_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_set_string + *(void **) (&snd_config_set_string_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_set_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_set_ascii + *(void **) (&snd_config_set_ascii_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_set_ascii"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_set_pointer + *(void **) (&snd_config_set_pointer_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_set_pointer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_id + *(void **) (&snd_config_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_integer + *(void **) (&snd_config_get_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_integer64 + *(void **) (&snd_config_get_integer64_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_integer64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_real + *(void **) (&snd_config_get_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_ireal + *(void **) (&snd_config_get_ireal_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_ireal"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_string + *(void **) (&snd_config_get_string_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_ascii + *(void **) (&snd_config_get_ascii_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_ascii"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_pointer + *(void **) (&snd_config_get_pointer_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_pointer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_test_id + *(void **) (&snd_config_test_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_test_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_iterator_first + *(void **) (&snd_config_iterator_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_iterator_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_iterator_next + *(void **) (&snd_config_iterator_next_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_iterator_next"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_iterator_end + *(void **) (&snd_config_iterator_end_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_iterator_end"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_iterator_entry + *(void **) (&snd_config_iterator_entry_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_iterator_entry"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_bool_ascii + *(void **) (&snd_config_get_bool_ascii_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_bool_ascii"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_bool + *(void **) (&snd_config_get_bool_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_bool"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_ctl_iface_ascii + *(void **) (&snd_config_get_ctl_iface_ascii_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_ctl_iface_ascii"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_config_get_ctl_iface + *(void **) (&snd_config_get_ctl_iface_dylibloader_wrapper_asound) = dlsym(handle, "snd_config_get_ctl_iface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_names_list + *(void **) (&snd_names_list_dylibloader_wrapper_asound) = dlsym(handle, "snd_names_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_names_list_free + *(void **) (&snd_names_list_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_names_list_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_open + *(void **) (&snd_pcm_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_open_lconf + *(void **) (&snd_pcm_open_lconf_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_open_lconf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_open_fallback + *(void **) (&snd_pcm_open_fallback_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_open_fallback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_close + *(void **) (&snd_pcm_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_name + *(void **) (&snd_pcm_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_type + *(void **) (&snd_pcm_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_stream + *(void **) (&snd_pcm_stream_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_stream"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_poll_descriptors_count + *(void **) (&snd_pcm_poll_descriptors_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_poll_descriptors_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_poll_descriptors + *(void **) (&snd_pcm_poll_descriptors_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_poll_descriptors"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_poll_descriptors_revents + *(void **) (&snd_pcm_poll_descriptors_revents_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_poll_descriptors_revents"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_nonblock + *(void **) (&snd_pcm_nonblock_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_nonblock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_add_pcm_handler + *(void **) (&snd_async_add_pcm_handler_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_add_pcm_handler"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_handler_get_pcm + *(void **) (&snd_async_handler_get_pcm_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_handler_get_pcm"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info + *(void **) (&snd_pcm_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_current + *(void **) (&snd_pcm_hw_params_current_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_current"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params + *(void **) (&snd_pcm_hw_params_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_free + *(void **) (&snd_pcm_hw_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_current + *(void **) (&snd_pcm_sw_params_current_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_current"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params + *(void **) (&snd_pcm_sw_params_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_prepare + *(void **) (&snd_pcm_prepare_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_prepare"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_reset + *(void **) (&snd_pcm_reset_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_reset"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status + *(void **) (&snd_pcm_status_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_start + *(void **) (&snd_pcm_start_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_start"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_drop + *(void **) (&snd_pcm_drop_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_drop"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_drain + *(void **) (&snd_pcm_drain_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_drain"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_pause + *(void **) (&snd_pcm_pause_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_pause"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_state + *(void **) (&snd_pcm_state_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_state"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hwsync + *(void **) (&snd_pcm_hwsync_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hwsync"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_delay + *(void **) (&snd_pcm_delay_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_delay"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_resume + *(void **) (&snd_pcm_resume_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_resume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_htimestamp + *(void **) (&snd_pcm_htimestamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_htimestamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_avail + *(void **) (&snd_pcm_avail_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_avail"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_avail_update + *(void **) (&snd_pcm_avail_update_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_avail_update"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_avail_delay + *(void **) (&snd_pcm_avail_delay_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_avail_delay"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_rewindable + *(void **) (&snd_pcm_rewindable_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_rewindable"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_rewind + *(void **) (&snd_pcm_rewind_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_rewind"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_forwardable + *(void **) (&snd_pcm_forwardable_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_forwardable"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_forward + *(void **) (&snd_pcm_forward_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_forward"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_writei + *(void **) (&snd_pcm_writei_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_writei"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_readi + *(void **) (&snd_pcm_readi_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_readi"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_writen + *(void **) (&snd_pcm_writen_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_writen"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_readn + *(void **) (&snd_pcm_readn_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_readn"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_wait + *(void **) (&snd_pcm_wait_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_wait"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_link + *(void **) (&snd_pcm_link_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_link"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_unlink + *(void **) (&snd_pcm_unlink_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_unlink"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_query_chmaps + *(void **) (&snd_pcm_query_chmaps_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_query_chmaps"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_query_chmaps_from_hw + *(void **) (&snd_pcm_query_chmaps_from_hw_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_query_chmaps_from_hw"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_free_chmaps + *(void **) (&snd_pcm_free_chmaps_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_free_chmaps"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_get_chmap + *(void **) (&snd_pcm_get_chmap_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_get_chmap"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_set_chmap + *(void **) (&snd_pcm_set_chmap_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_set_chmap"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_chmap_type_name + *(void **) (&snd_pcm_chmap_type_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_chmap_type_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_chmap_name + *(void **) (&snd_pcm_chmap_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_chmap_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_chmap_long_name + *(void **) (&snd_pcm_chmap_long_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_chmap_long_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_chmap_print + *(void **) (&snd_pcm_chmap_print_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_chmap_print"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_chmap_from_string + *(void **) (&snd_pcm_chmap_from_string_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_chmap_from_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_chmap_parse_string + *(void **) (&snd_pcm_chmap_parse_string_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_chmap_parse_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_recover + *(void **) (&snd_pcm_recover_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_recover"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_set_params + *(void **) (&snd_pcm_set_params_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_set_params"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_get_params + *(void **) (&snd_pcm_get_params_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_get_params"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_sizeof + *(void **) (&snd_pcm_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_malloc + *(void **) (&snd_pcm_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_free + *(void **) (&snd_pcm_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_copy + *(void **) (&snd_pcm_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_device + *(void **) (&snd_pcm_info_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_subdevice + *(void **) (&snd_pcm_info_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_stream + *(void **) (&snd_pcm_info_get_stream_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_stream"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_card + *(void **) (&snd_pcm_info_get_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_id + *(void **) (&snd_pcm_info_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_name + *(void **) (&snd_pcm_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_subdevice_name + *(void **) (&snd_pcm_info_get_subdevice_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_subdevice_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_class + *(void **) (&snd_pcm_info_get_class_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_class"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_subclass + *(void **) (&snd_pcm_info_get_subclass_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_subclass"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_subdevices_count + *(void **) (&snd_pcm_info_get_subdevices_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_subdevices_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_subdevices_avail + *(void **) (&snd_pcm_info_get_subdevices_avail_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_subdevices_avail"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_get_sync + *(void **) (&snd_pcm_info_get_sync_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_get_sync"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_set_device + *(void **) (&snd_pcm_info_set_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_set_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_set_subdevice + *(void **) (&snd_pcm_info_set_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_set_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_info_set_stream + *(void **) (&snd_pcm_info_set_stream_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_info_set_stream"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_any + *(void **) (&snd_pcm_hw_params_any_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_any"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_can_mmap_sample_resolution + *(void **) (&snd_pcm_hw_params_can_mmap_sample_resolution_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_can_mmap_sample_resolution"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_is_double + *(void **) (&snd_pcm_hw_params_is_double_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_is_double"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_is_batch + *(void **) (&snd_pcm_hw_params_is_batch_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_is_batch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_is_block_transfer + *(void **) (&snd_pcm_hw_params_is_block_transfer_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_is_block_transfer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_is_monotonic + *(void **) (&snd_pcm_hw_params_is_monotonic_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_is_monotonic"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_can_overrange + *(void **) (&snd_pcm_hw_params_can_overrange_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_can_overrange"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_can_pause + *(void **) (&snd_pcm_hw_params_can_pause_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_can_pause"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_can_resume + *(void **) (&snd_pcm_hw_params_can_resume_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_can_resume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_is_half_duplex + *(void **) (&snd_pcm_hw_params_is_half_duplex_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_is_half_duplex"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_is_joint_duplex + *(void **) (&snd_pcm_hw_params_is_joint_duplex_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_is_joint_duplex"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_can_sync_start + *(void **) (&snd_pcm_hw_params_can_sync_start_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_can_sync_start"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_can_disable_period_wakeup + *(void **) (&snd_pcm_hw_params_can_disable_period_wakeup_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_can_disable_period_wakeup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_supports_audio_wallclock_ts + *(void **) (&snd_pcm_hw_params_supports_audio_wallclock_ts_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_supports_audio_wallclock_ts"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_supports_audio_ts_type + *(void **) (&snd_pcm_hw_params_supports_audio_ts_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_supports_audio_ts_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_rate_numden + *(void **) (&snd_pcm_hw_params_get_rate_numden_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_rate_numden"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_sbits + *(void **) (&snd_pcm_hw_params_get_sbits_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_sbits"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_fifo_size + *(void **) (&snd_pcm_hw_params_get_fifo_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_fifo_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_sizeof + *(void **) (&snd_pcm_hw_params_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_malloc + *(void **) (&snd_pcm_hw_params_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_free + *(void **) (&snd_pcm_hw_params_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_copy + *(void **) (&snd_pcm_hw_params_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_access + *(void **) (&snd_pcm_hw_params_get_access_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_access"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_access + *(void **) (&snd_pcm_hw_params_test_access_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_access"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_access + *(void **) (&snd_pcm_hw_params_set_access_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_access"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_access_first + *(void **) (&snd_pcm_hw_params_set_access_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_access_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_access_last + *(void **) (&snd_pcm_hw_params_set_access_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_access_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_access_mask + *(void **) (&snd_pcm_hw_params_set_access_mask_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_access_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_access_mask + *(void **) (&snd_pcm_hw_params_get_access_mask_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_access_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_format + *(void **) (&snd_pcm_hw_params_get_format_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_format"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_format + *(void **) (&snd_pcm_hw_params_test_format_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_format"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_format + *(void **) (&snd_pcm_hw_params_set_format_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_format"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_format_first + *(void **) (&snd_pcm_hw_params_set_format_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_format_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_format_last + *(void **) (&snd_pcm_hw_params_set_format_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_format_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_format_mask + *(void **) (&snd_pcm_hw_params_set_format_mask_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_format_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_format_mask + *(void **) (&snd_pcm_hw_params_get_format_mask_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_format_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_subformat + *(void **) (&snd_pcm_hw_params_get_subformat_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_subformat"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_subformat + *(void **) (&snd_pcm_hw_params_test_subformat_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_subformat"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_subformat + *(void **) (&snd_pcm_hw_params_set_subformat_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_subformat"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_subformat_first + *(void **) (&snd_pcm_hw_params_set_subformat_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_subformat_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_subformat_last + *(void **) (&snd_pcm_hw_params_set_subformat_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_subformat_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_subformat_mask + *(void **) (&snd_pcm_hw_params_set_subformat_mask_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_subformat_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_subformat_mask + *(void **) (&snd_pcm_hw_params_get_subformat_mask_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_subformat_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_channels + *(void **) (&snd_pcm_hw_params_get_channels_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_channels_min + *(void **) (&snd_pcm_hw_params_get_channels_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_channels_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_channels_max + *(void **) (&snd_pcm_hw_params_get_channels_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_channels_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_channels + *(void **) (&snd_pcm_hw_params_test_channels_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_channels + *(void **) (&snd_pcm_hw_params_set_channels_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_channels_min + *(void **) (&snd_pcm_hw_params_set_channels_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_channels_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_channels_max + *(void **) (&snd_pcm_hw_params_set_channels_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_channels_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_channels_minmax + *(void **) (&snd_pcm_hw_params_set_channels_minmax_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_channels_minmax"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_channels_near + *(void **) (&snd_pcm_hw_params_set_channels_near_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_channels_near"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_channels_first + *(void **) (&snd_pcm_hw_params_set_channels_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_channels_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_channels_last + *(void **) (&snd_pcm_hw_params_set_channels_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_channels_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_rate + *(void **) (&snd_pcm_hw_params_get_rate_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_rate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_rate_min + *(void **) (&snd_pcm_hw_params_get_rate_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_rate_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_rate_max + *(void **) (&snd_pcm_hw_params_get_rate_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_rate_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_rate + *(void **) (&snd_pcm_hw_params_test_rate_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_rate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_rate + *(void **) (&snd_pcm_hw_params_set_rate_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_rate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_rate_min + *(void **) (&snd_pcm_hw_params_set_rate_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_rate_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_rate_max + *(void **) (&snd_pcm_hw_params_set_rate_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_rate_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_rate_minmax + *(void **) (&snd_pcm_hw_params_set_rate_minmax_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_rate_minmax"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_rate_near + *(void **) (&snd_pcm_hw_params_set_rate_near_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_rate_near"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_rate_first + *(void **) (&snd_pcm_hw_params_set_rate_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_rate_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_rate_last + *(void **) (&snd_pcm_hw_params_set_rate_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_rate_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_rate_resample + *(void **) (&snd_pcm_hw_params_set_rate_resample_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_rate_resample"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_rate_resample + *(void **) (&snd_pcm_hw_params_get_rate_resample_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_rate_resample"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_export_buffer + *(void **) (&snd_pcm_hw_params_set_export_buffer_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_export_buffer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_export_buffer + *(void **) (&snd_pcm_hw_params_get_export_buffer_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_export_buffer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_wakeup + *(void **) (&snd_pcm_hw_params_set_period_wakeup_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_wakeup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_period_wakeup + *(void **) (&snd_pcm_hw_params_get_period_wakeup_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_period_wakeup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_period_time + *(void **) (&snd_pcm_hw_params_get_period_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_period_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_period_time_min + *(void **) (&snd_pcm_hw_params_get_period_time_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_period_time_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_period_time_max + *(void **) (&snd_pcm_hw_params_get_period_time_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_period_time_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_period_time + *(void **) (&snd_pcm_hw_params_test_period_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_period_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_time + *(void **) (&snd_pcm_hw_params_set_period_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_time_min + *(void **) (&snd_pcm_hw_params_set_period_time_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_time_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_time_max + *(void **) (&snd_pcm_hw_params_set_period_time_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_time_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_time_minmax + *(void **) (&snd_pcm_hw_params_set_period_time_minmax_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_time_minmax"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_time_near + *(void **) (&snd_pcm_hw_params_set_period_time_near_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_time_near"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_time_first + *(void **) (&snd_pcm_hw_params_set_period_time_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_time_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_time_last + *(void **) (&snd_pcm_hw_params_set_period_time_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_time_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_period_size + *(void **) (&snd_pcm_hw_params_get_period_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_period_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_period_size_min + *(void **) (&snd_pcm_hw_params_get_period_size_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_period_size_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_period_size_max + *(void **) (&snd_pcm_hw_params_get_period_size_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_period_size_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_period_size + *(void **) (&snd_pcm_hw_params_test_period_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_period_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_size + *(void **) (&snd_pcm_hw_params_set_period_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_size_min + *(void **) (&snd_pcm_hw_params_set_period_size_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_size_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_size_max + *(void **) (&snd_pcm_hw_params_set_period_size_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_size_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_size_minmax + *(void **) (&snd_pcm_hw_params_set_period_size_minmax_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_size_minmax"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_size_near + *(void **) (&snd_pcm_hw_params_set_period_size_near_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_size_near"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_size_first + *(void **) (&snd_pcm_hw_params_set_period_size_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_size_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_size_last + *(void **) (&snd_pcm_hw_params_set_period_size_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_size_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_period_size_integer + *(void **) (&snd_pcm_hw_params_set_period_size_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_period_size_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_periods + *(void **) (&snd_pcm_hw_params_get_periods_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_periods"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_periods_min + *(void **) (&snd_pcm_hw_params_get_periods_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_periods_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_periods_max + *(void **) (&snd_pcm_hw_params_get_periods_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_periods_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_periods + *(void **) (&snd_pcm_hw_params_test_periods_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_periods"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_periods + *(void **) (&snd_pcm_hw_params_set_periods_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_periods"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_periods_min + *(void **) (&snd_pcm_hw_params_set_periods_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_periods_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_periods_max + *(void **) (&snd_pcm_hw_params_set_periods_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_periods_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_periods_minmax + *(void **) (&snd_pcm_hw_params_set_periods_minmax_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_periods_minmax"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_periods_near + *(void **) (&snd_pcm_hw_params_set_periods_near_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_periods_near"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_periods_first + *(void **) (&snd_pcm_hw_params_set_periods_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_periods_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_periods_last + *(void **) (&snd_pcm_hw_params_set_periods_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_periods_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_periods_integer + *(void **) (&snd_pcm_hw_params_set_periods_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_periods_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_buffer_time + *(void **) (&snd_pcm_hw_params_get_buffer_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_buffer_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_buffer_time_min + *(void **) (&snd_pcm_hw_params_get_buffer_time_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_buffer_time_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_buffer_time_max + *(void **) (&snd_pcm_hw_params_get_buffer_time_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_buffer_time_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_buffer_time + *(void **) (&snd_pcm_hw_params_test_buffer_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_buffer_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_time + *(void **) (&snd_pcm_hw_params_set_buffer_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_time_min + *(void **) (&snd_pcm_hw_params_set_buffer_time_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_time_max + *(void **) (&snd_pcm_hw_params_set_buffer_time_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_time_minmax + *(void **) (&snd_pcm_hw_params_set_buffer_time_minmax_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_minmax"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_time_near + *(void **) (&snd_pcm_hw_params_set_buffer_time_near_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_near"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_time_first + *(void **) (&snd_pcm_hw_params_set_buffer_time_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_time_last + *(void **) (&snd_pcm_hw_params_set_buffer_time_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_time_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_buffer_size + *(void **) (&snd_pcm_hw_params_get_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_buffer_size_min + *(void **) (&snd_pcm_hw_params_get_buffer_size_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_buffer_size_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_buffer_size_max + *(void **) (&snd_pcm_hw_params_get_buffer_size_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_buffer_size_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_buffer_size + *(void **) (&snd_pcm_hw_params_test_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_size + *(void **) (&snd_pcm_hw_params_set_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_size_min + *(void **) (&snd_pcm_hw_params_set_buffer_size_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_size_max + *(void **) (&snd_pcm_hw_params_set_buffer_size_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_size_minmax + *(void **) (&snd_pcm_hw_params_set_buffer_size_minmax_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_minmax"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_size_near + *(void **) (&snd_pcm_hw_params_set_buffer_size_near_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_near"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_size_first + *(void **) (&snd_pcm_hw_params_set_buffer_size_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_buffer_size_last + *(void **) (&snd_pcm_hw_params_set_buffer_size_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_buffer_size_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_min_align + *(void **) (&snd_pcm_hw_params_get_min_align_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_min_align"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_sizeof + *(void **) (&snd_pcm_sw_params_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_malloc + *(void **) (&snd_pcm_sw_params_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_free + *(void **) (&snd_pcm_sw_params_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_copy + *(void **) (&snd_pcm_sw_params_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_boundary + *(void **) (&snd_pcm_sw_params_get_boundary_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_boundary"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_tstamp_mode + *(void **) (&snd_pcm_sw_params_set_tstamp_mode_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_tstamp_mode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_tstamp_mode + *(void **) (&snd_pcm_sw_params_get_tstamp_mode_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_tstamp_mode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_avail_min + *(void **) (&snd_pcm_sw_params_set_avail_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_avail_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_avail_min + *(void **) (&snd_pcm_sw_params_get_avail_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_avail_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_period_event + *(void **) (&snd_pcm_sw_params_set_period_event_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_period_event"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_period_event + *(void **) (&snd_pcm_sw_params_get_period_event_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_period_event"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_start_threshold + *(void **) (&snd_pcm_sw_params_set_start_threshold_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_start_threshold"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_start_threshold + *(void **) (&snd_pcm_sw_params_get_start_threshold_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_start_threshold"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_stop_threshold + *(void **) (&snd_pcm_sw_params_set_stop_threshold_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_stop_threshold"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_stop_threshold + *(void **) (&snd_pcm_sw_params_get_stop_threshold_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_stop_threshold"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_silence_threshold + *(void **) (&snd_pcm_sw_params_set_silence_threshold_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_silence_threshold"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_silence_threshold + *(void **) (&snd_pcm_sw_params_get_silence_threshold_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_silence_threshold"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_silence_size + *(void **) (&snd_pcm_sw_params_set_silence_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_silence_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_silence_size + *(void **) (&snd_pcm_sw_params_get_silence_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_silence_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_sizeof + *(void **) (&snd_pcm_access_mask_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_malloc + *(void **) (&snd_pcm_access_mask_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_free + *(void **) (&snd_pcm_access_mask_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_copy + *(void **) (&snd_pcm_access_mask_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_none + *(void **) (&snd_pcm_access_mask_none_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_none"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_any + *(void **) (&snd_pcm_access_mask_any_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_any"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_test + *(void **) (&snd_pcm_access_mask_test_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_test"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_empty + *(void **) (&snd_pcm_access_mask_empty_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_empty"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_set + *(void **) (&snd_pcm_access_mask_set_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_mask_reset + *(void **) (&snd_pcm_access_mask_reset_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_mask_reset"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_sizeof + *(void **) (&snd_pcm_format_mask_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_malloc + *(void **) (&snd_pcm_format_mask_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_free + *(void **) (&snd_pcm_format_mask_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_copy + *(void **) (&snd_pcm_format_mask_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_none + *(void **) (&snd_pcm_format_mask_none_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_none"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_any + *(void **) (&snd_pcm_format_mask_any_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_any"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_test + *(void **) (&snd_pcm_format_mask_test_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_test"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_empty + *(void **) (&snd_pcm_format_mask_empty_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_empty"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_set + *(void **) (&snd_pcm_format_mask_set_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_mask_reset + *(void **) (&snd_pcm_format_mask_reset_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_mask_reset"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_sizeof + *(void **) (&snd_pcm_subformat_mask_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_malloc + *(void **) (&snd_pcm_subformat_mask_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_free + *(void **) (&snd_pcm_subformat_mask_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_copy + *(void **) (&snd_pcm_subformat_mask_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_none + *(void **) (&snd_pcm_subformat_mask_none_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_none"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_any + *(void **) (&snd_pcm_subformat_mask_any_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_any"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_test + *(void **) (&snd_pcm_subformat_mask_test_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_test"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_empty + *(void **) (&snd_pcm_subformat_mask_empty_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_empty"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_set + *(void **) (&snd_pcm_subformat_mask_set_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_mask_reset + *(void **) (&snd_pcm_subformat_mask_reset_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_mask_reset"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_sizeof + *(void **) (&snd_pcm_status_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_malloc + *(void **) (&snd_pcm_status_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_free + *(void **) (&snd_pcm_status_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_copy + *(void **) (&snd_pcm_status_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_state + *(void **) (&snd_pcm_status_get_state_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_state"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_trigger_tstamp + *(void **) (&snd_pcm_status_get_trigger_tstamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_trigger_tstamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_trigger_htstamp + *(void **) (&snd_pcm_status_get_trigger_htstamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_trigger_htstamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_tstamp + *(void **) (&snd_pcm_status_get_tstamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_tstamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_htstamp + *(void **) (&snd_pcm_status_get_htstamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_htstamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_audio_htstamp + *(void **) (&snd_pcm_status_get_audio_htstamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_audio_htstamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_driver_htstamp + *(void **) (&snd_pcm_status_get_driver_htstamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_driver_htstamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_delay + *(void **) (&snd_pcm_status_get_delay_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_delay"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_avail + *(void **) (&snd_pcm_status_get_avail_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_avail"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_avail_max + *(void **) (&snd_pcm_status_get_avail_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_avail_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_get_overrange + *(void **) (&snd_pcm_status_get_overrange_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_get_overrange"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_type_name + *(void **) (&snd_pcm_type_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_type_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_stream_name + *(void **) (&snd_pcm_stream_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_stream_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_access_name + *(void **) (&snd_pcm_access_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_access_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_name + *(void **) (&snd_pcm_format_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_description + *(void **) (&snd_pcm_format_description_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_description"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_name + *(void **) (&snd_pcm_subformat_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_subformat_description + *(void **) (&snd_pcm_subformat_description_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_subformat_description"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_value + *(void **) (&snd_pcm_format_value_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_value"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_tstamp_mode_name + *(void **) (&snd_pcm_tstamp_mode_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_tstamp_mode_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_state_name + *(void **) (&snd_pcm_state_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_state_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_dump + *(void **) (&snd_pcm_dump_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_dump"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_dump_hw_setup + *(void **) (&snd_pcm_dump_hw_setup_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_dump_hw_setup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_dump_sw_setup + *(void **) (&snd_pcm_dump_sw_setup_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_dump_sw_setup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_dump_setup + *(void **) (&snd_pcm_dump_setup_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_dump_setup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_dump + *(void **) (&snd_pcm_hw_params_dump_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_dump"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_dump + *(void **) (&snd_pcm_sw_params_dump_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_dump"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_status_dump + *(void **) (&snd_pcm_status_dump_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_status_dump"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_mmap_begin + *(void **) (&snd_pcm_mmap_begin_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_mmap_begin"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_mmap_commit + *(void **) (&snd_pcm_mmap_commit_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_mmap_commit"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_mmap_writei + *(void **) (&snd_pcm_mmap_writei_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_mmap_writei"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_mmap_readi + *(void **) (&snd_pcm_mmap_readi_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_mmap_readi"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_mmap_writen + *(void **) (&snd_pcm_mmap_writen_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_mmap_writen"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_mmap_readn + *(void **) (&snd_pcm_mmap_readn_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_mmap_readn"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_signed + *(void **) (&snd_pcm_format_signed_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_signed"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_unsigned + *(void **) (&snd_pcm_format_unsigned_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_unsigned"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_linear + *(void **) (&snd_pcm_format_linear_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_linear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_float + *(void **) (&snd_pcm_format_float_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_float"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_little_endian + *(void **) (&snd_pcm_format_little_endian_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_little_endian"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_big_endian + *(void **) (&snd_pcm_format_big_endian_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_big_endian"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_cpu_endian + *(void **) (&snd_pcm_format_cpu_endian_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_cpu_endian"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_width + *(void **) (&snd_pcm_format_width_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_width"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_physical_width + *(void **) (&snd_pcm_format_physical_width_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_physical_width"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_build_linear_format + *(void **) (&snd_pcm_build_linear_format_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_build_linear_format"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_size + *(void **) (&snd_pcm_format_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_silence + *(void **) (&snd_pcm_format_silence_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_silence"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_silence_16 + *(void **) (&snd_pcm_format_silence_16_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_silence_16"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_silence_32 + *(void **) (&snd_pcm_format_silence_32_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_silence_32"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_silence_64 + *(void **) (&snd_pcm_format_silence_64_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_silence_64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_format_set_silence + *(void **) (&snd_pcm_format_set_silence_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_format_set_silence"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_bytes_to_frames + *(void **) (&snd_pcm_bytes_to_frames_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_bytes_to_frames"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_frames_to_bytes + *(void **) (&snd_pcm_frames_to_bytes_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_frames_to_bytes"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_bytes_to_samples + *(void **) (&snd_pcm_bytes_to_samples_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_bytes_to_samples"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_samples_to_bytes + *(void **) (&snd_pcm_samples_to_bytes_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_samples_to_bytes"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_area_silence + *(void **) (&snd_pcm_area_silence_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_area_silence"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_areas_silence + *(void **) (&snd_pcm_areas_silence_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_areas_silence"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_area_copy + *(void **) (&snd_pcm_area_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_area_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_areas_copy + *(void **) (&snd_pcm_areas_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_areas_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_areas_copy_wrap + *(void **) (&snd_pcm_areas_copy_wrap_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_areas_copy_wrap"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hook_get_pcm + *(void **) (&snd_pcm_hook_get_pcm_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hook_get_pcm"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hook_get_private + *(void **) (&snd_pcm_hook_get_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hook_get_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hook_set_private + *(void **) (&snd_pcm_hook_set_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hook_set_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hook_add + *(void **) (&snd_pcm_hook_add_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hook_add"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hook_remove + *(void **) (&snd_pcm_hook_remove_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hook_remove"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_meter_get_bufsize + *(void **) (&snd_pcm_meter_get_bufsize_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_meter_get_bufsize"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_meter_get_channels + *(void **) (&snd_pcm_meter_get_channels_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_meter_get_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_meter_get_rate + *(void **) (&snd_pcm_meter_get_rate_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_meter_get_rate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_meter_get_now + *(void **) (&snd_pcm_meter_get_now_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_meter_get_now"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_meter_get_boundary + *(void **) (&snd_pcm_meter_get_boundary_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_meter_get_boundary"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_meter_add_scope + *(void **) (&snd_pcm_meter_add_scope_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_meter_add_scope"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_meter_search_scope + *(void **) (&snd_pcm_meter_search_scope_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_meter_search_scope"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_scope_malloc + *(void **) (&snd_pcm_scope_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_scope_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_scope_set_ops + *(void **) (&snd_pcm_scope_set_ops_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_scope_set_ops"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_scope_set_name + *(void **) (&snd_pcm_scope_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_scope_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_scope_get_name + *(void **) (&snd_pcm_scope_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_scope_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_scope_get_callback_private + *(void **) (&snd_pcm_scope_get_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_scope_get_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_scope_set_callback_private + *(void **) (&snd_pcm_scope_set_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_scope_set_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_scope_s16_open + *(void **) (&snd_pcm_scope_s16_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_scope_s16_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_scope_s16_get_channel_buffer + *(void **) (&snd_pcm_scope_s16_get_channel_buffer_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_scope_s16_get_channel_buffer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_spcm_init + *(void **) (&snd_spcm_init_dylibloader_wrapper_asound) = dlsym(handle, "snd_spcm_init"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_spcm_init_duplex + *(void **) (&snd_spcm_init_duplex_dylibloader_wrapper_asound) = dlsym(handle, "snd_spcm_init_duplex"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_spcm_init_get_params + *(void **) (&snd_spcm_init_get_params_dylibloader_wrapper_asound) = dlsym(handle, "snd_spcm_init_get_params"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_start_mode_name + *(void **) (&snd_pcm_start_mode_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_start_mode_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_xrun_mode_name + *(void **) (&snd_pcm_xrun_mode_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_xrun_mode_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_start_mode + *(void **) (&snd_pcm_sw_params_set_start_mode_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_start_mode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_start_mode + *(void **) (&snd_pcm_sw_params_get_start_mode_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_start_mode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_xrun_mode + *(void **) (&snd_pcm_sw_params_set_xrun_mode_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_xrun_mode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_xrun_mode + *(void **) (&snd_pcm_sw_params_get_xrun_mode_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_xrun_mode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_xfer_align + *(void **) (&snd_pcm_sw_params_set_xfer_align_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_xfer_align"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_xfer_align + *(void **) (&snd_pcm_sw_params_get_xfer_align_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_xfer_align"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_set_sleep_min + *(void **) (&snd_pcm_sw_params_set_sleep_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_set_sleep_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_sw_params_get_sleep_min + *(void **) (&snd_pcm_sw_params_get_sleep_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_sw_params_get_sleep_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_tick_time + *(void **) (&snd_pcm_hw_params_get_tick_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_tick_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_tick_time_min + *(void **) (&snd_pcm_hw_params_get_tick_time_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_tick_time_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_get_tick_time_max + *(void **) (&snd_pcm_hw_params_get_tick_time_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_get_tick_time_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_test_tick_time + *(void **) (&snd_pcm_hw_params_test_tick_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_test_tick_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_tick_time + *(void **) (&snd_pcm_hw_params_set_tick_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_tick_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_tick_time_min + *(void **) (&snd_pcm_hw_params_set_tick_time_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_tick_time_max + *(void **) (&snd_pcm_hw_params_set_tick_time_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_tick_time_minmax + *(void **) (&snd_pcm_hw_params_set_tick_time_minmax_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_minmax"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_tick_time_near + *(void **) (&snd_pcm_hw_params_set_tick_time_near_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_near"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_tick_time_first + *(void **) (&snd_pcm_hw_params_set_tick_time_first_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_first"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_pcm_hw_params_set_tick_time_last + *(void **) (&snd_pcm_hw_params_set_tick_time_last_dylibloader_wrapper_asound) = dlsym(handle, "snd_pcm_hw_params_set_tick_time_last"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_open + *(void **) (&snd_rawmidi_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_open_lconf + *(void **) (&snd_rawmidi_open_lconf_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_open_lconf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_close + *(void **) (&snd_rawmidi_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_poll_descriptors_count + *(void **) (&snd_rawmidi_poll_descriptors_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_poll_descriptors_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_poll_descriptors + *(void **) (&snd_rawmidi_poll_descriptors_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_poll_descriptors"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_poll_descriptors_revents + *(void **) (&snd_rawmidi_poll_descriptors_revents_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_poll_descriptors_revents"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_nonblock + *(void **) (&snd_rawmidi_nonblock_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_nonblock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_sizeof + *(void **) (&snd_rawmidi_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_malloc + *(void **) (&snd_rawmidi_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_free + *(void **) (&snd_rawmidi_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_copy + *(void **) (&snd_rawmidi_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_device + *(void **) (&snd_rawmidi_info_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_subdevice + *(void **) (&snd_rawmidi_info_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_stream + *(void **) (&snd_rawmidi_info_get_stream_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_stream"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_card + *(void **) (&snd_rawmidi_info_get_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_flags + *(void **) (&snd_rawmidi_info_get_flags_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_flags"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_id + *(void **) (&snd_rawmidi_info_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_name + *(void **) (&snd_rawmidi_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_subdevice_name + *(void **) (&snd_rawmidi_info_get_subdevice_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_subdevice_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_subdevices_count + *(void **) (&snd_rawmidi_info_get_subdevices_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_subdevices_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_get_subdevices_avail + *(void **) (&snd_rawmidi_info_get_subdevices_avail_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_get_subdevices_avail"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_set_device + *(void **) (&snd_rawmidi_info_set_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_set_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_set_subdevice + *(void **) (&snd_rawmidi_info_set_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_set_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info_set_stream + *(void **) (&snd_rawmidi_info_set_stream_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info_set_stream"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_info + *(void **) (&snd_rawmidi_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_sizeof + *(void **) (&snd_rawmidi_params_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_malloc + *(void **) (&snd_rawmidi_params_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_free + *(void **) (&snd_rawmidi_params_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_copy + *(void **) (&snd_rawmidi_params_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_set_buffer_size + *(void **) (&snd_rawmidi_params_set_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_set_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_get_buffer_size + *(void **) (&snd_rawmidi_params_get_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_get_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_set_avail_min + *(void **) (&snd_rawmidi_params_set_avail_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_set_avail_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_get_avail_min + *(void **) (&snd_rawmidi_params_get_avail_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_get_avail_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_set_no_active_sensing + *(void **) (&snd_rawmidi_params_set_no_active_sensing_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_set_no_active_sensing"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_get_no_active_sensing + *(void **) (&snd_rawmidi_params_get_no_active_sensing_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_get_no_active_sensing"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params + *(void **) (&snd_rawmidi_params_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_params_current + *(void **) (&snd_rawmidi_params_current_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_params_current"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_status_sizeof + *(void **) (&snd_rawmidi_status_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_status_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_status_malloc + *(void **) (&snd_rawmidi_status_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_status_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_status_free + *(void **) (&snd_rawmidi_status_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_status_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_status_copy + *(void **) (&snd_rawmidi_status_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_status_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_status_get_tstamp + *(void **) (&snd_rawmidi_status_get_tstamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_status_get_tstamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_status_get_avail + *(void **) (&snd_rawmidi_status_get_avail_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_status_get_avail"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_status_get_xruns + *(void **) (&snd_rawmidi_status_get_xruns_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_status_get_xruns"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_status + *(void **) (&snd_rawmidi_status_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_status"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_drain + *(void **) (&snd_rawmidi_drain_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_drain"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_drop + *(void **) (&snd_rawmidi_drop_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_drop"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_write + *(void **) (&snd_rawmidi_write_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_read + *(void **) (&snd_rawmidi_read_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_read"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_name + *(void **) (&snd_rawmidi_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_type + *(void **) (&snd_rawmidi_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_rawmidi_stream + *(void **) (&snd_rawmidi_stream_dylibloader_wrapper_asound) = dlsym(handle, "snd_rawmidi_stream"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_query_open + *(void **) (&snd_timer_query_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_query_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_query_open_lconf + *(void **) (&snd_timer_query_open_lconf_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_query_open_lconf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_query_close + *(void **) (&snd_timer_query_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_query_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_query_next_device + *(void **) (&snd_timer_query_next_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_query_next_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_query_info + *(void **) (&snd_timer_query_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_query_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_query_params + *(void **) (&snd_timer_query_params_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_query_params"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_query_status + *(void **) (&snd_timer_query_status_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_query_status"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_open + *(void **) (&snd_timer_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_open_lconf + *(void **) (&snd_timer_open_lconf_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_open_lconf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_close + *(void **) (&snd_timer_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_add_timer_handler + *(void **) (&snd_async_add_timer_handler_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_add_timer_handler"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_handler_get_timer + *(void **) (&snd_async_handler_get_timer_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_handler_get_timer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_poll_descriptors_count + *(void **) (&snd_timer_poll_descriptors_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_poll_descriptors_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_poll_descriptors + *(void **) (&snd_timer_poll_descriptors_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_poll_descriptors"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_poll_descriptors_revents + *(void **) (&snd_timer_poll_descriptors_revents_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_poll_descriptors_revents"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info + *(void **) (&snd_timer_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params + *(void **) (&snd_timer_params_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status + *(void **) (&snd_timer_status_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_start + *(void **) (&snd_timer_start_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_start"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_stop + *(void **) (&snd_timer_stop_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_stop"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_continue + *(void **) (&snd_timer_continue_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_continue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_read + *(void **) (&snd_timer_read_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_read"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_sizeof + *(void **) (&snd_timer_id_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_malloc + *(void **) (&snd_timer_id_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_free + *(void **) (&snd_timer_id_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_copy + *(void **) (&snd_timer_id_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_set_class + *(void **) (&snd_timer_id_set_class_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_set_class"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_get_class + *(void **) (&snd_timer_id_get_class_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_get_class"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_set_sclass + *(void **) (&snd_timer_id_set_sclass_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_set_sclass"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_get_sclass + *(void **) (&snd_timer_id_get_sclass_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_get_sclass"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_set_card + *(void **) (&snd_timer_id_set_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_set_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_get_card + *(void **) (&snd_timer_id_get_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_get_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_set_device + *(void **) (&snd_timer_id_set_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_set_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_get_device + *(void **) (&snd_timer_id_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_set_subdevice + *(void **) (&snd_timer_id_set_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_set_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_id_get_subdevice + *(void **) (&snd_timer_id_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_id_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_sizeof + *(void **) (&snd_timer_ginfo_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_malloc + *(void **) (&snd_timer_ginfo_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_free + *(void **) (&snd_timer_ginfo_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_copy + *(void **) (&snd_timer_ginfo_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_set_tid + *(void **) (&snd_timer_ginfo_set_tid_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_set_tid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_tid + *(void **) (&snd_timer_ginfo_get_tid_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_tid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_flags + *(void **) (&snd_timer_ginfo_get_flags_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_flags"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_card + *(void **) (&snd_timer_ginfo_get_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_id + *(void **) (&snd_timer_ginfo_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_name + *(void **) (&snd_timer_ginfo_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_resolution + *(void **) (&snd_timer_ginfo_get_resolution_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_resolution"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_resolution_min + *(void **) (&snd_timer_ginfo_get_resolution_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_resolution_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_resolution_max + *(void **) (&snd_timer_ginfo_get_resolution_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_resolution_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_ginfo_get_clients + *(void **) (&snd_timer_ginfo_get_clients_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_ginfo_get_clients"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_sizeof + *(void **) (&snd_timer_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_malloc + *(void **) (&snd_timer_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_free + *(void **) (&snd_timer_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_copy + *(void **) (&snd_timer_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_is_slave + *(void **) (&snd_timer_info_is_slave_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_is_slave"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_get_card + *(void **) (&snd_timer_info_get_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_get_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_get_id + *(void **) (&snd_timer_info_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_get_name + *(void **) (&snd_timer_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_get_resolution + *(void **) (&snd_timer_info_get_resolution_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_get_resolution"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_sizeof + *(void **) (&snd_timer_params_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_malloc + *(void **) (&snd_timer_params_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_free + *(void **) (&snd_timer_params_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_copy + *(void **) (&snd_timer_params_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_set_auto_start + *(void **) (&snd_timer_params_set_auto_start_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_set_auto_start"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_get_auto_start + *(void **) (&snd_timer_params_get_auto_start_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_get_auto_start"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_set_exclusive + *(void **) (&snd_timer_params_set_exclusive_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_set_exclusive"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_get_exclusive + *(void **) (&snd_timer_params_get_exclusive_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_get_exclusive"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_set_early_event + *(void **) (&snd_timer_params_set_early_event_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_set_early_event"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_get_early_event + *(void **) (&snd_timer_params_get_early_event_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_get_early_event"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_set_ticks + *(void **) (&snd_timer_params_set_ticks_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_set_ticks"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_get_ticks + *(void **) (&snd_timer_params_get_ticks_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_get_ticks"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_set_queue_size + *(void **) (&snd_timer_params_set_queue_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_set_queue_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_get_queue_size + *(void **) (&snd_timer_params_get_queue_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_get_queue_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_set_filter + *(void **) (&snd_timer_params_set_filter_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_set_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_params_get_filter + *(void **) (&snd_timer_params_get_filter_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_params_get_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_sizeof + *(void **) (&snd_timer_status_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_malloc + *(void **) (&snd_timer_status_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_free + *(void **) (&snd_timer_status_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_copy + *(void **) (&snd_timer_status_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_get_timestamp + *(void **) (&snd_timer_status_get_timestamp_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_get_timestamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_get_resolution + *(void **) (&snd_timer_status_get_resolution_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_get_resolution"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_get_lost + *(void **) (&snd_timer_status_get_lost_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_get_lost"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_get_overrun + *(void **) (&snd_timer_status_get_overrun_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_get_overrun"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_status_get_queue + *(void **) (&snd_timer_status_get_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_status_get_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_timer_info_get_ticks + *(void **) (&snd_timer_info_get_ticks_dylibloader_wrapper_asound) = dlsym(handle, "snd_timer_info_get_ticks"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_open + *(void **) (&snd_hwdep_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_close + *(void **) (&snd_hwdep_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_poll_descriptors + *(void **) (&snd_hwdep_poll_descriptors_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_poll_descriptors"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_poll_descriptors_count + *(void **) (&snd_hwdep_poll_descriptors_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_poll_descriptors_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_poll_descriptors_revents + *(void **) (&snd_hwdep_poll_descriptors_revents_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_poll_descriptors_revents"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_nonblock + *(void **) (&snd_hwdep_nonblock_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_nonblock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info + *(void **) (&snd_hwdep_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status + *(void **) (&snd_hwdep_dsp_status_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_load + *(void **) (&snd_hwdep_dsp_load_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_load"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_ioctl + *(void **) (&snd_hwdep_ioctl_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_ioctl"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_write + *(void **) (&snd_hwdep_write_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_read + *(void **) (&snd_hwdep_read_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_read"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_sizeof + *(void **) (&snd_hwdep_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_malloc + *(void **) (&snd_hwdep_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_free + *(void **) (&snd_hwdep_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_copy + *(void **) (&snd_hwdep_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_get_device + *(void **) (&snd_hwdep_info_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_get_card + *(void **) (&snd_hwdep_info_get_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_get_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_get_id + *(void **) (&snd_hwdep_info_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_get_name + *(void **) (&snd_hwdep_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_get_iface + *(void **) (&snd_hwdep_info_get_iface_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_get_iface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_info_set_device + *(void **) (&snd_hwdep_info_set_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_info_set_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_sizeof + *(void **) (&snd_hwdep_dsp_status_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_malloc + *(void **) (&snd_hwdep_dsp_status_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_free + *(void **) (&snd_hwdep_dsp_status_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_copy + *(void **) (&snd_hwdep_dsp_status_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_get_version + *(void **) (&snd_hwdep_dsp_status_get_version_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_get_version"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_get_id + *(void **) (&snd_hwdep_dsp_status_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_get_num_dsps + *(void **) (&snd_hwdep_dsp_status_get_num_dsps_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_get_num_dsps"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_get_dsp_loaded + *(void **) (&snd_hwdep_dsp_status_get_dsp_loaded_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_get_dsp_loaded"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_status_get_chip_ready + *(void **) (&snd_hwdep_dsp_status_get_chip_ready_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_status_get_chip_ready"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_sizeof + *(void **) (&snd_hwdep_dsp_image_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_malloc + *(void **) (&snd_hwdep_dsp_image_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_free + *(void **) (&snd_hwdep_dsp_image_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_copy + *(void **) (&snd_hwdep_dsp_image_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_get_index + *(void **) (&snd_hwdep_dsp_image_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_get_name + *(void **) (&snd_hwdep_dsp_image_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_get_image + *(void **) (&snd_hwdep_dsp_image_get_image_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_get_image"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_get_length + *(void **) (&snd_hwdep_dsp_image_get_length_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_get_length"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_set_index + *(void **) (&snd_hwdep_dsp_image_set_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_set_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_set_name + *(void **) (&snd_hwdep_dsp_image_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_set_image + *(void **) (&snd_hwdep_dsp_image_set_image_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_set_image"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hwdep_dsp_image_set_length + *(void **) (&snd_hwdep_dsp_image_set_length_dylibloader_wrapper_asound) = dlsym(handle, "snd_hwdep_dsp_image_set_length"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_card_load + *(void **) (&snd_card_load_dylibloader_wrapper_asound) = dlsym(handle, "snd_card_load"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_card_next + *(void **) (&snd_card_next_dylibloader_wrapper_asound) = dlsym(handle, "snd_card_next"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_card_get_index + *(void **) (&snd_card_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_card_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_card_get_name + *(void **) (&snd_card_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_card_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_card_get_longname + *(void **) (&snd_card_get_longname_dylibloader_wrapper_asound) = dlsym(handle, "snd_card_get_longname"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_device_name_hint + *(void **) (&snd_device_name_hint_dylibloader_wrapper_asound) = dlsym(handle, "snd_device_name_hint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_device_name_free_hint + *(void **) (&snd_device_name_free_hint_dylibloader_wrapper_asound) = dlsym(handle, "snd_device_name_free_hint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_device_name_get_hint + *(void **) (&snd_device_name_get_hint_dylibloader_wrapper_asound) = dlsym(handle, "snd_device_name_get_hint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_open + *(void **) (&snd_ctl_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_open_lconf + *(void **) (&snd_ctl_open_lconf_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_open_lconf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_open_fallback + *(void **) (&snd_ctl_open_fallback_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_open_fallback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_close + *(void **) (&snd_ctl_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_nonblock + *(void **) (&snd_ctl_nonblock_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_nonblock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_add_ctl_handler + *(void **) (&snd_async_add_ctl_handler_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_add_ctl_handler"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_async_handler_get_ctl + *(void **) (&snd_async_handler_get_ctl_dylibloader_wrapper_asound) = dlsym(handle, "snd_async_handler_get_ctl"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_poll_descriptors_count + *(void **) (&snd_ctl_poll_descriptors_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_poll_descriptors_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_poll_descriptors + *(void **) (&snd_ctl_poll_descriptors_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_poll_descriptors"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_poll_descriptors_revents + *(void **) (&snd_ctl_poll_descriptors_revents_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_poll_descriptors_revents"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_subscribe_events + *(void **) (&snd_ctl_subscribe_events_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_subscribe_events"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info + *(void **) (&snd_ctl_card_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list + *(void **) (&snd_ctl_elem_list_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info + *(void **) (&snd_ctl_elem_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_read + *(void **) (&snd_ctl_elem_read_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_read"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_write + *(void **) (&snd_ctl_elem_write_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_lock + *(void **) (&snd_ctl_elem_lock_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_lock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_unlock + *(void **) (&snd_ctl_elem_unlock_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_unlock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_tlv_read + *(void **) (&snd_ctl_elem_tlv_read_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_tlv_read"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_tlv_write + *(void **) (&snd_ctl_elem_tlv_write_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_tlv_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_tlv_command + *(void **) (&snd_ctl_elem_tlv_command_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_tlv_command"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_hwdep_next_device + *(void **) (&snd_ctl_hwdep_next_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_hwdep_next_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_hwdep_info + *(void **) (&snd_ctl_hwdep_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_hwdep_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_pcm_next_device + *(void **) (&snd_ctl_pcm_next_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_pcm_next_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_pcm_info + *(void **) (&snd_ctl_pcm_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_pcm_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_pcm_prefer_subdevice + *(void **) (&snd_ctl_pcm_prefer_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_pcm_prefer_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_rawmidi_next_device + *(void **) (&snd_ctl_rawmidi_next_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_rawmidi_next_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_rawmidi_info + *(void **) (&snd_ctl_rawmidi_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_rawmidi_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_rawmidi_prefer_subdevice + *(void **) (&snd_ctl_rawmidi_prefer_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_rawmidi_prefer_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_set_power_state + *(void **) (&snd_ctl_set_power_state_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_set_power_state"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_get_power_state + *(void **) (&snd_ctl_get_power_state_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_get_power_state"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_read + *(void **) (&snd_ctl_read_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_read"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_wait + *(void **) (&snd_ctl_wait_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_wait"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_name + *(void **) (&snd_ctl_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_type + *(void **) (&snd_ctl_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_type_name + *(void **) (&snd_ctl_elem_type_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_type_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_iface_name + *(void **) (&snd_ctl_elem_iface_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_iface_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_type_name + *(void **) (&snd_ctl_event_type_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_type_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_elem_get_mask + *(void **) (&snd_ctl_event_elem_get_mask_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_elem_get_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_elem_get_numid + *(void **) (&snd_ctl_event_elem_get_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_elem_get_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_elem_get_id + *(void **) (&snd_ctl_event_elem_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_elem_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_elem_get_interface + *(void **) (&snd_ctl_event_elem_get_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_elem_get_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_elem_get_device + *(void **) (&snd_ctl_event_elem_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_elem_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_elem_get_subdevice + *(void **) (&snd_ctl_event_elem_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_elem_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_elem_get_name + *(void **) (&snd_ctl_event_elem_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_elem_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_elem_get_index + *(void **) (&snd_ctl_event_elem_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_elem_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_alloc_space + *(void **) (&snd_ctl_elem_list_alloc_space_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_alloc_space"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_free_space + *(void **) (&snd_ctl_elem_list_free_space_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_free_space"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_ascii_elem_id_get + *(void **) (&snd_ctl_ascii_elem_id_get_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_ascii_elem_id_get"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_ascii_elem_id_parse + *(void **) (&snd_ctl_ascii_elem_id_parse_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_ascii_elem_id_parse"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_ascii_value_parse + *(void **) (&snd_ctl_ascii_value_parse_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_ascii_value_parse"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_sizeof + *(void **) (&snd_ctl_elem_id_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_malloc + *(void **) (&snd_ctl_elem_id_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_free + *(void **) (&snd_ctl_elem_id_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_clear + *(void **) (&snd_ctl_elem_id_clear_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_clear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_copy + *(void **) (&snd_ctl_elem_id_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_get_numid + *(void **) (&snd_ctl_elem_id_get_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_get_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_get_interface + *(void **) (&snd_ctl_elem_id_get_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_get_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_get_device + *(void **) (&snd_ctl_elem_id_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_get_subdevice + *(void **) (&snd_ctl_elem_id_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_get_name + *(void **) (&snd_ctl_elem_id_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_get_index + *(void **) (&snd_ctl_elem_id_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_set_numid + *(void **) (&snd_ctl_elem_id_set_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_set_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_set_interface + *(void **) (&snd_ctl_elem_id_set_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_set_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_set_device + *(void **) (&snd_ctl_elem_id_set_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_set_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_set_subdevice + *(void **) (&snd_ctl_elem_id_set_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_set_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_set_name + *(void **) (&snd_ctl_elem_id_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_id_set_index + *(void **) (&snd_ctl_elem_id_set_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_id_set_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_sizeof + *(void **) (&snd_ctl_card_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_malloc + *(void **) (&snd_ctl_card_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_free + *(void **) (&snd_ctl_card_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_clear + *(void **) (&snd_ctl_card_info_clear_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_clear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_copy + *(void **) (&snd_ctl_card_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_get_card + *(void **) (&snd_ctl_card_info_get_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_get_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_get_id + *(void **) (&snd_ctl_card_info_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_get_driver + *(void **) (&snd_ctl_card_info_get_driver_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_get_driver"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_get_name + *(void **) (&snd_ctl_card_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_get_longname + *(void **) (&snd_ctl_card_info_get_longname_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_get_longname"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_get_mixername + *(void **) (&snd_ctl_card_info_get_mixername_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_get_mixername"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_card_info_get_components + *(void **) (&snd_ctl_card_info_get_components_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_card_info_get_components"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_sizeof + *(void **) (&snd_ctl_event_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_malloc + *(void **) (&snd_ctl_event_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_free + *(void **) (&snd_ctl_event_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_clear + *(void **) (&snd_ctl_event_clear_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_clear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_copy + *(void **) (&snd_ctl_event_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_event_get_type + *(void **) (&snd_ctl_event_get_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_event_get_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_sizeof + *(void **) (&snd_ctl_elem_list_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_malloc + *(void **) (&snd_ctl_elem_list_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_free + *(void **) (&snd_ctl_elem_list_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_clear + *(void **) (&snd_ctl_elem_list_clear_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_clear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_copy + *(void **) (&snd_ctl_elem_list_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_set_offset + *(void **) (&snd_ctl_elem_list_set_offset_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_set_offset"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_used + *(void **) (&snd_ctl_elem_list_get_used_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_used"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_count + *(void **) (&snd_ctl_elem_list_get_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_id + *(void **) (&snd_ctl_elem_list_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_numid + *(void **) (&snd_ctl_elem_list_get_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_interface + *(void **) (&snd_ctl_elem_list_get_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_device + *(void **) (&snd_ctl_elem_list_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_subdevice + *(void **) (&snd_ctl_elem_list_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_name + *(void **) (&snd_ctl_elem_list_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_list_get_index + *(void **) (&snd_ctl_elem_list_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_list_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_sizeof + *(void **) (&snd_ctl_elem_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_malloc + *(void **) (&snd_ctl_elem_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_free + *(void **) (&snd_ctl_elem_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_clear + *(void **) (&snd_ctl_elem_info_clear_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_clear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_copy + *(void **) (&snd_ctl_elem_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_type + *(void **) (&snd_ctl_elem_info_get_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_readable + *(void **) (&snd_ctl_elem_info_is_readable_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_readable"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_writable + *(void **) (&snd_ctl_elem_info_is_writable_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_writable"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_volatile + *(void **) (&snd_ctl_elem_info_is_volatile_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_volatile"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_inactive + *(void **) (&snd_ctl_elem_info_is_inactive_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_inactive"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_locked + *(void **) (&snd_ctl_elem_info_is_locked_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_locked"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_tlv_readable + *(void **) (&snd_ctl_elem_info_is_tlv_readable_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_tlv_readable"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_tlv_writable + *(void **) (&snd_ctl_elem_info_is_tlv_writable_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_tlv_writable"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_tlv_commandable + *(void **) (&snd_ctl_elem_info_is_tlv_commandable_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_tlv_commandable"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_owner + *(void **) (&snd_ctl_elem_info_is_owner_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_owner"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_is_user + *(void **) (&snd_ctl_elem_info_is_user_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_is_user"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_owner + *(void **) (&snd_ctl_elem_info_get_owner_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_owner"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_count + *(void **) (&snd_ctl_elem_info_get_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_min + *(void **) (&snd_ctl_elem_info_get_min_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_max + *(void **) (&snd_ctl_elem_info_get_max_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_step + *(void **) (&snd_ctl_elem_info_get_step_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_step"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_min64 + *(void **) (&snd_ctl_elem_info_get_min64_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_min64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_max64 + *(void **) (&snd_ctl_elem_info_get_max64_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_max64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_step64 + *(void **) (&snd_ctl_elem_info_get_step64_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_step64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_items + *(void **) (&snd_ctl_elem_info_get_items_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_items"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_item + *(void **) (&snd_ctl_elem_info_set_item_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_item"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_item_name + *(void **) (&snd_ctl_elem_info_get_item_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_item_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_dimensions + *(void **) (&snd_ctl_elem_info_get_dimensions_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_dimensions"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_dimension + *(void **) (&snd_ctl_elem_info_get_dimension_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_dimension"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_dimension + *(void **) (&snd_ctl_elem_info_set_dimension_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_dimension"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_id + *(void **) (&snd_ctl_elem_info_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_numid + *(void **) (&snd_ctl_elem_info_get_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_interface + *(void **) (&snd_ctl_elem_info_get_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_device + *(void **) (&snd_ctl_elem_info_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_subdevice + *(void **) (&snd_ctl_elem_info_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_name + *(void **) (&snd_ctl_elem_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_get_index + *(void **) (&snd_ctl_elem_info_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_id + *(void **) (&snd_ctl_elem_info_set_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_numid + *(void **) (&snd_ctl_elem_info_set_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_interface + *(void **) (&snd_ctl_elem_info_set_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_device + *(void **) (&snd_ctl_elem_info_set_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_subdevice + *(void **) (&snd_ctl_elem_info_set_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_name + *(void **) (&snd_ctl_elem_info_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_info_set_index + *(void **) (&snd_ctl_elem_info_set_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_info_set_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_add_integer_elem_set + *(void **) (&snd_ctl_add_integer_elem_set_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_add_integer_elem_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_add_integer64_elem_set + *(void **) (&snd_ctl_add_integer64_elem_set_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_add_integer64_elem_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_add_boolean_elem_set + *(void **) (&snd_ctl_add_boolean_elem_set_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_add_boolean_elem_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_add_enumerated_elem_set + *(void **) (&snd_ctl_add_enumerated_elem_set_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_add_enumerated_elem_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_add_bytes_elem_set + *(void **) (&snd_ctl_add_bytes_elem_set_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_add_bytes_elem_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_add_integer + *(void **) (&snd_ctl_elem_add_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_add_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_add_integer64 + *(void **) (&snd_ctl_elem_add_integer64_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_add_integer64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_add_boolean + *(void **) (&snd_ctl_elem_add_boolean_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_add_boolean"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_add_enumerated + *(void **) (&snd_ctl_elem_add_enumerated_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_add_enumerated"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_add_iec958 + *(void **) (&snd_ctl_elem_add_iec958_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_add_iec958"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_remove + *(void **) (&snd_ctl_elem_remove_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_remove"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_sizeof + *(void **) (&snd_ctl_elem_value_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_malloc + *(void **) (&snd_ctl_elem_value_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_free + *(void **) (&snd_ctl_elem_value_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_clear + *(void **) (&snd_ctl_elem_value_clear_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_clear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_copy + *(void **) (&snd_ctl_elem_value_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_compare + *(void **) (&snd_ctl_elem_value_compare_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_compare"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_id + *(void **) (&snd_ctl_elem_value_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_numid + *(void **) (&snd_ctl_elem_value_get_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_interface + *(void **) (&snd_ctl_elem_value_get_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_device + *(void **) (&snd_ctl_elem_value_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_subdevice + *(void **) (&snd_ctl_elem_value_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_name + *(void **) (&snd_ctl_elem_value_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_index + *(void **) (&snd_ctl_elem_value_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_id + *(void **) (&snd_ctl_elem_value_set_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_numid + *(void **) (&snd_ctl_elem_value_set_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_interface + *(void **) (&snd_ctl_elem_value_set_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_device + *(void **) (&snd_ctl_elem_value_set_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_subdevice + *(void **) (&snd_ctl_elem_value_set_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_name + *(void **) (&snd_ctl_elem_value_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_index + *(void **) (&snd_ctl_elem_value_set_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_boolean + *(void **) (&snd_ctl_elem_value_get_boolean_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_boolean"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_integer + *(void **) (&snd_ctl_elem_value_get_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_integer64 + *(void **) (&snd_ctl_elem_value_get_integer64_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_integer64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_enumerated + *(void **) (&snd_ctl_elem_value_get_enumerated_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_enumerated"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_byte + *(void **) (&snd_ctl_elem_value_get_byte_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_byte"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_boolean + *(void **) (&snd_ctl_elem_value_set_boolean_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_boolean"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_integer + *(void **) (&snd_ctl_elem_value_set_integer_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_integer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_integer64 + *(void **) (&snd_ctl_elem_value_set_integer64_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_integer64"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_enumerated + *(void **) (&snd_ctl_elem_value_set_enumerated_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_enumerated"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_byte + *(void **) (&snd_ctl_elem_value_set_byte_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_byte"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_set_bytes + *(void **) (&snd_ctl_elem_set_bytes_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_set_bytes"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_bytes + *(void **) (&snd_ctl_elem_value_get_bytes_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_bytes"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_get_iec958 + *(void **) (&snd_ctl_elem_value_get_iec958_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_get_iec958"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_elem_value_set_iec958 + *(void **) (&snd_ctl_elem_value_set_iec958_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_elem_value_set_iec958"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_tlv_parse_dB_info + *(void **) (&snd_tlv_parse_dB_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_tlv_parse_dB_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_tlv_get_dB_range + *(void **) (&snd_tlv_get_dB_range_dylibloader_wrapper_asound) = dlsym(handle, "snd_tlv_get_dB_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_tlv_convert_to_dB + *(void **) (&snd_tlv_convert_to_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_tlv_convert_to_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_tlv_convert_from_dB + *(void **) (&snd_tlv_convert_from_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_tlv_convert_from_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_get_dB_range + *(void **) (&snd_ctl_get_dB_range_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_get_dB_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_convert_to_dB + *(void **) (&snd_ctl_convert_to_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_convert_to_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_ctl_convert_from_dB + *(void **) (&snd_ctl_convert_from_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_ctl_convert_from_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_compare_fast + *(void **) (&snd_hctl_compare_fast_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_compare_fast"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_open + *(void **) (&snd_hctl_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_open_ctl + *(void **) (&snd_hctl_open_ctl_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_open_ctl"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_close + *(void **) (&snd_hctl_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_nonblock + *(void **) (&snd_hctl_nonblock_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_nonblock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_poll_descriptors_count + *(void **) (&snd_hctl_poll_descriptors_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_poll_descriptors_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_poll_descriptors + *(void **) (&snd_hctl_poll_descriptors_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_poll_descriptors"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_poll_descriptors_revents + *(void **) (&snd_hctl_poll_descriptors_revents_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_poll_descriptors_revents"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_get_count + *(void **) (&snd_hctl_get_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_get_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_set_compare + *(void **) (&snd_hctl_set_compare_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_set_compare"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_first_elem + *(void **) (&snd_hctl_first_elem_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_first_elem"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_last_elem + *(void **) (&snd_hctl_last_elem_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_last_elem"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_find_elem + *(void **) (&snd_hctl_find_elem_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_find_elem"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_set_callback + *(void **) (&snd_hctl_set_callback_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_set_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_set_callback_private + *(void **) (&snd_hctl_set_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_set_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_get_callback_private + *(void **) (&snd_hctl_get_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_get_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_load + *(void **) (&snd_hctl_load_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_load"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_free + *(void **) (&snd_hctl_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_handle_events + *(void **) (&snd_hctl_handle_events_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_handle_events"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_name + *(void **) (&snd_hctl_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_wait + *(void **) (&snd_hctl_wait_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_wait"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_ctl + *(void **) (&snd_hctl_ctl_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_ctl"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_next + *(void **) (&snd_hctl_elem_next_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_next"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_prev + *(void **) (&snd_hctl_elem_prev_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_prev"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_info + *(void **) (&snd_hctl_elem_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_read + *(void **) (&snd_hctl_elem_read_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_read"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_write + *(void **) (&snd_hctl_elem_write_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_tlv_read + *(void **) (&snd_hctl_elem_tlv_read_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_tlv_read"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_tlv_write + *(void **) (&snd_hctl_elem_tlv_write_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_tlv_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_tlv_command + *(void **) (&snd_hctl_elem_tlv_command_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_tlv_command"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_hctl + *(void **) (&snd_hctl_elem_get_hctl_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_hctl"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_id + *(void **) (&snd_hctl_elem_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_numid + *(void **) (&snd_hctl_elem_get_numid_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_numid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_interface + *(void **) (&snd_hctl_elem_get_interface_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_interface"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_device + *(void **) (&snd_hctl_elem_get_device_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_device"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_subdevice + *(void **) (&snd_hctl_elem_get_subdevice_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_subdevice"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_name + *(void **) (&snd_hctl_elem_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_index + *(void **) (&snd_hctl_elem_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_set_callback + *(void **) (&snd_hctl_elem_set_callback_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_set_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_get_callback_private + *(void **) (&snd_hctl_elem_get_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_get_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_hctl_elem_set_callback_private + *(void **) (&snd_hctl_elem_set_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_hctl_elem_set_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_sctl_build + *(void **) (&snd_sctl_build_dylibloader_wrapper_asound) = dlsym(handle, "snd_sctl_build"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_sctl_free + *(void **) (&snd_sctl_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_sctl_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_sctl_install + *(void **) (&snd_sctl_install_dylibloader_wrapper_asound) = dlsym(handle, "snd_sctl_install"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_sctl_remove + *(void **) (&snd_sctl_remove_dylibloader_wrapper_asound) = dlsym(handle, "snd_sctl_remove"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_open + *(void **) (&snd_mixer_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_close + *(void **) (&snd_mixer_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_first_elem + *(void **) (&snd_mixer_first_elem_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_first_elem"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_last_elem + *(void **) (&snd_mixer_last_elem_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_last_elem"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_handle_events + *(void **) (&snd_mixer_handle_events_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_handle_events"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_attach + *(void **) (&snd_mixer_attach_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_attach"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_attach_hctl + *(void **) (&snd_mixer_attach_hctl_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_attach_hctl"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_detach + *(void **) (&snd_mixer_detach_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_detach"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_detach_hctl + *(void **) (&snd_mixer_detach_hctl_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_detach_hctl"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_get_hctl + *(void **) (&snd_mixer_get_hctl_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_get_hctl"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_poll_descriptors_count + *(void **) (&snd_mixer_poll_descriptors_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_poll_descriptors_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_poll_descriptors + *(void **) (&snd_mixer_poll_descriptors_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_poll_descriptors"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_poll_descriptors_revents + *(void **) (&snd_mixer_poll_descriptors_revents_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_poll_descriptors_revents"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_load + *(void **) (&snd_mixer_load_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_load"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_free + *(void **) (&snd_mixer_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_wait + *(void **) (&snd_mixer_wait_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_wait"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_set_compare + *(void **) (&snd_mixer_set_compare_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_set_compare"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_set_callback + *(void **) (&snd_mixer_set_callback_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_set_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_get_callback_private + *(void **) (&snd_mixer_get_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_get_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_set_callback_private + *(void **) (&snd_mixer_set_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_set_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_get_count + *(void **) (&snd_mixer_get_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_get_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_unregister + *(void **) (&snd_mixer_class_unregister_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_unregister"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_next + *(void **) (&snd_mixer_elem_next_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_next"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_prev + *(void **) (&snd_mixer_elem_prev_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_prev"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_set_callback + *(void **) (&snd_mixer_elem_set_callback_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_set_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_get_callback_private + *(void **) (&snd_mixer_elem_get_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_get_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_set_callback_private + *(void **) (&snd_mixer_elem_set_callback_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_set_callback_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_get_type + *(void **) (&snd_mixer_elem_get_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_get_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_register + *(void **) (&snd_mixer_class_register_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_register"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_new + *(void **) (&snd_mixer_elem_new_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_add + *(void **) (&snd_mixer_elem_add_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_add"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_remove + *(void **) (&snd_mixer_elem_remove_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_remove"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_free + *(void **) (&snd_mixer_elem_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_info + *(void **) (&snd_mixer_elem_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_value + *(void **) (&snd_mixer_elem_value_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_value"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_attach + *(void **) (&snd_mixer_elem_attach_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_attach"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_detach + *(void **) (&snd_mixer_elem_detach_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_detach"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_empty + *(void **) (&snd_mixer_elem_empty_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_empty"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_elem_get_private + *(void **) (&snd_mixer_elem_get_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_elem_get_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_sizeof + *(void **) (&snd_mixer_class_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_malloc + *(void **) (&snd_mixer_class_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_free + *(void **) (&snd_mixer_class_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_copy + *(void **) (&snd_mixer_class_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_get_mixer + *(void **) (&snd_mixer_class_get_mixer_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_get_mixer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_get_event + *(void **) (&snd_mixer_class_get_event_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_get_event"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_get_private + *(void **) (&snd_mixer_class_get_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_get_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_get_compare + *(void **) (&snd_mixer_class_get_compare_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_get_compare"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_set_event + *(void **) (&snd_mixer_class_set_event_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_set_event"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_set_private + *(void **) (&snd_mixer_class_set_private_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_set_private"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_set_private_free + *(void **) (&snd_mixer_class_set_private_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_set_private_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_class_set_compare + *(void **) (&snd_mixer_class_set_compare_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_class_set_compare"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_channel_name + *(void **) (&snd_mixer_selem_channel_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_channel_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_register + *(void **) (&snd_mixer_selem_register_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_register"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_id + *(void **) (&snd_mixer_selem_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_name + *(void **) (&snd_mixer_selem_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_index + *(void **) (&snd_mixer_selem_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_find_selem + *(void **) (&snd_mixer_find_selem_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_find_selem"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_is_active + *(void **) (&snd_mixer_selem_is_active_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_is_active"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_is_playback_mono + *(void **) (&snd_mixer_selem_is_playback_mono_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_is_playback_mono"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_playback_channel + *(void **) (&snd_mixer_selem_has_playback_channel_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_playback_channel"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_is_capture_mono + *(void **) (&snd_mixer_selem_is_capture_mono_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_is_capture_mono"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_capture_channel + *(void **) (&snd_mixer_selem_has_capture_channel_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_capture_channel"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_capture_group + *(void **) (&snd_mixer_selem_get_capture_group_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_capture_group"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_common_volume + *(void **) (&snd_mixer_selem_has_common_volume_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_common_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_playback_volume + *(void **) (&snd_mixer_selem_has_playback_volume_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_playback_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_playback_volume_joined + *(void **) (&snd_mixer_selem_has_playback_volume_joined_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_playback_volume_joined"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_capture_volume + *(void **) (&snd_mixer_selem_has_capture_volume_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_capture_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_capture_volume_joined + *(void **) (&snd_mixer_selem_has_capture_volume_joined_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_capture_volume_joined"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_common_switch + *(void **) (&snd_mixer_selem_has_common_switch_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_common_switch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_playback_switch + *(void **) (&snd_mixer_selem_has_playback_switch_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_playback_switch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_playback_switch_joined + *(void **) (&snd_mixer_selem_has_playback_switch_joined_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_playback_switch_joined"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_capture_switch + *(void **) (&snd_mixer_selem_has_capture_switch_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_capture_switch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_capture_switch_joined + *(void **) (&snd_mixer_selem_has_capture_switch_joined_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_capture_switch_joined"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_has_capture_switch_exclusive + *(void **) (&snd_mixer_selem_has_capture_switch_exclusive_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_has_capture_switch_exclusive"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_ask_playback_vol_dB + *(void **) (&snd_mixer_selem_ask_playback_vol_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_ask_playback_vol_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_ask_capture_vol_dB + *(void **) (&snd_mixer_selem_ask_capture_vol_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_ask_capture_vol_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_ask_playback_dB_vol + *(void **) (&snd_mixer_selem_ask_playback_dB_vol_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_ask_playback_dB_vol"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_ask_capture_dB_vol + *(void **) (&snd_mixer_selem_ask_capture_dB_vol_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_ask_capture_dB_vol"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_playback_volume + *(void **) (&snd_mixer_selem_get_playback_volume_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_playback_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_capture_volume + *(void **) (&snd_mixer_selem_get_capture_volume_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_capture_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_playback_dB + *(void **) (&snd_mixer_selem_get_playback_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_playback_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_capture_dB + *(void **) (&snd_mixer_selem_get_capture_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_capture_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_playback_switch + *(void **) (&snd_mixer_selem_get_playback_switch_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_playback_switch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_capture_switch + *(void **) (&snd_mixer_selem_get_capture_switch_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_capture_switch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_playback_volume + *(void **) (&snd_mixer_selem_set_playback_volume_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_playback_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_capture_volume + *(void **) (&snd_mixer_selem_set_capture_volume_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_capture_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_playback_dB + *(void **) (&snd_mixer_selem_set_playback_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_playback_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_capture_dB + *(void **) (&snd_mixer_selem_set_capture_dB_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_capture_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_playback_volume_all + *(void **) (&snd_mixer_selem_set_playback_volume_all_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_playback_volume_all"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_capture_volume_all + *(void **) (&snd_mixer_selem_set_capture_volume_all_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_capture_volume_all"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_playback_dB_all + *(void **) (&snd_mixer_selem_set_playback_dB_all_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_playback_dB_all"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_capture_dB_all + *(void **) (&snd_mixer_selem_set_capture_dB_all_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_capture_dB_all"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_playback_switch + *(void **) (&snd_mixer_selem_set_playback_switch_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_playback_switch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_capture_switch + *(void **) (&snd_mixer_selem_set_capture_switch_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_capture_switch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_playback_switch_all + *(void **) (&snd_mixer_selem_set_playback_switch_all_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_playback_switch_all"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_capture_switch_all + *(void **) (&snd_mixer_selem_set_capture_switch_all_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_capture_switch_all"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_playback_volume_range + *(void **) (&snd_mixer_selem_get_playback_volume_range_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_playback_volume_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_playback_dB_range + *(void **) (&snd_mixer_selem_get_playback_dB_range_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_playback_dB_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_playback_volume_range + *(void **) (&snd_mixer_selem_set_playback_volume_range_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_playback_volume_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_capture_volume_range + *(void **) (&snd_mixer_selem_get_capture_volume_range_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_capture_volume_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_capture_dB_range + *(void **) (&snd_mixer_selem_get_capture_dB_range_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_capture_dB_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_capture_volume_range + *(void **) (&snd_mixer_selem_set_capture_volume_range_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_capture_volume_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_is_enumerated + *(void **) (&snd_mixer_selem_is_enumerated_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_is_enumerated"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_is_enum_playback + *(void **) (&snd_mixer_selem_is_enum_playback_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_is_enum_playback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_is_enum_capture + *(void **) (&snd_mixer_selem_is_enum_capture_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_is_enum_capture"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_enum_items + *(void **) (&snd_mixer_selem_get_enum_items_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_enum_items"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_enum_item_name + *(void **) (&snd_mixer_selem_get_enum_item_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_enum_item_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_get_enum_item + *(void **) (&snd_mixer_selem_get_enum_item_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_get_enum_item"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_set_enum_item + *(void **) (&snd_mixer_selem_set_enum_item_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_set_enum_item"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_sizeof + *(void **) (&snd_mixer_selem_id_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_malloc + *(void **) (&snd_mixer_selem_id_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_free + *(void **) (&snd_mixer_selem_id_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_copy + *(void **) (&snd_mixer_selem_id_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_get_name + *(void **) (&snd_mixer_selem_id_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_get_index + *(void **) (&snd_mixer_selem_id_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_set_name + *(void **) (&snd_mixer_selem_id_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_set_index + *(void **) (&snd_mixer_selem_id_set_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_set_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_mixer_selem_id_parse + *(void **) (&snd_mixer_selem_id_parse_dylibloader_wrapper_asound) = dlsym(handle, "snd_mixer_selem_id_parse"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_open + *(void **) (&snd_seq_open_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_open"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_open_lconf + *(void **) (&snd_seq_open_lconf_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_open_lconf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_name + *(void **) (&snd_seq_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_type + *(void **) (&snd_seq_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_close + *(void **) (&snd_seq_close_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_close"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_poll_descriptors_count + *(void **) (&snd_seq_poll_descriptors_count_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_poll_descriptors_count"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_poll_descriptors + *(void **) (&snd_seq_poll_descriptors_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_poll_descriptors"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_poll_descriptors_revents + *(void **) (&snd_seq_poll_descriptors_revents_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_poll_descriptors_revents"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_nonblock + *(void **) (&snd_seq_nonblock_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_nonblock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_id + *(void **) (&snd_seq_client_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_output_buffer_size + *(void **) (&snd_seq_get_output_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_output_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_input_buffer_size + *(void **) (&snd_seq_get_input_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_input_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_output_buffer_size + *(void **) (&snd_seq_set_output_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_output_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_input_buffer_size + *(void **) (&snd_seq_set_input_buffer_size_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_input_buffer_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_sizeof + *(void **) (&snd_seq_system_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_malloc + *(void **) (&snd_seq_system_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_free + *(void **) (&snd_seq_system_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_copy + *(void **) (&snd_seq_system_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_get_queues + *(void **) (&snd_seq_system_info_get_queues_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_get_queues"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_get_clients + *(void **) (&snd_seq_system_info_get_clients_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_get_clients"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_get_ports + *(void **) (&snd_seq_system_info_get_ports_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_get_ports"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_get_channels + *(void **) (&snd_seq_system_info_get_channels_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_get_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_get_cur_clients + *(void **) (&snd_seq_system_info_get_cur_clients_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_get_cur_clients"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info_get_cur_queues + *(void **) (&snd_seq_system_info_get_cur_queues_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info_get_cur_queues"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_system_info + *(void **) (&snd_seq_system_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_system_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_sizeof + *(void **) (&snd_seq_client_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_malloc + *(void **) (&snd_seq_client_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_free + *(void **) (&snd_seq_client_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_copy + *(void **) (&snd_seq_client_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_client + *(void **) (&snd_seq_client_info_get_client_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_type + *(void **) (&snd_seq_client_info_get_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_name + *(void **) (&snd_seq_client_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_broadcast_filter + *(void **) (&snd_seq_client_info_get_broadcast_filter_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_broadcast_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_error_bounce + *(void **) (&snd_seq_client_info_get_error_bounce_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_error_bounce"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_card + *(void **) (&snd_seq_client_info_get_card_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_card"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_pid + *(void **) (&snd_seq_client_info_get_pid_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_pid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_event_filter + *(void **) (&snd_seq_client_info_get_event_filter_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_event_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_num_ports + *(void **) (&snd_seq_client_info_get_num_ports_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_num_ports"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_get_event_lost + *(void **) (&snd_seq_client_info_get_event_lost_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_get_event_lost"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_set_client + *(void **) (&snd_seq_client_info_set_client_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_set_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_set_name + *(void **) (&snd_seq_client_info_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_set_broadcast_filter + *(void **) (&snd_seq_client_info_set_broadcast_filter_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_set_broadcast_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_set_error_bounce + *(void **) (&snd_seq_client_info_set_error_bounce_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_set_error_bounce"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_set_event_filter + *(void **) (&snd_seq_client_info_set_event_filter_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_set_event_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_event_filter_clear + *(void **) (&snd_seq_client_info_event_filter_clear_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_event_filter_clear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_event_filter_add + *(void **) (&snd_seq_client_info_event_filter_add_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_event_filter_add"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_event_filter_del + *(void **) (&snd_seq_client_info_event_filter_del_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_event_filter_del"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_info_event_filter_check + *(void **) (&snd_seq_client_info_event_filter_check_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_info_event_filter_check"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_client_info + *(void **) (&snd_seq_get_client_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_client_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_any_client_info + *(void **) (&snd_seq_get_any_client_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_any_client_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_client_info + *(void **) (&snd_seq_set_client_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_client_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_next_client + *(void **) (&snd_seq_query_next_client_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_next_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_sizeof + *(void **) (&snd_seq_client_pool_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_malloc + *(void **) (&snd_seq_client_pool_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_free + *(void **) (&snd_seq_client_pool_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_copy + *(void **) (&snd_seq_client_pool_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_get_client + *(void **) (&snd_seq_client_pool_get_client_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_get_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_get_output_pool + *(void **) (&snd_seq_client_pool_get_output_pool_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_get_output_pool"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_get_input_pool + *(void **) (&snd_seq_client_pool_get_input_pool_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_get_input_pool"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_get_output_room + *(void **) (&snd_seq_client_pool_get_output_room_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_get_output_room"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_get_output_free + *(void **) (&snd_seq_client_pool_get_output_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_get_output_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_get_input_free + *(void **) (&snd_seq_client_pool_get_input_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_get_input_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_set_output_pool + *(void **) (&snd_seq_client_pool_set_output_pool_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_set_output_pool"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_set_input_pool + *(void **) (&snd_seq_client_pool_set_input_pool_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_set_input_pool"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_client_pool_set_output_room + *(void **) (&snd_seq_client_pool_set_output_room_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_client_pool_set_output_room"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_client_pool + *(void **) (&snd_seq_get_client_pool_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_client_pool"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_client_pool + *(void **) (&snd_seq_set_client_pool_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_client_pool"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_sizeof + *(void **) (&snd_seq_port_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_malloc + *(void **) (&snd_seq_port_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_free + *(void **) (&snd_seq_port_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_copy + *(void **) (&snd_seq_port_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_client + *(void **) (&snd_seq_port_info_get_client_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_port + *(void **) (&snd_seq_port_info_get_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_addr + *(void **) (&snd_seq_port_info_get_addr_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_addr"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_name + *(void **) (&snd_seq_port_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_capability + *(void **) (&snd_seq_port_info_get_capability_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_capability"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_type + *(void **) (&snd_seq_port_info_get_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_midi_channels + *(void **) (&snd_seq_port_info_get_midi_channels_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_midi_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_midi_voices + *(void **) (&snd_seq_port_info_get_midi_voices_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_midi_voices"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_synth_voices + *(void **) (&snd_seq_port_info_get_synth_voices_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_synth_voices"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_read_use + *(void **) (&snd_seq_port_info_get_read_use_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_read_use"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_write_use + *(void **) (&snd_seq_port_info_get_write_use_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_write_use"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_port_specified + *(void **) (&snd_seq_port_info_get_port_specified_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_port_specified"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_timestamping + *(void **) (&snd_seq_port_info_get_timestamping_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_timestamping"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_timestamp_real + *(void **) (&snd_seq_port_info_get_timestamp_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_timestamp_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_get_timestamp_queue + *(void **) (&snd_seq_port_info_get_timestamp_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_get_timestamp_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_client + *(void **) (&snd_seq_port_info_set_client_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_port + *(void **) (&snd_seq_port_info_set_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_addr + *(void **) (&snd_seq_port_info_set_addr_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_addr"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_name + *(void **) (&snd_seq_port_info_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_capability + *(void **) (&snd_seq_port_info_set_capability_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_capability"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_type + *(void **) (&snd_seq_port_info_set_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_midi_channels + *(void **) (&snd_seq_port_info_set_midi_channels_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_midi_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_midi_voices + *(void **) (&snd_seq_port_info_set_midi_voices_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_midi_voices"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_synth_voices + *(void **) (&snd_seq_port_info_set_synth_voices_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_synth_voices"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_port_specified + *(void **) (&snd_seq_port_info_set_port_specified_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_port_specified"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_timestamping + *(void **) (&snd_seq_port_info_set_timestamping_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_timestamping"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_timestamp_real + *(void **) (&snd_seq_port_info_set_timestamp_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_timestamp_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_info_set_timestamp_queue + *(void **) (&snd_seq_port_info_set_timestamp_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_info_set_timestamp_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_create_port + *(void **) (&snd_seq_create_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_create_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_delete_port + *(void **) (&snd_seq_delete_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_delete_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_port_info + *(void **) (&snd_seq_get_port_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_port_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_any_port_info + *(void **) (&snd_seq_get_any_port_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_any_port_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_port_info + *(void **) (&snd_seq_set_port_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_port_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_next_port + *(void **) (&snd_seq_query_next_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_next_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_sizeof + *(void **) (&snd_seq_port_subscribe_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_malloc + *(void **) (&snd_seq_port_subscribe_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_free + *(void **) (&snd_seq_port_subscribe_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_copy + *(void **) (&snd_seq_port_subscribe_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_get_sender + *(void **) (&snd_seq_port_subscribe_get_sender_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_get_sender"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_get_dest + *(void **) (&snd_seq_port_subscribe_get_dest_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_get_dest"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_get_queue + *(void **) (&snd_seq_port_subscribe_get_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_get_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_get_exclusive + *(void **) (&snd_seq_port_subscribe_get_exclusive_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_get_exclusive"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_get_time_update + *(void **) (&snd_seq_port_subscribe_get_time_update_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_get_time_update"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_get_time_real + *(void **) (&snd_seq_port_subscribe_get_time_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_get_time_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_set_sender + *(void **) (&snd_seq_port_subscribe_set_sender_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_set_sender"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_set_dest + *(void **) (&snd_seq_port_subscribe_set_dest_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_set_dest"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_set_queue + *(void **) (&snd_seq_port_subscribe_set_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_set_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_set_exclusive + *(void **) (&snd_seq_port_subscribe_set_exclusive_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_set_exclusive"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_set_time_update + *(void **) (&snd_seq_port_subscribe_set_time_update_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_set_time_update"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_port_subscribe_set_time_real + *(void **) (&snd_seq_port_subscribe_set_time_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_port_subscribe_set_time_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_port_subscription + *(void **) (&snd_seq_get_port_subscription_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_port_subscription"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_subscribe_port + *(void **) (&snd_seq_subscribe_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_subscribe_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_unsubscribe_port + *(void **) (&snd_seq_unsubscribe_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_unsubscribe_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_sizeof + *(void **) (&snd_seq_query_subscribe_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_malloc + *(void **) (&snd_seq_query_subscribe_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_free + *(void **) (&snd_seq_query_subscribe_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_copy + *(void **) (&snd_seq_query_subscribe_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_client + *(void **) (&snd_seq_query_subscribe_get_client_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_port + *(void **) (&snd_seq_query_subscribe_get_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_root + *(void **) (&snd_seq_query_subscribe_get_root_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_root"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_type + *(void **) (&snd_seq_query_subscribe_get_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_index + *(void **) (&snd_seq_query_subscribe_get_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_num_subs + *(void **) (&snd_seq_query_subscribe_get_num_subs_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_num_subs"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_addr + *(void **) (&snd_seq_query_subscribe_get_addr_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_addr"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_queue + *(void **) (&snd_seq_query_subscribe_get_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_exclusive + *(void **) (&snd_seq_query_subscribe_get_exclusive_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_exclusive"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_time_update + *(void **) (&snd_seq_query_subscribe_get_time_update_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_time_update"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_get_time_real + *(void **) (&snd_seq_query_subscribe_get_time_real_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_get_time_real"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_set_client + *(void **) (&snd_seq_query_subscribe_set_client_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_set_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_set_port + *(void **) (&snd_seq_query_subscribe_set_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_set_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_set_root + *(void **) (&snd_seq_query_subscribe_set_root_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_set_root"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_set_type + *(void **) (&snd_seq_query_subscribe_set_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_set_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_subscribe_set_index + *(void **) (&snd_seq_query_subscribe_set_index_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_subscribe_set_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_port_subscribers + *(void **) (&snd_seq_query_port_subscribers_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_port_subscribers"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_sizeof + *(void **) (&snd_seq_queue_info_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_malloc + *(void **) (&snd_seq_queue_info_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_free + *(void **) (&snd_seq_queue_info_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_copy + *(void **) (&snd_seq_queue_info_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_get_queue + *(void **) (&snd_seq_queue_info_get_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_get_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_get_name + *(void **) (&snd_seq_queue_info_get_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_get_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_get_owner + *(void **) (&snd_seq_queue_info_get_owner_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_get_owner"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_get_locked + *(void **) (&snd_seq_queue_info_get_locked_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_get_locked"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_get_flags + *(void **) (&snd_seq_queue_info_get_flags_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_get_flags"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_set_name + *(void **) (&snd_seq_queue_info_set_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_set_owner + *(void **) (&snd_seq_queue_info_set_owner_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_set_owner"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_set_locked + *(void **) (&snd_seq_queue_info_set_locked_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_set_locked"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_info_set_flags + *(void **) (&snd_seq_queue_info_set_flags_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_info_set_flags"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_create_queue + *(void **) (&snd_seq_create_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_create_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_alloc_named_queue + *(void **) (&snd_seq_alloc_named_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_alloc_named_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_alloc_queue + *(void **) (&snd_seq_alloc_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_alloc_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_free_queue + *(void **) (&snd_seq_free_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_free_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_queue_info + *(void **) (&snd_seq_get_queue_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_queue_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_queue_info + *(void **) (&snd_seq_set_queue_info_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_queue_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_query_named_queue + *(void **) (&snd_seq_query_named_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_query_named_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_queue_usage + *(void **) (&snd_seq_get_queue_usage_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_queue_usage"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_queue_usage + *(void **) (&snd_seq_set_queue_usage_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_queue_usage"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_sizeof + *(void **) (&snd_seq_queue_status_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_malloc + *(void **) (&snd_seq_queue_status_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_free + *(void **) (&snd_seq_queue_status_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_copy + *(void **) (&snd_seq_queue_status_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_get_queue + *(void **) (&snd_seq_queue_status_get_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_get_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_get_events + *(void **) (&snd_seq_queue_status_get_events_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_get_events"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_get_tick_time + *(void **) (&snd_seq_queue_status_get_tick_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_get_tick_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_get_real_time + *(void **) (&snd_seq_queue_status_get_real_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_get_real_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_status_get_status + *(void **) (&snd_seq_queue_status_get_status_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_status_get_status"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_queue_status + *(void **) (&snd_seq_get_queue_status_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_queue_status"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_sizeof + *(void **) (&snd_seq_queue_tempo_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_malloc + *(void **) (&snd_seq_queue_tempo_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_free + *(void **) (&snd_seq_queue_tempo_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_copy + *(void **) (&snd_seq_queue_tempo_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_get_queue + *(void **) (&snd_seq_queue_tempo_get_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_get_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_get_tempo + *(void **) (&snd_seq_queue_tempo_get_tempo_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_get_tempo"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_get_ppq + *(void **) (&snd_seq_queue_tempo_get_ppq_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_get_ppq"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_get_skew + *(void **) (&snd_seq_queue_tempo_get_skew_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_get_skew"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_get_skew_base + *(void **) (&snd_seq_queue_tempo_get_skew_base_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_get_skew_base"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_set_tempo + *(void **) (&snd_seq_queue_tempo_set_tempo_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_set_tempo"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_set_ppq + *(void **) (&snd_seq_queue_tempo_set_ppq_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_set_ppq"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_set_skew + *(void **) (&snd_seq_queue_tempo_set_skew_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_set_skew"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_tempo_set_skew_base + *(void **) (&snd_seq_queue_tempo_set_skew_base_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_tempo_set_skew_base"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_queue_tempo + *(void **) (&snd_seq_get_queue_tempo_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_queue_tempo"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_queue_tempo + *(void **) (&snd_seq_set_queue_tempo_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_queue_tempo"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_sizeof + *(void **) (&snd_seq_queue_timer_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_malloc + *(void **) (&snd_seq_queue_timer_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_free + *(void **) (&snd_seq_queue_timer_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_copy + *(void **) (&snd_seq_queue_timer_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_get_queue + *(void **) (&snd_seq_queue_timer_get_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_get_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_get_type + *(void **) (&snd_seq_queue_timer_get_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_get_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_get_id + *(void **) (&snd_seq_queue_timer_get_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_get_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_get_resolution + *(void **) (&snd_seq_queue_timer_get_resolution_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_get_resolution"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_set_type + *(void **) (&snd_seq_queue_timer_set_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_set_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_set_id + *(void **) (&snd_seq_queue_timer_set_id_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_set_id"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_queue_timer_set_resolution + *(void **) (&snd_seq_queue_timer_set_resolution_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_queue_timer_set_resolution"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_queue_timer + *(void **) (&snd_seq_get_queue_timer_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_queue_timer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_queue_timer + *(void **) (&snd_seq_set_queue_timer_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_queue_timer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_free_event + *(void **) (&snd_seq_free_event_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_free_event"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_event_length + *(void **) (&snd_seq_event_length_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_event_length"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_event_output + *(void **) (&snd_seq_event_output_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_event_output"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_event_output_buffer + *(void **) (&snd_seq_event_output_buffer_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_event_output_buffer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_event_output_direct + *(void **) (&snd_seq_event_output_direct_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_event_output_direct"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_event_input + *(void **) (&snd_seq_event_input_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_event_input"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_event_input_pending + *(void **) (&snd_seq_event_input_pending_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_event_input_pending"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_drain_output + *(void **) (&snd_seq_drain_output_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_drain_output"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_event_output_pending + *(void **) (&snd_seq_event_output_pending_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_event_output_pending"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_extract_output + *(void **) (&snd_seq_extract_output_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_extract_output"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_drop_output + *(void **) (&snd_seq_drop_output_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_drop_output"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_drop_output_buffer + *(void **) (&snd_seq_drop_output_buffer_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_drop_output_buffer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_drop_input + *(void **) (&snd_seq_drop_input_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_drop_input"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_drop_input_buffer + *(void **) (&snd_seq_drop_input_buffer_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_drop_input_buffer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_sizeof + *(void **) (&snd_seq_remove_events_sizeof_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_sizeof"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_malloc + *(void **) (&snd_seq_remove_events_malloc_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_malloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_free + *(void **) (&snd_seq_remove_events_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_copy + *(void **) (&snd_seq_remove_events_copy_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_get_condition + *(void **) (&snd_seq_remove_events_get_condition_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_get_condition"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_get_queue + *(void **) (&snd_seq_remove_events_get_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_get_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_get_time + *(void **) (&snd_seq_remove_events_get_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_get_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_get_dest + *(void **) (&snd_seq_remove_events_get_dest_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_get_dest"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_get_channel + *(void **) (&snd_seq_remove_events_get_channel_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_get_channel"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_get_event_type + *(void **) (&snd_seq_remove_events_get_event_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_get_event_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_get_tag + *(void **) (&snd_seq_remove_events_get_tag_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_get_tag"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_set_condition + *(void **) (&snd_seq_remove_events_set_condition_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_set_condition"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_set_queue + *(void **) (&snd_seq_remove_events_set_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_set_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_set_time + *(void **) (&snd_seq_remove_events_set_time_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_set_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_set_dest + *(void **) (&snd_seq_remove_events_set_dest_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_set_dest"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_set_channel + *(void **) (&snd_seq_remove_events_set_channel_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_set_channel"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_set_event_type + *(void **) (&snd_seq_remove_events_set_event_type_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_set_event_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events_set_tag + *(void **) (&snd_seq_remove_events_set_tag_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events_set_tag"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_remove_events + *(void **) (&snd_seq_remove_events_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_remove_events"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_bit + *(void **) (&snd_seq_set_bit_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_bit"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_unset_bit + *(void **) (&snd_seq_unset_bit_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_unset_bit"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_change_bit + *(void **) (&snd_seq_change_bit_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_change_bit"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_get_bit + *(void **) (&snd_seq_get_bit_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_get_bit"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_control_queue + *(void **) (&snd_seq_control_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_control_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_create_simple_port + *(void **) (&snd_seq_create_simple_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_create_simple_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_delete_simple_port + *(void **) (&snd_seq_delete_simple_port_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_delete_simple_port"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_connect_from + *(void **) (&snd_seq_connect_from_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_connect_from"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_connect_to + *(void **) (&snd_seq_connect_to_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_connect_to"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_disconnect_from + *(void **) (&snd_seq_disconnect_from_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_disconnect_from"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_disconnect_to + *(void **) (&snd_seq_disconnect_to_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_disconnect_to"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_client_name + *(void **) (&snd_seq_set_client_name_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_client_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_client_event_filter + *(void **) (&snd_seq_set_client_event_filter_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_client_event_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_client_pool_output + *(void **) (&snd_seq_set_client_pool_output_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_client_pool_output"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_client_pool_output_room + *(void **) (&snd_seq_set_client_pool_output_room_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_client_pool_output_room"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_set_client_pool_input + *(void **) (&snd_seq_set_client_pool_input_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_set_client_pool_input"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_sync_output_queue + *(void **) (&snd_seq_sync_output_queue_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_sync_output_queue"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_parse_address + *(void **) (&snd_seq_parse_address_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_parse_address"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_reset_pool_output + *(void **) (&snd_seq_reset_pool_output_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_reset_pool_output"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_seq_reset_pool_input + *(void **) (&snd_seq_reset_pool_input_dylibloader_wrapper_asound) = dlsym(handle, "snd_seq_reset_pool_input"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_new + *(void **) (&snd_midi_event_new_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_resize_buffer + *(void **) (&snd_midi_event_resize_buffer_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_resize_buffer"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_free + *(void **) (&snd_midi_event_free_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_init + *(void **) (&snd_midi_event_init_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_init"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_reset_encode + *(void **) (&snd_midi_event_reset_encode_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_reset_encode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_reset_decode + *(void **) (&snd_midi_event_reset_decode_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_reset_decode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_no_status + *(void **) (&snd_midi_event_no_status_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_no_status"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_encode + *(void **) (&snd_midi_event_encode_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_encode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_encode_byte + *(void **) (&snd_midi_event_encode_byte_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_encode_byte"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// snd_midi_event_decode + *(void **) (&snd_midi_event_decode_dylibloader_wrapper_asound) = dlsym(handle, "snd_midi_event_decode"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +return 0; +} diff --git a/drivers/alsa/asound-so_wrap.h b/drivers/alsa/asound-so_wrap.h new file mode 100644 index 0000000000..5332d74152 --- /dev/null +++ b/drivers/alsa/asound-so_wrap.h @@ -0,0 +1,5134 @@ +#ifndef DYLIBLOAD_WRAPPER_ASOUND +#define DYLIBLOAD_WRAPPER_ASOUND +// This file is generated. Do not edit! +// see https://github.com/hpvb/dynload-wrapper for details +// generated by /home/hp/Projects/godot/pulse/generate-wrapper.py 0.3 on 2021-02-22 19:22:12 +// flags: /home/hp/Projects/godot/pulse/generate-wrapper.py --include /usr/include/alsa/asoundlib.h --sys-include <alsa/asoundlib.h> --soname libasound.so.2 --init-name asound --omit-prefix snd_pcm_sw_params_set_tstamp_type --omit-prefix snd_pcm_status_get_audio_htstamp_report --omit-prefix snd_pcm_sw_params_get_tstamp_type --omit-prefix snd_pcm_status_set_audio_htstamp_config --output-header asound-so_wrap.h --output-implementation asound-so_wrap.c +// +#include <stdint.h> + +#define snd_asoundlib_version snd_asoundlib_version_dylibloader_orig_asound +#define snd_dlpath snd_dlpath_dylibloader_orig_asound +#define snd_dlopen snd_dlopen_dylibloader_orig_asound +#define snd_dlsym snd_dlsym_dylibloader_orig_asound +#define snd_dlclose snd_dlclose_dylibloader_orig_asound +#define snd_async_add_handler snd_async_add_handler_dylibloader_orig_asound +#define snd_async_del_handler snd_async_del_handler_dylibloader_orig_asound +#define snd_async_handler_get_fd snd_async_handler_get_fd_dylibloader_orig_asound +#define snd_async_handler_get_signo snd_async_handler_get_signo_dylibloader_orig_asound +#define snd_async_handler_get_callback_private snd_async_handler_get_callback_private_dylibloader_orig_asound +#define snd_shm_area_create snd_shm_area_create_dylibloader_orig_asound +#define snd_shm_area_share snd_shm_area_share_dylibloader_orig_asound +#define snd_shm_area_destroy snd_shm_area_destroy_dylibloader_orig_asound +#define snd_user_file snd_user_file_dylibloader_orig_asound +#define snd_input_stdio_open snd_input_stdio_open_dylibloader_orig_asound +#define snd_input_stdio_attach snd_input_stdio_attach_dylibloader_orig_asound +#define snd_input_buffer_open snd_input_buffer_open_dylibloader_orig_asound +#define snd_input_close snd_input_close_dylibloader_orig_asound +#define snd_input_scanf snd_input_scanf_dylibloader_orig_asound +#define snd_input_gets snd_input_gets_dylibloader_orig_asound +#define snd_input_getc snd_input_getc_dylibloader_orig_asound +#define snd_input_ungetc snd_input_ungetc_dylibloader_orig_asound +#define snd_output_stdio_open snd_output_stdio_open_dylibloader_orig_asound +#define snd_output_stdio_attach snd_output_stdio_attach_dylibloader_orig_asound +#define snd_output_buffer_open snd_output_buffer_open_dylibloader_orig_asound +#define snd_output_buffer_string snd_output_buffer_string_dylibloader_orig_asound +#define snd_output_close snd_output_close_dylibloader_orig_asound +#define snd_output_printf snd_output_printf_dylibloader_orig_asound +#define snd_output_vprintf snd_output_vprintf_dylibloader_orig_asound +#define snd_output_puts snd_output_puts_dylibloader_orig_asound +#define snd_output_putc snd_output_putc_dylibloader_orig_asound +#define snd_output_flush snd_output_flush_dylibloader_orig_asound +#define snd_strerror snd_strerror_dylibloader_orig_asound +#define snd_lib_error_set_handler snd_lib_error_set_handler_dylibloader_orig_asound +#define snd_lib_error_set_local snd_lib_error_set_local_dylibloader_orig_asound +#define snd_config_topdir snd_config_topdir_dylibloader_orig_asound +#define snd_config_top snd_config_top_dylibloader_orig_asound +#define snd_config_load snd_config_load_dylibloader_orig_asound +#define snd_config_load_override snd_config_load_override_dylibloader_orig_asound +#define snd_config_save snd_config_save_dylibloader_orig_asound +#define snd_config_update snd_config_update_dylibloader_orig_asound +#define snd_config_update_r snd_config_update_r_dylibloader_orig_asound +#define snd_config_update_free snd_config_update_free_dylibloader_orig_asound +#define snd_config_update_free_global snd_config_update_free_global_dylibloader_orig_asound +#define snd_config_update_ref snd_config_update_ref_dylibloader_orig_asound +#define snd_config_ref snd_config_ref_dylibloader_orig_asound +#define snd_config_unref snd_config_unref_dylibloader_orig_asound +#define snd_config_search snd_config_search_dylibloader_orig_asound +#define snd_config_searchv snd_config_searchv_dylibloader_orig_asound +#define snd_config_search_definition snd_config_search_definition_dylibloader_orig_asound +#define snd_config_expand snd_config_expand_dylibloader_orig_asound +#define snd_config_evaluate snd_config_evaluate_dylibloader_orig_asound +#define snd_config_add snd_config_add_dylibloader_orig_asound +#define snd_config_add_before snd_config_add_before_dylibloader_orig_asound +#define snd_config_add_after snd_config_add_after_dylibloader_orig_asound +#define snd_config_remove snd_config_remove_dylibloader_orig_asound +#define snd_config_delete snd_config_delete_dylibloader_orig_asound +#define snd_config_delete_compound_members snd_config_delete_compound_members_dylibloader_orig_asound +#define snd_config_copy snd_config_copy_dylibloader_orig_asound +#define snd_config_make snd_config_make_dylibloader_orig_asound +#define snd_config_make_integer snd_config_make_integer_dylibloader_orig_asound +#define snd_config_make_integer64 snd_config_make_integer64_dylibloader_orig_asound +#define snd_config_make_real snd_config_make_real_dylibloader_orig_asound +#define snd_config_make_string snd_config_make_string_dylibloader_orig_asound +#define snd_config_make_pointer snd_config_make_pointer_dylibloader_orig_asound +#define snd_config_make_compound snd_config_make_compound_dylibloader_orig_asound +#define snd_config_imake_integer snd_config_imake_integer_dylibloader_orig_asound +#define snd_config_imake_integer64 snd_config_imake_integer64_dylibloader_orig_asound +#define snd_config_imake_real snd_config_imake_real_dylibloader_orig_asound +#define snd_config_imake_string snd_config_imake_string_dylibloader_orig_asound +#define snd_config_imake_safe_string snd_config_imake_safe_string_dylibloader_orig_asound +#define snd_config_imake_pointer snd_config_imake_pointer_dylibloader_orig_asound +#define snd_config_get_type snd_config_get_type_dylibloader_orig_asound +#define snd_config_is_array snd_config_is_array_dylibloader_orig_asound +#define snd_config_set_id snd_config_set_id_dylibloader_orig_asound +#define snd_config_set_integer snd_config_set_integer_dylibloader_orig_asound +#define snd_config_set_integer64 snd_config_set_integer64_dylibloader_orig_asound +#define snd_config_set_real snd_config_set_real_dylibloader_orig_asound +#define snd_config_set_string snd_config_set_string_dylibloader_orig_asound +#define snd_config_set_ascii snd_config_set_ascii_dylibloader_orig_asound +#define snd_config_set_pointer snd_config_set_pointer_dylibloader_orig_asound +#define snd_config_get_id snd_config_get_id_dylibloader_orig_asound +#define snd_config_get_integer snd_config_get_integer_dylibloader_orig_asound +#define snd_config_get_integer64 snd_config_get_integer64_dylibloader_orig_asound +#define snd_config_get_real snd_config_get_real_dylibloader_orig_asound +#define snd_config_get_ireal snd_config_get_ireal_dylibloader_orig_asound +#define snd_config_get_string snd_config_get_string_dylibloader_orig_asound +#define snd_config_get_ascii snd_config_get_ascii_dylibloader_orig_asound +#define snd_config_get_pointer snd_config_get_pointer_dylibloader_orig_asound +#define snd_config_test_id snd_config_test_id_dylibloader_orig_asound +#define snd_config_iterator_first snd_config_iterator_first_dylibloader_orig_asound +#define snd_config_iterator_next snd_config_iterator_next_dylibloader_orig_asound +#define snd_config_iterator_end snd_config_iterator_end_dylibloader_orig_asound +#define snd_config_iterator_entry snd_config_iterator_entry_dylibloader_orig_asound +#define snd_config_get_bool_ascii snd_config_get_bool_ascii_dylibloader_orig_asound +#define snd_config_get_bool snd_config_get_bool_dylibloader_orig_asound +#define snd_config_get_ctl_iface_ascii snd_config_get_ctl_iface_ascii_dylibloader_orig_asound +#define snd_config_get_ctl_iface snd_config_get_ctl_iface_dylibloader_orig_asound +#define snd_names_list snd_names_list_dylibloader_orig_asound +#define snd_names_list_free snd_names_list_free_dylibloader_orig_asound +#define snd_pcm_open snd_pcm_open_dylibloader_orig_asound +#define snd_pcm_open_lconf snd_pcm_open_lconf_dylibloader_orig_asound +#define snd_pcm_open_fallback snd_pcm_open_fallback_dylibloader_orig_asound +#define snd_pcm_close snd_pcm_close_dylibloader_orig_asound +#define snd_pcm_name snd_pcm_name_dylibloader_orig_asound +#define snd_pcm_type snd_pcm_type_dylibloader_orig_asound +#define snd_pcm_stream snd_pcm_stream_dylibloader_orig_asound +#define snd_pcm_poll_descriptors_count snd_pcm_poll_descriptors_count_dylibloader_orig_asound +#define snd_pcm_poll_descriptors snd_pcm_poll_descriptors_dylibloader_orig_asound +#define snd_pcm_poll_descriptors_revents snd_pcm_poll_descriptors_revents_dylibloader_orig_asound +#define snd_pcm_nonblock snd_pcm_nonblock_dylibloader_orig_asound +#define snd_async_add_pcm_handler snd_async_add_pcm_handler_dylibloader_orig_asound +#define snd_async_handler_get_pcm snd_async_handler_get_pcm_dylibloader_orig_asound +#define snd_pcm_info snd_pcm_info_dylibloader_orig_asound +#define snd_pcm_hw_params_current snd_pcm_hw_params_current_dylibloader_orig_asound +#define snd_pcm_hw_params snd_pcm_hw_params_dylibloader_orig_asound +#define snd_pcm_hw_free snd_pcm_hw_free_dylibloader_orig_asound +#define snd_pcm_sw_params_current snd_pcm_sw_params_current_dylibloader_orig_asound +#define snd_pcm_sw_params snd_pcm_sw_params_dylibloader_orig_asound +#define snd_pcm_prepare snd_pcm_prepare_dylibloader_orig_asound +#define snd_pcm_reset snd_pcm_reset_dylibloader_orig_asound +#define snd_pcm_status snd_pcm_status_dylibloader_orig_asound +#define snd_pcm_start snd_pcm_start_dylibloader_orig_asound +#define snd_pcm_drop snd_pcm_drop_dylibloader_orig_asound +#define snd_pcm_drain snd_pcm_drain_dylibloader_orig_asound +#define snd_pcm_pause snd_pcm_pause_dylibloader_orig_asound +#define snd_pcm_state snd_pcm_state_dylibloader_orig_asound +#define snd_pcm_hwsync snd_pcm_hwsync_dylibloader_orig_asound +#define snd_pcm_delay snd_pcm_delay_dylibloader_orig_asound +#define snd_pcm_resume snd_pcm_resume_dylibloader_orig_asound +#define snd_pcm_htimestamp snd_pcm_htimestamp_dylibloader_orig_asound +#define snd_pcm_avail snd_pcm_avail_dylibloader_orig_asound +#define snd_pcm_avail_update snd_pcm_avail_update_dylibloader_orig_asound +#define snd_pcm_avail_delay snd_pcm_avail_delay_dylibloader_orig_asound +#define snd_pcm_rewindable snd_pcm_rewindable_dylibloader_orig_asound +#define snd_pcm_rewind snd_pcm_rewind_dylibloader_orig_asound +#define snd_pcm_forwardable snd_pcm_forwardable_dylibloader_orig_asound +#define snd_pcm_forward snd_pcm_forward_dylibloader_orig_asound +#define snd_pcm_writei snd_pcm_writei_dylibloader_orig_asound +#define snd_pcm_readi snd_pcm_readi_dylibloader_orig_asound +#define snd_pcm_writen snd_pcm_writen_dylibloader_orig_asound +#define snd_pcm_readn snd_pcm_readn_dylibloader_orig_asound +#define snd_pcm_wait snd_pcm_wait_dylibloader_orig_asound +#define snd_pcm_link snd_pcm_link_dylibloader_orig_asound +#define snd_pcm_unlink snd_pcm_unlink_dylibloader_orig_asound +#define snd_pcm_query_chmaps snd_pcm_query_chmaps_dylibloader_orig_asound +#define snd_pcm_query_chmaps_from_hw snd_pcm_query_chmaps_from_hw_dylibloader_orig_asound +#define snd_pcm_free_chmaps snd_pcm_free_chmaps_dylibloader_orig_asound +#define snd_pcm_get_chmap snd_pcm_get_chmap_dylibloader_orig_asound +#define snd_pcm_set_chmap snd_pcm_set_chmap_dylibloader_orig_asound +#define snd_pcm_chmap_type_name snd_pcm_chmap_type_name_dylibloader_orig_asound +#define snd_pcm_chmap_name snd_pcm_chmap_name_dylibloader_orig_asound +#define snd_pcm_chmap_long_name snd_pcm_chmap_long_name_dylibloader_orig_asound +#define snd_pcm_chmap_print snd_pcm_chmap_print_dylibloader_orig_asound +#define snd_pcm_chmap_from_string snd_pcm_chmap_from_string_dylibloader_orig_asound +#define snd_pcm_chmap_parse_string snd_pcm_chmap_parse_string_dylibloader_orig_asound +#define snd_pcm_recover snd_pcm_recover_dylibloader_orig_asound +#define snd_pcm_set_params snd_pcm_set_params_dylibloader_orig_asound +#define snd_pcm_get_params snd_pcm_get_params_dylibloader_orig_asound +#define snd_pcm_info_sizeof snd_pcm_info_sizeof_dylibloader_orig_asound +#define snd_pcm_info_malloc snd_pcm_info_malloc_dylibloader_orig_asound +#define snd_pcm_info_free snd_pcm_info_free_dylibloader_orig_asound +#define snd_pcm_info_copy snd_pcm_info_copy_dylibloader_orig_asound +#define snd_pcm_info_get_device snd_pcm_info_get_device_dylibloader_orig_asound +#define snd_pcm_info_get_subdevice snd_pcm_info_get_subdevice_dylibloader_orig_asound +#define snd_pcm_info_get_stream snd_pcm_info_get_stream_dylibloader_orig_asound +#define snd_pcm_info_get_card snd_pcm_info_get_card_dylibloader_orig_asound +#define snd_pcm_info_get_id snd_pcm_info_get_id_dylibloader_orig_asound +#define snd_pcm_info_get_name snd_pcm_info_get_name_dylibloader_orig_asound +#define snd_pcm_info_get_subdevice_name snd_pcm_info_get_subdevice_name_dylibloader_orig_asound +#define snd_pcm_info_get_class snd_pcm_info_get_class_dylibloader_orig_asound +#define snd_pcm_info_get_subclass snd_pcm_info_get_subclass_dylibloader_orig_asound +#define snd_pcm_info_get_subdevices_count snd_pcm_info_get_subdevices_count_dylibloader_orig_asound +#define snd_pcm_info_get_subdevices_avail snd_pcm_info_get_subdevices_avail_dylibloader_orig_asound +#define snd_pcm_info_get_sync snd_pcm_info_get_sync_dylibloader_orig_asound +#define snd_pcm_info_set_device snd_pcm_info_set_device_dylibloader_orig_asound +#define snd_pcm_info_set_subdevice snd_pcm_info_set_subdevice_dylibloader_orig_asound +#define snd_pcm_info_set_stream snd_pcm_info_set_stream_dylibloader_orig_asound +#define snd_pcm_hw_params_any snd_pcm_hw_params_any_dylibloader_orig_asound +#define snd_pcm_hw_params_can_mmap_sample_resolution snd_pcm_hw_params_can_mmap_sample_resolution_dylibloader_orig_asound +#define snd_pcm_hw_params_is_double snd_pcm_hw_params_is_double_dylibloader_orig_asound +#define snd_pcm_hw_params_is_batch snd_pcm_hw_params_is_batch_dylibloader_orig_asound +#define snd_pcm_hw_params_is_block_transfer snd_pcm_hw_params_is_block_transfer_dylibloader_orig_asound +#define snd_pcm_hw_params_is_monotonic snd_pcm_hw_params_is_monotonic_dylibloader_orig_asound +#define snd_pcm_hw_params_can_overrange snd_pcm_hw_params_can_overrange_dylibloader_orig_asound +#define snd_pcm_hw_params_can_pause snd_pcm_hw_params_can_pause_dylibloader_orig_asound +#define snd_pcm_hw_params_can_resume snd_pcm_hw_params_can_resume_dylibloader_orig_asound +#define snd_pcm_hw_params_is_half_duplex snd_pcm_hw_params_is_half_duplex_dylibloader_orig_asound +#define snd_pcm_hw_params_is_joint_duplex snd_pcm_hw_params_is_joint_duplex_dylibloader_orig_asound +#define snd_pcm_hw_params_can_sync_start snd_pcm_hw_params_can_sync_start_dylibloader_orig_asound +#define snd_pcm_hw_params_can_disable_period_wakeup snd_pcm_hw_params_can_disable_period_wakeup_dylibloader_orig_asound +#define snd_pcm_hw_params_supports_audio_wallclock_ts snd_pcm_hw_params_supports_audio_wallclock_ts_dylibloader_orig_asound +#define snd_pcm_hw_params_supports_audio_ts_type snd_pcm_hw_params_supports_audio_ts_type_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate_numden snd_pcm_hw_params_get_rate_numden_dylibloader_orig_asound +#define snd_pcm_hw_params_get_sbits snd_pcm_hw_params_get_sbits_dylibloader_orig_asound +#define snd_pcm_hw_params_get_fifo_size snd_pcm_hw_params_get_fifo_size_dylibloader_orig_asound +#define snd_pcm_hw_params_sizeof snd_pcm_hw_params_sizeof_dylibloader_orig_asound +#define snd_pcm_hw_params_malloc snd_pcm_hw_params_malloc_dylibloader_orig_asound +#define snd_pcm_hw_params_free snd_pcm_hw_params_free_dylibloader_orig_asound +#define snd_pcm_hw_params_copy snd_pcm_hw_params_copy_dylibloader_orig_asound +#define snd_pcm_hw_params_get_access snd_pcm_hw_params_get_access_dylibloader_orig_asound +#define snd_pcm_hw_params_test_access snd_pcm_hw_params_test_access_dylibloader_orig_asound +#define snd_pcm_hw_params_set_access snd_pcm_hw_params_set_access_dylibloader_orig_asound +#define snd_pcm_hw_params_set_access_first snd_pcm_hw_params_set_access_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_access_last snd_pcm_hw_params_set_access_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_access_mask snd_pcm_hw_params_set_access_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_access_mask snd_pcm_hw_params_get_access_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_format snd_pcm_hw_params_get_format_dylibloader_orig_asound +#define snd_pcm_hw_params_test_format snd_pcm_hw_params_test_format_dylibloader_orig_asound +#define snd_pcm_hw_params_set_format snd_pcm_hw_params_set_format_dylibloader_orig_asound +#define snd_pcm_hw_params_set_format_first snd_pcm_hw_params_set_format_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_format_last snd_pcm_hw_params_set_format_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_format_mask snd_pcm_hw_params_set_format_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_format_mask snd_pcm_hw_params_get_format_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_subformat snd_pcm_hw_params_get_subformat_dylibloader_orig_asound +#define snd_pcm_hw_params_test_subformat snd_pcm_hw_params_test_subformat_dylibloader_orig_asound +#define snd_pcm_hw_params_set_subformat snd_pcm_hw_params_set_subformat_dylibloader_orig_asound +#define snd_pcm_hw_params_set_subformat_first snd_pcm_hw_params_set_subformat_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_subformat_last snd_pcm_hw_params_set_subformat_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_subformat_mask snd_pcm_hw_params_set_subformat_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_subformat_mask snd_pcm_hw_params_get_subformat_mask_dylibloader_orig_asound +#define snd_pcm_hw_params_get_channels snd_pcm_hw_params_get_channels_dylibloader_orig_asound +#define snd_pcm_hw_params_get_channels_min snd_pcm_hw_params_get_channels_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_channels_max snd_pcm_hw_params_get_channels_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_channels snd_pcm_hw_params_test_channels_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels snd_pcm_hw_params_set_channels_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_min snd_pcm_hw_params_set_channels_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_max snd_pcm_hw_params_set_channels_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_minmax snd_pcm_hw_params_set_channels_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_near snd_pcm_hw_params_set_channels_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_first snd_pcm_hw_params_set_channels_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_channels_last snd_pcm_hw_params_set_channels_last_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate snd_pcm_hw_params_get_rate_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate_min snd_pcm_hw_params_get_rate_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate_max snd_pcm_hw_params_get_rate_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_rate snd_pcm_hw_params_test_rate_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate snd_pcm_hw_params_set_rate_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_min snd_pcm_hw_params_set_rate_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_max snd_pcm_hw_params_set_rate_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_minmax snd_pcm_hw_params_set_rate_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_near snd_pcm_hw_params_set_rate_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_first snd_pcm_hw_params_set_rate_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_last snd_pcm_hw_params_set_rate_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_rate_resample snd_pcm_hw_params_set_rate_resample_dylibloader_orig_asound +#define snd_pcm_hw_params_get_rate_resample snd_pcm_hw_params_get_rate_resample_dylibloader_orig_asound +#define snd_pcm_hw_params_set_export_buffer snd_pcm_hw_params_set_export_buffer_dylibloader_orig_asound +#define snd_pcm_hw_params_get_export_buffer snd_pcm_hw_params_get_export_buffer_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_wakeup snd_pcm_hw_params_set_period_wakeup_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_wakeup snd_pcm_hw_params_get_period_wakeup_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_time snd_pcm_hw_params_get_period_time_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_time_min snd_pcm_hw_params_get_period_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_time_max snd_pcm_hw_params_get_period_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_period_time snd_pcm_hw_params_test_period_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time snd_pcm_hw_params_set_period_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_min snd_pcm_hw_params_set_period_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_max snd_pcm_hw_params_set_period_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_minmax snd_pcm_hw_params_set_period_time_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_near snd_pcm_hw_params_set_period_time_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_first snd_pcm_hw_params_set_period_time_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_time_last snd_pcm_hw_params_set_period_time_last_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_size snd_pcm_hw_params_get_period_size_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_size_min snd_pcm_hw_params_get_period_size_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_period_size_max snd_pcm_hw_params_get_period_size_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_period_size snd_pcm_hw_params_test_period_size_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size snd_pcm_hw_params_set_period_size_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_min snd_pcm_hw_params_set_period_size_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_max snd_pcm_hw_params_set_period_size_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_minmax snd_pcm_hw_params_set_period_size_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_near snd_pcm_hw_params_set_period_size_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_first snd_pcm_hw_params_set_period_size_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_last snd_pcm_hw_params_set_period_size_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_period_size_integer snd_pcm_hw_params_set_period_size_integer_dylibloader_orig_asound +#define snd_pcm_hw_params_get_periods snd_pcm_hw_params_get_periods_dylibloader_orig_asound +#define snd_pcm_hw_params_get_periods_min snd_pcm_hw_params_get_periods_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_periods_max snd_pcm_hw_params_get_periods_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_periods snd_pcm_hw_params_test_periods_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods snd_pcm_hw_params_set_periods_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_min snd_pcm_hw_params_set_periods_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_max snd_pcm_hw_params_set_periods_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_minmax snd_pcm_hw_params_set_periods_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_near snd_pcm_hw_params_set_periods_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_first snd_pcm_hw_params_set_periods_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_last snd_pcm_hw_params_set_periods_last_dylibloader_orig_asound +#define snd_pcm_hw_params_set_periods_integer snd_pcm_hw_params_set_periods_integer_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_time snd_pcm_hw_params_get_buffer_time_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_time_min snd_pcm_hw_params_get_buffer_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_time_max snd_pcm_hw_params_get_buffer_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_buffer_time snd_pcm_hw_params_test_buffer_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time snd_pcm_hw_params_set_buffer_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_min snd_pcm_hw_params_set_buffer_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_max snd_pcm_hw_params_set_buffer_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_minmax snd_pcm_hw_params_set_buffer_time_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_near snd_pcm_hw_params_set_buffer_time_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_first snd_pcm_hw_params_set_buffer_time_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_time_last snd_pcm_hw_params_set_buffer_time_last_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_size snd_pcm_hw_params_get_buffer_size_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_size_min snd_pcm_hw_params_get_buffer_size_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_buffer_size_max snd_pcm_hw_params_get_buffer_size_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_buffer_size snd_pcm_hw_params_test_buffer_size_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size snd_pcm_hw_params_set_buffer_size_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_min snd_pcm_hw_params_set_buffer_size_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_max snd_pcm_hw_params_set_buffer_size_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_minmax snd_pcm_hw_params_set_buffer_size_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_near snd_pcm_hw_params_set_buffer_size_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_first snd_pcm_hw_params_set_buffer_size_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_buffer_size_last snd_pcm_hw_params_set_buffer_size_last_dylibloader_orig_asound +#define snd_pcm_hw_params_get_min_align snd_pcm_hw_params_get_min_align_dylibloader_orig_asound +#define snd_pcm_sw_params_sizeof snd_pcm_sw_params_sizeof_dylibloader_orig_asound +#define snd_pcm_sw_params_malloc snd_pcm_sw_params_malloc_dylibloader_orig_asound +#define snd_pcm_sw_params_free snd_pcm_sw_params_free_dylibloader_orig_asound +#define snd_pcm_sw_params_copy snd_pcm_sw_params_copy_dylibloader_orig_asound +#define snd_pcm_sw_params_get_boundary snd_pcm_sw_params_get_boundary_dylibloader_orig_asound +#define snd_pcm_sw_params_set_tstamp_mode snd_pcm_sw_params_set_tstamp_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_get_tstamp_mode snd_pcm_sw_params_get_tstamp_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_set_avail_min snd_pcm_sw_params_set_avail_min_dylibloader_orig_asound +#define snd_pcm_sw_params_get_avail_min snd_pcm_sw_params_get_avail_min_dylibloader_orig_asound +#define snd_pcm_sw_params_set_period_event snd_pcm_sw_params_set_period_event_dylibloader_orig_asound +#define snd_pcm_sw_params_get_period_event snd_pcm_sw_params_get_period_event_dylibloader_orig_asound +#define snd_pcm_sw_params_set_start_threshold snd_pcm_sw_params_set_start_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_get_start_threshold snd_pcm_sw_params_get_start_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_set_stop_threshold snd_pcm_sw_params_set_stop_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_get_stop_threshold snd_pcm_sw_params_get_stop_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_set_silence_threshold snd_pcm_sw_params_set_silence_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_get_silence_threshold snd_pcm_sw_params_get_silence_threshold_dylibloader_orig_asound +#define snd_pcm_sw_params_set_silence_size snd_pcm_sw_params_set_silence_size_dylibloader_orig_asound +#define snd_pcm_sw_params_get_silence_size snd_pcm_sw_params_get_silence_size_dylibloader_orig_asound +#define snd_pcm_access_mask_sizeof snd_pcm_access_mask_sizeof_dylibloader_orig_asound +#define snd_pcm_access_mask_malloc snd_pcm_access_mask_malloc_dylibloader_orig_asound +#define snd_pcm_access_mask_free snd_pcm_access_mask_free_dylibloader_orig_asound +#define snd_pcm_access_mask_copy snd_pcm_access_mask_copy_dylibloader_orig_asound +#define snd_pcm_access_mask_none snd_pcm_access_mask_none_dylibloader_orig_asound +#define snd_pcm_access_mask_any snd_pcm_access_mask_any_dylibloader_orig_asound +#define snd_pcm_access_mask_test snd_pcm_access_mask_test_dylibloader_orig_asound +#define snd_pcm_access_mask_empty snd_pcm_access_mask_empty_dylibloader_orig_asound +#define snd_pcm_access_mask_set snd_pcm_access_mask_set_dylibloader_orig_asound +#define snd_pcm_access_mask_reset snd_pcm_access_mask_reset_dylibloader_orig_asound +#define snd_pcm_format_mask_sizeof snd_pcm_format_mask_sizeof_dylibloader_orig_asound +#define snd_pcm_format_mask_malloc snd_pcm_format_mask_malloc_dylibloader_orig_asound +#define snd_pcm_format_mask_free snd_pcm_format_mask_free_dylibloader_orig_asound +#define snd_pcm_format_mask_copy snd_pcm_format_mask_copy_dylibloader_orig_asound +#define snd_pcm_format_mask_none snd_pcm_format_mask_none_dylibloader_orig_asound +#define snd_pcm_format_mask_any snd_pcm_format_mask_any_dylibloader_orig_asound +#define snd_pcm_format_mask_test snd_pcm_format_mask_test_dylibloader_orig_asound +#define snd_pcm_format_mask_empty snd_pcm_format_mask_empty_dylibloader_orig_asound +#define snd_pcm_format_mask_set snd_pcm_format_mask_set_dylibloader_orig_asound +#define snd_pcm_format_mask_reset snd_pcm_format_mask_reset_dylibloader_orig_asound +#define snd_pcm_subformat_mask_sizeof snd_pcm_subformat_mask_sizeof_dylibloader_orig_asound +#define snd_pcm_subformat_mask_malloc snd_pcm_subformat_mask_malloc_dylibloader_orig_asound +#define snd_pcm_subformat_mask_free snd_pcm_subformat_mask_free_dylibloader_orig_asound +#define snd_pcm_subformat_mask_copy snd_pcm_subformat_mask_copy_dylibloader_orig_asound +#define snd_pcm_subformat_mask_none snd_pcm_subformat_mask_none_dylibloader_orig_asound +#define snd_pcm_subformat_mask_any snd_pcm_subformat_mask_any_dylibloader_orig_asound +#define snd_pcm_subformat_mask_test snd_pcm_subformat_mask_test_dylibloader_orig_asound +#define snd_pcm_subformat_mask_empty snd_pcm_subformat_mask_empty_dylibloader_orig_asound +#define snd_pcm_subformat_mask_set snd_pcm_subformat_mask_set_dylibloader_orig_asound +#define snd_pcm_subformat_mask_reset snd_pcm_subformat_mask_reset_dylibloader_orig_asound +#define snd_pcm_status_sizeof snd_pcm_status_sizeof_dylibloader_orig_asound +#define snd_pcm_status_malloc snd_pcm_status_malloc_dylibloader_orig_asound +#define snd_pcm_status_free snd_pcm_status_free_dylibloader_orig_asound +#define snd_pcm_status_copy snd_pcm_status_copy_dylibloader_orig_asound +#define snd_pcm_status_get_state snd_pcm_status_get_state_dylibloader_orig_asound +#define snd_pcm_status_get_trigger_tstamp snd_pcm_status_get_trigger_tstamp_dylibloader_orig_asound +#define snd_pcm_status_get_trigger_htstamp snd_pcm_status_get_trigger_htstamp_dylibloader_orig_asound +#define snd_pcm_status_get_tstamp snd_pcm_status_get_tstamp_dylibloader_orig_asound +#define snd_pcm_status_get_htstamp snd_pcm_status_get_htstamp_dylibloader_orig_asound +#define snd_pcm_status_get_audio_htstamp snd_pcm_status_get_audio_htstamp_dylibloader_orig_asound +#define snd_pcm_status_get_driver_htstamp snd_pcm_status_get_driver_htstamp_dylibloader_orig_asound +#define snd_pcm_status_get_delay snd_pcm_status_get_delay_dylibloader_orig_asound +#define snd_pcm_status_get_avail snd_pcm_status_get_avail_dylibloader_orig_asound +#define snd_pcm_status_get_avail_max snd_pcm_status_get_avail_max_dylibloader_orig_asound +#define snd_pcm_status_get_overrange snd_pcm_status_get_overrange_dylibloader_orig_asound +#define snd_pcm_type_name snd_pcm_type_name_dylibloader_orig_asound +#define snd_pcm_stream_name snd_pcm_stream_name_dylibloader_orig_asound +#define snd_pcm_access_name snd_pcm_access_name_dylibloader_orig_asound +#define snd_pcm_format_name snd_pcm_format_name_dylibloader_orig_asound +#define snd_pcm_format_description snd_pcm_format_description_dylibloader_orig_asound +#define snd_pcm_subformat_name snd_pcm_subformat_name_dylibloader_orig_asound +#define snd_pcm_subformat_description snd_pcm_subformat_description_dylibloader_orig_asound +#define snd_pcm_format_value snd_pcm_format_value_dylibloader_orig_asound +#define snd_pcm_tstamp_mode_name snd_pcm_tstamp_mode_name_dylibloader_orig_asound +#define snd_pcm_state_name snd_pcm_state_name_dylibloader_orig_asound +#define snd_pcm_dump snd_pcm_dump_dylibloader_orig_asound +#define snd_pcm_dump_hw_setup snd_pcm_dump_hw_setup_dylibloader_orig_asound +#define snd_pcm_dump_sw_setup snd_pcm_dump_sw_setup_dylibloader_orig_asound +#define snd_pcm_dump_setup snd_pcm_dump_setup_dylibloader_orig_asound +#define snd_pcm_hw_params_dump snd_pcm_hw_params_dump_dylibloader_orig_asound +#define snd_pcm_sw_params_dump snd_pcm_sw_params_dump_dylibloader_orig_asound +#define snd_pcm_status_dump snd_pcm_status_dump_dylibloader_orig_asound +#define snd_pcm_mmap_begin snd_pcm_mmap_begin_dylibloader_orig_asound +#define snd_pcm_mmap_commit snd_pcm_mmap_commit_dylibloader_orig_asound +#define snd_pcm_mmap_writei snd_pcm_mmap_writei_dylibloader_orig_asound +#define snd_pcm_mmap_readi snd_pcm_mmap_readi_dylibloader_orig_asound +#define snd_pcm_mmap_writen snd_pcm_mmap_writen_dylibloader_orig_asound +#define snd_pcm_mmap_readn snd_pcm_mmap_readn_dylibloader_orig_asound +#define snd_pcm_format_signed snd_pcm_format_signed_dylibloader_orig_asound +#define snd_pcm_format_unsigned snd_pcm_format_unsigned_dylibloader_orig_asound +#define snd_pcm_format_linear snd_pcm_format_linear_dylibloader_orig_asound +#define snd_pcm_format_float snd_pcm_format_float_dylibloader_orig_asound +#define snd_pcm_format_little_endian snd_pcm_format_little_endian_dylibloader_orig_asound +#define snd_pcm_format_big_endian snd_pcm_format_big_endian_dylibloader_orig_asound +#define snd_pcm_format_cpu_endian snd_pcm_format_cpu_endian_dylibloader_orig_asound +#define snd_pcm_format_width snd_pcm_format_width_dylibloader_orig_asound +#define snd_pcm_format_physical_width snd_pcm_format_physical_width_dylibloader_orig_asound +#define snd_pcm_build_linear_format snd_pcm_build_linear_format_dylibloader_orig_asound +#define snd_pcm_format_size snd_pcm_format_size_dylibloader_orig_asound +#define snd_pcm_format_silence snd_pcm_format_silence_dylibloader_orig_asound +#define snd_pcm_format_silence_16 snd_pcm_format_silence_16_dylibloader_orig_asound +#define snd_pcm_format_silence_32 snd_pcm_format_silence_32_dylibloader_orig_asound +#define snd_pcm_format_silence_64 snd_pcm_format_silence_64_dylibloader_orig_asound +#define snd_pcm_format_set_silence snd_pcm_format_set_silence_dylibloader_orig_asound +#define snd_pcm_bytes_to_frames snd_pcm_bytes_to_frames_dylibloader_orig_asound +#define snd_pcm_frames_to_bytes snd_pcm_frames_to_bytes_dylibloader_orig_asound +#define snd_pcm_bytes_to_samples snd_pcm_bytes_to_samples_dylibloader_orig_asound +#define snd_pcm_samples_to_bytes snd_pcm_samples_to_bytes_dylibloader_orig_asound +#define snd_pcm_area_silence snd_pcm_area_silence_dylibloader_orig_asound +#define snd_pcm_areas_silence snd_pcm_areas_silence_dylibloader_orig_asound +#define snd_pcm_area_copy snd_pcm_area_copy_dylibloader_orig_asound +#define snd_pcm_areas_copy snd_pcm_areas_copy_dylibloader_orig_asound +#define snd_pcm_areas_copy_wrap snd_pcm_areas_copy_wrap_dylibloader_orig_asound +#define snd_pcm_hook_get_pcm snd_pcm_hook_get_pcm_dylibloader_orig_asound +#define snd_pcm_hook_get_private snd_pcm_hook_get_private_dylibloader_orig_asound +#define snd_pcm_hook_set_private snd_pcm_hook_set_private_dylibloader_orig_asound +#define snd_pcm_hook_add snd_pcm_hook_add_dylibloader_orig_asound +#define snd_pcm_hook_remove snd_pcm_hook_remove_dylibloader_orig_asound +#define snd_pcm_meter_get_bufsize snd_pcm_meter_get_bufsize_dylibloader_orig_asound +#define snd_pcm_meter_get_channels snd_pcm_meter_get_channels_dylibloader_orig_asound +#define snd_pcm_meter_get_rate snd_pcm_meter_get_rate_dylibloader_orig_asound +#define snd_pcm_meter_get_now snd_pcm_meter_get_now_dylibloader_orig_asound +#define snd_pcm_meter_get_boundary snd_pcm_meter_get_boundary_dylibloader_orig_asound +#define snd_pcm_meter_add_scope snd_pcm_meter_add_scope_dylibloader_orig_asound +#define snd_pcm_meter_search_scope snd_pcm_meter_search_scope_dylibloader_orig_asound +#define snd_pcm_scope_malloc snd_pcm_scope_malloc_dylibloader_orig_asound +#define snd_pcm_scope_set_ops snd_pcm_scope_set_ops_dylibloader_orig_asound +#define snd_pcm_scope_set_name snd_pcm_scope_set_name_dylibloader_orig_asound +#define snd_pcm_scope_get_name snd_pcm_scope_get_name_dylibloader_orig_asound +#define snd_pcm_scope_get_callback_private snd_pcm_scope_get_callback_private_dylibloader_orig_asound +#define snd_pcm_scope_set_callback_private snd_pcm_scope_set_callback_private_dylibloader_orig_asound +#define snd_pcm_scope_s16_open snd_pcm_scope_s16_open_dylibloader_orig_asound +#define snd_pcm_scope_s16_get_channel_buffer snd_pcm_scope_s16_get_channel_buffer_dylibloader_orig_asound +#define snd_spcm_init snd_spcm_init_dylibloader_orig_asound +#define snd_spcm_init_duplex snd_spcm_init_duplex_dylibloader_orig_asound +#define snd_spcm_init_get_params snd_spcm_init_get_params_dylibloader_orig_asound +#define snd_pcm_start_mode_name snd_pcm_start_mode_name_dylibloader_orig_asound +#define snd_pcm_xrun_mode_name snd_pcm_xrun_mode_name_dylibloader_orig_asound +#define snd_pcm_sw_params_set_start_mode snd_pcm_sw_params_set_start_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_get_start_mode snd_pcm_sw_params_get_start_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_set_xrun_mode snd_pcm_sw_params_set_xrun_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_get_xrun_mode snd_pcm_sw_params_get_xrun_mode_dylibloader_orig_asound +#define snd_pcm_sw_params_set_xfer_align snd_pcm_sw_params_set_xfer_align_dylibloader_orig_asound +#define snd_pcm_sw_params_get_xfer_align snd_pcm_sw_params_get_xfer_align_dylibloader_orig_asound +#define snd_pcm_sw_params_set_sleep_min snd_pcm_sw_params_set_sleep_min_dylibloader_orig_asound +#define snd_pcm_sw_params_get_sleep_min snd_pcm_sw_params_get_sleep_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_tick_time snd_pcm_hw_params_get_tick_time_dylibloader_orig_asound +#define snd_pcm_hw_params_get_tick_time_min snd_pcm_hw_params_get_tick_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_get_tick_time_max snd_pcm_hw_params_get_tick_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_test_tick_time snd_pcm_hw_params_test_tick_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time snd_pcm_hw_params_set_tick_time_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_min snd_pcm_hw_params_set_tick_time_min_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_max snd_pcm_hw_params_set_tick_time_max_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_minmax snd_pcm_hw_params_set_tick_time_minmax_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_near snd_pcm_hw_params_set_tick_time_near_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_first snd_pcm_hw_params_set_tick_time_first_dylibloader_orig_asound +#define snd_pcm_hw_params_set_tick_time_last snd_pcm_hw_params_set_tick_time_last_dylibloader_orig_asound +#define snd_rawmidi_open snd_rawmidi_open_dylibloader_orig_asound +#define snd_rawmidi_open_lconf snd_rawmidi_open_lconf_dylibloader_orig_asound +#define snd_rawmidi_close snd_rawmidi_close_dylibloader_orig_asound +#define snd_rawmidi_poll_descriptors_count snd_rawmidi_poll_descriptors_count_dylibloader_orig_asound +#define snd_rawmidi_poll_descriptors snd_rawmidi_poll_descriptors_dylibloader_orig_asound +#define snd_rawmidi_poll_descriptors_revents snd_rawmidi_poll_descriptors_revents_dylibloader_orig_asound +#define snd_rawmidi_nonblock snd_rawmidi_nonblock_dylibloader_orig_asound +#define snd_rawmidi_info_sizeof snd_rawmidi_info_sizeof_dylibloader_orig_asound +#define snd_rawmidi_info_malloc snd_rawmidi_info_malloc_dylibloader_orig_asound +#define snd_rawmidi_info_free snd_rawmidi_info_free_dylibloader_orig_asound +#define snd_rawmidi_info_copy snd_rawmidi_info_copy_dylibloader_orig_asound +#define snd_rawmidi_info_get_device snd_rawmidi_info_get_device_dylibloader_orig_asound +#define snd_rawmidi_info_get_subdevice snd_rawmidi_info_get_subdevice_dylibloader_orig_asound +#define snd_rawmidi_info_get_stream snd_rawmidi_info_get_stream_dylibloader_orig_asound +#define snd_rawmidi_info_get_card snd_rawmidi_info_get_card_dylibloader_orig_asound +#define snd_rawmidi_info_get_flags snd_rawmidi_info_get_flags_dylibloader_orig_asound +#define snd_rawmidi_info_get_id snd_rawmidi_info_get_id_dylibloader_orig_asound +#define snd_rawmidi_info_get_name snd_rawmidi_info_get_name_dylibloader_orig_asound +#define snd_rawmidi_info_get_subdevice_name snd_rawmidi_info_get_subdevice_name_dylibloader_orig_asound +#define snd_rawmidi_info_get_subdevices_count snd_rawmidi_info_get_subdevices_count_dylibloader_orig_asound +#define snd_rawmidi_info_get_subdevices_avail snd_rawmidi_info_get_subdevices_avail_dylibloader_orig_asound +#define snd_rawmidi_info_set_device snd_rawmidi_info_set_device_dylibloader_orig_asound +#define snd_rawmidi_info_set_subdevice snd_rawmidi_info_set_subdevice_dylibloader_orig_asound +#define snd_rawmidi_info_set_stream snd_rawmidi_info_set_stream_dylibloader_orig_asound +#define snd_rawmidi_info snd_rawmidi_info_dylibloader_orig_asound +#define snd_rawmidi_params_sizeof snd_rawmidi_params_sizeof_dylibloader_orig_asound +#define snd_rawmidi_params_malloc snd_rawmidi_params_malloc_dylibloader_orig_asound +#define snd_rawmidi_params_free snd_rawmidi_params_free_dylibloader_orig_asound +#define snd_rawmidi_params_copy snd_rawmidi_params_copy_dylibloader_orig_asound +#define snd_rawmidi_params_set_buffer_size snd_rawmidi_params_set_buffer_size_dylibloader_orig_asound +#define snd_rawmidi_params_get_buffer_size snd_rawmidi_params_get_buffer_size_dylibloader_orig_asound +#define snd_rawmidi_params_set_avail_min snd_rawmidi_params_set_avail_min_dylibloader_orig_asound +#define snd_rawmidi_params_get_avail_min snd_rawmidi_params_get_avail_min_dylibloader_orig_asound +#define snd_rawmidi_params_set_no_active_sensing snd_rawmidi_params_set_no_active_sensing_dylibloader_orig_asound +#define snd_rawmidi_params_get_no_active_sensing snd_rawmidi_params_get_no_active_sensing_dylibloader_orig_asound +#define snd_rawmidi_params snd_rawmidi_params_dylibloader_orig_asound +#define snd_rawmidi_params_current snd_rawmidi_params_current_dylibloader_orig_asound +#define snd_rawmidi_status_sizeof snd_rawmidi_status_sizeof_dylibloader_orig_asound +#define snd_rawmidi_status_malloc snd_rawmidi_status_malloc_dylibloader_orig_asound +#define snd_rawmidi_status_free snd_rawmidi_status_free_dylibloader_orig_asound +#define snd_rawmidi_status_copy snd_rawmidi_status_copy_dylibloader_orig_asound +#define snd_rawmidi_status_get_tstamp snd_rawmidi_status_get_tstamp_dylibloader_orig_asound +#define snd_rawmidi_status_get_avail snd_rawmidi_status_get_avail_dylibloader_orig_asound +#define snd_rawmidi_status_get_xruns snd_rawmidi_status_get_xruns_dylibloader_orig_asound +#define snd_rawmidi_status snd_rawmidi_status_dylibloader_orig_asound +#define snd_rawmidi_drain snd_rawmidi_drain_dylibloader_orig_asound +#define snd_rawmidi_drop snd_rawmidi_drop_dylibloader_orig_asound +#define snd_rawmidi_write snd_rawmidi_write_dylibloader_orig_asound +#define snd_rawmidi_read snd_rawmidi_read_dylibloader_orig_asound +#define snd_rawmidi_name snd_rawmidi_name_dylibloader_orig_asound +#define snd_rawmidi_type snd_rawmidi_type_dylibloader_orig_asound +#define snd_rawmidi_stream snd_rawmidi_stream_dylibloader_orig_asound +#define snd_timer_query_open snd_timer_query_open_dylibloader_orig_asound +#define snd_timer_query_open_lconf snd_timer_query_open_lconf_dylibloader_orig_asound +#define snd_timer_query_close snd_timer_query_close_dylibloader_orig_asound +#define snd_timer_query_next_device snd_timer_query_next_device_dylibloader_orig_asound +#define snd_timer_query_info snd_timer_query_info_dylibloader_orig_asound +#define snd_timer_query_params snd_timer_query_params_dylibloader_orig_asound +#define snd_timer_query_status snd_timer_query_status_dylibloader_orig_asound +#define snd_timer_open snd_timer_open_dylibloader_orig_asound +#define snd_timer_open_lconf snd_timer_open_lconf_dylibloader_orig_asound +#define snd_timer_close snd_timer_close_dylibloader_orig_asound +#define snd_async_add_timer_handler snd_async_add_timer_handler_dylibloader_orig_asound +#define snd_async_handler_get_timer snd_async_handler_get_timer_dylibloader_orig_asound +#define snd_timer_poll_descriptors_count snd_timer_poll_descriptors_count_dylibloader_orig_asound +#define snd_timer_poll_descriptors snd_timer_poll_descriptors_dylibloader_orig_asound +#define snd_timer_poll_descriptors_revents snd_timer_poll_descriptors_revents_dylibloader_orig_asound +#define snd_timer_info snd_timer_info_dylibloader_orig_asound +#define snd_timer_params snd_timer_params_dylibloader_orig_asound +#define snd_timer_status snd_timer_status_dylibloader_orig_asound +#define snd_timer_start snd_timer_start_dylibloader_orig_asound +#define snd_timer_stop snd_timer_stop_dylibloader_orig_asound +#define snd_timer_continue snd_timer_continue_dylibloader_orig_asound +#define snd_timer_read snd_timer_read_dylibloader_orig_asound +#define snd_timer_id_sizeof snd_timer_id_sizeof_dylibloader_orig_asound +#define snd_timer_id_malloc snd_timer_id_malloc_dylibloader_orig_asound +#define snd_timer_id_free snd_timer_id_free_dylibloader_orig_asound +#define snd_timer_id_copy snd_timer_id_copy_dylibloader_orig_asound +#define snd_timer_id_set_class snd_timer_id_set_class_dylibloader_orig_asound +#define snd_timer_id_get_class snd_timer_id_get_class_dylibloader_orig_asound +#define snd_timer_id_set_sclass snd_timer_id_set_sclass_dylibloader_orig_asound +#define snd_timer_id_get_sclass snd_timer_id_get_sclass_dylibloader_orig_asound +#define snd_timer_id_set_card snd_timer_id_set_card_dylibloader_orig_asound +#define snd_timer_id_get_card snd_timer_id_get_card_dylibloader_orig_asound +#define snd_timer_id_set_device snd_timer_id_set_device_dylibloader_orig_asound +#define snd_timer_id_get_device snd_timer_id_get_device_dylibloader_orig_asound +#define snd_timer_id_set_subdevice snd_timer_id_set_subdevice_dylibloader_orig_asound +#define snd_timer_id_get_subdevice snd_timer_id_get_subdevice_dylibloader_orig_asound +#define snd_timer_ginfo_sizeof snd_timer_ginfo_sizeof_dylibloader_orig_asound +#define snd_timer_ginfo_malloc snd_timer_ginfo_malloc_dylibloader_orig_asound +#define snd_timer_ginfo_free snd_timer_ginfo_free_dylibloader_orig_asound +#define snd_timer_ginfo_copy snd_timer_ginfo_copy_dylibloader_orig_asound +#define snd_timer_ginfo_set_tid snd_timer_ginfo_set_tid_dylibloader_orig_asound +#define snd_timer_ginfo_get_tid snd_timer_ginfo_get_tid_dylibloader_orig_asound +#define snd_timer_ginfo_get_flags snd_timer_ginfo_get_flags_dylibloader_orig_asound +#define snd_timer_ginfo_get_card snd_timer_ginfo_get_card_dylibloader_orig_asound +#define snd_timer_ginfo_get_id snd_timer_ginfo_get_id_dylibloader_orig_asound +#define snd_timer_ginfo_get_name snd_timer_ginfo_get_name_dylibloader_orig_asound +#define snd_timer_ginfo_get_resolution snd_timer_ginfo_get_resolution_dylibloader_orig_asound +#define snd_timer_ginfo_get_resolution_min snd_timer_ginfo_get_resolution_min_dylibloader_orig_asound +#define snd_timer_ginfo_get_resolution_max snd_timer_ginfo_get_resolution_max_dylibloader_orig_asound +#define snd_timer_ginfo_get_clients snd_timer_ginfo_get_clients_dylibloader_orig_asound +#define snd_timer_info_sizeof snd_timer_info_sizeof_dylibloader_orig_asound +#define snd_timer_info_malloc snd_timer_info_malloc_dylibloader_orig_asound +#define snd_timer_info_free snd_timer_info_free_dylibloader_orig_asound +#define snd_timer_info_copy snd_timer_info_copy_dylibloader_orig_asound +#define snd_timer_info_is_slave snd_timer_info_is_slave_dylibloader_orig_asound +#define snd_timer_info_get_card snd_timer_info_get_card_dylibloader_orig_asound +#define snd_timer_info_get_id snd_timer_info_get_id_dylibloader_orig_asound +#define snd_timer_info_get_name snd_timer_info_get_name_dylibloader_orig_asound +#define snd_timer_info_get_resolution snd_timer_info_get_resolution_dylibloader_orig_asound +#define snd_timer_params_sizeof snd_timer_params_sizeof_dylibloader_orig_asound +#define snd_timer_params_malloc snd_timer_params_malloc_dylibloader_orig_asound +#define snd_timer_params_free snd_timer_params_free_dylibloader_orig_asound +#define snd_timer_params_copy snd_timer_params_copy_dylibloader_orig_asound +#define snd_timer_params_set_auto_start snd_timer_params_set_auto_start_dylibloader_orig_asound +#define snd_timer_params_get_auto_start snd_timer_params_get_auto_start_dylibloader_orig_asound +#define snd_timer_params_set_exclusive snd_timer_params_set_exclusive_dylibloader_orig_asound +#define snd_timer_params_get_exclusive snd_timer_params_get_exclusive_dylibloader_orig_asound +#define snd_timer_params_set_early_event snd_timer_params_set_early_event_dylibloader_orig_asound +#define snd_timer_params_get_early_event snd_timer_params_get_early_event_dylibloader_orig_asound +#define snd_timer_params_set_ticks snd_timer_params_set_ticks_dylibloader_orig_asound +#define snd_timer_params_get_ticks snd_timer_params_get_ticks_dylibloader_orig_asound +#define snd_timer_params_set_queue_size snd_timer_params_set_queue_size_dylibloader_orig_asound +#define snd_timer_params_get_queue_size snd_timer_params_get_queue_size_dylibloader_orig_asound +#define snd_timer_params_set_filter snd_timer_params_set_filter_dylibloader_orig_asound +#define snd_timer_params_get_filter snd_timer_params_get_filter_dylibloader_orig_asound +#define snd_timer_status_sizeof snd_timer_status_sizeof_dylibloader_orig_asound +#define snd_timer_status_malloc snd_timer_status_malloc_dylibloader_orig_asound +#define snd_timer_status_free snd_timer_status_free_dylibloader_orig_asound +#define snd_timer_status_copy snd_timer_status_copy_dylibloader_orig_asound +#define snd_timer_status_get_timestamp snd_timer_status_get_timestamp_dylibloader_orig_asound +#define snd_timer_status_get_resolution snd_timer_status_get_resolution_dylibloader_orig_asound +#define snd_timer_status_get_lost snd_timer_status_get_lost_dylibloader_orig_asound +#define snd_timer_status_get_overrun snd_timer_status_get_overrun_dylibloader_orig_asound +#define snd_timer_status_get_queue snd_timer_status_get_queue_dylibloader_orig_asound +#define snd_timer_info_get_ticks snd_timer_info_get_ticks_dylibloader_orig_asound +#define snd_hwdep_open snd_hwdep_open_dylibloader_orig_asound +#define snd_hwdep_close snd_hwdep_close_dylibloader_orig_asound +#define snd_hwdep_poll_descriptors snd_hwdep_poll_descriptors_dylibloader_orig_asound +#define snd_hwdep_poll_descriptors_count snd_hwdep_poll_descriptors_count_dylibloader_orig_asound +#define snd_hwdep_poll_descriptors_revents snd_hwdep_poll_descriptors_revents_dylibloader_orig_asound +#define snd_hwdep_nonblock snd_hwdep_nonblock_dylibloader_orig_asound +#define snd_hwdep_info snd_hwdep_info_dylibloader_orig_asound +#define snd_hwdep_dsp_status snd_hwdep_dsp_status_dylibloader_orig_asound +#define snd_hwdep_dsp_load snd_hwdep_dsp_load_dylibloader_orig_asound +#define snd_hwdep_ioctl snd_hwdep_ioctl_dylibloader_orig_asound +#define snd_hwdep_write snd_hwdep_write_dylibloader_orig_asound +#define snd_hwdep_read snd_hwdep_read_dylibloader_orig_asound +#define snd_hwdep_info_sizeof snd_hwdep_info_sizeof_dylibloader_orig_asound +#define snd_hwdep_info_malloc snd_hwdep_info_malloc_dylibloader_orig_asound +#define snd_hwdep_info_free snd_hwdep_info_free_dylibloader_orig_asound +#define snd_hwdep_info_copy snd_hwdep_info_copy_dylibloader_orig_asound +#define snd_hwdep_info_get_device snd_hwdep_info_get_device_dylibloader_orig_asound +#define snd_hwdep_info_get_card snd_hwdep_info_get_card_dylibloader_orig_asound +#define snd_hwdep_info_get_id snd_hwdep_info_get_id_dylibloader_orig_asound +#define snd_hwdep_info_get_name snd_hwdep_info_get_name_dylibloader_orig_asound +#define snd_hwdep_info_get_iface snd_hwdep_info_get_iface_dylibloader_orig_asound +#define snd_hwdep_info_set_device snd_hwdep_info_set_device_dylibloader_orig_asound +#define snd_hwdep_dsp_status_sizeof snd_hwdep_dsp_status_sizeof_dylibloader_orig_asound +#define snd_hwdep_dsp_status_malloc snd_hwdep_dsp_status_malloc_dylibloader_orig_asound +#define snd_hwdep_dsp_status_free snd_hwdep_dsp_status_free_dylibloader_orig_asound +#define snd_hwdep_dsp_status_copy snd_hwdep_dsp_status_copy_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_version snd_hwdep_dsp_status_get_version_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_id snd_hwdep_dsp_status_get_id_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_num_dsps snd_hwdep_dsp_status_get_num_dsps_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_dsp_loaded snd_hwdep_dsp_status_get_dsp_loaded_dylibloader_orig_asound +#define snd_hwdep_dsp_status_get_chip_ready snd_hwdep_dsp_status_get_chip_ready_dylibloader_orig_asound +#define snd_hwdep_dsp_image_sizeof snd_hwdep_dsp_image_sizeof_dylibloader_orig_asound +#define snd_hwdep_dsp_image_malloc snd_hwdep_dsp_image_malloc_dylibloader_orig_asound +#define snd_hwdep_dsp_image_free snd_hwdep_dsp_image_free_dylibloader_orig_asound +#define snd_hwdep_dsp_image_copy snd_hwdep_dsp_image_copy_dylibloader_orig_asound +#define snd_hwdep_dsp_image_get_index snd_hwdep_dsp_image_get_index_dylibloader_orig_asound +#define snd_hwdep_dsp_image_get_name snd_hwdep_dsp_image_get_name_dylibloader_orig_asound +#define snd_hwdep_dsp_image_get_image snd_hwdep_dsp_image_get_image_dylibloader_orig_asound +#define snd_hwdep_dsp_image_get_length snd_hwdep_dsp_image_get_length_dylibloader_orig_asound +#define snd_hwdep_dsp_image_set_index snd_hwdep_dsp_image_set_index_dylibloader_orig_asound +#define snd_hwdep_dsp_image_set_name snd_hwdep_dsp_image_set_name_dylibloader_orig_asound +#define snd_hwdep_dsp_image_set_image snd_hwdep_dsp_image_set_image_dylibloader_orig_asound +#define snd_hwdep_dsp_image_set_length snd_hwdep_dsp_image_set_length_dylibloader_orig_asound +#define snd_card_load snd_card_load_dylibloader_orig_asound +#define snd_card_next snd_card_next_dylibloader_orig_asound +#define snd_card_get_index snd_card_get_index_dylibloader_orig_asound +#define snd_card_get_name snd_card_get_name_dylibloader_orig_asound +#define snd_card_get_longname snd_card_get_longname_dylibloader_orig_asound +#define snd_device_name_hint snd_device_name_hint_dylibloader_orig_asound +#define snd_device_name_free_hint snd_device_name_free_hint_dylibloader_orig_asound +#define snd_device_name_get_hint snd_device_name_get_hint_dylibloader_orig_asound +#define snd_ctl_open snd_ctl_open_dylibloader_orig_asound +#define snd_ctl_open_lconf snd_ctl_open_lconf_dylibloader_orig_asound +#define snd_ctl_open_fallback snd_ctl_open_fallback_dylibloader_orig_asound +#define snd_ctl_close snd_ctl_close_dylibloader_orig_asound +#define snd_ctl_nonblock snd_ctl_nonblock_dylibloader_orig_asound +#define snd_async_add_ctl_handler snd_async_add_ctl_handler_dylibloader_orig_asound +#define snd_async_handler_get_ctl snd_async_handler_get_ctl_dylibloader_orig_asound +#define snd_ctl_poll_descriptors_count snd_ctl_poll_descriptors_count_dylibloader_orig_asound +#define snd_ctl_poll_descriptors snd_ctl_poll_descriptors_dylibloader_orig_asound +#define snd_ctl_poll_descriptors_revents snd_ctl_poll_descriptors_revents_dylibloader_orig_asound +#define snd_ctl_subscribe_events snd_ctl_subscribe_events_dylibloader_orig_asound +#define snd_ctl_card_info snd_ctl_card_info_dylibloader_orig_asound +#define snd_ctl_elem_list snd_ctl_elem_list_dylibloader_orig_asound +#define snd_ctl_elem_info snd_ctl_elem_info_dylibloader_orig_asound +#define snd_ctl_elem_read snd_ctl_elem_read_dylibloader_orig_asound +#define snd_ctl_elem_write snd_ctl_elem_write_dylibloader_orig_asound +#define snd_ctl_elem_lock snd_ctl_elem_lock_dylibloader_orig_asound +#define snd_ctl_elem_unlock snd_ctl_elem_unlock_dylibloader_orig_asound +#define snd_ctl_elem_tlv_read snd_ctl_elem_tlv_read_dylibloader_orig_asound +#define snd_ctl_elem_tlv_write snd_ctl_elem_tlv_write_dylibloader_orig_asound +#define snd_ctl_elem_tlv_command snd_ctl_elem_tlv_command_dylibloader_orig_asound +#define snd_ctl_hwdep_next_device snd_ctl_hwdep_next_device_dylibloader_orig_asound +#define snd_ctl_hwdep_info snd_ctl_hwdep_info_dylibloader_orig_asound +#define snd_ctl_pcm_next_device snd_ctl_pcm_next_device_dylibloader_orig_asound +#define snd_ctl_pcm_info snd_ctl_pcm_info_dylibloader_orig_asound +#define snd_ctl_pcm_prefer_subdevice snd_ctl_pcm_prefer_subdevice_dylibloader_orig_asound +#define snd_ctl_rawmidi_next_device snd_ctl_rawmidi_next_device_dylibloader_orig_asound +#define snd_ctl_rawmidi_info snd_ctl_rawmidi_info_dylibloader_orig_asound +#define snd_ctl_rawmidi_prefer_subdevice snd_ctl_rawmidi_prefer_subdevice_dylibloader_orig_asound +#define snd_ctl_set_power_state snd_ctl_set_power_state_dylibloader_orig_asound +#define snd_ctl_get_power_state snd_ctl_get_power_state_dylibloader_orig_asound +#define snd_ctl_read snd_ctl_read_dylibloader_orig_asound +#define snd_ctl_wait snd_ctl_wait_dylibloader_orig_asound +#define snd_ctl_name snd_ctl_name_dylibloader_orig_asound +#define snd_ctl_type snd_ctl_type_dylibloader_orig_asound +#define snd_ctl_elem_type_name snd_ctl_elem_type_name_dylibloader_orig_asound +#define snd_ctl_elem_iface_name snd_ctl_elem_iface_name_dylibloader_orig_asound +#define snd_ctl_event_type_name snd_ctl_event_type_name_dylibloader_orig_asound +#define snd_ctl_event_elem_get_mask snd_ctl_event_elem_get_mask_dylibloader_orig_asound +#define snd_ctl_event_elem_get_numid snd_ctl_event_elem_get_numid_dylibloader_orig_asound +#define snd_ctl_event_elem_get_id snd_ctl_event_elem_get_id_dylibloader_orig_asound +#define snd_ctl_event_elem_get_interface snd_ctl_event_elem_get_interface_dylibloader_orig_asound +#define snd_ctl_event_elem_get_device snd_ctl_event_elem_get_device_dylibloader_orig_asound +#define snd_ctl_event_elem_get_subdevice snd_ctl_event_elem_get_subdevice_dylibloader_orig_asound +#define snd_ctl_event_elem_get_name snd_ctl_event_elem_get_name_dylibloader_orig_asound +#define snd_ctl_event_elem_get_index snd_ctl_event_elem_get_index_dylibloader_orig_asound +#define snd_ctl_elem_list_alloc_space snd_ctl_elem_list_alloc_space_dylibloader_orig_asound +#define snd_ctl_elem_list_free_space snd_ctl_elem_list_free_space_dylibloader_orig_asound +#define snd_ctl_ascii_elem_id_get snd_ctl_ascii_elem_id_get_dylibloader_orig_asound +#define snd_ctl_ascii_elem_id_parse snd_ctl_ascii_elem_id_parse_dylibloader_orig_asound +#define snd_ctl_ascii_value_parse snd_ctl_ascii_value_parse_dylibloader_orig_asound +#define snd_ctl_elem_id_sizeof snd_ctl_elem_id_sizeof_dylibloader_orig_asound +#define snd_ctl_elem_id_malloc snd_ctl_elem_id_malloc_dylibloader_orig_asound +#define snd_ctl_elem_id_free snd_ctl_elem_id_free_dylibloader_orig_asound +#define snd_ctl_elem_id_clear snd_ctl_elem_id_clear_dylibloader_orig_asound +#define snd_ctl_elem_id_copy snd_ctl_elem_id_copy_dylibloader_orig_asound +#define snd_ctl_elem_id_get_numid snd_ctl_elem_id_get_numid_dylibloader_orig_asound +#define snd_ctl_elem_id_get_interface snd_ctl_elem_id_get_interface_dylibloader_orig_asound +#define snd_ctl_elem_id_get_device snd_ctl_elem_id_get_device_dylibloader_orig_asound +#define snd_ctl_elem_id_get_subdevice snd_ctl_elem_id_get_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_id_get_name snd_ctl_elem_id_get_name_dylibloader_orig_asound +#define snd_ctl_elem_id_get_index snd_ctl_elem_id_get_index_dylibloader_orig_asound +#define snd_ctl_elem_id_set_numid snd_ctl_elem_id_set_numid_dylibloader_orig_asound +#define snd_ctl_elem_id_set_interface snd_ctl_elem_id_set_interface_dylibloader_orig_asound +#define snd_ctl_elem_id_set_device snd_ctl_elem_id_set_device_dylibloader_orig_asound +#define snd_ctl_elem_id_set_subdevice snd_ctl_elem_id_set_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_id_set_name snd_ctl_elem_id_set_name_dylibloader_orig_asound +#define snd_ctl_elem_id_set_index snd_ctl_elem_id_set_index_dylibloader_orig_asound +#define snd_ctl_card_info_sizeof snd_ctl_card_info_sizeof_dylibloader_orig_asound +#define snd_ctl_card_info_malloc snd_ctl_card_info_malloc_dylibloader_orig_asound +#define snd_ctl_card_info_free snd_ctl_card_info_free_dylibloader_orig_asound +#define snd_ctl_card_info_clear snd_ctl_card_info_clear_dylibloader_orig_asound +#define snd_ctl_card_info_copy snd_ctl_card_info_copy_dylibloader_orig_asound +#define snd_ctl_card_info_get_card snd_ctl_card_info_get_card_dylibloader_orig_asound +#define snd_ctl_card_info_get_id snd_ctl_card_info_get_id_dylibloader_orig_asound +#define snd_ctl_card_info_get_driver snd_ctl_card_info_get_driver_dylibloader_orig_asound +#define snd_ctl_card_info_get_name snd_ctl_card_info_get_name_dylibloader_orig_asound +#define snd_ctl_card_info_get_longname snd_ctl_card_info_get_longname_dylibloader_orig_asound +#define snd_ctl_card_info_get_mixername snd_ctl_card_info_get_mixername_dylibloader_orig_asound +#define snd_ctl_card_info_get_components snd_ctl_card_info_get_components_dylibloader_orig_asound +#define snd_ctl_event_sizeof snd_ctl_event_sizeof_dylibloader_orig_asound +#define snd_ctl_event_malloc snd_ctl_event_malloc_dylibloader_orig_asound +#define snd_ctl_event_free snd_ctl_event_free_dylibloader_orig_asound +#define snd_ctl_event_clear snd_ctl_event_clear_dylibloader_orig_asound +#define snd_ctl_event_copy snd_ctl_event_copy_dylibloader_orig_asound +#define snd_ctl_event_get_type snd_ctl_event_get_type_dylibloader_orig_asound +#define snd_ctl_elem_list_sizeof snd_ctl_elem_list_sizeof_dylibloader_orig_asound +#define snd_ctl_elem_list_malloc snd_ctl_elem_list_malloc_dylibloader_orig_asound +#define snd_ctl_elem_list_free snd_ctl_elem_list_free_dylibloader_orig_asound +#define snd_ctl_elem_list_clear snd_ctl_elem_list_clear_dylibloader_orig_asound +#define snd_ctl_elem_list_copy snd_ctl_elem_list_copy_dylibloader_orig_asound +#define snd_ctl_elem_list_set_offset snd_ctl_elem_list_set_offset_dylibloader_orig_asound +#define snd_ctl_elem_list_get_used snd_ctl_elem_list_get_used_dylibloader_orig_asound +#define snd_ctl_elem_list_get_count snd_ctl_elem_list_get_count_dylibloader_orig_asound +#define snd_ctl_elem_list_get_id snd_ctl_elem_list_get_id_dylibloader_orig_asound +#define snd_ctl_elem_list_get_numid snd_ctl_elem_list_get_numid_dylibloader_orig_asound +#define snd_ctl_elem_list_get_interface snd_ctl_elem_list_get_interface_dylibloader_orig_asound +#define snd_ctl_elem_list_get_device snd_ctl_elem_list_get_device_dylibloader_orig_asound +#define snd_ctl_elem_list_get_subdevice snd_ctl_elem_list_get_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_list_get_name snd_ctl_elem_list_get_name_dylibloader_orig_asound +#define snd_ctl_elem_list_get_index snd_ctl_elem_list_get_index_dylibloader_orig_asound +#define snd_ctl_elem_info_sizeof snd_ctl_elem_info_sizeof_dylibloader_orig_asound +#define snd_ctl_elem_info_malloc snd_ctl_elem_info_malloc_dylibloader_orig_asound +#define snd_ctl_elem_info_free snd_ctl_elem_info_free_dylibloader_orig_asound +#define snd_ctl_elem_info_clear snd_ctl_elem_info_clear_dylibloader_orig_asound +#define snd_ctl_elem_info_copy snd_ctl_elem_info_copy_dylibloader_orig_asound +#define snd_ctl_elem_info_get_type snd_ctl_elem_info_get_type_dylibloader_orig_asound +#define snd_ctl_elem_info_is_readable snd_ctl_elem_info_is_readable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_writable snd_ctl_elem_info_is_writable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_volatile snd_ctl_elem_info_is_volatile_dylibloader_orig_asound +#define snd_ctl_elem_info_is_inactive snd_ctl_elem_info_is_inactive_dylibloader_orig_asound +#define snd_ctl_elem_info_is_locked snd_ctl_elem_info_is_locked_dylibloader_orig_asound +#define snd_ctl_elem_info_is_tlv_readable snd_ctl_elem_info_is_tlv_readable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_tlv_writable snd_ctl_elem_info_is_tlv_writable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_tlv_commandable snd_ctl_elem_info_is_tlv_commandable_dylibloader_orig_asound +#define snd_ctl_elem_info_is_owner snd_ctl_elem_info_is_owner_dylibloader_orig_asound +#define snd_ctl_elem_info_is_user snd_ctl_elem_info_is_user_dylibloader_orig_asound +#define snd_ctl_elem_info_get_owner snd_ctl_elem_info_get_owner_dylibloader_orig_asound +#define snd_ctl_elem_info_get_count snd_ctl_elem_info_get_count_dylibloader_orig_asound +#define snd_ctl_elem_info_get_min snd_ctl_elem_info_get_min_dylibloader_orig_asound +#define snd_ctl_elem_info_get_max snd_ctl_elem_info_get_max_dylibloader_orig_asound +#define snd_ctl_elem_info_get_step snd_ctl_elem_info_get_step_dylibloader_orig_asound +#define snd_ctl_elem_info_get_min64 snd_ctl_elem_info_get_min64_dylibloader_orig_asound +#define snd_ctl_elem_info_get_max64 snd_ctl_elem_info_get_max64_dylibloader_orig_asound +#define snd_ctl_elem_info_get_step64 snd_ctl_elem_info_get_step64_dylibloader_orig_asound +#define snd_ctl_elem_info_get_items snd_ctl_elem_info_get_items_dylibloader_orig_asound +#define snd_ctl_elem_info_set_item snd_ctl_elem_info_set_item_dylibloader_orig_asound +#define snd_ctl_elem_info_get_item_name snd_ctl_elem_info_get_item_name_dylibloader_orig_asound +#define snd_ctl_elem_info_get_dimensions snd_ctl_elem_info_get_dimensions_dylibloader_orig_asound +#define snd_ctl_elem_info_get_dimension snd_ctl_elem_info_get_dimension_dylibloader_orig_asound +#define snd_ctl_elem_info_set_dimension snd_ctl_elem_info_set_dimension_dylibloader_orig_asound +#define snd_ctl_elem_info_get_id snd_ctl_elem_info_get_id_dylibloader_orig_asound +#define snd_ctl_elem_info_get_numid snd_ctl_elem_info_get_numid_dylibloader_orig_asound +#define snd_ctl_elem_info_get_interface snd_ctl_elem_info_get_interface_dylibloader_orig_asound +#define snd_ctl_elem_info_get_device snd_ctl_elem_info_get_device_dylibloader_orig_asound +#define snd_ctl_elem_info_get_subdevice snd_ctl_elem_info_get_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_info_get_name snd_ctl_elem_info_get_name_dylibloader_orig_asound +#define snd_ctl_elem_info_get_index snd_ctl_elem_info_get_index_dylibloader_orig_asound +#define snd_ctl_elem_info_set_id snd_ctl_elem_info_set_id_dylibloader_orig_asound +#define snd_ctl_elem_info_set_numid snd_ctl_elem_info_set_numid_dylibloader_orig_asound +#define snd_ctl_elem_info_set_interface snd_ctl_elem_info_set_interface_dylibloader_orig_asound +#define snd_ctl_elem_info_set_device snd_ctl_elem_info_set_device_dylibloader_orig_asound +#define snd_ctl_elem_info_set_subdevice snd_ctl_elem_info_set_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_info_set_name snd_ctl_elem_info_set_name_dylibloader_orig_asound +#define snd_ctl_elem_info_set_index snd_ctl_elem_info_set_index_dylibloader_orig_asound +#define snd_ctl_add_integer_elem_set snd_ctl_add_integer_elem_set_dylibloader_orig_asound +#define snd_ctl_add_integer64_elem_set snd_ctl_add_integer64_elem_set_dylibloader_orig_asound +#define snd_ctl_add_boolean_elem_set snd_ctl_add_boolean_elem_set_dylibloader_orig_asound +#define snd_ctl_add_enumerated_elem_set snd_ctl_add_enumerated_elem_set_dylibloader_orig_asound +#define snd_ctl_add_bytes_elem_set snd_ctl_add_bytes_elem_set_dylibloader_orig_asound +#define snd_ctl_elem_add_integer snd_ctl_elem_add_integer_dylibloader_orig_asound +#define snd_ctl_elem_add_integer64 snd_ctl_elem_add_integer64_dylibloader_orig_asound +#define snd_ctl_elem_add_boolean snd_ctl_elem_add_boolean_dylibloader_orig_asound +#define snd_ctl_elem_add_enumerated snd_ctl_elem_add_enumerated_dylibloader_orig_asound +#define snd_ctl_elem_add_iec958 snd_ctl_elem_add_iec958_dylibloader_orig_asound +#define snd_ctl_elem_remove snd_ctl_elem_remove_dylibloader_orig_asound +#define snd_ctl_elem_value_sizeof snd_ctl_elem_value_sizeof_dylibloader_orig_asound +#define snd_ctl_elem_value_malloc snd_ctl_elem_value_malloc_dylibloader_orig_asound +#define snd_ctl_elem_value_free snd_ctl_elem_value_free_dylibloader_orig_asound +#define snd_ctl_elem_value_clear snd_ctl_elem_value_clear_dylibloader_orig_asound +#define snd_ctl_elem_value_copy snd_ctl_elem_value_copy_dylibloader_orig_asound +#define snd_ctl_elem_value_compare snd_ctl_elem_value_compare_dylibloader_orig_asound +#define snd_ctl_elem_value_get_id snd_ctl_elem_value_get_id_dylibloader_orig_asound +#define snd_ctl_elem_value_get_numid snd_ctl_elem_value_get_numid_dylibloader_orig_asound +#define snd_ctl_elem_value_get_interface snd_ctl_elem_value_get_interface_dylibloader_orig_asound +#define snd_ctl_elem_value_get_device snd_ctl_elem_value_get_device_dylibloader_orig_asound +#define snd_ctl_elem_value_get_subdevice snd_ctl_elem_value_get_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_value_get_name snd_ctl_elem_value_get_name_dylibloader_orig_asound +#define snd_ctl_elem_value_get_index snd_ctl_elem_value_get_index_dylibloader_orig_asound +#define snd_ctl_elem_value_set_id snd_ctl_elem_value_set_id_dylibloader_orig_asound +#define snd_ctl_elem_value_set_numid snd_ctl_elem_value_set_numid_dylibloader_orig_asound +#define snd_ctl_elem_value_set_interface snd_ctl_elem_value_set_interface_dylibloader_orig_asound +#define snd_ctl_elem_value_set_device snd_ctl_elem_value_set_device_dylibloader_orig_asound +#define snd_ctl_elem_value_set_subdevice snd_ctl_elem_value_set_subdevice_dylibloader_orig_asound +#define snd_ctl_elem_value_set_name snd_ctl_elem_value_set_name_dylibloader_orig_asound +#define snd_ctl_elem_value_set_index snd_ctl_elem_value_set_index_dylibloader_orig_asound +#define snd_ctl_elem_value_get_boolean snd_ctl_elem_value_get_boolean_dylibloader_orig_asound +#define snd_ctl_elem_value_get_integer snd_ctl_elem_value_get_integer_dylibloader_orig_asound +#define snd_ctl_elem_value_get_integer64 snd_ctl_elem_value_get_integer64_dylibloader_orig_asound +#define snd_ctl_elem_value_get_enumerated snd_ctl_elem_value_get_enumerated_dylibloader_orig_asound +#define snd_ctl_elem_value_get_byte snd_ctl_elem_value_get_byte_dylibloader_orig_asound +#define snd_ctl_elem_value_set_boolean snd_ctl_elem_value_set_boolean_dylibloader_orig_asound +#define snd_ctl_elem_value_set_integer snd_ctl_elem_value_set_integer_dylibloader_orig_asound +#define snd_ctl_elem_value_set_integer64 snd_ctl_elem_value_set_integer64_dylibloader_orig_asound +#define snd_ctl_elem_value_set_enumerated snd_ctl_elem_value_set_enumerated_dylibloader_orig_asound +#define snd_ctl_elem_value_set_byte snd_ctl_elem_value_set_byte_dylibloader_orig_asound +#define snd_ctl_elem_set_bytes snd_ctl_elem_set_bytes_dylibloader_orig_asound +#define snd_ctl_elem_value_get_bytes snd_ctl_elem_value_get_bytes_dylibloader_orig_asound +#define snd_ctl_elem_value_get_iec958 snd_ctl_elem_value_get_iec958_dylibloader_orig_asound +#define snd_ctl_elem_value_set_iec958 snd_ctl_elem_value_set_iec958_dylibloader_orig_asound +#define snd_tlv_parse_dB_info snd_tlv_parse_dB_info_dylibloader_orig_asound +#define snd_tlv_get_dB_range snd_tlv_get_dB_range_dylibloader_orig_asound +#define snd_tlv_convert_to_dB snd_tlv_convert_to_dB_dylibloader_orig_asound +#define snd_tlv_convert_from_dB snd_tlv_convert_from_dB_dylibloader_orig_asound +#define snd_ctl_get_dB_range snd_ctl_get_dB_range_dylibloader_orig_asound +#define snd_ctl_convert_to_dB snd_ctl_convert_to_dB_dylibloader_orig_asound +#define snd_ctl_convert_from_dB snd_ctl_convert_from_dB_dylibloader_orig_asound +#define snd_hctl_compare_fast snd_hctl_compare_fast_dylibloader_orig_asound +#define snd_hctl_open snd_hctl_open_dylibloader_orig_asound +#define snd_hctl_open_ctl snd_hctl_open_ctl_dylibloader_orig_asound +#define snd_hctl_close snd_hctl_close_dylibloader_orig_asound +#define snd_hctl_nonblock snd_hctl_nonblock_dylibloader_orig_asound +#define snd_hctl_poll_descriptors_count snd_hctl_poll_descriptors_count_dylibloader_orig_asound +#define snd_hctl_poll_descriptors snd_hctl_poll_descriptors_dylibloader_orig_asound +#define snd_hctl_poll_descriptors_revents snd_hctl_poll_descriptors_revents_dylibloader_orig_asound +#define snd_hctl_get_count snd_hctl_get_count_dylibloader_orig_asound +#define snd_hctl_set_compare snd_hctl_set_compare_dylibloader_orig_asound +#define snd_hctl_first_elem snd_hctl_first_elem_dylibloader_orig_asound +#define snd_hctl_last_elem snd_hctl_last_elem_dylibloader_orig_asound +#define snd_hctl_find_elem snd_hctl_find_elem_dylibloader_orig_asound +#define snd_hctl_set_callback snd_hctl_set_callback_dylibloader_orig_asound +#define snd_hctl_set_callback_private snd_hctl_set_callback_private_dylibloader_orig_asound +#define snd_hctl_get_callback_private snd_hctl_get_callback_private_dylibloader_orig_asound +#define snd_hctl_load snd_hctl_load_dylibloader_orig_asound +#define snd_hctl_free snd_hctl_free_dylibloader_orig_asound +#define snd_hctl_handle_events snd_hctl_handle_events_dylibloader_orig_asound +#define snd_hctl_name snd_hctl_name_dylibloader_orig_asound +#define snd_hctl_wait snd_hctl_wait_dylibloader_orig_asound +#define snd_hctl_ctl snd_hctl_ctl_dylibloader_orig_asound +#define snd_hctl_elem_next snd_hctl_elem_next_dylibloader_orig_asound +#define snd_hctl_elem_prev snd_hctl_elem_prev_dylibloader_orig_asound +#define snd_hctl_elem_info snd_hctl_elem_info_dylibloader_orig_asound +#define snd_hctl_elem_read snd_hctl_elem_read_dylibloader_orig_asound +#define snd_hctl_elem_write snd_hctl_elem_write_dylibloader_orig_asound +#define snd_hctl_elem_tlv_read snd_hctl_elem_tlv_read_dylibloader_orig_asound +#define snd_hctl_elem_tlv_write snd_hctl_elem_tlv_write_dylibloader_orig_asound +#define snd_hctl_elem_tlv_command snd_hctl_elem_tlv_command_dylibloader_orig_asound +#define snd_hctl_elem_get_hctl snd_hctl_elem_get_hctl_dylibloader_orig_asound +#define snd_hctl_elem_get_id snd_hctl_elem_get_id_dylibloader_orig_asound +#define snd_hctl_elem_get_numid snd_hctl_elem_get_numid_dylibloader_orig_asound +#define snd_hctl_elem_get_interface snd_hctl_elem_get_interface_dylibloader_orig_asound +#define snd_hctl_elem_get_device snd_hctl_elem_get_device_dylibloader_orig_asound +#define snd_hctl_elem_get_subdevice snd_hctl_elem_get_subdevice_dylibloader_orig_asound +#define snd_hctl_elem_get_name snd_hctl_elem_get_name_dylibloader_orig_asound +#define snd_hctl_elem_get_index snd_hctl_elem_get_index_dylibloader_orig_asound +#define snd_hctl_elem_set_callback snd_hctl_elem_set_callback_dylibloader_orig_asound +#define snd_hctl_elem_get_callback_private snd_hctl_elem_get_callback_private_dylibloader_orig_asound +#define snd_hctl_elem_set_callback_private snd_hctl_elem_set_callback_private_dylibloader_orig_asound +#define snd_sctl_build snd_sctl_build_dylibloader_orig_asound +#define snd_sctl_free snd_sctl_free_dylibloader_orig_asound +#define snd_sctl_install snd_sctl_install_dylibloader_orig_asound +#define snd_sctl_remove snd_sctl_remove_dylibloader_orig_asound +#define snd_mixer_open snd_mixer_open_dylibloader_orig_asound +#define snd_mixer_close snd_mixer_close_dylibloader_orig_asound +#define snd_mixer_first_elem snd_mixer_first_elem_dylibloader_orig_asound +#define snd_mixer_last_elem snd_mixer_last_elem_dylibloader_orig_asound +#define snd_mixer_handle_events snd_mixer_handle_events_dylibloader_orig_asound +#define snd_mixer_attach snd_mixer_attach_dylibloader_orig_asound +#define snd_mixer_attach_hctl snd_mixer_attach_hctl_dylibloader_orig_asound +#define snd_mixer_detach snd_mixer_detach_dylibloader_orig_asound +#define snd_mixer_detach_hctl snd_mixer_detach_hctl_dylibloader_orig_asound +#define snd_mixer_get_hctl snd_mixer_get_hctl_dylibloader_orig_asound +#define snd_mixer_poll_descriptors_count snd_mixer_poll_descriptors_count_dylibloader_orig_asound +#define snd_mixer_poll_descriptors snd_mixer_poll_descriptors_dylibloader_orig_asound +#define snd_mixer_poll_descriptors_revents snd_mixer_poll_descriptors_revents_dylibloader_orig_asound +#define snd_mixer_load snd_mixer_load_dylibloader_orig_asound +#define snd_mixer_free snd_mixer_free_dylibloader_orig_asound +#define snd_mixer_wait snd_mixer_wait_dylibloader_orig_asound +#define snd_mixer_set_compare snd_mixer_set_compare_dylibloader_orig_asound +#define snd_mixer_set_callback snd_mixer_set_callback_dylibloader_orig_asound +#define snd_mixer_get_callback_private snd_mixer_get_callback_private_dylibloader_orig_asound +#define snd_mixer_set_callback_private snd_mixer_set_callback_private_dylibloader_orig_asound +#define snd_mixer_get_count snd_mixer_get_count_dylibloader_orig_asound +#define snd_mixer_class_unregister snd_mixer_class_unregister_dylibloader_orig_asound +#define snd_mixer_elem_next snd_mixer_elem_next_dylibloader_orig_asound +#define snd_mixer_elem_prev snd_mixer_elem_prev_dylibloader_orig_asound +#define snd_mixer_elem_set_callback snd_mixer_elem_set_callback_dylibloader_orig_asound +#define snd_mixer_elem_get_callback_private snd_mixer_elem_get_callback_private_dylibloader_orig_asound +#define snd_mixer_elem_set_callback_private snd_mixer_elem_set_callback_private_dylibloader_orig_asound +#define snd_mixer_elem_get_type snd_mixer_elem_get_type_dylibloader_orig_asound +#define snd_mixer_class_register snd_mixer_class_register_dylibloader_orig_asound +#define snd_mixer_elem_new snd_mixer_elem_new_dylibloader_orig_asound +#define snd_mixer_elem_add snd_mixer_elem_add_dylibloader_orig_asound +#define snd_mixer_elem_remove snd_mixer_elem_remove_dylibloader_orig_asound +#define snd_mixer_elem_free snd_mixer_elem_free_dylibloader_orig_asound +#define snd_mixer_elem_info snd_mixer_elem_info_dylibloader_orig_asound +#define snd_mixer_elem_value snd_mixer_elem_value_dylibloader_orig_asound +#define snd_mixer_elem_attach snd_mixer_elem_attach_dylibloader_orig_asound +#define snd_mixer_elem_detach snd_mixer_elem_detach_dylibloader_orig_asound +#define snd_mixer_elem_empty snd_mixer_elem_empty_dylibloader_orig_asound +#define snd_mixer_elem_get_private snd_mixer_elem_get_private_dylibloader_orig_asound +#define snd_mixer_class_sizeof snd_mixer_class_sizeof_dylibloader_orig_asound +#define snd_mixer_class_malloc snd_mixer_class_malloc_dylibloader_orig_asound +#define snd_mixer_class_free snd_mixer_class_free_dylibloader_orig_asound +#define snd_mixer_class_copy snd_mixer_class_copy_dylibloader_orig_asound +#define snd_mixer_class_get_mixer snd_mixer_class_get_mixer_dylibloader_orig_asound +#define snd_mixer_class_get_event snd_mixer_class_get_event_dylibloader_orig_asound +#define snd_mixer_class_get_private snd_mixer_class_get_private_dylibloader_orig_asound +#define snd_mixer_class_get_compare snd_mixer_class_get_compare_dylibloader_orig_asound +#define snd_mixer_class_set_event snd_mixer_class_set_event_dylibloader_orig_asound +#define snd_mixer_class_set_private snd_mixer_class_set_private_dylibloader_orig_asound +#define snd_mixer_class_set_private_free snd_mixer_class_set_private_free_dylibloader_orig_asound +#define snd_mixer_class_set_compare snd_mixer_class_set_compare_dylibloader_orig_asound +#define snd_mixer_selem_channel_name snd_mixer_selem_channel_name_dylibloader_orig_asound +#define snd_mixer_selem_register snd_mixer_selem_register_dylibloader_orig_asound +#define snd_mixer_selem_get_id snd_mixer_selem_get_id_dylibloader_orig_asound +#define snd_mixer_selem_get_name snd_mixer_selem_get_name_dylibloader_orig_asound +#define snd_mixer_selem_get_index snd_mixer_selem_get_index_dylibloader_orig_asound +#define snd_mixer_find_selem snd_mixer_find_selem_dylibloader_orig_asound +#define snd_mixer_selem_is_active snd_mixer_selem_is_active_dylibloader_orig_asound +#define snd_mixer_selem_is_playback_mono snd_mixer_selem_is_playback_mono_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_channel snd_mixer_selem_has_playback_channel_dylibloader_orig_asound +#define snd_mixer_selem_is_capture_mono snd_mixer_selem_is_capture_mono_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_channel snd_mixer_selem_has_capture_channel_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_group snd_mixer_selem_get_capture_group_dylibloader_orig_asound +#define snd_mixer_selem_has_common_volume snd_mixer_selem_has_common_volume_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_volume snd_mixer_selem_has_playback_volume_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_volume_joined snd_mixer_selem_has_playback_volume_joined_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_volume snd_mixer_selem_has_capture_volume_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_volume_joined snd_mixer_selem_has_capture_volume_joined_dylibloader_orig_asound +#define snd_mixer_selem_has_common_switch snd_mixer_selem_has_common_switch_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_switch snd_mixer_selem_has_playback_switch_dylibloader_orig_asound +#define snd_mixer_selem_has_playback_switch_joined snd_mixer_selem_has_playback_switch_joined_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_switch snd_mixer_selem_has_capture_switch_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_switch_joined snd_mixer_selem_has_capture_switch_joined_dylibloader_orig_asound +#define snd_mixer_selem_has_capture_switch_exclusive snd_mixer_selem_has_capture_switch_exclusive_dylibloader_orig_asound +#define snd_mixer_selem_ask_playback_vol_dB snd_mixer_selem_ask_playback_vol_dB_dylibloader_orig_asound +#define snd_mixer_selem_ask_capture_vol_dB snd_mixer_selem_ask_capture_vol_dB_dylibloader_orig_asound +#define snd_mixer_selem_ask_playback_dB_vol snd_mixer_selem_ask_playback_dB_vol_dylibloader_orig_asound +#define snd_mixer_selem_ask_capture_dB_vol snd_mixer_selem_ask_capture_dB_vol_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_volume snd_mixer_selem_get_playback_volume_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_volume snd_mixer_selem_get_capture_volume_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_dB snd_mixer_selem_get_playback_dB_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_dB snd_mixer_selem_get_capture_dB_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_switch snd_mixer_selem_get_playback_switch_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_switch snd_mixer_selem_get_capture_switch_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_volume snd_mixer_selem_set_playback_volume_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_volume snd_mixer_selem_set_capture_volume_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_dB snd_mixer_selem_set_playback_dB_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_dB snd_mixer_selem_set_capture_dB_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_volume_all snd_mixer_selem_set_playback_volume_all_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_volume_all snd_mixer_selem_set_capture_volume_all_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_dB_all snd_mixer_selem_set_playback_dB_all_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_dB_all snd_mixer_selem_set_capture_dB_all_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_switch snd_mixer_selem_set_playback_switch_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_switch snd_mixer_selem_set_capture_switch_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_switch_all snd_mixer_selem_set_playback_switch_all_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_switch_all snd_mixer_selem_set_capture_switch_all_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_volume_range snd_mixer_selem_get_playback_volume_range_dylibloader_orig_asound +#define snd_mixer_selem_get_playback_dB_range snd_mixer_selem_get_playback_dB_range_dylibloader_orig_asound +#define snd_mixer_selem_set_playback_volume_range snd_mixer_selem_set_playback_volume_range_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_volume_range snd_mixer_selem_get_capture_volume_range_dylibloader_orig_asound +#define snd_mixer_selem_get_capture_dB_range snd_mixer_selem_get_capture_dB_range_dylibloader_orig_asound +#define snd_mixer_selem_set_capture_volume_range snd_mixer_selem_set_capture_volume_range_dylibloader_orig_asound +#define snd_mixer_selem_is_enumerated snd_mixer_selem_is_enumerated_dylibloader_orig_asound +#define snd_mixer_selem_is_enum_playback snd_mixer_selem_is_enum_playback_dylibloader_orig_asound +#define snd_mixer_selem_is_enum_capture snd_mixer_selem_is_enum_capture_dylibloader_orig_asound +#define snd_mixer_selem_get_enum_items snd_mixer_selem_get_enum_items_dylibloader_orig_asound +#define snd_mixer_selem_get_enum_item_name snd_mixer_selem_get_enum_item_name_dylibloader_orig_asound +#define snd_mixer_selem_get_enum_item snd_mixer_selem_get_enum_item_dylibloader_orig_asound +#define snd_mixer_selem_set_enum_item snd_mixer_selem_set_enum_item_dylibloader_orig_asound +#define snd_mixer_selem_id_sizeof snd_mixer_selem_id_sizeof_dylibloader_orig_asound +#define snd_mixer_selem_id_malloc snd_mixer_selem_id_malloc_dylibloader_orig_asound +#define snd_mixer_selem_id_free snd_mixer_selem_id_free_dylibloader_orig_asound +#define snd_mixer_selem_id_copy snd_mixer_selem_id_copy_dylibloader_orig_asound +#define snd_mixer_selem_id_get_name snd_mixer_selem_id_get_name_dylibloader_orig_asound +#define snd_mixer_selem_id_get_index snd_mixer_selem_id_get_index_dylibloader_orig_asound +#define snd_mixer_selem_id_set_name snd_mixer_selem_id_set_name_dylibloader_orig_asound +#define snd_mixer_selem_id_set_index snd_mixer_selem_id_set_index_dylibloader_orig_asound +#define snd_mixer_selem_id_parse snd_mixer_selem_id_parse_dylibloader_orig_asound +#define snd_seq_open snd_seq_open_dylibloader_orig_asound +#define snd_seq_open_lconf snd_seq_open_lconf_dylibloader_orig_asound +#define snd_seq_name snd_seq_name_dylibloader_orig_asound +#define snd_seq_type snd_seq_type_dylibloader_orig_asound +#define snd_seq_close snd_seq_close_dylibloader_orig_asound +#define snd_seq_poll_descriptors_count snd_seq_poll_descriptors_count_dylibloader_orig_asound +#define snd_seq_poll_descriptors snd_seq_poll_descriptors_dylibloader_orig_asound +#define snd_seq_poll_descriptors_revents snd_seq_poll_descriptors_revents_dylibloader_orig_asound +#define snd_seq_nonblock snd_seq_nonblock_dylibloader_orig_asound +#define snd_seq_client_id snd_seq_client_id_dylibloader_orig_asound +#define snd_seq_get_output_buffer_size snd_seq_get_output_buffer_size_dylibloader_orig_asound +#define snd_seq_get_input_buffer_size snd_seq_get_input_buffer_size_dylibloader_orig_asound +#define snd_seq_set_output_buffer_size snd_seq_set_output_buffer_size_dylibloader_orig_asound +#define snd_seq_set_input_buffer_size snd_seq_set_input_buffer_size_dylibloader_orig_asound +#define snd_seq_system_info_sizeof snd_seq_system_info_sizeof_dylibloader_orig_asound +#define snd_seq_system_info_malloc snd_seq_system_info_malloc_dylibloader_orig_asound +#define snd_seq_system_info_free snd_seq_system_info_free_dylibloader_orig_asound +#define snd_seq_system_info_copy snd_seq_system_info_copy_dylibloader_orig_asound +#define snd_seq_system_info_get_queues snd_seq_system_info_get_queues_dylibloader_orig_asound +#define snd_seq_system_info_get_clients snd_seq_system_info_get_clients_dylibloader_orig_asound +#define snd_seq_system_info_get_ports snd_seq_system_info_get_ports_dylibloader_orig_asound +#define snd_seq_system_info_get_channels snd_seq_system_info_get_channels_dylibloader_orig_asound +#define snd_seq_system_info_get_cur_clients snd_seq_system_info_get_cur_clients_dylibloader_orig_asound +#define snd_seq_system_info_get_cur_queues snd_seq_system_info_get_cur_queues_dylibloader_orig_asound +#define snd_seq_system_info snd_seq_system_info_dylibloader_orig_asound +#define snd_seq_client_info_sizeof snd_seq_client_info_sizeof_dylibloader_orig_asound +#define snd_seq_client_info_malloc snd_seq_client_info_malloc_dylibloader_orig_asound +#define snd_seq_client_info_free snd_seq_client_info_free_dylibloader_orig_asound +#define snd_seq_client_info_copy snd_seq_client_info_copy_dylibloader_orig_asound +#define snd_seq_client_info_get_client snd_seq_client_info_get_client_dylibloader_orig_asound +#define snd_seq_client_info_get_type snd_seq_client_info_get_type_dylibloader_orig_asound +#define snd_seq_client_info_get_name snd_seq_client_info_get_name_dylibloader_orig_asound +#define snd_seq_client_info_get_broadcast_filter snd_seq_client_info_get_broadcast_filter_dylibloader_orig_asound +#define snd_seq_client_info_get_error_bounce snd_seq_client_info_get_error_bounce_dylibloader_orig_asound +#define snd_seq_client_info_get_card snd_seq_client_info_get_card_dylibloader_orig_asound +#define snd_seq_client_info_get_pid snd_seq_client_info_get_pid_dylibloader_orig_asound +#define snd_seq_client_info_get_event_filter snd_seq_client_info_get_event_filter_dylibloader_orig_asound +#define snd_seq_client_info_get_num_ports snd_seq_client_info_get_num_ports_dylibloader_orig_asound +#define snd_seq_client_info_get_event_lost snd_seq_client_info_get_event_lost_dylibloader_orig_asound +#define snd_seq_client_info_set_client snd_seq_client_info_set_client_dylibloader_orig_asound +#define snd_seq_client_info_set_name snd_seq_client_info_set_name_dylibloader_orig_asound +#define snd_seq_client_info_set_broadcast_filter snd_seq_client_info_set_broadcast_filter_dylibloader_orig_asound +#define snd_seq_client_info_set_error_bounce snd_seq_client_info_set_error_bounce_dylibloader_orig_asound +#define snd_seq_client_info_set_event_filter snd_seq_client_info_set_event_filter_dylibloader_orig_asound +#define snd_seq_client_info_event_filter_clear snd_seq_client_info_event_filter_clear_dylibloader_orig_asound +#define snd_seq_client_info_event_filter_add snd_seq_client_info_event_filter_add_dylibloader_orig_asound +#define snd_seq_client_info_event_filter_del snd_seq_client_info_event_filter_del_dylibloader_orig_asound +#define snd_seq_client_info_event_filter_check snd_seq_client_info_event_filter_check_dylibloader_orig_asound +#define snd_seq_get_client_info snd_seq_get_client_info_dylibloader_orig_asound +#define snd_seq_get_any_client_info snd_seq_get_any_client_info_dylibloader_orig_asound +#define snd_seq_set_client_info snd_seq_set_client_info_dylibloader_orig_asound +#define snd_seq_query_next_client snd_seq_query_next_client_dylibloader_orig_asound +#define snd_seq_client_pool_sizeof snd_seq_client_pool_sizeof_dylibloader_orig_asound +#define snd_seq_client_pool_malloc snd_seq_client_pool_malloc_dylibloader_orig_asound +#define snd_seq_client_pool_free snd_seq_client_pool_free_dylibloader_orig_asound +#define snd_seq_client_pool_copy snd_seq_client_pool_copy_dylibloader_orig_asound +#define snd_seq_client_pool_get_client snd_seq_client_pool_get_client_dylibloader_orig_asound +#define snd_seq_client_pool_get_output_pool snd_seq_client_pool_get_output_pool_dylibloader_orig_asound +#define snd_seq_client_pool_get_input_pool snd_seq_client_pool_get_input_pool_dylibloader_orig_asound +#define snd_seq_client_pool_get_output_room snd_seq_client_pool_get_output_room_dylibloader_orig_asound +#define snd_seq_client_pool_get_output_free snd_seq_client_pool_get_output_free_dylibloader_orig_asound +#define snd_seq_client_pool_get_input_free snd_seq_client_pool_get_input_free_dylibloader_orig_asound +#define snd_seq_client_pool_set_output_pool snd_seq_client_pool_set_output_pool_dylibloader_orig_asound +#define snd_seq_client_pool_set_input_pool snd_seq_client_pool_set_input_pool_dylibloader_orig_asound +#define snd_seq_client_pool_set_output_room snd_seq_client_pool_set_output_room_dylibloader_orig_asound +#define snd_seq_get_client_pool snd_seq_get_client_pool_dylibloader_orig_asound +#define snd_seq_set_client_pool snd_seq_set_client_pool_dylibloader_orig_asound +#define snd_seq_port_info_sizeof snd_seq_port_info_sizeof_dylibloader_orig_asound +#define snd_seq_port_info_malloc snd_seq_port_info_malloc_dylibloader_orig_asound +#define snd_seq_port_info_free snd_seq_port_info_free_dylibloader_orig_asound +#define snd_seq_port_info_copy snd_seq_port_info_copy_dylibloader_orig_asound +#define snd_seq_port_info_get_client snd_seq_port_info_get_client_dylibloader_orig_asound +#define snd_seq_port_info_get_port snd_seq_port_info_get_port_dylibloader_orig_asound +#define snd_seq_port_info_get_addr snd_seq_port_info_get_addr_dylibloader_orig_asound +#define snd_seq_port_info_get_name snd_seq_port_info_get_name_dylibloader_orig_asound +#define snd_seq_port_info_get_capability snd_seq_port_info_get_capability_dylibloader_orig_asound +#define snd_seq_port_info_get_type snd_seq_port_info_get_type_dylibloader_orig_asound +#define snd_seq_port_info_get_midi_channels snd_seq_port_info_get_midi_channels_dylibloader_orig_asound +#define snd_seq_port_info_get_midi_voices snd_seq_port_info_get_midi_voices_dylibloader_orig_asound +#define snd_seq_port_info_get_synth_voices snd_seq_port_info_get_synth_voices_dylibloader_orig_asound +#define snd_seq_port_info_get_read_use snd_seq_port_info_get_read_use_dylibloader_orig_asound +#define snd_seq_port_info_get_write_use snd_seq_port_info_get_write_use_dylibloader_orig_asound +#define snd_seq_port_info_get_port_specified snd_seq_port_info_get_port_specified_dylibloader_orig_asound +#define snd_seq_port_info_get_timestamping snd_seq_port_info_get_timestamping_dylibloader_orig_asound +#define snd_seq_port_info_get_timestamp_real snd_seq_port_info_get_timestamp_real_dylibloader_orig_asound +#define snd_seq_port_info_get_timestamp_queue snd_seq_port_info_get_timestamp_queue_dylibloader_orig_asound +#define snd_seq_port_info_set_client snd_seq_port_info_set_client_dylibloader_orig_asound +#define snd_seq_port_info_set_port snd_seq_port_info_set_port_dylibloader_orig_asound +#define snd_seq_port_info_set_addr snd_seq_port_info_set_addr_dylibloader_orig_asound +#define snd_seq_port_info_set_name snd_seq_port_info_set_name_dylibloader_orig_asound +#define snd_seq_port_info_set_capability snd_seq_port_info_set_capability_dylibloader_orig_asound +#define snd_seq_port_info_set_type snd_seq_port_info_set_type_dylibloader_orig_asound +#define snd_seq_port_info_set_midi_channels snd_seq_port_info_set_midi_channels_dylibloader_orig_asound +#define snd_seq_port_info_set_midi_voices snd_seq_port_info_set_midi_voices_dylibloader_orig_asound +#define snd_seq_port_info_set_synth_voices snd_seq_port_info_set_synth_voices_dylibloader_orig_asound +#define snd_seq_port_info_set_port_specified snd_seq_port_info_set_port_specified_dylibloader_orig_asound +#define snd_seq_port_info_set_timestamping snd_seq_port_info_set_timestamping_dylibloader_orig_asound +#define snd_seq_port_info_set_timestamp_real snd_seq_port_info_set_timestamp_real_dylibloader_orig_asound +#define snd_seq_port_info_set_timestamp_queue snd_seq_port_info_set_timestamp_queue_dylibloader_orig_asound +#define snd_seq_create_port snd_seq_create_port_dylibloader_orig_asound +#define snd_seq_delete_port snd_seq_delete_port_dylibloader_orig_asound +#define snd_seq_get_port_info snd_seq_get_port_info_dylibloader_orig_asound +#define snd_seq_get_any_port_info snd_seq_get_any_port_info_dylibloader_orig_asound +#define snd_seq_set_port_info snd_seq_set_port_info_dylibloader_orig_asound +#define snd_seq_query_next_port snd_seq_query_next_port_dylibloader_orig_asound +#define snd_seq_port_subscribe_sizeof snd_seq_port_subscribe_sizeof_dylibloader_orig_asound +#define snd_seq_port_subscribe_malloc snd_seq_port_subscribe_malloc_dylibloader_orig_asound +#define snd_seq_port_subscribe_free snd_seq_port_subscribe_free_dylibloader_orig_asound +#define snd_seq_port_subscribe_copy snd_seq_port_subscribe_copy_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_sender snd_seq_port_subscribe_get_sender_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_dest snd_seq_port_subscribe_get_dest_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_queue snd_seq_port_subscribe_get_queue_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_exclusive snd_seq_port_subscribe_get_exclusive_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_time_update snd_seq_port_subscribe_get_time_update_dylibloader_orig_asound +#define snd_seq_port_subscribe_get_time_real snd_seq_port_subscribe_get_time_real_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_sender snd_seq_port_subscribe_set_sender_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_dest snd_seq_port_subscribe_set_dest_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_queue snd_seq_port_subscribe_set_queue_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_exclusive snd_seq_port_subscribe_set_exclusive_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_time_update snd_seq_port_subscribe_set_time_update_dylibloader_orig_asound +#define snd_seq_port_subscribe_set_time_real snd_seq_port_subscribe_set_time_real_dylibloader_orig_asound +#define snd_seq_get_port_subscription snd_seq_get_port_subscription_dylibloader_orig_asound +#define snd_seq_subscribe_port snd_seq_subscribe_port_dylibloader_orig_asound +#define snd_seq_unsubscribe_port snd_seq_unsubscribe_port_dylibloader_orig_asound +#define snd_seq_query_subscribe_sizeof snd_seq_query_subscribe_sizeof_dylibloader_orig_asound +#define snd_seq_query_subscribe_malloc snd_seq_query_subscribe_malloc_dylibloader_orig_asound +#define snd_seq_query_subscribe_free snd_seq_query_subscribe_free_dylibloader_orig_asound +#define snd_seq_query_subscribe_copy snd_seq_query_subscribe_copy_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_client snd_seq_query_subscribe_get_client_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_port snd_seq_query_subscribe_get_port_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_root snd_seq_query_subscribe_get_root_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_type snd_seq_query_subscribe_get_type_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_index snd_seq_query_subscribe_get_index_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_num_subs snd_seq_query_subscribe_get_num_subs_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_addr snd_seq_query_subscribe_get_addr_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_queue snd_seq_query_subscribe_get_queue_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_exclusive snd_seq_query_subscribe_get_exclusive_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_time_update snd_seq_query_subscribe_get_time_update_dylibloader_orig_asound +#define snd_seq_query_subscribe_get_time_real snd_seq_query_subscribe_get_time_real_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_client snd_seq_query_subscribe_set_client_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_port snd_seq_query_subscribe_set_port_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_root snd_seq_query_subscribe_set_root_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_type snd_seq_query_subscribe_set_type_dylibloader_orig_asound +#define snd_seq_query_subscribe_set_index snd_seq_query_subscribe_set_index_dylibloader_orig_asound +#define snd_seq_query_port_subscribers snd_seq_query_port_subscribers_dylibloader_orig_asound +#define snd_seq_queue_info_sizeof snd_seq_queue_info_sizeof_dylibloader_orig_asound +#define snd_seq_queue_info_malloc snd_seq_queue_info_malloc_dylibloader_orig_asound +#define snd_seq_queue_info_free snd_seq_queue_info_free_dylibloader_orig_asound +#define snd_seq_queue_info_copy snd_seq_queue_info_copy_dylibloader_orig_asound +#define snd_seq_queue_info_get_queue snd_seq_queue_info_get_queue_dylibloader_orig_asound +#define snd_seq_queue_info_get_name snd_seq_queue_info_get_name_dylibloader_orig_asound +#define snd_seq_queue_info_get_owner snd_seq_queue_info_get_owner_dylibloader_orig_asound +#define snd_seq_queue_info_get_locked snd_seq_queue_info_get_locked_dylibloader_orig_asound +#define snd_seq_queue_info_get_flags snd_seq_queue_info_get_flags_dylibloader_orig_asound +#define snd_seq_queue_info_set_name snd_seq_queue_info_set_name_dylibloader_orig_asound +#define snd_seq_queue_info_set_owner snd_seq_queue_info_set_owner_dylibloader_orig_asound +#define snd_seq_queue_info_set_locked snd_seq_queue_info_set_locked_dylibloader_orig_asound +#define snd_seq_queue_info_set_flags snd_seq_queue_info_set_flags_dylibloader_orig_asound +#define snd_seq_create_queue snd_seq_create_queue_dylibloader_orig_asound +#define snd_seq_alloc_named_queue snd_seq_alloc_named_queue_dylibloader_orig_asound +#define snd_seq_alloc_queue snd_seq_alloc_queue_dylibloader_orig_asound +#define snd_seq_free_queue snd_seq_free_queue_dylibloader_orig_asound +#define snd_seq_get_queue_info snd_seq_get_queue_info_dylibloader_orig_asound +#define snd_seq_set_queue_info snd_seq_set_queue_info_dylibloader_orig_asound +#define snd_seq_query_named_queue snd_seq_query_named_queue_dylibloader_orig_asound +#define snd_seq_get_queue_usage snd_seq_get_queue_usage_dylibloader_orig_asound +#define snd_seq_set_queue_usage snd_seq_set_queue_usage_dylibloader_orig_asound +#define snd_seq_queue_status_sizeof snd_seq_queue_status_sizeof_dylibloader_orig_asound +#define snd_seq_queue_status_malloc snd_seq_queue_status_malloc_dylibloader_orig_asound +#define snd_seq_queue_status_free snd_seq_queue_status_free_dylibloader_orig_asound +#define snd_seq_queue_status_copy snd_seq_queue_status_copy_dylibloader_orig_asound +#define snd_seq_queue_status_get_queue snd_seq_queue_status_get_queue_dylibloader_orig_asound +#define snd_seq_queue_status_get_events snd_seq_queue_status_get_events_dylibloader_orig_asound +#define snd_seq_queue_status_get_tick_time snd_seq_queue_status_get_tick_time_dylibloader_orig_asound +#define snd_seq_queue_status_get_real_time snd_seq_queue_status_get_real_time_dylibloader_orig_asound +#define snd_seq_queue_status_get_status snd_seq_queue_status_get_status_dylibloader_orig_asound +#define snd_seq_get_queue_status snd_seq_get_queue_status_dylibloader_orig_asound +#define snd_seq_queue_tempo_sizeof snd_seq_queue_tempo_sizeof_dylibloader_orig_asound +#define snd_seq_queue_tempo_malloc snd_seq_queue_tempo_malloc_dylibloader_orig_asound +#define snd_seq_queue_tempo_free snd_seq_queue_tempo_free_dylibloader_orig_asound +#define snd_seq_queue_tempo_copy snd_seq_queue_tempo_copy_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_queue snd_seq_queue_tempo_get_queue_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_tempo snd_seq_queue_tempo_get_tempo_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_ppq snd_seq_queue_tempo_get_ppq_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_skew snd_seq_queue_tempo_get_skew_dylibloader_orig_asound +#define snd_seq_queue_tempo_get_skew_base snd_seq_queue_tempo_get_skew_base_dylibloader_orig_asound +#define snd_seq_queue_tempo_set_tempo snd_seq_queue_tempo_set_tempo_dylibloader_orig_asound +#define snd_seq_queue_tempo_set_ppq snd_seq_queue_tempo_set_ppq_dylibloader_orig_asound +#define snd_seq_queue_tempo_set_skew snd_seq_queue_tempo_set_skew_dylibloader_orig_asound +#define snd_seq_queue_tempo_set_skew_base snd_seq_queue_tempo_set_skew_base_dylibloader_orig_asound +#define snd_seq_get_queue_tempo snd_seq_get_queue_tempo_dylibloader_orig_asound +#define snd_seq_set_queue_tempo snd_seq_set_queue_tempo_dylibloader_orig_asound +#define snd_seq_queue_timer_sizeof snd_seq_queue_timer_sizeof_dylibloader_orig_asound +#define snd_seq_queue_timer_malloc snd_seq_queue_timer_malloc_dylibloader_orig_asound +#define snd_seq_queue_timer_free snd_seq_queue_timer_free_dylibloader_orig_asound +#define snd_seq_queue_timer_copy snd_seq_queue_timer_copy_dylibloader_orig_asound +#define snd_seq_queue_timer_get_queue snd_seq_queue_timer_get_queue_dylibloader_orig_asound +#define snd_seq_queue_timer_get_type snd_seq_queue_timer_get_type_dylibloader_orig_asound +#define snd_seq_queue_timer_get_id snd_seq_queue_timer_get_id_dylibloader_orig_asound +#define snd_seq_queue_timer_get_resolution snd_seq_queue_timer_get_resolution_dylibloader_orig_asound +#define snd_seq_queue_timer_set_type snd_seq_queue_timer_set_type_dylibloader_orig_asound +#define snd_seq_queue_timer_set_id snd_seq_queue_timer_set_id_dylibloader_orig_asound +#define snd_seq_queue_timer_set_resolution snd_seq_queue_timer_set_resolution_dylibloader_orig_asound +#define snd_seq_get_queue_timer snd_seq_get_queue_timer_dylibloader_orig_asound +#define snd_seq_set_queue_timer snd_seq_set_queue_timer_dylibloader_orig_asound +#define snd_seq_free_event snd_seq_free_event_dylibloader_orig_asound +#define snd_seq_event_length snd_seq_event_length_dylibloader_orig_asound +#define snd_seq_event_output snd_seq_event_output_dylibloader_orig_asound +#define snd_seq_event_output_buffer snd_seq_event_output_buffer_dylibloader_orig_asound +#define snd_seq_event_output_direct snd_seq_event_output_direct_dylibloader_orig_asound +#define snd_seq_event_input snd_seq_event_input_dylibloader_orig_asound +#define snd_seq_event_input_pending snd_seq_event_input_pending_dylibloader_orig_asound +#define snd_seq_drain_output snd_seq_drain_output_dylibloader_orig_asound +#define snd_seq_event_output_pending snd_seq_event_output_pending_dylibloader_orig_asound +#define snd_seq_extract_output snd_seq_extract_output_dylibloader_orig_asound +#define snd_seq_drop_output snd_seq_drop_output_dylibloader_orig_asound +#define snd_seq_drop_output_buffer snd_seq_drop_output_buffer_dylibloader_orig_asound +#define snd_seq_drop_input snd_seq_drop_input_dylibloader_orig_asound +#define snd_seq_drop_input_buffer snd_seq_drop_input_buffer_dylibloader_orig_asound +#define snd_seq_remove_events_sizeof snd_seq_remove_events_sizeof_dylibloader_orig_asound +#define snd_seq_remove_events_malloc snd_seq_remove_events_malloc_dylibloader_orig_asound +#define snd_seq_remove_events_free snd_seq_remove_events_free_dylibloader_orig_asound +#define snd_seq_remove_events_copy snd_seq_remove_events_copy_dylibloader_orig_asound +#define snd_seq_remove_events_get_condition snd_seq_remove_events_get_condition_dylibloader_orig_asound +#define snd_seq_remove_events_get_queue snd_seq_remove_events_get_queue_dylibloader_orig_asound +#define snd_seq_remove_events_get_time snd_seq_remove_events_get_time_dylibloader_orig_asound +#define snd_seq_remove_events_get_dest snd_seq_remove_events_get_dest_dylibloader_orig_asound +#define snd_seq_remove_events_get_channel snd_seq_remove_events_get_channel_dylibloader_orig_asound +#define snd_seq_remove_events_get_event_type snd_seq_remove_events_get_event_type_dylibloader_orig_asound +#define snd_seq_remove_events_get_tag snd_seq_remove_events_get_tag_dylibloader_orig_asound +#define snd_seq_remove_events_set_condition snd_seq_remove_events_set_condition_dylibloader_orig_asound +#define snd_seq_remove_events_set_queue snd_seq_remove_events_set_queue_dylibloader_orig_asound +#define snd_seq_remove_events_set_time snd_seq_remove_events_set_time_dylibloader_orig_asound +#define snd_seq_remove_events_set_dest snd_seq_remove_events_set_dest_dylibloader_orig_asound +#define snd_seq_remove_events_set_channel snd_seq_remove_events_set_channel_dylibloader_orig_asound +#define snd_seq_remove_events_set_event_type snd_seq_remove_events_set_event_type_dylibloader_orig_asound +#define snd_seq_remove_events_set_tag snd_seq_remove_events_set_tag_dylibloader_orig_asound +#define snd_seq_remove_events snd_seq_remove_events_dylibloader_orig_asound +#define snd_seq_set_bit snd_seq_set_bit_dylibloader_orig_asound +#define snd_seq_unset_bit snd_seq_unset_bit_dylibloader_orig_asound +#define snd_seq_change_bit snd_seq_change_bit_dylibloader_orig_asound +#define snd_seq_get_bit snd_seq_get_bit_dylibloader_orig_asound +#define snd_seq_control_queue snd_seq_control_queue_dylibloader_orig_asound +#define snd_seq_create_simple_port snd_seq_create_simple_port_dylibloader_orig_asound +#define snd_seq_delete_simple_port snd_seq_delete_simple_port_dylibloader_orig_asound +#define snd_seq_connect_from snd_seq_connect_from_dylibloader_orig_asound +#define snd_seq_connect_to snd_seq_connect_to_dylibloader_orig_asound +#define snd_seq_disconnect_from snd_seq_disconnect_from_dylibloader_orig_asound +#define snd_seq_disconnect_to snd_seq_disconnect_to_dylibloader_orig_asound +#define snd_seq_set_client_name snd_seq_set_client_name_dylibloader_orig_asound +#define snd_seq_set_client_event_filter snd_seq_set_client_event_filter_dylibloader_orig_asound +#define snd_seq_set_client_pool_output snd_seq_set_client_pool_output_dylibloader_orig_asound +#define snd_seq_set_client_pool_output_room snd_seq_set_client_pool_output_room_dylibloader_orig_asound +#define snd_seq_set_client_pool_input snd_seq_set_client_pool_input_dylibloader_orig_asound +#define snd_seq_sync_output_queue snd_seq_sync_output_queue_dylibloader_orig_asound +#define snd_seq_parse_address snd_seq_parse_address_dylibloader_orig_asound +#define snd_seq_reset_pool_output snd_seq_reset_pool_output_dylibloader_orig_asound +#define snd_seq_reset_pool_input snd_seq_reset_pool_input_dylibloader_orig_asound +#define snd_midi_event_new snd_midi_event_new_dylibloader_orig_asound +#define snd_midi_event_resize_buffer snd_midi_event_resize_buffer_dylibloader_orig_asound +#define snd_midi_event_free snd_midi_event_free_dylibloader_orig_asound +#define snd_midi_event_init snd_midi_event_init_dylibloader_orig_asound +#define snd_midi_event_reset_encode snd_midi_event_reset_encode_dylibloader_orig_asound +#define snd_midi_event_reset_decode snd_midi_event_reset_decode_dylibloader_orig_asound +#define snd_midi_event_no_status snd_midi_event_no_status_dylibloader_orig_asound +#define snd_midi_event_encode snd_midi_event_encode_dylibloader_orig_asound +#define snd_midi_event_encode_byte snd_midi_event_encode_byte_dylibloader_orig_asound +#define snd_midi_event_decode snd_midi_event_decode_dylibloader_orig_asound +#include <alsa/asoundlib.h> +#undef snd_asoundlib_version +#undef snd_dlpath +#undef snd_dlopen +#undef snd_dlsym +#undef snd_dlclose +#undef snd_async_add_handler +#undef snd_async_del_handler +#undef snd_async_handler_get_fd +#undef snd_async_handler_get_signo +#undef snd_async_handler_get_callback_private +#undef snd_shm_area_create +#undef snd_shm_area_share +#undef snd_shm_area_destroy +#undef snd_user_file +#undef snd_input_stdio_open +#undef snd_input_stdio_attach +#undef snd_input_buffer_open +#undef snd_input_close +#undef snd_input_scanf +#undef snd_input_gets +#undef snd_input_getc +#undef snd_input_ungetc +#undef snd_output_stdio_open +#undef snd_output_stdio_attach +#undef snd_output_buffer_open +#undef snd_output_buffer_string +#undef snd_output_close +#undef snd_output_printf +#undef snd_output_vprintf +#undef snd_output_puts +#undef snd_output_putc +#undef snd_output_flush +#undef snd_strerror +#undef snd_lib_error_set_handler +#undef snd_lib_error_set_local +#undef snd_config_topdir +#undef snd_config_top +#undef snd_config_load +#undef snd_config_load_override +#undef snd_config_save +#undef snd_config_update +#undef snd_config_update_r +#undef snd_config_update_free +#undef snd_config_update_free_global +#undef snd_config_update_ref +#undef snd_config_ref +#undef snd_config_unref +#undef snd_config_search +#undef snd_config_searchv +#undef snd_config_search_definition +#undef snd_config_expand +#undef snd_config_evaluate +#undef snd_config_add +#undef snd_config_add_before +#undef snd_config_add_after +#undef snd_config_remove +#undef snd_config_delete +#undef snd_config_delete_compound_members +#undef snd_config_copy +#undef snd_config_make +#undef snd_config_make_integer +#undef snd_config_make_integer64 +#undef snd_config_make_real +#undef snd_config_make_string +#undef snd_config_make_pointer +#undef snd_config_make_compound +#undef snd_config_imake_integer +#undef snd_config_imake_integer64 +#undef snd_config_imake_real +#undef snd_config_imake_string +#undef snd_config_imake_safe_string +#undef snd_config_imake_pointer +#undef snd_config_get_type +#undef snd_config_is_array +#undef snd_config_set_id +#undef snd_config_set_integer +#undef snd_config_set_integer64 +#undef snd_config_set_real +#undef snd_config_set_string +#undef snd_config_set_ascii +#undef snd_config_set_pointer +#undef snd_config_get_id +#undef snd_config_get_integer +#undef snd_config_get_integer64 +#undef snd_config_get_real +#undef snd_config_get_ireal +#undef snd_config_get_string +#undef snd_config_get_ascii +#undef snd_config_get_pointer +#undef snd_config_test_id +#undef snd_config_iterator_first +#undef snd_config_iterator_next +#undef snd_config_iterator_end +#undef snd_config_iterator_entry +#undef snd_config_get_bool_ascii +#undef snd_config_get_bool +#undef snd_config_get_ctl_iface_ascii +#undef snd_config_get_ctl_iface +#undef snd_names_list +#undef snd_names_list_free +#undef snd_pcm_open +#undef snd_pcm_open_lconf +#undef snd_pcm_open_fallback +#undef snd_pcm_close +#undef snd_pcm_name +#undef snd_pcm_type +#undef snd_pcm_stream +#undef snd_pcm_poll_descriptors_count +#undef snd_pcm_poll_descriptors +#undef snd_pcm_poll_descriptors_revents +#undef snd_pcm_nonblock +#undef snd_async_add_pcm_handler +#undef snd_async_handler_get_pcm +#undef snd_pcm_info +#undef snd_pcm_hw_params_current +#undef snd_pcm_hw_params +#undef snd_pcm_hw_free +#undef snd_pcm_sw_params_current +#undef snd_pcm_sw_params +#undef snd_pcm_prepare +#undef snd_pcm_reset +#undef snd_pcm_status +#undef snd_pcm_start +#undef snd_pcm_drop +#undef snd_pcm_drain +#undef snd_pcm_pause +#undef snd_pcm_state +#undef snd_pcm_hwsync +#undef snd_pcm_delay +#undef snd_pcm_resume +#undef snd_pcm_htimestamp +#undef snd_pcm_avail +#undef snd_pcm_avail_update +#undef snd_pcm_avail_delay +#undef snd_pcm_rewindable +#undef snd_pcm_rewind +#undef snd_pcm_forwardable +#undef snd_pcm_forward +#undef snd_pcm_writei +#undef snd_pcm_readi +#undef snd_pcm_writen +#undef snd_pcm_readn +#undef snd_pcm_wait +#undef snd_pcm_link +#undef snd_pcm_unlink +#undef snd_pcm_query_chmaps +#undef snd_pcm_query_chmaps_from_hw +#undef snd_pcm_free_chmaps +#undef snd_pcm_get_chmap +#undef snd_pcm_set_chmap +#undef snd_pcm_chmap_type_name +#undef snd_pcm_chmap_name +#undef snd_pcm_chmap_long_name +#undef snd_pcm_chmap_print +#undef snd_pcm_chmap_from_string +#undef snd_pcm_chmap_parse_string +#undef snd_pcm_recover +#undef snd_pcm_set_params +#undef snd_pcm_get_params +#undef snd_pcm_info_sizeof +#undef snd_pcm_info_malloc +#undef snd_pcm_info_free +#undef snd_pcm_info_copy +#undef snd_pcm_info_get_device +#undef snd_pcm_info_get_subdevice +#undef snd_pcm_info_get_stream +#undef snd_pcm_info_get_card +#undef snd_pcm_info_get_id +#undef snd_pcm_info_get_name +#undef snd_pcm_info_get_subdevice_name +#undef snd_pcm_info_get_class +#undef snd_pcm_info_get_subclass +#undef snd_pcm_info_get_subdevices_count +#undef snd_pcm_info_get_subdevices_avail +#undef snd_pcm_info_get_sync +#undef snd_pcm_info_set_device +#undef snd_pcm_info_set_subdevice +#undef snd_pcm_info_set_stream +#undef snd_pcm_hw_params_any +#undef snd_pcm_hw_params_can_mmap_sample_resolution +#undef snd_pcm_hw_params_is_double +#undef snd_pcm_hw_params_is_batch +#undef snd_pcm_hw_params_is_block_transfer +#undef snd_pcm_hw_params_is_monotonic +#undef snd_pcm_hw_params_can_overrange +#undef snd_pcm_hw_params_can_pause +#undef snd_pcm_hw_params_can_resume +#undef snd_pcm_hw_params_is_half_duplex +#undef snd_pcm_hw_params_is_joint_duplex +#undef snd_pcm_hw_params_can_sync_start +#undef snd_pcm_hw_params_can_disable_period_wakeup +#undef snd_pcm_hw_params_supports_audio_wallclock_ts +#undef snd_pcm_hw_params_supports_audio_ts_type +#undef snd_pcm_hw_params_get_rate_numden +#undef snd_pcm_hw_params_get_sbits +#undef snd_pcm_hw_params_get_fifo_size +#undef snd_pcm_hw_params_sizeof +#undef snd_pcm_hw_params_malloc +#undef snd_pcm_hw_params_free +#undef snd_pcm_hw_params_copy +#undef snd_pcm_hw_params_get_access +#undef snd_pcm_hw_params_test_access +#undef snd_pcm_hw_params_set_access +#undef snd_pcm_hw_params_set_access_first +#undef snd_pcm_hw_params_set_access_last +#undef snd_pcm_hw_params_set_access_mask +#undef snd_pcm_hw_params_get_access_mask +#undef snd_pcm_hw_params_get_format +#undef snd_pcm_hw_params_test_format +#undef snd_pcm_hw_params_set_format +#undef snd_pcm_hw_params_set_format_first +#undef snd_pcm_hw_params_set_format_last +#undef snd_pcm_hw_params_set_format_mask +#undef snd_pcm_hw_params_get_format_mask +#undef snd_pcm_hw_params_get_subformat +#undef snd_pcm_hw_params_test_subformat +#undef snd_pcm_hw_params_set_subformat +#undef snd_pcm_hw_params_set_subformat_first +#undef snd_pcm_hw_params_set_subformat_last +#undef snd_pcm_hw_params_set_subformat_mask +#undef snd_pcm_hw_params_get_subformat_mask +#undef snd_pcm_hw_params_get_channels +#undef snd_pcm_hw_params_get_channels_min +#undef snd_pcm_hw_params_get_channels_max +#undef snd_pcm_hw_params_test_channels +#undef snd_pcm_hw_params_set_channels +#undef snd_pcm_hw_params_set_channels_min +#undef snd_pcm_hw_params_set_channels_max +#undef snd_pcm_hw_params_set_channels_minmax +#undef snd_pcm_hw_params_set_channels_near +#undef snd_pcm_hw_params_set_channels_first +#undef snd_pcm_hw_params_set_channels_last +#undef snd_pcm_hw_params_get_rate +#undef snd_pcm_hw_params_get_rate_min +#undef snd_pcm_hw_params_get_rate_max +#undef snd_pcm_hw_params_test_rate +#undef snd_pcm_hw_params_set_rate +#undef snd_pcm_hw_params_set_rate_min +#undef snd_pcm_hw_params_set_rate_max +#undef snd_pcm_hw_params_set_rate_minmax +#undef snd_pcm_hw_params_set_rate_near +#undef snd_pcm_hw_params_set_rate_first +#undef snd_pcm_hw_params_set_rate_last +#undef snd_pcm_hw_params_set_rate_resample +#undef snd_pcm_hw_params_get_rate_resample +#undef snd_pcm_hw_params_set_export_buffer +#undef snd_pcm_hw_params_get_export_buffer +#undef snd_pcm_hw_params_set_period_wakeup +#undef snd_pcm_hw_params_get_period_wakeup +#undef snd_pcm_hw_params_get_period_time +#undef snd_pcm_hw_params_get_period_time_min +#undef snd_pcm_hw_params_get_period_time_max +#undef snd_pcm_hw_params_test_period_time +#undef snd_pcm_hw_params_set_period_time +#undef snd_pcm_hw_params_set_period_time_min +#undef snd_pcm_hw_params_set_period_time_max +#undef snd_pcm_hw_params_set_period_time_minmax +#undef snd_pcm_hw_params_set_period_time_near +#undef snd_pcm_hw_params_set_period_time_first +#undef snd_pcm_hw_params_set_period_time_last +#undef snd_pcm_hw_params_get_period_size +#undef snd_pcm_hw_params_get_period_size_min +#undef snd_pcm_hw_params_get_period_size_max +#undef snd_pcm_hw_params_test_period_size +#undef snd_pcm_hw_params_set_period_size +#undef snd_pcm_hw_params_set_period_size_min +#undef snd_pcm_hw_params_set_period_size_max +#undef snd_pcm_hw_params_set_period_size_minmax +#undef snd_pcm_hw_params_set_period_size_near +#undef snd_pcm_hw_params_set_period_size_first +#undef snd_pcm_hw_params_set_period_size_last +#undef snd_pcm_hw_params_set_period_size_integer +#undef snd_pcm_hw_params_get_periods +#undef snd_pcm_hw_params_get_periods_min +#undef snd_pcm_hw_params_get_periods_max +#undef snd_pcm_hw_params_test_periods +#undef snd_pcm_hw_params_set_periods +#undef snd_pcm_hw_params_set_periods_min +#undef snd_pcm_hw_params_set_periods_max +#undef snd_pcm_hw_params_set_periods_minmax +#undef snd_pcm_hw_params_set_periods_near +#undef snd_pcm_hw_params_set_periods_first +#undef snd_pcm_hw_params_set_periods_last +#undef snd_pcm_hw_params_set_periods_integer +#undef snd_pcm_hw_params_get_buffer_time +#undef snd_pcm_hw_params_get_buffer_time_min +#undef snd_pcm_hw_params_get_buffer_time_max +#undef snd_pcm_hw_params_test_buffer_time +#undef snd_pcm_hw_params_set_buffer_time +#undef snd_pcm_hw_params_set_buffer_time_min +#undef snd_pcm_hw_params_set_buffer_time_max +#undef snd_pcm_hw_params_set_buffer_time_minmax +#undef snd_pcm_hw_params_set_buffer_time_near +#undef snd_pcm_hw_params_set_buffer_time_first +#undef snd_pcm_hw_params_set_buffer_time_last +#undef snd_pcm_hw_params_get_buffer_size +#undef snd_pcm_hw_params_get_buffer_size_min +#undef snd_pcm_hw_params_get_buffer_size_max +#undef snd_pcm_hw_params_test_buffer_size +#undef snd_pcm_hw_params_set_buffer_size +#undef snd_pcm_hw_params_set_buffer_size_min +#undef snd_pcm_hw_params_set_buffer_size_max +#undef snd_pcm_hw_params_set_buffer_size_minmax +#undef snd_pcm_hw_params_set_buffer_size_near +#undef snd_pcm_hw_params_set_buffer_size_first +#undef snd_pcm_hw_params_set_buffer_size_last +#undef snd_pcm_hw_params_get_min_align +#undef snd_pcm_sw_params_sizeof +#undef snd_pcm_sw_params_malloc +#undef snd_pcm_sw_params_free +#undef snd_pcm_sw_params_copy +#undef snd_pcm_sw_params_get_boundary +#undef snd_pcm_sw_params_set_tstamp_mode +#undef snd_pcm_sw_params_get_tstamp_mode +#undef snd_pcm_sw_params_set_avail_min +#undef snd_pcm_sw_params_get_avail_min +#undef snd_pcm_sw_params_set_period_event +#undef snd_pcm_sw_params_get_period_event +#undef snd_pcm_sw_params_set_start_threshold +#undef snd_pcm_sw_params_get_start_threshold +#undef snd_pcm_sw_params_set_stop_threshold +#undef snd_pcm_sw_params_get_stop_threshold +#undef snd_pcm_sw_params_set_silence_threshold +#undef snd_pcm_sw_params_get_silence_threshold +#undef snd_pcm_sw_params_set_silence_size +#undef snd_pcm_sw_params_get_silence_size +#undef snd_pcm_access_mask_sizeof +#undef snd_pcm_access_mask_malloc +#undef snd_pcm_access_mask_free +#undef snd_pcm_access_mask_copy +#undef snd_pcm_access_mask_none +#undef snd_pcm_access_mask_any +#undef snd_pcm_access_mask_test +#undef snd_pcm_access_mask_empty +#undef snd_pcm_access_mask_set +#undef snd_pcm_access_mask_reset +#undef snd_pcm_format_mask_sizeof +#undef snd_pcm_format_mask_malloc +#undef snd_pcm_format_mask_free +#undef snd_pcm_format_mask_copy +#undef snd_pcm_format_mask_none +#undef snd_pcm_format_mask_any +#undef snd_pcm_format_mask_test +#undef snd_pcm_format_mask_empty +#undef snd_pcm_format_mask_set +#undef snd_pcm_format_mask_reset +#undef snd_pcm_subformat_mask_sizeof +#undef snd_pcm_subformat_mask_malloc +#undef snd_pcm_subformat_mask_free +#undef snd_pcm_subformat_mask_copy +#undef snd_pcm_subformat_mask_none +#undef snd_pcm_subformat_mask_any +#undef snd_pcm_subformat_mask_test +#undef snd_pcm_subformat_mask_empty +#undef snd_pcm_subformat_mask_set +#undef snd_pcm_subformat_mask_reset +#undef snd_pcm_status_sizeof +#undef snd_pcm_status_malloc +#undef snd_pcm_status_free +#undef snd_pcm_status_copy +#undef snd_pcm_status_get_state +#undef snd_pcm_status_get_trigger_tstamp +#undef snd_pcm_status_get_trigger_htstamp +#undef snd_pcm_status_get_tstamp +#undef snd_pcm_status_get_htstamp +#undef snd_pcm_status_get_audio_htstamp +#undef snd_pcm_status_get_driver_htstamp +#undef snd_pcm_status_get_delay +#undef snd_pcm_status_get_avail +#undef snd_pcm_status_get_avail_max +#undef snd_pcm_status_get_overrange +#undef snd_pcm_type_name +#undef snd_pcm_stream_name +#undef snd_pcm_access_name +#undef snd_pcm_format_name +#undef snd_pcm_format_description +#undef snd_pcm_subformat_name +#undef snd_pcm_subformat_description +#undef snd_pcm_format_value +#undef snd_pcm_tstamp_mode_name +#undef snd_pcm_state_name +#undef snd_pcm_dump +#undef snd_pcm_dump_hw_setup +#undef snd_pcm_dump_sw_setup +#undef snd_pcm_dump_setup +#undef snd_pcm_hw_params_dump +#undef snd_pcm_sw_params_dump +#undef snd_pcm_status_dump +#undef snd_pcm_mmap_begin +#undef snd_pcm_mmap_commit +#undef snd_pcm_mmap_writei +#undef snd_pcm_mmap_readi +#undef snd_pcm_mmap_writen +#undef snd_pcm_mmap_readn +#undef snd_pcm_format_signed +#undef snd_pcm_format_unsigned +#undef snd_pcm_format_linear +#undef snd_pcm_format_float +#undef snd_pcm_format_little_endian +#undef snd_pcm_format_big_endian +#undef snd_pcm_format_cpu_endian +#undef snd_pcm_format_width +#undef snd_pcm_format_physical_width +#undef snd_pcm_build_linear_format +#undef snd_pcm_format_size +#undef snd_pcm_format_silence +#undef snd_pcm_format_silence_16 +#undef snd_pcm_format_silence_32 +#undef snd_pcm_format_silence_64 +#undef snd_pcm_format_set_silence +#undef snd_pcm_bytes_to_frames +#undef snd_pcm_frames_to_bytes +#undef snd_pcm_bytes_to_samples +#undef snd_pcm_samples_to_bytes +#undef snd_pcm_area_silence +#undef snd_pcm_areas_silence +#undef snd_pcm_area_copy +#undef snd_pcm_areas_copy +#undef snd_pcm_areas_copy_wrap +#undef snd_pcm_hook_get_pcm +#undef snd_pcm_hook_get_private +#undef snd_pcm_hook_set_private +#undef snd_pcm_hook_add +#undef snd_pcm_hook_remove +#undef snd_pcm_meter_get_bufsize +#undef snd_pcm_meter_get_channels +#undef snd_pcm_meter_get_rate +#undef snd_pcm_meter_get_now +#undef snd_pcm_meter_get_boundary +#undef snd_pcm_meter_add_scope +#undef snd_pcm_meter_search_scope +#undef snd_pcm_scope_malloc +#undef snd_pcm_scope_set_ops +#undef snd_pcm_scope_set_name +#undef snd_pcm_scope_get_name +#undef snd_pcm_scope_get_callback_private +#undef snd_pcm_scope_set_callback_private +#undef snd_pcm_scope_s16_open +#undef snd_pcm_scope_s16_get_channel_buffer +#undef snd_spcm_init +#undef snd_spcm_init_duplex +#undef snd_spcm_init_get_params +#undef snd_pcm_start_mode_name +#undef snd_pcm_xrun_mode_name +#undef snd_pcm_sw_params_set_start_mode +#undef snd_pcm_sw_params_get_start_mode +#undef snd_pcm_sw_params_set_xrun_mode +#undef snd_pcm_sw_params_get_xrun_mode +#undef snd_pcm_sw_params_set_xfer_align +#undef snd_pcm_sw_params_get_xfer_align +#undef snd_pcm_sw_params_set_sleep_min +#undef snd_pcm_sw_params_get_sleep_min +#undef snd_pcm_hw_params_get_tick_time +#undef snd_pcm_hw_params_get_tick_time_min +#undef snd_pcm_hw_params_get_tick_time_max +#undef snd_pcm_hw_params_test_tick_time +#undef snd_pcm_hw_params_set_tick_time +#undef snd_pcm_hw_params_set_tick_time_min +#undef snd_pcm_hw_params_set_tick_time_max +#undef snd_pcm_hw_params_set_tick_time_minmax +#undef snd_pcm_hw_params_set_tick_time_near +#undef snd_pcm_hw_params_set_tick_time_first +#undef snd_pcm_hw_params_set_tick_time_last +#undef snd_rawmidi_open +#undef snd_rawmidi_open_lconf +#undef snd_rawmidi_close +#undef snd_rawmidi_poll_descriptors_count +#undef snd_rawmidi_poll_descriptors +#undef snd_rawmidi_poll_descriptors_revents +#undef snd_rawmidi_nonblock +#undef snd_rawmidi_info_sizeof +#undef snd_rawmidi_info_malloc +#undef snd_rawmidi_info_free +#undef snd_rawmidi_info_copy +#undef snd_rawmidi_info_get_device +#undef snd_rawmidi_info_get_subdevice +#undef snd_rawmidi_info_get_stream +#undef snd_rawmidi_info_get_card +#undef snd_rawmidi_info_get_flags +#undef snd_rawmidi_info_get_id +#undef snd_rawmidi_info_get_name +#undef snd_rawmidi_info_get_subdevice_name +#undef snd_rawmidi_info_get_subdevices_count +#undef snd_rawmidi_info_get_subdevices_avail +#undef snd_rawmidi_info_set_device +#undef snd_rawmidi_info_set_subdevice +#undef snd_rawmidi_info_set_stream +#undef snd_rawmidi_info +#undef snd_rawmidi_params_sizeof +#undef snd_rawmidi_params_malloc +#undef snd_rawmidi_params_free +#undef snd_rawmidi_params_copy +#undef snd_rawmidi_params_set_buffer_size +#undef snd_rawmidi_params_get_buffer_size +#undef snd_rawmidi_params_set_avail_min +#undef snd_rawmidi_params_get_avail_min +#undef snd_rawmidi_params_set_no_active_sensing +#undef snd_rawmidi_params_get_no_active_sensing +#undef snd_rawmidi_params +#undef snd_rawmidi_params_current +#undef snd_rawmidi_status_sizeof +#undef snd_rawmidi_status_malloc +#undef snd_rawmidi_status_free +#undef snd_rawmidi_status_copy +#undef snd_rawmidi_status_get_tstamp +#undef snd_rawmidi_status_get_avail +#undef snd_rawmidi_status_get_xruns +#undef snd_rawmidi_status +#undef snd_rawmidi_drain +#undef snd_rawmidi_drop +#undef snd_rawmidi_write +#undef snd_rawmidi_read +#undef snd_rawmidi_name +#undef snd_rawmidi_type +#undef snd_rawmidi_stream +#undef snd_timer_query_open +#undef snd_timer_query_open_lconf +#undef snd_timer_query_close +#undef snd_timer_query_next_device +#undef snd_timer_query_info +#undef snd_timer_query_params +#undef snd_timer_query_status +#undef snd_timer_open +#undef snd_timer_open_lconf +#undef snd_timer_close +#undef snd_async_add_timer_handler +#undef snd_async_handler_get_timer +#undef snd_timer_poll_descriptors_count +#undef snd_timer_poll_descriptors +#undef snd_timer_poll_descriptors_revents +#undef snd_timer_info +#undef snd_timer_params +#undef snd_timer_status +#undef snd_timer_start +#undef snd_timer_stop +#undef snd_timer_continue +#undef snd_timer_read +#undef snd_timer_id_sizeof +#undef snd_timer_id_malloc +#undef snd_timer_id_free +#undef snd_timer_id_copy +#undef snd_timer_id_set_class +#undef snd_timer_id_get_class +#undef snd_timer_id_set_sclass +#undef snd_timer_id_get_sclass +#undef snd_timer_id_set_card +#undef snd_timer_id_get_card +#undef snd_timer_id_set_device +#undef snd_timer_id_get_device +#undef snd_timer_id_set_subdevice +#undef snd_timer_id_get_subdevice +#undef snd_timer_ginfo_sizeof +#undef snd_timer_ginfo_malloc +#undef snd_timer_ginfo_free +#undef snd_timer_ginfo_copy +#undef snd_timer_ginfo_set_tid +#undef snd_timer_ginfo_get_tid +#undef snd_timer_ginfo_get_flags +#undef snd_timer_ginfo_get_card +#undef snd_timer_ginfo_get_id +#undef snd_timer_ginfo_get_name +#undef snd_timer_ginfo_get_resolution +#undef snd_timer_ginfo_get_resolution_min +#undef snd_timer_ginfo_get_resolution_max +#undef snd_timer_ginfo_get_clients +#undef snd_timer_info_sizeof +#undef snd_timer_info_malloc +#undef snd_timer_info_free +#undef snd_timer_info_copy +#undef snd_timer_info_is_slave +#undef snd_timer_info_get_card +#undef snd_timer_info_get_id +#undef snd_timer_info_get_name +#undef snd_timer_info_get_resolution +#undef snd_timer_params_sizeof +#undef snd_timer_params_malloc +#undef snd_timer_params_free +#undef snd_timer_params_copy +#undef snd_timer_params_set_auto_start +#undef snd_timer_params_get_auto_start +#undef snd_timer_params_set_exclusive +#undef snd_timer_params_get_exclusive +#undef snd_timer_params_set_early_event +#undef snd_timer_params_get_early_event +#undef snd_timer_params_set_ticks +#undef snd_timer_params_get_ticks +#undef snd_timer_params_set_queue_size +#undef snd_timer_params_get_queue_size +#undef snd_timer_params_set_filter +#undef snd_timer_params_get_filter +#undef snd_timer_status_sizeof +#undef snd_timer_status_malloc +#undef snd_timer_status_free +#undef snd_timer_status_copy +#undef snd_timer_status_get_timestamp +#undef snd_timer_status_get_resolution +#undef snd_timer_status_get_lost +#undef snd_timer_status_get_overrun +#undef snd_timer_status_get_queue +#undef snd_timer_info_get_ticks +#undef snd_hwdep_open +#undef snd_hwdep_close +#undef snd_hwdep_poll_descriptors +#undef snd_hwdep_poll_descriptors_count +#undef snd_hwdep_poll_descriptors_revents +#undef snd_hwdep_nonblock +#undef snd_hwdep_info +#undef snd_hwdep_dsp_status +#undef snd_hwdep_dsp_load +#undef snd_hwdep_ioctl +#undef snd_hwdep_write +#undef snd_hwdep_read +#undef snd_hwdep_info_sizeof +#undef snd_hwdep_info_malloc +#undef snd_hwdep_info_free +#undef snd_hwdep_info_copy +#undef snd_hwdep_info_get_device +#undef snd_hwdep_info_get_card +#undef snd_hwdep_info_get_id +#undef snd_hwdep_info_get_name +#undef snd_hwdep_info_get_iface +#undef snd_hwdep_info_set_device +#undef snd_hwdep_dsp_status_sizeof +#undef snd_hwdep_dsp_status_malloc +#undef snd_hwdep_dsp_status_free +#undef snd_hwdep_dsp_status_copy +#undef snd_hwdep_dsp_status_get_version +#undef snd_hwdep_dsp_status_get_id +#undef snd_hwdep_dsp_status_get_num_dsps +#undef snd_hwdep_dsp_status_get_dsp_loaded +#undef snd_hwdep_dsp_status_get_chip_ready +#undef snd_hwdep_dsp_image_sizeof +#undef snd_hwdep_dsp_image_malloc +#undef snd_hwdep_dsp_image_free +#undef snd_hwdep_dsp_image_copy +#undef snd_hwdep_dsp_image_get_index +#undef snd_hwdep_dsp_image_get_name +#undef snd_hwdep_dsp_image_get_image +#undef snd_hwdep_dsp_image_get_length +#undef snd_hwdep_dsp_image_set_index +#undef snd_hwdep_dsp_image_set_name +#undef snd_hwdep_dsp_image_set_image +#undef snd_hwdep_dsp_image_set_length +#undef snd_card_load +#undef snd_card_next +#undef snd_card_get_index +#undef snd_card_get_name +#undef snd_card_get_longname +#undef snd_device_name_hint +#undef snd_device_name_free_hint +#undef snd_device_name_get_hint +#undef snd_ctl_open +#undef snd_ctl_open_lconf +#undef snd_ctl_open_fallback +#undef snd_ctl_close +#undef snd_ctl_nonblock +#undef snd_async_add_ctl_handler +#undef snd_async_handler_get_ctl +#undef snd_ctl_poll_descriptors_count +#undef snd_ctl_poll_descriptors +#undef snd_ctl_poll_descriptors_revents +#undef snd_ctl_subscribe_events +#undef snd_ctl_card_info +#undef snd_ctl_elem_list +#undef snd_ctl_elem_info +#undef snd_ctl_elem_read +#undef snd_ctl_elem_write +#undef snd_ctl_elem_lock +#undef snd_ctl_elem_unlock +#undef snd_ctl_elem_tlv_read +#undef snd_ctl_elem_tlv_write +#undef snd_ctl_elem_tlv_command +#undef snd_ctl_hwdep_next_device +#undef snd_ctl_hwdep_info +#undef snd_ctl_pcm_next_device +#undef snd_ctl_pcm_info +#undef snd_ctl_pcm_prefer_subdevice +#undef snd_ctl_rawmidi_next_device +#undef snd_ctl_rawmidi_info +#undef snd_ctl_rawmidi_prefer_subdevice +#undef snd_ctl_set_power_state +#undef snd_ctl_get_power_state +#undef snd_ctl_read +#undef snd_ctl_wait +#undef snd_ctl_name +#undef snd_ctl_type +#undef snd_ctl_elem_type_name +#undef snd_ctl_elem_iface_name +#undef snd_ctl_event_type_name +#undef snd_ctl_event_elem_get_mask +#undef snd_ctl_event_elem_get_numid +#undef snd_ctl_event_elem_get_id +#undef snd_ctl_event_elem_get_interface +#undef snd_ctl_event_elem_get_device +#undef snd_ctl_event_elem_get_subdevice +#undef snd_ctl_event_elem_get_name +#undef snd_ctl_event_elem_get_index +#undef snd_ctl_elem_list_alloc_space +#undef snd_ctl_elem_list_free_space +#undef snd_ctl_ascii_elem_id_get +#undef snd_ctl_ascii_elem_id_parse +#undef snd_ctl_ascii_value_parse +#undef snd_ctl_elem_id_sizeof +#undef snd_ctl_elem_id_malloc +#undef snd_ctl_elem_id_free +#undef snd_ctl_elem_id_clear +#undef snd_ctl_elem_id_copy +#undef snd_ctl_elem_id_get_numid +#undef snd_ctl_elem_id_get_interface +#undef snd_ctl_elem_id_get_device +#undef snd_ctl_elem_id_get_subdevice +#undef snd_ctl_elem_id_get_name +#undef snd_ctl_elem_id_get_index +#undef snd_ctl_elem_id_set_numid +#undef snd_ctl_elem_id_set_interface +#undef snd_ctl_elem_id_set_device +#undef snd_ctl_elem_id_set_subdevice +#undef snd_ctl_elem_id_set_name +#undef snd_ctl_elem_id_set_index +#undef snd_ctl_card_info_sizeof +#undef snd_ctl_card_info_malloc +#undef snd_ctl_card_info_free +#undef snd_ctl_card_info_clear +#undef snd_ctl_card_info_copy +#undef snd_ctl_card_info_get_card +#undef snd_ctl_card_info_get_id +#undef snd_ctl_card_info_get_driver +#undef snd_ctl_card_info_get_name +#undef snd_ctl_card_info_get_longname +#undef snd_ctl_card_info_get_mixername +#undef snd_ctl_card_info_get_components +#undef snd_ctl_event_sizeof +#undef snd_ctl_event_malloc +#undef snd_ctl_event_free +#undef snd_ctl_event_clear +#undef snd_ctl_event_copy +#undef snd_ctl_event_get_type +#undef snd_ctl_elem_list_sizeof +#undef snd_ctl_elem_list_malloc +#undef snd_ctl_elem_list_free +#undef snd_ctl_elem_list_clear +#undef snd_ctl_elem_list_copy +#undef snd_ctl_elem_list_set_offset +#undef snd_ctl_elem_list_get_used +#undef snd_ctl_elem_list_get_count +#undef snd_ctl_elem_list_get_id +#undef snd_ctl_elem_list_get_numid +#undef snd_ctl_elem_list_get_interface +#undef snd_ctl_elem_list_get_device +#undef snd_ctl_elem_list_get_subdevice +#undef snd_ctl_elem_list_get_name +#undef snd_ctl_elem_list_get_index +#undef snd_ctl_elem_info_sizeof +#undef snd_ctl_elem_info_malloc +#undef snd_ctl_elem_info_free +#undef snd_ctl_elem_info_clear +#undef snd_ctl_elem_info_copy +#undef snd_ctl_elem_info_get_type +#undef snd_ctl_elem_info_is_readable +#undef snd_ctl_elem_info_is_writable +#undef snd_ctl_elem_info_is_volatile +#undef snd_ctl_elem_info_is_inactive +#undef snd_ctl_elem_info_is_locked +#undef snd_ctl_elem_info_is_tlv_readable +#undef snd_ctl_elem_info_is_tlv_writable +#undef snd_ctl_elem_info_is_tlv_commandable +#undef snd_ctl_elem_info_is_owner +#undef snd_ctl_elem_info_is_user +#undef snd_ctl_elem_info_get_owner +#undef snd_ctl_elem_info_get_count +#undef snd_ctl_elem_info_get_min +#undef snd_ctl_elem_info_get_max +#undef snd_ctl_elem_info_get_step +#undef snd_ctl_elem_info_get_min64 +#undef snd_ctl_elem_info_get_max64 +#undef snd_ctl_elem_info_get_step64 +#undef snd_ctl_elem_info_get_items +#undef snd_ctl_elem_info_set_item +#undef snd_ctl_elem_info_get_item_name +#undef snd_ctl_elem_info_get_dimensions +#undef snd_ctl_elem_info_get_dimension +#undef snd_ctl_elem_info_set_dimension +#undef snd_ctl_elem_info_get_id +#undef snd_ctl_elem_info_get_numid +#undef snd_ctl_elem_info_get_interface +#undef snd_ctl_elem_info_get_device +#undef snd_ctl_elem_info_get_subdevice +#undef snd_ctl_elem_info_get_name +#undef snd_ctl_elem_info_get_index +#undef snd_ctl_elem_info_set_id +#undef snd_ctl_elem_info_set_numid +#undef snd_ctl_elem_info_set_interface +#undef snd_ctl_elem_info_set_device +#undef snd_ctl_elem_info_set_subdevice +#undef snd_ctl_elem_info_set_name +#undef snd_ctl_elem_info_set_index +#undef snd_ctl_add_integer_elem_set +#undef snd_ctl_add_integer64_elem_set +#undef snd_ctl_add_boolean_elem_set +#undef snd_ctl_add_enumerated_elem_set +#undef snd_ctl_add_bytes_elem_set +#undef snd_ctl_elem_add_integer +#undef snd_ctl_elem_add_integer64 +#undef snd_ctl_elem_add_boolean +#undef snd_ctl_elem_add_enumerated +#undef snd_ctl_elem_add_iec958 +#undef snd_ctl_elem_remove +#undef snd_ctl_elem_value_sizeof +#undef snd_ctl_elem_value_malloc +#undef snd_ctl_elem_value_free +#undef snd_ctl_elem_value_clear +#undef snd_ctl_elem_value_copy +#undef snd_ctl_elem_value_compare +#undef snd_ctl_elem_value_get_id +#undef snd_ctl_elem_value_get_numid +#undef snd_ctl_elem_value_get_interface +#undef snd_ctl_elem_value_get_device +#undef snd_ctl_elem_value_get_subdevice +#undef snd_ctl_elem_value_get_name +#undef snd_ctl_elem_value_get_index +#undef snd_ctl_elem_value_set_id +#undef snd_ctl_elem_value_set_numid +#undef snd_ctl_elem_value_set_interface +#undef snd_ctl_elem_value_set_device +#undef snd_ctl_elem_value_set_subdevice +#undef snd_ctl_elem_value_set_name +#undef snd_ctl_elem_value_set_index +#undef snd_ctl_elem_value_get_boolean +#undef snd_ctl_elem_value_get_integer +#undef snd_ctl_elem_value_get_integer64 +#undef snd_ctl_elem_value_get_enumerated +#undef snd_ctl_elem_value_get_byte +#undef snd_ctl_elem_value_set_boolean +#undef snd_ctl_elem_value_set_integer +#undef snd_ctl_elem_value_set_integer64 +#undef snd_ctl_elem_value_set_enumerated +#undef snd_ctl_elem_value_set_byte +#undef snd_ctl_elem_set_bytes +#undef snd_ctl_elem_value_get_bytes +#undef snd_ctl_elem_value_get_iec958 +#undef snd_ctl_elem_value_set_iec958 +#undef snd_tlv_parse_dB_info +#undef snd_tlv_get_dB_range +#undef snd_tlv_convert_to_dB +#undef snd_tlv_convert_from_dB +#undef snd_ctl_get_dB_range +#undef snd_ctl_convert_to_dB +#undef snd_ctl_convert_from_dB +#undef snd_hctl_compare_fast +#undef snd_hctl_open +#undef snd_hctl_open_ctl +#undef snd_hctl_close +#undef snd_hctl_nonblock +#undef snd_hctl_poll_descriptors_count +#undef snd_hctl_poll_descriptors +#undef snd_hctl_poll_descriptors_revents +#undef snd_hctl_get_count +#undef snd_hctl_set_compare +#undef snd_hctl_first_elem +#undef snd_hctl_last_elem +#undef snd_hctl_find_elem +#undef snd_hctl_set_callback +#undef snd_hctl_set_callback_private +#undef snd_hctl_get_callback_private +#undef snd_hctl_load +#undef snd_hctl_free +#undef snd_hctl_handle_events +#undef snd_hctl_name +#undef snd_hctl_wait +#undef snd_hctl_ctl +#undef snd_hctl_elem_next +#undef snd_hctl_elem_prev +#undef snd_hctl_elem_info +#undef snd_hctl_elem_read +#undef snd_hctl_elem_write +#undef snd_hctl_elem_tlv_read +#undef snd_hctl_elem_tlv_write +#undef snd_hctl_elem_tlv_command +#undef snd_hctl_elem_get_hctl +#undef snd_hctl_elem_get_id +#undef snd_hctl_elem_get_numid +#undef snd_hctl_elem_get_interface +#undef snd_hctl_elem_get_device +#undef snd_hctl_elem_get_subdevice +#undef snd_hctl_elem_get_name +#undef snd_hctl_elem_get_index +#undef snd_hctl_elem_set_callback +#undef snd_hctl_elem_get_callback_private +#undef snd_hctl_elem_set_callback_private +#undef snd_sctl_build +#undef snd_sctl_free +#undef snd_sctl_install +#undef snd_sctl_remove +#undef snd_mixer_open +#undef snd_mixer_close +#undef snd_mixer_first_elem +#undef snd_mixer_last_elem +#undef snd_mixer_handle_events +#undef snd_mixer_attach +#undef snd_mixer_attach_hctl +#undef snd_mixer_detach +#undef snd_mixer_detach_hctl +#undef snd_mixer_get_hctl +#undef snd_mixer_poll_descriptors_count +#undef snd_mixer_poll_descriptors +#undef snd_mixer_poll_descriptors_revents +#undef snd_mixer_load +#undef snd_mixer_free +#undef snd_mixer_wait +#undef snd_mixer_set_compare +#undef snd_mixer_set_callback +#undef snd_mixer_get_callback_private +#undef snd_mixer_set_callback_private +#undef snd_mixer_get_count +#undef snd_mixer_class_unregister +#undef snd_mixer_elem_next +#undef snd_mixer_elem_prev +#undef snd_mixer_elem_set_callback +#undef snd_mixer_elem_get_callback_private +#undef snd_mixer_elem_set_callback_private +#undef snd_mixer_elem_get_type +#undef snd_mixer_class_register +#undef snd_mixer_elem_new +#undef snd_mixer_elem_add +#undef snd_mixer_elem_remove +#undef snd_mixer_elem_free +#undef snd_mixer_elem_info +#undef snd_mixer_elem_value +#undef snd_mixer_elem_attach +#undef snd_mixer_elem_detach +#undef snd_mixer_elem_empty +#undef snd_mixer_elem_get_private +#undef snd_mixer_class_sizeof +#undef snd_mixer_class_malloc +#undef snd_mixer_class_free +#undef snd_mixer_class_copy +#undef snd_mixer_class_get_mixer +#undef snd_mixer_class_get_event +#undef snd_mixer_class_get_private +#undef snd_mixer_class_get_compare +#undef snd_mixer_class_set_event +#undef snd_mixer_class_set_private +#undef snd_mixer_class_set_private_free +#undef snd_mixer_class_set_compare +#undef snd_mixer_selem_channel_name +#undef snd_mixer_selem_register +#undef snd_mixer_selem_get_id +#undef snd_mixer_selem_get_name +#undef snd_mixer_selem_get_index +#undef snd_mixer_find_selem +#undef snd_mixer_selem_is_active +#undef snd_mixer_selem_is_playback_mono +#undef snd_mixer_selem_has_playback_channel +#undef snd_mixer_selem_is_capture_mono +#undef snd_mixer_selem_has_capture_channel +#undef snd_mixer_selem_get_capture_group +#undef snd_mixer_selem_has_common_volume +#undef snd_mixer_selem_has_playback_volume +#undef snd_mixer_selem_has_playback_volume_joined +#undef snd_mixer_selem_has_capture_volume +#undef snd_mixer_selem_has_capture_volume_joined +#undef snd_mixer_selem_has_common_switch +#undef snd_mixer_selem_has_playback_switch +#undef snd_mixer_selem_has_playback_switch_joined +#undef snd_mixer_selem_has_capture_switch +#undef snd_mixer_selem_has_capture_switch_joined +#undef snd_mixer_selem_has_capture_switch_exclusive +#undef snd_mixer_selem_ask_playback_vol_dB +#undef snd_mixer_selem_ask_capture_vol_dB +#undef snd_mixer_selem_ask_playback_dB_vol +#undef snd_mixer_selem_ask_capture_dB_vol +#undef snd_mixer_selem_get_playback_volume +#undef snd_mixer_selem_get_capture_volume +#undef snd_mixer_selem_get_playback_dB +#undef snd_mixer_selem_get_capture_dB +#undef snd_mixer_selem_get_playback_switch +#undef snd_mixer_selem_get_capture_switch +#undef snd_mixer_selem_set_playback_volume +#undef snd_mixer_selem_set_capture_volume +#undef snd_mixer_selem_set_playback_dB +#undef snd_mixer_selem_set_capture_dB +#undef snd_mixer_selem_set_playback_volume_all +#undef snd_mixer_selem_set_capture_volume_all +#undef snd_mixer_selem_set_playback_dB_all +#undef snd_mixer_selem_set_capture_dB_all +#undef snd_mixer_selem_set_playback_switch +#undef snd_mixer_selem_set_capture_switch +#undef snd_mixer_selem_set_playback_switch_all +#undef snd_mixer_selem_set_capture_switch_all +#undef snd_mixer_selem_get_playback_volume_range +#undef snd_mixer_selem_get_playback_dB_range +#undef snd_mixer_selem_set_playback_volume_range +#undef snd_mixer_selem_get_capture_volume_range +#undef snd_mixer_selem_get_capture_dB_range +#undef snd_mixer_selem_set_capture_volume_range +#undef snd_mixer_selem_is_enumerated +#undef snd_mixer_selem_is_enum_playback +#undef snd_mixer_selem_is_enum_capture +#undef snd_mixer_selem_get_enum_items +#undef snd_mixer_selem_get_enum_item_name +#undef snd_mixer_selem_get_enum_item +#undef snd_mixer_selem_set_enum_item +#undef snd_mixer_selem_id_sizeof +#undef snd_mixer_selem_id_malloc +#undef snd_mixer_selem_id_free +#undef snd_mixer_selem_id_copy +#undef snd_mixer_selem_id_get_name +#undef snd_mixer_selem_id_get_index +#undef snd_mixer_selem_id_set_name +#undef snd_mixer_selem_id_set_index +#undef snd_mixer_selem_id_parse +#undef snd_seq_open +#undef snd_seq_open_lconf +#undef snd_seq_name +#undef snd_seq_type +#undef snd_seq_close +#undef snd_seq_poll_descriptors_count +#undef snd_seq_poll_descriptors +#undef snd_seq_poll_descriptors_revents +#undef snd_seq_nonblock +#undef snd_seq_client_id +#undef snd_seq_get_output_buffer_size +#undef snd_seq_get_input_buffer_size +#undef snd_seq_set_output_buffer_size +#undef snd_seq_set_input_buffer_size +#undef snd_seq_system_info_sizeof +#undef snd_seq_system_info_malloc +#undef snd_seq_system_info_free +#undef snd_seq_system_info_copy +#undef snd_seq_system_info_get_queues +#undef snd_seq_system_info_get_clients +#undef snd_seq_system_info_get_ports +#undef snd_seq_system_info_get_channels +#undef snd_seq_system_info_get_cur_clients +#undef snd_seq_system_info_get_cur_queues +#undef snd_seq_system_info +#undef snd_seq_client_info_sizeof +#undef snd_seq_client_info_malloc +#undef snd_seq_client_info_free +#undef snd_seq_client_info_copy +#undef snd_seq_client_info_get_client +#undef snd_seq_client_info_get_type +#undef snd_seq_client_info_get_name +#undef snd_seq_client_info_get_broadcast_filter +#undef snd_seq_client_info_get_error_bounce +#undef snd_seq_client_info_get_card +#undef snd_seq_client_info_get_pid +#undef snd_seq_client_info_get_event_filter +#undef snd_seq_client_info_get_num_ports +#undef snd_seq_client_info_get_event_lost +#undef snd_seq_client_info_set_client +#undef snd_seq_client_info_set_name +#undef snd_seq_client_info_set_broadcast_filter +#undef snd_seq_client_info_set_error_bounce +#undef snd_seq_client_info_set_event_filter +#undef snd_seq_client_info_event_filter_clear +#undef snd_seq_client_info_event_filter_add +#undef snd_seq_client_info_event_filter_del +#undef snd_seq_client_info_event_filter_check +#undef snd_seq_get_client_info +#undef snd_seq_get_any_client_info +#undef snd_seq_set_client_info +#undef snd_seq_query_next_client +#undef snd_seq_client_pool_sizeof +#undef snd_seq_client_pool_malloc +#undef snd_seq_client_pool_free +#undef snd_seq_client_pool_copy +#undef snd_seq_client_pool_get_client +#undef snd_seq_client_pool_get_output_pool +#undef snd_seq_client_pool_get_input_pool +#undef snd_seq_client_pool_get_output_room +#undef snd_seq_client_pool_get_output_free +#undef snd_seq_client_pool_get_input_free +#undef snd_seq_client_pool_set_output_pool +#undef snd_seq_client_pool_set_input_pool +#undef snd_seq_client_pool_set_output_room +#undef snd_seq_get_client_pool +#undef snd_seq_set_client_pool +#undef snd_seq_port_info_sizeof +#undef snd_seq_port_info_malloc +#undef snd_seq_port_info_free +#undef snd_seq_port_info_copy +#undef snd_seq_port_info_get_client +#undef snd_seq_port_info_get_port +#undef snd_seq_port_info_get_addr +#undef snd_seq_port_info_get_name +#undef snd_seq_port_info_get_capability +#undef snd_seq_port_info_get_type +#undef snd_seq_port_info_get_midi_channels +#undef snd_seq_port_info_get_midi_voices +#undef snd_seq_port_info_get_synth_voices +#undef snd_seq_port_info_get_read_use +#undef snd_seq_port_info_get_write_use +#undef snd_seq_port_info_get_port_specified +#undef snd_seq_port_info_get_timestamping +#undef snd_seq_port_info_get_timestamp_real +#undef snd_seq_port_info_get_timestamp_queue +#undef snd_seq_port_info_set_client +#undef snd_seq_port_info_set_port +#undef snd_seq_port_info_set_addr +#undef snd_seq_port_info_set_name +#undef snd_seq_port_info_set_capability +#undef snd_seq_port_info_set_type +#undef snd_seq_port_info_set_midi_channels +#undef snd_seq_port_info_set_midi_voices +#undef snd_seq_port_info_set_synth_voices +#undef snd_seq_port_info_set_port_specified +#undef snd_seq_port_info_set_timestamping +#undef snd_seq_port_info_set_timestamp_real +#undef snd_seq_port_info_set_timestamp_queue +#undef snd_seq_create_port +#undef snd_seq_delete_port +#undef snd_seq_get_port_info +#undef snd_seq_get_any_port_info +#undef snd_seq_set_port_info +#undef snd_seq_query_next_port +#undef snd_seq_port_subscribe_sizeof +#undef snd_seq_port_subscribe_malloc +#undef snd_seq_port_subscribe_free +#undef snd_seq_port_subscribe_copy +#undef snd_seq_port_subscribe_get_sender +#undef snd_seq_port_subscribe_get_dest +#undef snd_seq_port_subscribe_get_queue +#undef snd_seq_port_subscribe_get_exclusive +#undef snd_seq_port_subscribe_get_time_update +#undef snd_seq_port_subscribe_get_time_real +#undef snd_seq_port_subscribe_set_sender +#undef snd_seq_port_subscribe_set_dest +#undef snd_seq_port_subscribe_set_queue +#undef snd_seq_port_subscribe_set_exclusive +#undef snd_seq_port_subscribe_set_time_update +#undef snd_seq_port_subscribe_set_time_real +#undef snd_seq_get_port_subscription +#undef snd_seq_subscribe_port +#undef snd_seq_unsubscribe_port +#undef snd_seq_query_subscribe_sizeof +#undef snd_seq_query_subscribe_malloc +#undef snd_seq_query_subscribe_free +#undef snd_seq_query_subscribe_copy +#undef snd_seq_query_subscribe_get_client +#undef snd_seq_query_subscribe_get_port +#undef snd_seq_query_subscribe_get_root +#undef snd_seq_query_subscribe_get_type +#undef snd_seq_query_subscribe_get_index +#undef snd_seq_query_subscribe_get_num_subs +#undef snd_seq_query_subscribe_get_addr +#undef snd_seq_query_subscribe_get_queue +#undef snd_seq_query_subscribe_get_exclusive +#undef snd_seq_query_subscribe_get_time_update +#undef snd_seq_query_subscribe_get_time_real +#undef snd_seq_query_subscribe_set_client +#undef snd_seq_query_subscribe_set_port +#undef snd_seq_query_subscribe_set_root +#undef snd_seq_query_subscribe_set_type +#undef snd_seq_query_subscribe_set_index +#undef snd_seq_query_port_subscribers +#undef snd_seq_queue_info_sizeof +#undef snd_seq_queue_info_malloc +#undef snd_seq_queue_info_free +#undef snd_seq_queue_info_copy +#undef snd_seq_queue_info_get_queue +#undef snd_seq_queue_info_get_name +#undef snd_seq_queue_info_get_owner +#undef snd_seq_queue_info_get_locked +#undef snd_seq_queue_info_get_flags +#undef snd_seq_queue_info_set_name +#undef snd_seq_queue_info_set_owner +#undef snd_seq_queue_info_set_locked +#undef snd_seq_queue_info_set_flags +#undef snd_seq_create_queue +#undef snd_seq_alloc_named_queue +#undef snd_seq_alloc_queue +#undef snd_seq_free_queue +#undef snd_seq_get_queue_info +#undef snd_seq_set_queue_info +#undef snd_seq_query_named_queue +#undef snd_seq_get_queue_usage +#undef snd_seq_set_queue_usage +#undef snd_seq_queue_status_sizeof +#undef snd_seq_queue_status_malloc +#undef snd_seq_queue_status_free +#undef snd_seq_queue_status_copy +#undef snd_seq_queue_status_get_queue +#undef snd_seq_queue_status_get_events +#undef snd_seq_queue_status_get_tick_time +#undef snd_seq_queue_status_get_real_time +#undef snd_seq_queue_status_get_status +#undef snd_seq_get_queue_status +#undef snd_seq_queue_tempo_sizeof +#undef snd_seq_queue_tempo_malloc +#undef snd_seq_queue_tempo_free +#undef snd_seq_queue_tempo_copy +#undef snd_seq_queue_tempo_get_queue +#undef snd_seq_queue_tempo_get_tempo +#undef snd_seq_queue_tempo_get_ppq +#undef snd_seq_queue_tempo_get_skew +#undef snd_seq_queue_tempo_get_skew_base +#undef snd_seq_queue_tempo_set_tempo +#undef snd_seq_queue_tempo_set_ppq +#undef snd_seq_queue_tempo_set_skew +#undef snd_seq_queue_tempo_set_skew_base +#undef snd_seq_get_queue_tempo +#undef snd_seq_set_queue_tempo +#undef snd_seq_queue_timer_sizeof +#undef snd_seq_queue_timer_malloc +#undef snd_seq_queue_timer_free +#undef snd_seq_queue_timer_copy +#undef snd_seq_queue_timer_get_queue +#undef snd_seq_queue_timer_get_type +#undef snd_seq_queue_timer_get_id +#undef snd_seq_queue_timer_get_resolution +#undef snd_seq_queue_timer_set_type +#undef snd_seq_queue_timer_set_id +#undef snd_seq_queue_timer_set_resolution +#undef snd_seq_get_queue_timer +#undef snd_seq_set_queue_timer +#undef snd_seq_free_event +#undef snd_seq_event_length +#undef snd_seq_event_output +#undef snd_seq_event_output_buffer +#undef snd_seq_event_output_direct +#undef snd_seq_event_input +#undef snd_seq_event_input_pending +#undef snd_seq_drain_output +#undef snd_seq_event_output_pending +#undef snd_seq_extract_output +#undef snd_seq_drop_output +#undef snd_seq_drop_output_buffer +#undef snd_seq_drop_input +#undef snd_seq_drop_input_buffer +#undef snd_seq_remove_events_sizeof +#undef snd_seq_remove_events_malloc +#undef snd_seq_remove_events_free +#undef snd_seq_remove_events_copy +#undef snd_seq_remove_events_get_condition +#undef snd_seq_remove_events_get_queue +#undef snd_seq_remove_events_get_time +#undef snd_seq_remove_events_get_dest +#undef snd_seq_remove_events_get_channel +#undef snd_seq_remove_events_get_event_type +#undef snd_seq_remove_events_get_tag +#undef snd_seq_remove_events_set_condition +#undef snd_seq_remove_events_set_queue +#undef snd_seq_remove_events_set_time +#undef snd_seq_remove_events_set_dest +#undef snd_seq_remove_events_set_channel +#undef snd_seq_remove_events_set_event_type +#undef snd_seq_remove_events_set_tag +#undef snd_seq_remove_events +#undef snd_seq_set_bit +#undef snd_seq_unset_bit +#undef snd_seq_change_bit +#undef snd_seq_get_bit +#undef snd_seq_control_queue +#undef snd_seq_create_simple_port +#undef snd_seq_delete_simple_port +#undef snd_seq_connect_from +#undef snd_seq_connect_to +#undef snd_seq_disconnect_from +#undef snd_seq_disconnect_to +#undef snd_seq_set_client_name +#undef snd_seq_set_client_event_filter +#undef snd_seq_set_client_pool_output +#undef snd_seq_set_client_pool_output_room +#undef snd_seq_set_client_pool_input +#undef snd_seq_sync_output_queue +#undef snd_seq_parse_address +#undef snd_seq_reset_pool_output +#undef snd_seq_reset_pool_input +#undef snd_midi_event_new +#undef snd_midi_event_resize_buffer +#undef snd_midi_event_free +#undef snd_midi_event_init +#undef snd_midi_event_reset_encode +#undef snd_midi_event_reset_decode +#undef snd_midi_event_no_status +#undef snd_midi_event_encode +#undef snd_midi_event_encode_byte +#undef snd_midi_event_decode +#ifdef __cplusplus +extern "C" { +#endif +#define snd_asoundlib_version snd_asoundlib_version_dylibloader_wrapper_asound +#define snd_dlpath snd_dlpath_dylibloader_wrapper_asound +#define snd_dlopen snd_dlopen_dylibloader_wrapper_asound +#define snd_dlsym snd_dlsym_dylibloader_wrapper_asound +#define snd_dlclose snd_dlclose_dylibloader_wrapper_asound +#define snd_async_add_handler snd_async_add_handler_dylibloader_wrapper_asound +#define snd_async_del_handler snd_async_del_handler_dylibloader_wrapper_asound +#define snd_async_handler_get_fd snd_async_handler_get_fd_dylibloader_wrapper_asound +#define snd_async_handler_get_signo snd_async_handler_get_signo_dylibloader_wrapper_asound +#define snd_async_handler_get_callback_private snd_async_handler_get_callback_private_dylibloader_wrapper_asound +#define snd_shm_area_create snd_shm_area_create_dylibloader_wrapper_asound +#define snd_shm_area_share snd_shm_area_share_dylibloader_wrapper_asound +#define snd_shm_area_destroy snd_shm_area_destroy_dylibloader_wrapper_asound +#define snd_user_file snd_user_file_dylibloader_wrapper_asound +#define snd_input_stdio_open snd_input_stdio_open_dylibloader_wrapper_asound +#define snd_input_stdio_attach snd_input_stdio_attach_dylibloader_wrapper_asound +#define snd_input_buffer_open snd_input_buffer_open_dylibloader_wrapper_asound +#define snd_input_close snd_input_close_dylibloader_wrapper_asound +#define snd_input_scanf snd_input_scanf_dylibloader_wrapper_asound +#define snd_input_gets snd_input_gets_dylibloader_wrapper_asound +#define snd_input_getc snd_input_getc_dylibloader_wrapper_asound +#define snd_input_ungetc snd_input_ungetc_dylibloader_wrapper_asound +#define snd_output_stdio_open snd_output_stdio_open_dylibloader_wrapper_asound +#define snd_output_stdio_attach snd_output_stdio_attach_dylibloader_wrapper_asound +#define snd_output_buffer_open snd_output_buffer_open_dylibloader_wrapper_asound +#define snd_output_buffer_string snd_output_buffer_string_dylibloader_wrapper_asound +#define snd_output_close snd_output_close_dylibloader_wrapper_asound +#define snd_output_printf snd_output_printf_dylibloader_wrapper_asound +#define snd_output_vprintf snd_output_vprintf_dylibloader_wrapper_asound +#define snd_output_puts snd_output_puts_dylibloader_wrapper_asound +#define snd_output_putc snd_output_putc_dylibloader_wrapper_asound +#define snd_output_flush snd_output_flush_dylibloader_wrapper_asound +#define snd_strerror snd_strerror_dylibloader_wrapper_asound +#define snd_lib_error_set_handler snd_lib_error_set_handler_dylibloader_wrapper_asound +#define snd_lib_error_set_local snd_lib_error_set_local_dylibloader_wrapper_asound +#define snd_config_topdir snd_config_topdir_dylibloader_wrapper_asound +#define snd_config_top snd_config_top_dylibloader_wrapper_asound +#define snd_config_load snd_config_load_dylibloader_wrapper_asound +#define snd_config_load_override snd_config_load_override_dylibloader_wrapper_asound +#define snd_config_save snd_config_save_dylibloader_wrapper_asound +#define snd_config_update snd_config_update_dylibloader_wrapper_asound +#define snd_config_update_r snd_config_update_r_dylibloader_wrapper_asound +#define snd_config_update_free snd_config_update_free_dylibloader_wrapper_asound +#define snd_config_update_free_global snd_config_update_free_global_dylibloader_wrapper_asound +#define snd_config_update_ref snd_config_update_ref_dylibloader_wrapper_asound +#define snd_config_ref snd_config_ref_dylibloader_wrapper_asound +#define snd_config_unref snd_config_unref_dylibloader_wrapper_asound +#define snd_config_search snd_config_search_dylibloader_wrapper_asound +#define snd_config_searchv snd_config_searchv_dylibloader_wrapper_asound +#define snd_config_search_definition snd_config_search_definition_dylibloader_wrapper_asound +#define snd_config_expand snd_config_expand_dylibloader_wrapper_asound +#define snd_config_evaluate snd_config_evaluate_dylibloader_wrapper_asound +#define snd_config_add snd_config_add_dylibloader_wrapper_asound +#define snd_config_add_before snd_config_add_before_dylibloader_wrapper_asound +#define snd_config_add_after snd_config_add_after_dylibloader_wrapper_asound +#define snd_config_remove snd_config_remove_dylibloader_wrapper_asound +#define snd_config_delete snd_config_delete_dylibloader_wrapper_asound +#define snd_config_delete_compound_members snd_config_delete_compound_members_dylibloader_wrapper_asound +#define snd_config_copy snd_config_copy_dylibloader_wrapper_asound +#define snd_config_make snd_config_make_dylibloader_wrapper_asound +#define snd_config_make_integer snd_config_make_integer_dylibloader_wrapper_asound +#define snd_config_make_integer64 snd_config_make_integer64_dylibloader_wrapper_asound +#define snd_config_make_real snd_config_make_real_dylibloader_wrapper_asound +#define snd_config_make_string snd_config_make_string_dylibloader_wrapper_asound +#define snd_config_make_pointer snd_config_make_pointer_dylibloader_wrapper_asound +#define snd_config_make_compound snd_config_make_compound_dylibloader_wrapper_asound +#define snd_config_imake_integer snd_config_imake_integer_dylibloader_wrapper_asound +#define snd_config_imake_integer64 snd_config_imake_integer64_dylibloader_wrapper_asound +#define snd_config_imake_real snd_config_imake_real_dylibloader_wrapper_asound +#define snd_config_imake_string snd_config_imake_string_dylibloader_wrapper_asound +#define snd_config_imake_safe_string snd_config_imake_safe_string_dylibloader_wrapper_asound +#define snd_config_imake_pointer snd_config_imake_pointer_dylibloader_wrapper_asound +#define snd_config_get_type snd_config_get_type_dylibloader_wrapper_asound +#define snd_config_is_array snd_config_is_array_dylibloader_wrapper_asound +#define snd_config_set_id snd_config_set_id_dylibloader_wrapper_asound +#define snd_config_set_integer snd_config_set_integer_dylibloader_wrapper_asound +#define snd_config_set_integer64 snd_config_set_integer64_dylibloader_wrapper_asound +#define snd_config_set_real snd_config_set_real_dylibloader_wrapper_asound +#define snd_config_set_string snd_config_set_string_dylibloader_wrapper_asound +#define snd_config_set_ascii snd_config_set_ascii_dylibloader_wrapper_asound +#define snd_config_set_pointer snd_config_set_pointer_dylibloader_wrapper_asound +#define snd_config_get_id snd_config_get_id_dylibloader_wrapper_asound +#define snd_config_get_integer snd_config_get_integer_dylibloader_wrapper_asound +#define snd_config_get_integer64 snd_config_get_integer64_dylibloader_wrapper_asound +#define snd_config_get_real snd_config_get_real_dylibloader_wrapper_asound +#define snd_config_get_ireal snd_config_get_ireal_dylibloader_wrapper_asound +#define snd_config_get_string snd_config_get_string_dylibloader_wrapper_asound +#define snd_config_get_ascii snd_config_get_ascii_dylibloader_wrapper_asound +#define snd_config_get_pointer snd_config_get_pointer_dylibloader_wrapper_asound +#define snd_config_test_id snd_config_test_id_dylibloader_wrapper_asound +#define snd_config_iterator_first snd_config_iterator_first_dylibloader_wrapper_asound +#define snd_config_iterator_next snd_config_iterator_next_dylibloader_wrapper_asound +#define snd_config_iterator_end snd_config_iterator_end_dylibloader_wrapper_asound +#define snd_config_iterator_entry snd_config_iterator_entry_dylibloader_wrapper_asound +#define snd_config_get_bool_ascii snd_config_get_bool_ascii_dylibloader_wrapper_asound +#define snd_config_get_bool snd_config_get_bool_dylibloader_wrapper_asound +#define snd_config_get_ctl_iface_ascii snd_config_get_ctl_iface_ascii_dylibloader_wrapper_asound +#define snd_config_get_ctl_iface snd_config_get_ctl_iface_dylibloader_wrapper_asound +#define snd_names_list snd_names_list_dylibloader_wrapper_asound +#define snd_names_list_free snd_names_list_free_dylibloader_wrapper_asound +#define snd_pcm_open snd_pcm_open_dylibloader_wrapper_asound +#define snd_pcm_open_lconf snd_pcm_open_lconf_dylibloader_wrapper_asound +#define snd_pcm_open_fallback snd_pcm_open_fallback_dylibloader_wrapper_asound +#define snd_pcm_close snd_pcm_close_dylibloader_wrapper_asound +#define snd_pcm_name snd_pcm_name_dylibloader_wrapper_asound +#define snd_pcm_type snd_pcm_type_dylibloader_wrapper_asound +#define snd_pcm_stream snd_pcm_stream_dylibloader_wrapper_asound +#define snd_pcm_poll_descriptors_count snd_pcm_poll_descriptors_count_dylibloader_wrapper_asound +#define snd_pcm_poll_descriptors snd_pcm_poll_descriptors_dylibloader_wrapper_asound +#define snd_pcm_poll_descriptors_revents snd_pcm_poll_descriptors_revents_dylibloader_wrapper_asound +#define snd_pcm_nonblock snd_pcm_nonblock_dylibloader_wrapper_asound +#define snd_async_add_pcm_handler snd_async_add_pcm_handler_dylibloader_wrapper_asound +#define snd_async_handler_get_pcm snd_async_handler_get_pcm_dylibloader_wrapper_asound +#define snd_pcm_info snd_pcm_info_dylibloader_wrapper_asound +#define snd_pcm_hw_params_current snd_pcm_hw_params_current_dylibloader_wrapper_asound +#define snd_pcm_hw_params snd_pcm_hw_params_dylibloader_wrapper_asound +#define snd_pcm_hw_free snd_pcm_hw_free_dylibloader_wrapper_asound +#define snd_pcm_sw_params_current snd_pcm_sw_params_current_dylibloader_wrapper_asound +#define snd_pcm_sw_params snd_pcm_sw_params_dylibloader_wrapper_asound +#define snd_pcm_prepare snd_pcm_prepare_dylibloader_wrapper_asound +#define snd_pcm_reset snd_pcm_reset_dylibloader_wrapper_asound +#define snd_pcm_status snd_pcm_status_dylibloader_wrapper_asound +#define snd_pcm_start snd_pcm_start_dylibloader_wrapper_asound +#define snd_pcm_drop snd_pcm_drop_dylibloader_wrapper_asound +#define snd_pcm_drain snd_pcm_drain_dylibloader_wrapper_asound +#define snd_pcm_pause snd_pcm_pause_dylibloader_wrapper_asound +#define snd_pcm_state snd_pcm_state_dylibloader_wrapper_asound +#define snd_pcm_hwsync snd_pcm_hwsync_dylibloader_wrapper_asound +#define snd_pcm_delay snd_pcm_delay_dylibloader_wrapper_asound +#define snd_pcm_resume snd_pcm_resume_dylibloader_wrapper_asound +#define snd_pcm_htimestamp snd_pcm_htimestamp_dylibloader_wrapper_asound +#define snd_pcm_avail snd_pcm_avail_dylibloader_wrapper_asound +#define snd_pcm_avail_update snd_pcm_avail_update_dylibloader_wrapper_asound +#define snd_pcm_avail_delay snd_pcm_avail_delay_dylibloader_wrapper_asound +#define snd_pcm_rewindable snd_pcm_rewindable_dylibloader_wrapper_asound +#define snd_pcm_rewind snd_pcm_rewind_dylibloader_wrapper_asound +#define snd_pcm_forwardable snd_pcm_forwardable_dylibloader_wrapper_asound +#define snd_pcm_forward snd_pcm_forward_dylibloader_wrapper_asound +#define snd_pcm_writei snd_pcm_writei_dylibloader_wrapper_asound +#define snd_pcm_readi snd_pcm_readi_dylibloader_wrapper_asound +#define snd_pcm_writen snd_pcm_writen_dylibloader_wrapper_asound +#define snd_pcm_readn snd_pcm_readn_dylibloader_wrapper_asound +#define snd_pcm_wait snd_pcm_wait_dylibloader_wrapper_asound +#define snd_pcm_link snd_pcm_link_dylibloader_wrapper_asound +#define snd_pcm_unlink snd_pcm_unlink_dylibloader_wrapper_asound +#define snd_pcm_query_chmaps snd_pcm_query_chmaps_dylibloader_wrapper_asound +#define snd_pcm_query_chmaps_from_hw snd_pcm_query_chmaps_from_hw_dylibloader_wrapper_asound +#define snd_pcm_free_chmaps snd_pcm_free_chmaps_dylibloader_wrapper_asound +#define snd_pcm_get_chmap snd_pcm_get_chmap_dylibloader_wrapper_asound +#define snd_pcm_set_chmap snd_pcm_set_chmap_dylibloader_wrapper_asound +#define snd_pcm_chmap_type_name snd_pcm_chmap_type_name_dylibloader_wrapper_asound +#define snd_pcm_chmap_name snd_pcm_chmap_name_dylibloader_wrapper_asound +#define snd_pcm_chmap_long_name snd_pcm_chmap_long_name_dylibloader_wrapper_asound +#define snd_pcm_chmap_print snd_pcm_chmap_print_dylibloader_wrapper_asound +#define snd_pcm_chmap_from_string snd_pcm_chmap_from_string_dylibloader_wrapper_asound +#define snd_pcm_chmap_parse_string snd_pcm_chmap_parse_string_dylibloader_wrapper_asound +#define snd_pcm_recover snd_pcm_recover_dylibloader_wrapper_asound +#define snd_pcm_set_params snd_pcm_set_params_dylibloader_wrapper_asound +#define snd_pcm_get_params snd_pcm_get_params_dylibloader_wrapper_asound +#define snd_pcm_info_sizeof snd_pcm_info_sizeof_dylibloader_wrapper_asound +#define snd_pcm_info_malloc snd_pcm_info_malloc_dylibloader_wrapper_asound +#define snd_pcm_info_free snd_pcm_info_free_dylibloader_wrapper_asound +#define snd_pcm_info_copy snd_pcm_info_copy_dylibloader_wrapper_asound +#define snd_pcm_info_get_device snd_pcm_info_get_device_dylibloader_wrapper_asound +#define snd_pcm_info_get_subdevice snd_pcm_info_get_subdevice_dylibloader_wrapper_asound +#define snd_pcm_info_get_stream snd_pcm_info_get_stream_dylibloader_wrapper_asound +#define snd_pcm_info_get_card snd_pcm_info_get_card_dylibloader_wrapper_asound +#define snd_pcm_info_get_id snd_pcm_info_get_id_dylibloader_wrapper_asound +#define snd_pcm_info_get_name snd_pcm_info_get_name_dylibloader_wrapper_asound +#define snd_pcm_info_get_subdevice_name snd_pcm_info_get_subdevice_name_dylibloader_wrapper_asound +#define snd_pcm_info_get_class snd_pcm_info_get_class_dylibloader_wrapper_asound +#define snd_pcm_info_get_subclass snd_pcm_info_get_subclass_dylibloader_wrapper_asound +#define snd_pcm_info_get_subdevices_count snd_pcm_info_get_subdevices_count_dylibloader_wrapper_asound +#define snd_pcm_info_get_subdevices_avail snd_pcm_info_get_subdevices_avail_dylibloader_wrapper_asound +#define snd_pcm_info_get_sync snd_pcm_info_get_sync_dylibloader_wrapper_asound +#define snd_pcm_info_set_device snd_pcm_info_set_device_dylibloader_wrapper_asound +#define snd_pcm_info_set_subdevice snd_pcm_info_set_subdevice_dylibloader_wrapper_asound +#define snd_pcm_info_set_stream snd_pcm_info_set_stream_dylibloader_wrapper_asound +#define snd_pcm_hw_params_any snd_pcm_hw_params_any_dylibloader_wrapper_asound +#define snd_pcm_hw_params_can_mmap_sample_resolution snd_pcm_hw_params_can_mmap_sample_resolution_dylibloader_wrapper_asound +#define snd_pcm_hw_params_is_double snd_pcm_hw_params_is_double_dylibloader_wrapper_asound +#define snd_pcm_hw_params_is_batch snd_pcm_hw_params_is_batch_dylibloader_wrapper_asound +#define snd_pcm_hw_params_is_block_transfer snd_pcm_hw_params_is_block_transfer_dylibloader_wrapper_asound +#define snd_pcm_hw_params_is_monotonic snd_pcm_hw_params_is_monotonic_dylibloader_wrapper_asound +#define snd_pcm_hw_params_can_overrange snd_pcm_hw_params_can_overrange_dylibloader_wrapper_asound +#define snd_pcm_hw_params_can_pause snd_pcm_hw_params_can_pause_dylibloader_wrapper_asound +#define snd_pcm_hw_params_can_resume snd_pcm_hw_params_can_resume_dylibloader_wrapper_asound +#define snd_pcm_hw_params_is_half_duplex snd_pcm_hw_params_is_half_duplex_dylibloader_wrapper_asound +#define snd_pcm_hw_params_is_joint_duplex snd_pcm_hw_params_is_joint_duplex_dylibloader_wrapper_asound +#define snd_pcm_hw_params_can_sync_start snd_pcm_hw_params_can_sync_start_dylibloader_wrapper_asound +#define snd_pcm_hw_params_can_disable_period_wakeup snd_pcm_hw_params_can_disable_period_wakeup_dylibloader_wrapper_asound +#define snd_pcm_hw_params_supports_audio_wallclock_ts snd_pcm_hw_params_supports_audio_wallclock_ts_dylibloader_wrapper_asound +#define snd_pcm_hw_params_supports_audio_ts_type snd_pcm_hw_params_supports_audio_ts_type_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_rate_numden snd_pcm_hw_params_get_rate_numden_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_sbits snd_pcm_hw_params_get_sbits_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_fifo_size snd_pcm_hw_params_get_fifo_size_dylibloader_wrapper_asound +#define snd_pcm_hw_params_sizeof snd_pcm_hw_params_sizeof_dylibloader_wrapper_asound +#define snd_pcm_hw_params_malloc snd_pcm_hw_params_malloc_dylibloader_wrapper_asound +#define snd_pcm_hw_params_free snd_pcm_hw_params_free_dylibloader_wrapper_asound +#define snd_pcm_hw_params_copy snd_pcm_hw_params_copy_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_access snd_pcm_hw_params_get_access_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_access snd_pcm_hw_params_test_access_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_access snd_pcm_hw_params_set_access_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_access_first snd_pcm_hw_params_set_access_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_access_last snd_pcm_hw_params_set_access_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_access_mask snd_pcm_hw_params_set_access_mask_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_access_mask snd_pcm_hw_params_get_access_mask_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_format snd_pcm_hw_params_get_format_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_format snd_pcm_hw_params_test_format_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_format snd_pcm_hw_params_set_format_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_format_first snd_pcm_hw_params_set_format_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_format_last snd_pcm_hw_params_set_format_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_format_mask snd_pcm_hw_params_set_format_mask_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_format_mask snd_pcm_hw_params_get_format_mask_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_subformat snd_pcm_hw_params_get_subformat_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_subformat snd_pcm_hw_params_test_subformat_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_subformat snd_pcm_hw_params_set_subformat_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_subformat_first snd_pcm_hw_params_set_subformat_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_subformat_last snd_pcm_hw_params_set_subformat_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_subformat_mask snd_pcm_hw_params_set_subformat_mask_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_subformat_mask snd_pcm_hw_params_get_subformat_mask_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_channels snd_pcm_hw_params_get_channels_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_channels_min snd_pcm_hw_params_get_channels_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_channels_max snd_pcm_hw_params_get_channels_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_channels snd_pcm_hw_params_test_channels_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_channels snd_pcm_hw_params_set_channels_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_channels_min snd_pcm_hw_params_set_channels_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_channels_max snd_pcm_hw_params_set_channels_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_channels_minmax snd_pcm_hw_params_set_channels_minmax_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_channels_near snd_pcm_hw_params_set_channels_near_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_channels_first snd_pcm_hw_params_set_channels_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_channels_last snd_pcm_hw_params_set_channels_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_rate snd_pcm_hw_params_get_rate_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_rate_min snd_pcm_hw_params_get_rate_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_rate_max snd_pcm_hw_params_get_rate_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_rate snd_pcm_hw_params_test_rate_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_rate snd_pcm_hw_params_set_rate_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_rate_min snd_pcm_hw_params_set_rate_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_rate_max snd_pcm_hw_params_set_rate_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_rate_minmax snd_pcm_hw_params_set_rate_minmax_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_rate_near snd_pcm_hw_params_set_rate_near_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_rate_first snd_pcm_hw_params_set_rate_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_rate_last snd_pcm_hw_params_set_rate_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_rate_resample snd_pcm_hw_params_set_rate_resample_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_rate_resample snd_pcm_hw_params_get_rate_resample_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_export_buffer snd_pcm_hw_params_set_export_buffer_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_export_buffer snd_pcm_hw_params_get_export_buffer_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_wakeup snd_pcm_hw_params_set_period_wakeup_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_period_wakeup snd_pcm_hw_params_get_period_wakeup_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_period_time snd_pcm_hw_params_get_period_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_period_time_min snd_pcm_hw_params_get_period_time_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_period_time_max snd_pcm_hw_params_get_period_time_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_period_time snd_pcm_hw_params_test_period_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_time snd_pcm_hw_params_set_period_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_time_min snd_pcm_hw_params_set_period_time_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_time_max snd_pcm_hw_params_set_period_time_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_time_minmax snd_pcm_hw_params_set_period_time_minmax_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_time_near snd_pcm_hw_params_set_period_time_near_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_time_first snd_pcm_hw_params_set_period_time_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_time_last snd_pcm_hw_params_set_period_time_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_period_size snd_pcm_hw_params_get_period_size_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_period_size_min snd_pcm_hw_params_get_period_size_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_period_size_max snd_pcm_hw_params_get_period_size_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_period_size snd_pcm_hw_params_test_period_size_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_size snd_pcm_hw_params_set_period_size_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_size_min snd_pcm_hw_params_set_period_size_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_size_max snd_pcm_hw_params_set_period_size_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_size_minmax snd_pcm_hw_params_set_period_size_minmax_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_size_near snd_pcm_hw_params_set_period_size_near_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_size_first snd_pcm_hw_params_set_period_size_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_size_last snd_pcm_hw_params_set_period_size_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_period_size_integer snd_pcm_hw_params_set_period_size_integer_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_periods snd_pcm_hw_params_get_periods_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_periods_min snd_pcm_hw_params_get_periods_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_periods_max snd_pcm_hw_params_get_periods_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_periods snd_pcm_hw_params_test_periods_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_periods snd_pcm_hw_params_set_periods_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_periods_min snd_pcm_hw_params_set_periods_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_periods_max snd_pcm_hw_params_set_periods_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_periods_minmax snd_pcm_hw_params_set_periods_minmax_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_periods_near snd_pcm_hw_params_set_periods_near_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_periods_first snd_pcm_hw_params_set_periods_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_periods_last snd_pcm_hw_params_set_periods_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_periods_integer snd_pcm_hw_params_set_periods_integer_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_buffer_time snd_pcm_hw_params_get_buffer_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_buffer_time_min snd_pcm_hw_params_get_buffer_time_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_buffer_time_max snd_pcm_hw_params_get_buffer_time_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_buffer_time snd_pcm_hw_params_test_buffer_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_time snd_pcm_hw_params_set_buffer_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_time_min snd_pcm_hw_params_set_buffer_time_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_time_max snd_pcm_hw_params_set_buffer_time_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_time_minmax snd_pcm_hw_params_set_buffer_time_minmax_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_time_near snd_pcm_hw_params_set_buffer_time_near_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_time_first snd_pcm_hw_params_set_buffer_time_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_time_last snd_pcm_hw_params_set_buffer_time_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_buffer_size snd_pcm_hw_params_get_buffer_size_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_buffer_size_min snd_pcm_hw_params_get_buffer_size_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_buffer_size_max snd_pcm_hw_params_get_buffer_size_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_buffer_size snd_pcm_hw_params_test_buffer_size_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_size snd_pcm_hw_params_set_buffer_size_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_size_min snd_pcm_hw_params_set_buffer_size_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_size_max snd_pcm_hw_params_set_buffer_size_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_size_minmax snd_pcm_hw_params_set_buffer_size_minmax_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_size_near snd_pcm_hw_params_set_buffer_size_near_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_size_first snd_pcm_hw_params_set_buffer_size_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_buffer_size_last snd_pcm_hw_params_set_buffer_size_last_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_min_align snd_pcm_hw_params_get_min_align_dylibloader_wrapper_asound +#define snd_pcm_sw_params_sizeof snd_pcm_sw_params_sizeof_dylibloader_wrapper_asound +#define snd_pcm_sw_params_malloc snd_pcm_sw_params_malloc_dylibloader_wrapper_asound +#define snd_pcm_sw_params_free snd_pcm_sw_params_free_dylibloader_wrapper_asound +#define snd_pcm_sw_params_copy snd_pcm_sw_params_copy_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_boundary snd_pcm_sw_params_get_boundary_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_tstamp_mode snd_pcm_sw_params_set_tstamp_mode_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_tstamp_mode snd_pcm_sw_params_get_tstamp_mode_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_avail_min snd_pcm_sw_params_set_avail_min_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_avail_min snd_pcm_sw_params_get_avail_min_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_period_event snd_pcm_sw_params_set_period_event_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_period_event snd_pcm_sw_params_get_period_event_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_start_threshold snd_pcm_sw_params_set_start_threshold_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_start_threshold snd_pcm_sw_params_get_start_threshold_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_stop_threshold snd_pcm_sw_params_set_stop_threshold_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_stop_threshold snd_pcm_sw_params_get_stop_threshold_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_silence_threshold snd_pcm_sw_params_set_silence_threshold_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_silence_threshold snd_pcm_sw_params_get_silence_threshold_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_silence_size snd_pcm_sw_params_set_silence_size_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_silence_size snd_pcm_sw_params_get_silence_size_dylibloader_wrapper_asound +#define snd_pcm_access_mask_sizeof snd_pcm_access_mask_sizeof_dylibloader_wrapper_asound +#define snd_pcm_access_mask_malloc snd_pcm_access_mask_malloc_dylibloader_wrapper_asound +#define snd_pcm_access_mask_free snd_pcm_access_mask_free_dylibloader_wrapper_asound +#define snd_pcm_access_mask_copy snd_pcm_access_mask_copy_dylibloader_wrapper_asound +#define snd_pcm_access_mask_none snd_pcm_access_mask_none_dylibloader_wrapper_asound +#define snd_pcm_access_mask_any snd_pcm_access_mask_any_dylibloader_wrapper_asound +#define snd_pcm_access_mask_test snd_pcm_access_mask_test_dylibloader_wrapper_asound +#define snd_pcm_access_mask_empty snd_pcm_access_mask_empty_dylibloader_wrapper_asound +#define snd_pcm_access_mask_set snd_pcm_access_mask_set_dylibloader_wrapper_asound +#define snd_pcm_access_mask_reset snd_pcm_access_mask_reset_dylibloader_wrapper_asound +#define snd_pcm_format_mask_sizeof snd_pcm_format_mask_sizeof_dylibloader_wrapper_asound +#define snd_pcm_format_mask_malloc snd_pcm_format_mask_malloc_dylibloader_wrapper_asound +#define snd_pcm_format_mask_free snd_pcm_format_mask_free_dylibloader_wrapper_asound +#define snd_pcm_format_mask_copy snd_pcm_format_mask_copy_dylibloader_wrapper_asound +#define snd_pcm_format_mask_none snd_pcm_format_mask_none_dylibloader_wrapper_asound +#define snd_pcm_format_mask_any snd_pcm_format_mask_any_dylibloader_wrapper_asound +#define snd_pcm_format_mask_test snd_pcm_format_mask_test_dylibloader_wrapper_asound +#define snd_pcm_format_mask_empty snd_pcm_format_mask_empty_dylibloader_wrapper_asound +#define snd_pcm_format_mask_set snd_pcm_format_mask_set_dylibloader_wrapper_asound +#define snd_pcm_format_mask_reset snd_pcm_format_mask_reset_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_sizeof snd_pcm_subformat_mask_sizeof_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_malloc snd_pcm_subformat_mask_malloc_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_free snd_pcm_subformat_mask_free_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_copy snd_pcm_subformat_mask_copy_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_none snd_pcm_subformat_mask_none_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_any snd_pcm_subformat_mask_any_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_test snd_pcm_subformat_mask_test_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_empty snd_pcm_subformat_mask_empty_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_set snd_pcm_subformat_mask_set_dylibloader_wrapper_asound +#define snd_pcm_subformat_mask_reset snd_pcm_subformat_mask_reset_dylibloader_wrapper_asound +#define snd_pcm_status_sizeof snd_pcm_status_sizeof_dylibloader_wrapper_asound +#define snd_pcm_status_malloc snd_pcm_status_malloc_dylibloader_wrapper_asound +#define snd_pcm_status_free snd_pcm_status_free_dylibloader_wrapper_asound +#define snd_pcm_status_copy snd_pcm_status_copy_dylibloader_wrapper_asound +#define snd_pcm_status_get_state snd_pcm_status_get_state_dylibloader_wrapper_asound +#define snd_pcm_status_get_trigger_tstamp snd_pcm_status_get_trigger_tstamp_dylibloader_wrapper_asound +#define snd_pcm_status_get_trigger_htstamp snd_pcm_status_get_trigger_htstamp_dylibloader_wrapper_asound +#define snd_pcm_status_get_tstamp snd_pcm_status_get_tstamp_dylibloader_wrapper_asound +#define snd_pcm_status_get_htstamp snd_pcm_status_get_htstamp_dylibloader_wrapper_asound +#define snd_pcm_status_get_audio_htstamp snd_pcm_status_get_audio_htstamp_dylibloader_wrapper_asound +#define snd_pcm_status_get_driver_htstamp snd_pcm_status_get_driver_htstamp_dylibloader_wrapper_asound +#define snd_pcm_status_get_delay snd_pcm_status_get_delay_dylibloader_wrapper_asound +#define snd_pcm_status_get_avail snd_pcm_status_get_avail_dylibloader_wrapper_asound +#define snd_pcm_status_get_avail_max snd_pcm_status_get_avail_max_dylibloader_wrapper_asound +#define snd_pcm_status_get_overrange snd_pcm_status_get_overrange_dylibloader_wrapper_asound +#define snd_pcm_type_name snd_pcm_type_name_dylibloader_wrapper_asound +#define snd_pcm_stream_name snd_pcm_stream_name_dylibloader_wrapper_asound +#define snd_pcm_access_name snd_pcm_access_name_dylibloader_wrapper_asound +#define snd_pcm_format_name snd_pcm_format_name_dylibloader_wrapper_asound +#define snd_pcm_format_description snd_pcm_format_description_dylibloader_wrapper_asound +#define snd_pcm_subformat_name snd_pcm_subformat_name_dylibloader_wrapper_asound +#define snd_pcm_subformat_description snd_pcm_subformat_description_dylibloader_wrapper_asound +#define snd_pcm_format_value snd_pcm_format_value_dylibloader_wrapper_asound +#define snd_pcm_tstamp_mode_name snd_pcm_tstamp_mode_name_dylibloader_wrapper_asound +#define snd_pcm_state_name snd_pcm_state_name_dylibloader_wrapper_asound +#define snd_pcm_dump snd_pcm_dump_dylibloader_wrapper_asound +#define snd_pcm_dump_hw_setup snd_pcm_dump_hw_setup_dylibloader_wrapper_asound +#define snd_pcm_dump_sw_setup snd_pcm_dump_sw_setup_dylibloader_wrapper_asound +#define snd_pcm_dump_setup snd_pcm_dump_setup_dylibloader_wrapper_asound +#define snd_pcm_hw_params_dump snd_pcm_hw_params_dump_dylibloader_wrapper_asound +#define snd_pcm_sw_params_dump snd_pcm_sw_params_dump_dylibloader_wrapper_asound +#define snd_pcm_status_dump snd_pcm_status_dump_dylibloader_wrapper_asound +#define snd_pcm_mmap_begin snd_pcm_mmap_begin_dylibloader_wrapper_asound +#define snd_pcm_mmap_commit snd_pcm_mmap_commit_dylibloader_wrapper_asound +#define snd_pcm_mmap_writei snd_pcm_mmap_writei_dylibloader_wrapper_asound +#define snd_pcm_mmap_readi snd_pcm_mmap_readi_dylibloader_wrapper_asound +#define snd_pcm_mmap_writen snd_pcm_mmap_writen_dylibloader_wrapper_asound +#define snd_pcm_mmap_readn snd_pcm_mmap_readn_dylibloader_wrapper_asound +#define snd_pcm_format_signed snd_pcm_format_signed_dylibloader_wrapper_asound +#define snd_pcm_format_unsigned snd_pcm_format_unsigned_dylibloader_wrapper_asound +#define snd_pcm_format_linear snd_pcm_format_linear_dylibloader_wrapper_asound +#define snd_pcm_format_float snd_pcm_format_float_dylibloader_wrapper_asound +#define snd_pcm_format_little_endian snd_pcm_format_little_endian_dylibloader_wrapper_asound +#define snd_pcm_format_big_endian snd_pcm_format_big_endian_dylibloader_wrapper_asound +#define snd_pcm_format_cpu_endian snd_pcm_format_cpu_endian_dylibloader_wrapper_asound +#define snd_pcm_format_width snd_pcm_format_width_dylibloader_wrapper_asound +#define snd_pcm_format_physical_width snd_pcm_format_physical_width_dylibloader_wrapper_asound +#define snd_pcm_build_linear_format snd_pcm_build_linear_format_dylibloader_wrapper_asound +#define snd_pcm_format_size snd_pcm_format_size_dylibloader_wrapper_asound +#define snd_pcm_format_silence snd_pcm_format_silence_dylibloader_wrapper_asound +#define snd_pcm_format_silence_16 snd_pcm_format_silence_16_dylibloader_wrapper_asound +#define snd_pcm_format_silence_32 snd_pcm_format_silence_32_dylibloader_wrapper_asound +#define snd_pcm_format_silence_64 snd_pcm_format_silence_64_dylibloader_wrapper_asound +#define snd_pcm_format_set_silence snd_pcm_format_set_silence_dylibloader_wrapper_asound +#define snd_pcm_bytes_to_frames snd_pcm_bytes_to_frames_dylibloader_wrapper_asound +#define snd_pcm_frames_to_bytes snd_pcm_frames_to_bytes_dylibloader_wrapper_asound +#define snd_pcm_bytes_to_samples snd_pcm_bytes_to_samples_dylibloader_wrapper_asound +#define snd_pcm_samples_to_bytes snd_pcm_samples_to_bytes_dylibloader_wrapper_asound +#define snd_pcm_area_silence snd_pcm_area_silence_dylibloader_wrapper_asound +#define snd_pcm_areas_silence snd_pcm_areas_silence_dylibloader_wrapper_asound +#define snd_pcm_area_copy snd_pcm_area_copy_dylibloader_wrapper_asound +#define snd_pcm_areas_copy snd_pcm_areas_copy_dylibloader_wrapper_asound +#define snd_pcm_areas_copy_wrap snd_pcm_areas_copy_wrap_dylibloader_wrapper_asound +#define snd_pcm_hook_get_pcm snd_pcm_hook_get_pcm_dylibloader_wrapper_asound +#define snd_pcm_hook_get_private snd_pcm_hook_get_private_dylibloader_wrapper_asound +#define snd_pcm_hook_set_private snd_pcm_hook_set_private_dylibloader_wrapper_asound +#define snd_pcm_hook_add snd_pcm_hook_add_dylibloader_wrapper_asound +#define snd_pcm_hook_remove snd_pcm_hook_remove_dylibloader_wrapper_asound +#define snd_pcm_meter_get_bufsize snd_pcm_meter_get_bufsize_dylibloader_wrapper_asound +#define snd_pcm_meter_get_channels snd_pcm_meter_get_channels_dylibloader_wrapper_asound +#define snd_pcm_meter_get_rate snd_pcm_meter_get_rate_dylibloader_wrapper_asound +#define snd_pcm_meter_get_now snd_pcm_meter_get_now_dylibloader_wrapper_asound +#define snd_pcm_meter_get_boundary snd_pcm_meter_get_boundary_dylibloader_wrapper_asound +#define snd_pcm_meter_add_scope snd_pcm_meter_add_scope_dylibloader_wrapper_asound +#define snd_pcm_meter_search_scope snd_pcm_meter_search_scope_dylibloader_wrapper_asound +#define snd_pcm_scope_malloc snd_pcm_scope_malloc_dylibloader_wrapper_asound +#define snd_pcm_scope_set_ops snd_pcm_scope_set_ops_dylibloader_wrapper_asound +#define snd_pcm_scope_set_name snd_pcm_scope_set_name_dylibloader_wrapper_asound +#define snd_pcm_scope_get_name snd_pcm_scope_get_name_dylibloader_wrapper_asound +#define snd_pcm_scope_get_callback_private snd_pcm_scope_get_callback_private_dylibloader_wrapper_asound +#define snd_pcm_scope_set_callback_private snd_pcm_scope_set_callback_private_dylibloader_wrapper_asound +#define snd_pcm_scope_s16_open snd_pcm_scope_s16_open_dylibloader_wrapper_asound +#define snd_pcm_scope_s16_get_channel_buffer snd_pcm_scope_s16_get_channel_buffer_dylibloader_wrapper_asound +#define snd_spcm_init snd_spcm_init_dylibloader_wrapper_asound +#define snd_spcm_init_duplex snd_spcm_init_duplex_dylibloader_wrapper_asound +#define snd_spcm_init_get_params snd_spcm_init_get_params_dylibloader_wrapper_asound +#define snd_pcm_start_mode_name snd_pcm_start_mode_name_dylibloader_wrapper_asound +#define snd_pcm_xrun_mode_name snd_pcm_xrun_mode_name_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_start_mode snd_pcm_sw_params_set_start_mode_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_start_mode snd_pcm_sw_params_get_start_mode_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_xrun_mode snd_pcm_sw_params_set_xrun_mode_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_xrun_mode snd_pcm_sw_params_get_xrun_mode_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_xfer_align snd_pcm_sw_params_set_xfer_align_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_xfer_align snd_pcm_sw_params_get_xfer_align_dylibloader_wrapper_asound +#define snd_pcm_sw_params_set_sleep_min snd_pcm_sw_params_set_sleep_min_dylibloader_wrapper_asound +#define snd_pcm_sw_params_get_sleep_min snd_pcm_sw_params_get_sleep_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_tick_time snd_pcm_hw_params_get_tick_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_tick_time_min snd_pcm_hw_params_get_tick_time_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_get_tick_time_max snd_pcm_hw_params_get_tick_time_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_test_tick_time snd_pcm_hw_params_test_tick_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_tick_time snd_pcm_hw_params_set_tick_time_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_tick_time_min snd_pcm_hw_params_set_tick_time_min_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_tick_time_max snd_pcm_hw_params_set_tick_time_max_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_tick_time_minmax snd_pcm_hw_params_set_tick_time_minmax_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_tick_time_near snd_pcm_hw_params_set_tick_time_near_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_tick_time_first snd_pcm_hw_params_set_tick_time_first_dylibloader_wrapper_asound +#define snd_pcm_hw_params_set_tick_time_last snd_pcm_hw_params_set_tick_time_last_dylibloader_wrapper_asound +#define snd_rawmidi_open snd_rawmidi_open_dylibloader_wrapper_asound +#define snd_rawmidi_open_lconf snd_rawmidi_open_lconf_dylibloader_wrapper_asound +#define snd_rawmidi_close snd_rawmidi_close_dylibloader_wrapper_asound +#define snd_rawmidi_poll_descriptors_count snd_rawmidi_poll_descriptors_count_dylibloader_wrapper_asound +#define snd_rawmidi_poll_descriptors snd_rawmidi_poll_descriptors_dylibloader_wrapper_asound +#define snd_rawmidi_poll_descriptors_revents snd_rawmidi_poll_descriptors_revents_dylibloader_wrapper_asound +#define snd_rawmidi_nonblock snd_rawmidi_nonblock_dylibloader_wrapper_asound +#define snd_rawmidi_info_sizeof snd_rawmidi_info_sizeof_dylibloader_wrapper_asound +#define snd_rawmidi_info_malloc snd_rawmidi_info_malloc_dylibloader_wrapper_asound +#define snd_rawmidi_info_free snd_rawmidi_info_free_dylibloader_wrapper_asound +#define snd_rawmidi_info_copy snd_rawmidi_info_copy_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_device snd_rawmidi_info_get_device_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_subdevice snd_rawmidi_info_get_subdevice_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_stream snd_rawmidi_info_get_stream_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_card snd_rawmidi_info_get_card_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_flags snd_rawmidi_info_get_flags_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_id snd_rawmidi_info_get_id_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_name snd_rawmidi_info_get_name_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_subdevice_name snd_rawmidi_info_get_subdevice_name_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_subdevices_count snd_rawmidi_info_get_subdevices_count_dylibloader_wrapper_asound +#define snd_rawmidi_info_get_subdevices_avail snd_rawmidi_info_get_subdevices_avail_dylibloader_wrapper_asound +#define snd_rawmidi_info_set_device snd_rawmidi_info_set_device_dylibloader_wrapper_asound +#define snd_rawmidi_info_set_subdevice snd_rawmidi_info_set_subdevice_dylibloader_wrapper_asound +#define snd_rawmidi_info_set_stream snd_rawmidi_info_set_stream_dylibloader_wrapper_asound +#define snd_rawmidi_info snd_rawmidi_info_dylibloader_wrapper_asound +#define snd_rawmidi_params_sizeof snd_rawmidi_params_sizeof_dylibloader_wrapper_asound +#define snd_rawmidi_params_malloc snd_rawmidi_params_malloc_dylibloader_wrapper_asound +#define snd_rawmidi_params_free snd_rawmidi_params_free_dylibloader_wrapper_asound +#define snd_rawmidi_params_copy snd_rawmidi_params_copy_dylibloader_wrapper_asound +#define snd_rawmidi_params_set_buffer_size snd_rawmidi_params_set_buffer_size_dylibloader_wrapper_asound +#define snd_rawmidi_params_get_buffer_size snd_rawmidi_params_get_buffer_size_dylibloader_wrapper_asound +#define snd_rawmidi_params_set_avail_min snd_rawmidi_params_set_avail_min_dylibloader_wrapper_asound +#define snd_rawmidi_params_get_avail_min snd_rawmidi_params_get_avail_min_dylibloader_wrapper_asound +#define snd_rawmidi_params_set_no_active_sensing snd_rawmidi_params_set_no_active_sensing_dylibloader_wrapper_asound +#define snd_rawmidi_params_get_no_active_sensing snd_rawmidi_params_get_no_active_sensing_dylibloader_wrapper_asound +#define snd_rawmidi_params snd_rawmidi_params_dylibloader_wrapper_asound +#define snd_rawmidi_params_current snd_rawmidi_params_current_dylibloader_wrapper_asound +#define snd_rawmidi_status_sizeof snd_rawmidi_status_sizeof_dylibloader_wrapper_asound +#define snd_rawmidi_status_malloc snd_rawmidi_status_malloc_dylibloader_wrapper_asound +#define snd_rawmidi_status_free snd_rawmidi_status_free_dylibloader_wrapper_asound +#define snd_rawmidi_status_copy snd_rawmidi_status_copy_dylibloader_wrapper_asound +#define snd_rawmidi_status_get_tstamp snd_rawmidi_status_get_tstamp_dylibloader_wrapper_asound +#define snd_rawmidi_status_get_avail snd_rawmidi_status_get_avail_dylibloader_wrapper_asound +#define snd_rawmidi_status_get_xruns snd_rawmidi_status_get_xruns_dylibloader_wrapper_asound +#define snd_rawmidi_status snd_rawmidi_status_dylibloader_wrapper_asound +#define snd_rawmidi_drain snd_rawmidi_drain_dylibloader_wrapper_asound +#define snd_rawmidi_drop snd_rawmidi_drop_dylibloader_wrapper_asound +#define snd_rawmidi_write snd_rawmidi_write_dylibloader_wrapper_asound +#define snd_rawmidi_read snd_rawmidi_read_dylibloader_wrapper_asound +#define snd_rawmidi_name snd_rawmidi_name_dylibloader_wrapper_asound +#define snd_rawmidi_type snd_rawmidi_type_dylibloader_wrapper_asound +#define snd_rawmidi_stream snd_rawmidi_stream_dylibloader_wrapper_asound +#define snd_timer_query_open snd_timer_query_open_dylibloader_wrapper_asound +#define snd_timer_query_open_lconf snd_timer_query_open_lconf_dylibloader_wrapper_asound +#define snd_timer_query_close snd_timer_query_close_dylibloader_wrapper_asound +#define snd_timer_query_next_device snd_timer_query_next_device_dylibloader_wrapper_asound +#define snd_timer_query_info snd_timer_query_info_dylibloader_wrapper_asound +#define snd_timer_query_params snd_timer_query_params_dylibloader_wrapper_asound +#define snd_timer_query_status snd_timer_query_status_dylibloader_wrapper_asound +#define snd_timer_open snd_timer_open_dylibloader_wrapper_asound +#define snd_timer_open_lconf snd_timer_open_lconf_dylibloader_wrapper_asound +#define snd_timer_close snd_timer_close_dylibloader_wrapper_asound +#define snd_async_add_timer_handler snd_async_add_timer_handler_dylibloader_wrapper_asound +#define snd_async_handler_get_timer snd_async_handler_get_timer_dylibloader_wrapper_asound +#define snd_timer_poll_descriptors_count snd_timer_poll_descriptors_count_dylibloader_wrapper_asound +#define snd_timer_poll_descriptors snd_timer_poll_descriptors_dylibloader_wrapper_asound +#define snd_timer_poll_descriptors_revents snd_timer_poll_descriptors_revents_dylibloader_wrapper_asound +#define snd_timer_info snd_timer_info_dylibloader_wrapper_asound +#define snd_timer_params snd_timer_params_dylibloader_wrapper_asound +#define snd_timer_status snd_timer_status_dylibloader_wrapper_asound +#define snd_timer_start snd_timer_start_dylibloader_wrapper_asound +#define snd_timer_stop snd_timer_stop_dylibloader_wrapper_asound +#define snd_timer_continue snd_timer_continue_dylibloader_wrapper_asound +#define snd_timer_read snd_timer_read_dylibloader_wrapper_asound +#define snd_timer_id_sizeof snd_timer_id_sizeof_dylibloader_wrapper_asound +#define snd_timer_id_malloc snd_timer_id_malloc_dylibloader_wrapper_asound +#define snd_timer_id_free snd_timer_id_free_dylibloader_wrapper_asound +#define snd_timer_id_copy snd_timer_id_copy_dylibloader_wrapper_asound +#define snd_timer_id_set_class snd_timer_id_set_class_dylibloader_wrapper_asound +#define snd_timer_id_get_class snd_timer_id_get_class_dylibloader_wrapper_asound +#define snd_timer_id_set_sclass snd_timer_id_set_sclass_dylibloader_wrapper_asound +#define snd_timer_id_get_sclass snd_timer_id_get_sclass_dylibloader_wrapper_asound +#define snd_timer_id_set_card snd_timer_id_set_card_dylibloader_wrapper_asound +#define snd_timer_id_get_card snd_timer_id_get_card_dylibloader_wrapper_asound +#define snd_timer_id_set_device snd_timer_id_set_device_dylibloader_wrapper_asound +#define snd_timer_id_get_device snd_timer_id_get_device_dylibloader_wrapper_asound +#define snd_timer_id_set_subdevice snd_timer_id_set_subdevice_dylibloader_wrapper_asound +#define snd_timer_id_get_subdevice snd_timer_id_get_subdevice_dylibloader_wrapper_asound +#define snd_timer_ginfo_sizeof snd_timer_ginfo_sizeof_dylibloader_wrapper_asound +#define snd_timer_ginfo_malloc snd_timer_ginfo_malloc_dylibloader_wrapper_asound +#define snd_timer_ginfo_free snd_timer_ginfo_free_dylibloader_wrapper_asound +#define snd_timer_ginfo_copy snd_timer_ginfo_copy_dylibloader_wrapper_asound +#define snd_timer_ginfo_set_tid snd_timer_ginfo_set_tid_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_tid snd_timer_ginfo_get_tid_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_flags snd_timer_ginfo_get_flags_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_card snd_timer_ginfo_get_card_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_id snd_timer_ginfo_get_id_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_name snd_timer_ginfo_get_name_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_resolution snd_timer_ginfo_get_resolution_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_resolution_min snd_timer_ginfo_get_resolution_min_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_resolution_max snd_timer_ginfo_get_resolution_max_dylibloader_wrapper_asound +#define snd_timer_ginfo_get_clients snd_timer_ginfo_get_clients_dylibloader_wrapper_asound +#define snd_timer_info_sizeof snd_timer_info_sizeof_dylibloader_wrapper_asound +#define snd_timer_info_malloc snd_timer_info_malloc_dylibloader_wrapper_asound +#define snd_timer_info_free snd_timer_info_free_dylibloader_wrapper_asound +#define snd_timer_info_copy snd_timer_info_copy_dylibloader_wrapper_asound +#define snd_timer_info_is_slave snd_timer_info_is_slave_dylibloader_wrapper_asound +#define snd_timer_info_get_card snd_timer_info_get_card_dylibloader_wrapper_asound +#define snd_timer_info_get_id snd_timer_info_get_id_dylibloader_wrapper_asound +#define snd_timer_info_get_name snd_timer_info_get_name_dylibloader_wrapper_asound +#define snd_timer_info_get_resolution snd_timer_info_get_resolution_dylibloader_wrapper_asound +#define snd_timer_params_sizeof snd_timer_params_sizeof_dylibloader_wrapper_asound +#define snd_timer_params_malloc snd_timer_params_malloc_dylibloader_wrapper_asound +#define snd_timer_params_free snd_timer_params_free_dylibloader_wrapper_asound +#define snd_timer_params_copy snd_timer_params_copy_dylibloader_wrapper_asound +#define snd_timer_params_set_auto_start snd_timer_params_set_auto_start_dylibloader_wrapper_asound +#define snd_timer_params_get_auto_start snd_timer_params_get_auto_start_dylibloader_wrapper_asound +#define snd_timer_params_set_exclusive snd_timer_params_set_exclusive_dylibloader_wrapper_asound +#define snd_timer_params_get_exclusive snd_timer_params_get_exclusive_dylibloader_wrapper_asound +#define snd_timer_params_set_early_event snd_timer_params_set_early_event_dylibloader_wrapper_asound +#define snd_timer_params_get_early_event snd_timer_params_get_early_event_dylibloader_wrapper_asound +#define snd_timer_params_set_ticks snd_timer_params_set_ticks_dylibloader_wrapper_asound +#define snd_timer_params_get_ticks snd_timer_params_get_ticks_dylibloader_wrapper_asound +#define snd_timer_params_set_queue_size snd_timer_params_set_queue_size_dylibloader_wrapper_asound +#define snd_timer_params_get_queue_size snd_timer_params_get_queue_size_dylibloader_wrapper_asound +#define snd_timer_params_set_filter snd_timer_params_set_filter_dylibloader_wrapper_asound +#define snd_timer_params_get_filter snd_timer_params_get_filter_dylibloader_wrapper_asound +#define snd_timer_status_sizeof snd_timer_status_sizeof_dylibloader_wrapper_asound +#define snd_timer_status_malloc snd_timer_status_malloc_dylibloader_wrapper_asound +#define snd_timer_status_free snd_timer_status_free_dylibloader_wrapper_asound +#define snd_timer_status_copy snd_timer_status_copy_dylibloader_wrapper_asound +#define snd_timer_status_get_timestamp snd_timer_status_get_timestamp_dylibloader_wrapper_asound +#define snd_timer_status_get_resolution snd_timer_status_get_resolution_dylibloader_wrapper_asound +#define snd_timer_status_get_lost snd_timer_status_get_lost_dylibloader_wrapper_asound +#define snd_timer_status_get_overrun snd_timer_status_get_overrun_dylibloader_wrapper_asound +#define snd_timer_status_get_queue snd_timer_status_get_queue_dylibloader_wrapper_asound +#define snd_timer_info_get_ticks snd_timer_info_get_ticks_dylibloader_wrapper_asound +#define snd_hwdep_open snd_hwdep_open_dylibloader_wrapper_asound +#define snd_hwdep_close snd_hwdep_close_dylibloader_wrapper_asound +#define snd_hwdep_poll_descriptors snd_hwdep_poll_descriptors_dylibloader_wrapper_asound +#define snd_hwdep_poll_descriptors_count snd_hwdep_poll_descriptors_count_dylibloader_wrapper_asound +#define snd_hwdep_poll_descriptors_revents snd_hwdep_poll_descriptors_revents_dylibloader_wrapper_asound +#define snd_hwdep_nonblock snd_hwdep_nonblock_dylibloader_wrapper_asound +#define snd_hwdep_info snd_hwdep_info_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status snd_hwdep_dsp_status_dylibloader_wrapper_asound +#define snd_hwdep_dsp_load snd_hwdep_dsp_load_dylibloader_wrapper_asound +#define snd_hwdep_ioctl snd_hwdep_ioctl_dylibloader_wrapper_asound +#define snd_hwdep_write snd_hwdep_write_dylibloader_wrapper_asound +#define snd_hwdep_read snd_hwdep_read_dylibloader_wrapper_asound +#define snd_hwdep_info_sizeof snd_hwdep_info_sizeof_dylibloader_wrapper_asound +#define snd_hwdep_info_malloc snd_hwdep_info_malloc_dylibloader_wrapper_asound +#define snd_hwdep_info_free snd_hwdep_info_free_dylibloader_wrapper_asound +#define snd_hwdep_info_copy snd_hwdep_info_copy_dylibloader_wrapper_asound +#define snd_hwdep_info_get_device snd_hwdep_info_get_device_dylibloader_wrapper_asound +#define snd_hwdep_info_get_card snd_hwdep_info_get_card_dylibloader_wrapper_asound +#define snd_hwdep_info_get_id snd_hwdep_info_get_id_dylibloader_wrapper_asound +#define snd_hwdep_info_get_name snd_hwdep_info_get_name_dylibloader_wrapper_asound +#define snd_hwdep_info_get_iface snd_hwdep_info_get_iface_dylibloader_wrapper_asound +#define snd_hwdep_info_set_device snd_hwdep_info_set_device_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_sizeof snd_hwdep_dsp_status_sizeof_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_malloc snd_hwdep_dsp_status_malloc_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_free snd_hwdep_dsp_status_free_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_copy snd_hwdep_dsp_status_copy_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_get_version snd_hwdep_dsp_status_get_version_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_get_id snd_hwdep_dsp_status_get_id_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_get_num_dsps snd_hwdep_dsp_status_get_num_dsps_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_get_dsp_loaded snd_hwdep_dsp_status_get_dsp_loaded_dylibloader_wrapper_asound +#define snd_hwdep_dsp_status_get_chip_ready snd_hwdep_dsp_status_get_chip_ready_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_sizeof snd_hwdep_dsp_image_sizeof_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_malloc snd_hwdep_dsp_image_malloc_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_free snd_hwdep_dsp_image_free_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_copy snd_hwdep_dsp_image_copy_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_get_index snd_hwdep_dsp_image_get_index_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_get_name snd_hwdep_dsp_image_get_name_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_get_image snd_hwdep_dsp_image_get_image_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_get_length snd_hwdep_dsp_image_get_length_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_set_index snd_hwdep_dsp_image_set_index_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_set_name snd_hwdep_dsp_image_set_name_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_set_image snd_hwdep_dsp_image_set_image_dylibloader_wrapper_asound +#define snd_hwdep_dsp_image_set_length snd_hwdep_dsp_image_set_length_dylibloader_wrapper_asound +#define snd_card_load snd_card_load_dylibloader_wrapper_asound +#define snd_card_next snd_card_next_dylibloader_wrapper_asound +#define snd_card_get_index snd_card_get_index_dylibloader_wrapper_asound +#define snd_card_get_name snd_card_get_name_dylibloader_wrapper_asound +#define snd_card_get_longname snd_card_get_longname_dylibloader_wrapper_asound +#define snd_device_name_hint snd_device_name_hint_dylibloader_wrapper_asound +#define snd_device_name_free_hint snd_device_name_free_hint_dylibloader_wrapper_asound +#define snd_device_name_get_hint snd_device_name_get_hint_dylibloader_wrapper_asound +#define snd_ctl_open snd_ctl_open_dylibloader_wrapper_asound +#define snd_ctl_open_lconf snd_ctl_open_lconf_dylibloader_wrapper_asound +#define snd_ctl_open_fallback snd_ctl_open_fallback_dylibloader_wrapper_asound +#define snd_ctl_close snd_ctl_close_dylibloader_wrapper_asound +#define snd_ctl_nonblock snd_ctl_nonblock_dylibloader_wrapper_asound +#define snd_async_add_ctl_handler snd_async_add_ctl_handler_dylibloader_wrapper_asound +#define snd_async_handler_get_ctl snd_async_handler_get_ctl_dylibloader_wrapper_asound +#define snd_ctl_poll_descriptors_count snd_ctl_poll_descriptors_count_dylibloader_wrapper_asound +#define snd_ctl_poll_descriptors snd_ctl_poll_descriptors_dylibloader_wrapper_asound +#define snd_ctl_poll_descriptors_revents snd_ctl_poll_descriptors_revents_dylibloader_wrapper_asound +#define snd_ctl_subscribe_events snd_ctl_subscribe_events_dylibloader_wrapper_asound +#define snd_ctl_card_info snd_ctl_card_info_dylibloader_wrapper_asound +#define snd_ctl_elem_list snd_ctl_elem_list_dylibloader_wrapper_asound +#define snd_ctl_elem_info snd_ctl_elem_info_dylibloader_wrapper_asound +#define snd_ctl_elem_read snd_ctl_elem_read_dylibloader_wrapper_asound +#define snd_ctl_elem_write snd_ctl_elem_write_dylibloader_wrapper_asound +#define snd_ctl_elem_lock snd_ctl_elem_lock_dylibloader_wrapper_asound +#define snd_ctl_elem_unlock snd_ctl_elem_unlock_dylibloader_wrapper_asound +#define snd_ctl_elem_tlv_read snd_ctl_elem_tlv_read_dylibloader_wrapper_asound +#define snd_ctl_elem_tlv_write snd_ctl_elem_tlv_write_dylibloader_wrapper_asound +#define snd_ctl_elem_tlv_command snd_ctl_elem_tlv_command_dylibloader_wrapper_asound +#define snd_ctl_hwdep_next_device snd_ctl_hwdep_next_device_dylibloader_wrapper_asound +#define snd_ctl_hwdep_info snd_ctl_hwdep_info_dylibloader_wrapper_asound +#define snd_ctl_pcm_next_device snd_ctl_pcm_next_device_dylibloader_wrapper_asound +#define snd_ctl_pcm_info snd_ctl_pcm_info_dylibloader_wrapper_asound +#define snd_ctl_pcm_prefer_subdevice snd_ctl_pcm_prefer_subdevice_dylibloader_wrapper_asound +#define snd_ctl_rawmidi_next_device snd_ctl_rawmidi_next_device_dylibloader_wrapper_asound +#define snd_ctl_rawmidi_info snd_ctl_rawmidi_info_dylibloader_wrapper_asound +#define snd_ctl_rawmidi_prefer_subdevice snd_ctl_rawmidi_prefer_subdevice_dylibloader_wrapper_asound +#define snd_ctl_set_power_state snd_ctl_set_power_state_dylibloader_wrapper_asound +#define snd_ctl_get_power_state snd_ctl_get_power_state_dylibloader_wrapper_asound +#define snd_ctl_read snd_ctl_read_dylibloader_wrapper_asound +#define snd_ctl_wait snd_ctl_wait_dylibloader_wrapper_asound +#define snd_ctl_name snd_ctl_name_dylibloader_wrapper_asound +#define snd_ctl_type snd_ctl_type_dylibloader_wrapper_asound +#define snd_ctl_elem_type_name snd_ctl_elem_type_name_dylibloader_wrapper_asound +#define snd_ctl_elem_iface_name snd_ctl_elem_iface_name_dylibloader_wrapper_asound +#define snd_ctl_event_type_name snd_ctl_event_type_name_dylibloader_wrapper_asound +#define snd_ctl_event_elem_get_mask snd_ctl_event_elem_get_mask_dylibloader_wrapper_asound +#define snd_ctl_event_elem_get_numid snd_ctl_event_elem_get_numid_dylibloader_wrapper_asound +#define snd_ctl_event_elem_get_id snd_ctl_event_elem_get_id_dylibloader_wrapper_asound +#define snd_ctl_event_elem_get_interface snd_ctl_event_elem_get_interface_dylibloader_wrapper_asound +#define snd_ctl_event_elem_get_device snd_ctl_event_elem_get_device_dylibloader_wrapper_asound +#define snd_ctl_event_elem_get_subdevice snd_ctl_event_elem_get_subdevice_dylibloader_wrapper_asound +#define snd_ctl_event_elem_get_name snd_ctl_event_elem_get_name_dylibloader_wrapper_asound +#define snd_ctl_event_elem_get_index snd_ctl_event_elem_get_index_dylibloader_wrapper_asound +#define snd_ctl_elem_list_alloc_space snd_ctl_elem_list_alloc_space_dylibloader_wrapper_asound +#define snd_ctl_elem_list_free_space snd_ctl_elem_list_free_space_dylibloader_wrapper_asound +#define snd_ctl_ascii_elem_id_get snd_ctl_ascii_elem_id_get_dylibloader_wrapper_asound +#define snd_ctl_ascii_elem_id_parse snd_ctl_ascii_elem_id_parse_dylibloader_wrapper_asound +#define snd_ctl_ascii_value_parse snd_ctl_ascii_value_parse_dylibloader_wrapper_asound +#define snd_ctl_elem_id_sizeof snd_ctl_elem_id_sizeof_dylibloader_wrapper_asound +#define snd_ctl_elem_id_malloc snd_ctl_elem_id_malloc_dylibloader_wrapper_asound +#define snd_ctl_elem_id_free snd_ctl_elem_id_free_dylibloader_wrapper_asound +#define snd_ctl_elem_id_clear snd_ctl_elem_id_clear_dylibloader_wrapper_asound +#define snd_ctl_elem_id_copy snd_ctl_elem_id_copy_dylibloader_wrapper_asound +#define snd_ctl_elem_id_get_numid snd_ctl_elem_id_get_numid_dylibloader_wrapper_asound +#define snd_ctl_elem_id_get_interface snd_ctl_elem_id_get_interface_dylibloader_wrapper_asound +#define snd_ctl_elem_id_get_device snd_ctl_elem_id_get_device_dylibloader_wrapper_asound +#define snd_ctl_elem_id_get_subdevice snd_ctl_elem_id_get_subdevice_dylibloader_wrapper_asound +#define snd_ctl_elem_id_get_name snd_ctl_elem_id_get_name_dylibloader_wrapper_asound +#define snd_ctl_elem_id_get_index snd_ctl_elem_id_get_index_dylibloader_wrapper_asound +#define snd_ctl_elem_id_set_numid snd_ctl_elem_id_set_numid_dylibloader_wrapper_asound +#define snd_ctl_elem_id_set_interface snd_ctl_elem_id_set_interface_dylibloader_wrapper_asound +#define snd_ctl_elem_id_set_device snd_ctl_elem_id_set_device_dylibloader_wrapper_asound +#define snd_ctl_elem_id_set_subdevice snd_ctl_elem_id_set_subdevice_dylibloader_wrapper_asound +#define snd_ctl_elem_id_set_name snd_ctl_elem_id_set_name_dylibloader_wrapper_asound +#define snd_ctl_elem_id_set_index snd_ctl_elem_id_set_index_dylibloader_wrapper_asound +#define snd_ctl_card_info_sizeof snd_ctl_card_info_sizeof_dylibloader_wrapper_asound +#define snd_ctl_card_info_malloc snd_ctl_card_info_malloc_dylibloader_wrapper_asound +#define snd_ctl_card_info_free snd_ctl_card_info_free_dylibloader_wrapper_asound +#define snd_ctl_card_info_clear snd_ctl_card_info_clear_dylibloader_wrapper_asound +#define snd_ctl_card_info_copy snd_ctl_card_info_copy_dylibloader_wrapper_asound +#define snd_ctl_card_info_get_card snd_ctl_card_info_get_card_dylibloader_wrapper_asound +#define snd_ctl_card_info_get_id snd_ctl_card_info_get_id_dylibloader_wrapper_asound +#define snd_ctl_card_info_get_driver snd_ctl_card_info_get_driver_dylibloader_wrapper_asound +#define snd_ctl_card_info_get_name snd_ctl_card_info_get_name_dylibloader_wrapper_asound +#define snd_ctl_card_info_get_longname snd_ctl_card_info_get_longname_dylibloader_wrapper_asound +#define snd_ctl_card_info_get_mixername snd_ctl_card_info_get_mixername_dylibloader_wrapper_asound +#define snd_ctl_card_info_get_components snd_ctl_card_info_get_components_dylibloader_wrapper_asound +#define snd_ctl_event_sizeof snd_ctl_event_sizeof_dylibloader_wrapper_asound +#define snd_ctl_event_malloc snd_ctl_event_malloc_dylibloader_wrapper_asound +#define snd_ctl_event_free snd_ctl_event_free_dylibloader_wrapper_asound +#define snd_ctl_event_clear snd_ctl_event_clear_dylibloader_wrapper_asound +#define snd_ctl_event_copy snd_ctl_event_copy_dylibloader_wrapper_asound +#define snd_ctl_event_get_type snd_ctl_event_get_type_dylibloader_wrapper_asound +#define snd_ctl_elem_list_sizeof snd_ctl_elem_list_sizeof_dylibloader_wrapper_asound +#define snd_ctl_elem_list_malloc snd_ctl_elem_list_malloc_dylibloader_wrapper_asound +#define snd_ctl_elem_list_free snd_ctl_elem_list_free_dylibloader_wrapper_asound +#define snd_ctl_elem_list_clear snd_ctl_elem_list_clear_dylibloader_wrapper_asound +#define snd_ctl_elem_list_copy snd_ctl_elem_list_copy_dylibloader_wrapper_asound +#define snd_ctl_elem_list_set_offset snd_ctl_elem_list_set_offset_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_used snd_ctl_elem_list_get_used_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_count snd_ctl_elem_list_get_count_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_id snd_ctl_elem_list_get_id_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_numid snd_ctl_elem_list_get_numid_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_interface snd_ctl_elem_list_get_interface_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_device snd_ctl_elem_list_get_device_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_subdevice snd_ctl_elem_list_get_subdevice_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_name snd_ctl_elem_list_get_name_dylibloader_wrapper_asound +#define snd_ctl_elem_list_get_index snd_ctl_elem_list_get_index_dylibloader_wrapper_asound +#define snd_ctl_elem_info_sizeof snd_ctl_elem_info_sizeof_dylibloader_wrapper_asound +#define snd_ctl_elem_info_malloc snd_ctl_elem_info_malloc_dylibloader_wrapper_asound +#define snd_ctl_elem_info_free snd_ctl_elem_info_free_dylibloader_wrapper_asound +#define snd_ctl_elem_info_clear snd_ctl_elem_info_clear_dylibloader_wrapper_asound +#define snd_ctl_elem_info_copy snd_ctl_elem_info_copy_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_type snd_ctl_elem_info_get_type_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_readable snd_ctl_elem_info_is_readable_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_writable snd_ctl_elem_info_is_writable_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_volatile snd_ctl_elem_info_is_volatile_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_inactive snd_ctl_elem_info_is_inactive_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_locked snd_ctl_elem_info_is_locked_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_tlv_readable snd_ctl_elem_info_is_tlv_readable_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_tlv_writable snd_ctl_elem_info_is_tlv_writable_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_tlv_commandable snd_ctl_elem_info_is_tlv_commandable_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_owner snd_ctl_elem_info_is_owner_dylibloader_wrapper_asound +#define snd_ctl_elem_info_is_user snd_ctl_elem_info_is_user_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_owner snd_ctl_elem_info_get_owner_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_count snd_ctl_elem_info_get_count_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_min snd_ctl_elem_info_get_min_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_max snd_ctl_elem_info_get_max_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_step snd_ctl_elem_info_get_step_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_min64 snd_ctl_elem_info_get_min64_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_max64 snd_ctl_elem_info_get_max64_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_step64 snd_ctl_elem_info_get_step64_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_items snd_ctl_elem_info_get_items_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_item snd_ctl_elem_info_set_item_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_item_name snd_ctl_elem_info_get_item_name_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_dimensions snd_ctl_elem_info_get_dimensions_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_dimension snd_ctl_elem_info_get_dimension_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_dimension snd_ctl_elem_info_set_dimension_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_id snd_ctl_elem_info_get_id_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_numid snd_ctl_elem_info_get_numid_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_interface snd_ctl_elem_info_get_interface_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_device snd_ctl_elem_info_get_device_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_subdevice snd_ctl_elem_info_get_subdevice_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_name snd_ctl_elem_info_get_name_dylibloader_wrapper_asound +#define snd_ctl_elem_info_get_index snd_ctl_elem_info_get_index_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_id snd_ctl_elem_info_set_id_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_numid snd_ctl_elem_info_set_numid_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_interface snd_ctl_elem_info_set_interface_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_device snd_ctl_elem_info_set_device_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_subdevice snd_ctl_elem_info_set_subdevice_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_name snd_ctl_elem_info_set_name_dylibloader_wrapper_asound +#define snd_ctl_elem_info_set_index snd_ctl_elem_info_set_index_dylibloader_wrapper_asound +#define snd_ctl_add_integer_elem_set snd_ctl_add_integer_elem_set_dylibloader_wrapper_asound +#define snd_ctl_add_integer64_elem_set snd_ctl_add_integer64_elem_set_dylibloader_wrapper_asound +#define snd_ctl_add_boolean_elem_set snd_ctl_add_boolean_elem_set_dylibloader_wrapper_asound +#define snd_ctl_add_enumerated_elem_set snd_ctl_add_enumerated_elem_set_dylibloader_wrapper_asound +#define snd_ctl_add_bytes_elem_set snd_ctl_add_bytes_elem_set_dylibloader_wrapper_asound +#define snd_ctl_elem_add_integer snd_ctl_elem_add_integer_dylibloader_wrapper_asound +#define snd_ctl_elem_add_integer64 snd_ctl_elem_add_integer64_dylibloader_wrapper_asound +#define snd_ctl_elem_add_boolean snd_ctl_elem_add_boolean_dylibloader_wrapper_asound +#define snd_ctl_elem_add_enumerated snd_ctl_elem_add_enumerated_dylibloader_wrapper_asound +#define snd_ctl_elem_add_iec958 snd_ctl_elem_add_iec958_dylibloader_wrapper_asound +#define snd_ctl_elem_remove snd_ctl_elem_remove_dylibloader_wrapper_asound +#define snd_ctl_elem_value_sizeof snd_ctl_elem_value_sizeof_dylibloader_wrapper_asound +#define snd_ctl_elem_value_malloc snd_ctl_elem_value_malloc_dylibloader_wrapper_asound +#define snd_ctl_elem_value_free snd_ctl_elem_value_free_dylibloader_wrapper_asound +#define snd_ctl_elem_value_clear snd_ctl_elem_value_clear_dylibloader_wrapper_asound +#define snd_ctl_elem_value_copy snd_ctl_elem_value_copy_dylibloader_wrapper_asound +#define snd_ctl_elem_value_compare snd_ctl_elem_value_compare_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_id snd_ctl_elem_value_get_id_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_numid snd_ctl_elem_value_get_numid_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_interface snd_ctl_elem_value_get_interface_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_device snd_ctl_elem_value_get_device_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_subdevice snd_ctl_elem_value_get_subdevice_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_name snd_ctl_elem_value_get_name_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_index snd_ctl_elem_value_get_index_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_id snd_ctl_elem_value_set_id_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_numid snd_ctl_elem_value_set_numid_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_interface snd_ctl_elem_value_set_interface_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_device snd_ctl_elem_value_set_device_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_subdevice snd_ctl_elem_value_set_subdevice_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_name snd_ctl_elem_value_set_name_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_index snd_ctl_elem_value_set_index_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_boolean snd_ctl_elem_value_get_boolean_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_integer snd_ctl_elem_value_get_integer_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_integer64 snd_ctl_elem_value_get_integer64_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_enumerated snd_ctl_elem_value_get_enumerated_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_byte snd_ctl_elem_value_get_byte_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_boolean snd_ctl_elem_value_set_boolean_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_integer snd_ctl_elem_value_set_integer_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_integer64 snd_ctl_elem_value_set_integer64_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_enumerated snd_ctl_elem_value_set_enumerated_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_byte snd_ctl_elem_value_set_byte_dylibloader_wrapper_asound +#define snd_ctl_elem_set_bytes snd_ctl_elem_set_bytes_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_bytes snd_ctl_elem_value_get_bytes_dylibloader_wrapper_asound +#define snd_ctl_elem_value_get_iec958 snd_ctl_elem_value_get_iec958_dylibloader_wrapper_asound +#define snd_ctl_elem_value_set_iec958 snd_ctl_elem_value_set_iec958_dylibloader_wrapper_asound +#define snd_tlv_parse_dB_info snd_tlv_parse_dB_info_dylibloader_wrapper_asound +#define snd_tlv_get_dB_range snd_tlv_get_dB_range_dylibloader_wrapper_asound +#define snd_tlv_convert_to_dB snd_tlv_convert_to_dB_dylibloader_wrapper_asound +#define snd_tlv_convert_from_dB snd_tlv_convert_from_dB_dylibloader_wrapper_asound +#define snd_ctl_get_dB_range snd_ctl_get_dB_range_dylibloader_wrapper_asound +#define snd_ctl_convert_to_dB snd_ctl_convert_to_dB_dylibloader_wrapper_asound +#define snd_ctl_convert_from_dB snd_ctl_convert_from_dB_dylibloader_wrapper_asound +#define snd_hctl_compare_fast snd_hctl_compare_fast_dylibloader_wrapper_asound +#define snd_hctl_open snd_hctl_open_dylibloader_wrapper_asound +#define snd_hctl_open_ctl snd_hctl_open_ctl_dylibloader_wrapper_asound +#define snd_hctl_close snd_hctl_close_dylibloader_wrapper_asound +#define snd_hctl_nonblock snd_hctl_nonblock_dylibloader_wrapper_asound +#define snd_hctl_poll_descriptors_count snd_hctl_poll_descriptors_count_dylibloader_wrapper_asound +#define snd_hctl_poll_descriptors snd_hctl_poll_descriptors_dylibloader_wrapper_asound +#define snd_hctl_poll_descriptors_revents snd_hctl_poll_descriptors_revents_dylibloader_wrapper_asound +#define snd_hctl_get_count snd_hctl_get_count_dylibloader_wrapper_asound +#define snd_hctl_set_compare snd_hctl_set_compare_dylibloader_wrapper_asound +#define snd_hctl_first_elem snd_hctl_first_elem_dylibloader_wrapper_asound +#define snd_hctl_last_elem snd_hctl_last_elem_dylibloader_wrapper_asound +#define snd_hctl_find_elem snd_hctl_find_elem_dylibloader_wrapper_asound +#define snd_hctl_set_callback snd_hctl_set_callback_dylibloader_wrapper_asound +#define snd_hctl_set_callback_private snd_hctl_set_callback_private_dylibloader_wrapper_asound +#define snd_hctl_get_callback_private snd_hctl_get_callback_private_dylibloader_wrapper_asound +#define snd_hctl_load snd_hctl_load_dylibloader_wrapper_asound +#define snd_hctl_free snd_hctl_free_dylibloader_wrapper_asound +#define snd_hctl_handle_events snd_hctl_handle_events_dylibloader_wrapper_asound +#define snd_hctl_name snd_hctl_name_dylibloader_wrapper_asound +#define snd_hctl_wait snd_hctl_wait_dylibloader_wrapper_asound +#define snd_hctl_ctl snd_hctl_ctl_dylibloader_wrapper_asound +#define snd_hctl_elem_next snd_hctl_elem_next_dylibloader_wrapper_asound +#define snd_hctl_elem_prev snd_hctl_elem_prev_dylibloader_wrapper_asound +#define snd_hctl_elem_info snd_hctl_elem_info_dylibloader_wrapper_asound +#define snd_hctl_elem_read snd_hctl_elem_read_dylibloader_wrapper_asound +#define snd_hctl_elem_write snd_hctl_elem_write_dylibloader_wrapper_asound +#define snd_hctl_elem_tlv_read snd_hctl_elem_tlv_read_dylibloader_wrapper_asound +#define snd_hctl_elem_tlv_write snd_hctl_elem_tlv_write_dylibloader_wrapper_asound +#define snd_hctl_elem_tlv_command snd_hctl_elem_tlv_command_dylibloader_wrapper_asound +#define snd_hctl_elem_get_hctl snd_hctl_elem_get_hctl_dylibloader_wrapper_asound +#define snd_hctl_elem_get_id snd_hctl_elem_get_id_dylibloader_wrapper_asound +#define snd_hctl_elem_get_numid snd_hctl_elem_get_numid_dylibloader_wrapper_asound +#define snd_hctl_elem_get_interface snd_hctl_elem_get_interface_dylibloader_wrapper_asound +#define snd_hctl_elem_get_device snd_hctl_elem_get_device_dylibloader_wrapper_asound +#define snd_hctl_elem_get_subdevice snd_hctl_elem_get_subdevice_dylibloader_wrapper_asound +#define snd_hctl_elem_get_name snd_hctl_elem_get_name_dylibloader_wrapper_asound +#define snd_hctl_elem_get_index snd_hctl_elem_get_index_dylibloader_wrapper_asound +#define snd_hctl_elem_set_callback snd_hctl_elem_set_callback_dylibloader_wrapper_asound +#define snd_hctl_elem_get_callback_private snd_hctl_elem_get_callback_private_dylibloader_wrapper_asound +#define snd_hctl_elem_set_callback_private snd_hctl_elem_set_callback_private_dylibloader_wrapper_asound +#define snd_sctl_build snd_sctl_build_dylibloader_wrapper_asound +#define snd_sctl_free snd_sctl_free_dylibloader_wrapper_asound +#define snd_sctl_install snd_sctl_install_dylibloader_wrapper_asound +#define snd_sctl_remove snd_sctl_remove_dylibloader_wrapper_asound +#define snd_mixer_open snd_mixer_open_dylibloader_wrapper_asound +#define snd_mixer_close snd_mixer_close_dylibloader_wrapper_asound +#define snd_mixer_first_elem snd_mixer_first_elem_dylibloader_wrapper_asound +#define snd_mixer_last_elem snd_mixer_last_elem_dylibloader_wrapper_asound +#define snd_mixer_handle_events snd_mixer_handle_events_dylibloader_wrapper_asound +#define snd_mixer_attach snd_mixer_attach_dylibloader_wrapper_asound +#define snd_mixer_attach_hctl snd_mixer_attach_hctl_dylibloader_wrapper_asound +#define snd_mixer_detach snd_mixer_detach_dylibloader_wrapper_asound +#define snd_mixer_detach_hctl snd_mixer_detach_hctl_dylibloader_wrapper_asound +#define snd_mixer_get_hctl snd_mixer_get_hctl_dylibloader_wrapper_asound +#define snd_mixer_poll_descriptors_count snd_mixer_poll_descriptors_count_dylibloader_wrapper_asound +#define snd_mixer_poll_descriptors snd_mixer_poll_descriptors_dylibloader_wrapper_asound +#define snd_mixer_poll_descriptors_revents snd_mixer_poll_descriptors_revents_dylibloader_wrapper_asound +#define snd_mixer_load snd_mixer_load_dylibloader_wrapper_asound +#define snd_mixer_free snd_mixer_free_dylibloader_wrapper_asound +#define snd_mixer_wait snd_mixer_wait_dylibloader_wrapper_asound +#define snd_mixer_set_compare snd_mixer_set_compare_dylibloader_wrapper_asound +#define snd_mixer_set_callback snd_mixer_set_callback_dylibloader_wrapper_asound +#define snd_mixer_get_callback_private snd_mixer_get_callback_private_dylibloader_wrapper_asound +#define snd_mixer_set_callback_private snd_mixer_set_callback_private_dylibloader_wrapper_asound +#define snd_mixer_get_count snd_mixer_get_count_dylibloader_wrapper_asound +#define snd_mixer_class_unregister snd_mixer_class_unregister_dylibloader_wrapper_asound +#define snd_mixer_elem_next snd_mixer_elem_next_dylibloader_wrapper_asound +#define snd_mixer_elem_prev snd_mixer_elem_prev_dylibloader_wrapper_asound +#define snd_mixer_elem_set_callback snd_mixer_elem_set_callback_dylibloader_wrapper_asound +#define snd_mixer_elem_get_callback_private snd_mixer_elem_get_callback_private_dylibloader_wrapper_asound +#define snd_mixer_elem_set_callback_private snd_mixer_elem_set_callback_private_dylibloader_wrapper_asound +#define snd_mixer_elem_get_type snd_mixer_elem_get_type_dylibloader_wrapper_asound +#define snd_mixer_class_register snd_mixer_class_register_dylibloader_wrapper_asound +#define snd_mixer_elem_new snd_mixer_elem_new_dylibloader_wrapper_asound +#define snd_mixer_elem_add snd_mixer_elem_add_dylibloader_wrapper_asound +#define snd_mixer_elem_remove snd_mixer_elem_remove_dylibloader_wrapper_asound +#define snd_mixer_elem_free snd_mixer_elem_free_dylibloader_wrapper_asound +#define snd_mixer_elem_info snd_mixer_elem_info_dylibloader_wrapper_asound +#define snd_mixer_elem_value snd_mixer_elem_value_dylibloader_wrapper_asound +#define snd_mixer_elem_attach snd_mixer_elem_attach_dylibloader_wrapper_asound +#define snd_mixer_elem_detach snd_mixer_elem_detach_dylibloader_wrapper_asound +#define snd_mixer_elem_empty snd_mixer_elem_empty_dylibloader_wrapper_asound +#define snd_mixer_elem_get_private snd_mixer_elem_get_private_dylibloader_wrapper_asound +#define snd_mixer_class_sizeof snd_mixer_class_sizeof_dylibloader_wrapper_asound +#define snd_mixer_class_malloc snd_mixer_class_malloc_dylibloader_wrapper_asound +#define snd_mixer_class_free snd_mixer_class_free_dylibloader_wrapper_asound +#define snd_mixer_class_copy snd_mixer_class_copy_dylibloader_wrapper_asound +#define snd_mixer_class_get_mixer snd_mixer_class_get_mixer_dylibloader_wrapper_asound +#define snd_mixer_class_get_event snd_mixer_class_get_event_dylibloader_wrapper_asound +#define snd_mixer_class_get_private snd_mixer_class_get_private_dylibloader_wrapper_asound +#define snd_mixer_class_get_compare snd_mixer_class_get_compare_dylibloader_wrapper_asound +#define snd_mixer_class_set_event snd_mixer_class_set_event_dylibloader_wrapper_asound +#define snd_mixer_class_set_private snd_mixer_class_set_private_dylibloader_wrapper_asound +#define snd_mixer_class_set_private_free snd_mixer_class_set_private_free_dylibloader_wrapper_asound +#define snd_mixer_class_set_compare snd_mixer_class_set_compare_dylibloader_wrapper_asound +#define snd_mixer_selem_channel_name snd_mixer_selem_channel_name_dylibloader_wrapper_asound +#define snd_mixer_selem_register snd_mixer_selem_register_dylibloader_wrapper_asound +#define snd_mixer_selem_get_id snd_mixer_selem_get_id_dylibloader_wrapper_asound +#define snd_mixer_selem_get_name snd_mixer_selem_get_name_dylibloader_wrapper_asound +#define snd_mixer_selem_get_index snd_mixer_selem_get_index_dylibloader_wrapper_asound +#define snd_mixer_find_selem snd_mixer_find_selem_dylibloader_wrapper_asound +#define snd_mixer_selem_is_active snd_mixer_selem_is_active_dylibloader_wrapper_asound +#define snd_mixer_selem_is_playback_mono snd_mixer_selem_is_playback_mono_dylibloader_wrapper_asound +#define snd_mixer_selem_has_playback_channel snd_mixer_selem_has_playback_channel_dylibloader_wrapper_asound +#define snd_mixer_selem_is_capture_mono snd_mixer_selem_is_capture_mono_dylibloader_wrapper_asound +#define snd_mixer_selem_has_capture_channel snd_mixer_selem_has_capture_channel_dylibloader_wrapper_asound +#define snd_mixer_selem_get_capture_group snd_mixer_selem_get_capture_group_dylibloader_wrapper_asound +#define snd_mixer_selem_has_common_volume snd_mixer_selem_has_common_volume_dylibloader_wrapper_asound +#define snd_mixer_selem_has_playback_volume snd_mixer_selem_has_playback_volume_dylibloader_wrapper_asound +#define snd_mixer_selem_has_playback_volume_joined snd_mixer_selem_has_playback_volume_joined_dylibloader_wrapper_asound +#define snd_mixer_selem_has_capture_volume snd_mixer_selem_has_capture_volume_dylibloader_wrapper_asound +#define snd_mixer_selem_has_capture_volume_joined snd_mixer_selem_has_capture_volume_joined_dylibloader_wrapper_asound +#define snd_mixer_selem_has_common_switch snd_mixer_selem_has_common_switch_dylibloader_wrapper_asound +#define snd_mixer_selem_has_playback_switch snd_mixer_selem_has_playback_switch_dylibloader_wrapper_asound +#define snd_mixer_selem_has_playback_switch_joined snd_mixer_selem_has_playback_switch_joined_dylibloader_wrapper_asound +#define snd_mixer_selem_has_capture_switch snd_mixer_selem_has_capture_switch_dylibloader_wrapper_asound +#define snd_mixer_selem_has_capture_switch_joined snd_mixer_selem_has_capture_switch_joined_dylibloader_wrapper_asound +#define snd_mixer_selem_has_capture_switch_exclusive snd_mixer_selem_has_capture_switch_exclusive_dylibloader_wrapper_asound +#define snd_mixer_selem_ask_playback_vol_dB snd_mixer_selem_ask_playback_vol_dB_dylibloader_wrapper_asound +#define snd_mixer_selem_ask_capture_vol_dB snd_mixer_selem_ask_capture_vol_dB_dylibloader_wrapper_asound +#define snd_mixer_selem_ask_playback_dB_vol snd_mixer_selem_ask_playback_dB_vol_dylibloader_wrapper_asound +#define snd_mixer_selem_ask_capture_dB_vol snd_mixer_selem_ask_capture_dB_vol_dylibloader_wrapper_asound +#define snd_mixer_selem_get_playback_volume snd_mixer_selem_get_playback_volume_dylibloader_wrapper_asound +#define snd_mixer_selem_get_capture_volume snd_mixer_selem_get_capture_volume_dylibloader_wrapper_asound +#define snd_mixer_selem_get_playback_dB snd_mixer_selem_get_playback_dB_dylibloader_wrapper_asound +#define snd_mixer_selem_get_capture_dB snd_mixer_selem_get_capture_dB_dylibloader_wrapper_asound +#define snd_mixer_selem_get_playback_switch snd_mixer_selem_get_playback_switch_dylibloader_wrapper_asound +#define snd_mixer_selem_get_capture_switch snd_mixer_selem_get_capture_switch_dylibloader_wrapper_asound +#define snd_mixer_selem_set_playback_volume snd_mixer_selem_set_playback_volume_dylibloader_wrapper_asound +#define snd_mixer_selem_set_capture_volume snd_mixer_selem_set_capture_volume_dylibloader_wrapper_asound +#define snd_mixer_selem_set_playback_dB snd_mixer_selem_set_playback_dB_dylibloader_wrapper_asound +#define snd_mixer_selem_set_capture_dB snd_mixer_selem_set_capture_dB_dylibloader_wrapper_asound +#define snd_mixer_selem_set_playback_volume_all snd_mixer_selem_set_playback_volume_all_dylibloader_wrapper_asound +#define snd_mixer_selem_set_capture_volume_all snd_mixer_selem_set_capture_volume_all_dylibloader_wrapper_asound +#define snd_mixer_selem_set_playback_dB_all snd_mixer_selem_set_playback_dB_all_dylibloader_wrapper_asound +#define snd_mixer_selem_set_capture_dB_all snd_mixer_selem_set_capture_dB_all_dylibloader_wrapper_asound +#define snd_mixer_selem_set_playback_switch snd_mixer_selem_set_playback_switch_dylibloader_wrapper_asound +#define snd_mixer_selem_set_capture_switch snd_mixer_selem_set_capture_switch_dylibloader_wrapper_asound +#define snd_mixer_selem_set_playback_switch_all snd_mixer_selem_set_playback_switch_all_dylibloader_wrapper_asound +#define snd_mixer_selem_set_capture_switch_all snd_mixer_selem_set_capture_switch_all_dylibloader_wrapper_asound +#define snd_mixer_selem_get_playback_volume_range snd_mixer_selem_get_playback_volume_range_dylibloader_wrapper_asound +#define snd_mixer_selem_get_playback_dB_range snd_mixer_selem_get_playback_dB_range_dylibloader_wrapper_asound +#define snd_mixer_selem_set_playback_volume_range snd_mixer_selem_set_playback_volume_range_dylibloader_wrapper_asound +#define snd_mixer_selem_get_capture_volume_range snd_mixer_selem_get_capture_volume_range_dylibloader_wrapper_asound +#define snd_mixer_selem_get_capture_dB_range snd_mixer_selem_get_capture_dB_range_dylibloader_wrapper_asound +#define snd_mixer_selem_set_capture_volume_range snd_mixer_selem_set_capture_volume_range_dylibloader_wrapper_asound +#define snd_mixer_selem_is_enumerated snd_mixer_selem_is_enumerated_dylibloader_wrapper_asound +#define snd_mixer_selem_is_enum_playback snd_mixer_selem_is_enum_playback_dylibloader_wrapper_asound +#define snd_mixer_selem_is_enum_capture snd_mixer_selem_is_enum_capture_dylibloader_wrapper_asound +#define snd_mixer_selem_get_enum_items snd_mixer_selem_get_enum_items_dylibloader_wrapper_asound +#define snd_mixer_selem_get_enum_item_name snd_mixer_selem_get_enum_item_name_dylibloader_wrapper_asound +#define snd_mixer_selem_get_enum_item snd_mixer_selem_get_enum_item_dylibloader_wrapper_asound +#define snd_mixer_selem_set_enum_item snd_mixer_selem_set_enum_item_dylibloader_wrapper_asound +#define snd_mixer_selem_id_sizeof snd_mixer_selem_id_sizeof_dylibloader_wrapper_asound +#define snd_mixer_selem_id_malloc snd_mixer_selem_id_malloc_dylibloader_wrapper_asound +#define snd_mixer_selem_id_free snd_mixer_selem_id_free_dylibloader_wrapper_asound +#define snd_mixer_selem_id_copy snd_mixer_selem_id_copy_dylibloader_wrapper_asound +#define snd_mixer_selem_id_get_name snd_mixer_selem_id_get_name_dylibloader_wrapper_asound +#define snd_mixer_selem_id_get_index snd_mixer_selem_id_get_index_dylibloader_wrapper_asound +#define snd_mixer_selem_id_set_name snd_mixer_selem_id_set_name_dylibloader_wrapper_asound +#define snd_mixer_selem_id_set_index snd_mixer_selem_id_set_index_dylibloader_wrapper_asound +#define snd_mixer_selem_id_parse snd_mixer_selem_id_parse_dylibloader_wrapper_asound +#define snd_seq_open snd_seq_open_dylibloader_wrapper_asound +#define snd_seq_open_lconf snd_seq_open_lconf_dylibloader_wrapper_asound +#define snd_seq_name snd_seq_name_dylibloader_wrapper_asound +#define snd_seq_type snd_seq_type_dylibloader_wrapper_asound +#define snd_seq_close snd_seq_close_dylibloader_wrapper_asound +#define snd_seq_poll_descriptors_count snd_seq_poll_descriptors_count_dylibloader_wrapper_asound +#define snd_seq_poll_descriptors snd_seq_poll_descriptors_dylibloader_wrapper_asound +#define snd_seq_poll_descriptors_revents snd_seq_poll_descriptors_revents_dylibloader_wrapper_asound +#define snd_seq_nonblock snd_seq_nonblock_dylibloader_wrapper_asound +#define snd_seq_client_id snd_seq_client_id_dylibloader_wrapper_asound +#define snd_seq_get_output_buffer_size snd_seq_get_output_buffer_size_dylibloader_wrapper_asound +#define snd_seq_get_input_buffer_size snd_seq_get_input_buffer_size_dylibloader_wrapper_asound +#define snd_seq_set_output_buffer_size snd_seq_set_output_buffer_size_dylibloader_wrapper_asound +#define snd_seq_set_input_buffer_size snd_seq_set_input_buffer_size_dylibloader_wrapper_asound +#define snd_seq_system_info_sizeof snd_seq_system_info_sizeof_dylibloader_wrapper_asound +#define snd_seq_system_info_malloc snd_seq_system_info_malloc_dylibloader_wrapper_asound +#define snd_seq_system_info_free snd_seq_system_info_free_dylibloader_wrapper_asound +#define snd_seq_system_info_copy snd_seq_system_info_copy_dylibloader_wrapper_asound +#define snd_seq_system_info_get_queues snd_seq_system_info_get_queues_dylibloader_wrapper_asound +#define snd_seq_system_info_get_clients snd_seq_system_info_get_clients_dylibloader_wrapper_asound +#define snd_seq_system_info_get_ports snd_seq_system_info_get_ports_dylibloader_wrapper_asound +#define snd_seq_system_info_get_channels snd_seq_system_info_get_channels_dylibloader_wrapper_asound +#define snd_seq_system_info_get_cur_clients snd_seq_system_info_get_cur_clients_dylibloader_wrapper_asound +#define snd_seq_system_info_get_cur_queues snd_seq_system_info_get_cur_queues_dylibloader_wrapper_asound +#define snd_seq_system_info snd_seq_system_info_dylibloader_wrapper_asound +#define snd_seq_client_info_sizeof snd_seq_client_info_sizeof_dylibloader_wrapper_asound +#define snd_seq_client_info_malloc snd_seq_client_info_malloc_dylibloader_wrapper_asound +#define snd_seq_client_info_free snd_seq_client_info_free_dylibloader_wrapper_asound +#define snd_seq_client_info_copy snd_seq_client_info_copy_dylibloader_wrapper_asound +#define snd_seq_client_info_get_client snd_seq_client_info_get_client_dylibloader_wrapper_asound +#define snd_seq_client_info_get_type snd_seq_client_info_get_type_dylibloader_wrapper_asound +#define snd_seq_client_info_get_name snd_seq_client_info_get_name_dylibloader_wrapper_asound +#define snd_seq_client_info_get_broadcast_filter snd_seq_client_info_get_broadcast_filter_dylibloader_wrapper_asound +#define snd_seq_client_info_get_error_bounce snd_seq_client_info_get_error_bounce_dylibloader_wrapper_asound +#define snd_seq_client_info_get_card snd_seq_client_info_get_card_dylibloader_wrapper_asound +#define snd_seq_client_info_get_pid snd_seq_client_info_get_pid_dylibloader_wrapper_asound +#define snd_seq_client_info_get_event_filter snd_seq_client_info_get_event_filter_dylibloader_wrapper_asound +#define snd_seq_client_info_get_num_ports snd_seq_client_info_get_num_ports_dylibloader_wrapper_asound +#define snd_seq_client_info_get_event_lost snd_seq_client_info_get_event_lost_dylibloader_wrapper_asound +#define snd_seq_client_info_set_client snd_seq_client_info_set_client_dylibloader_wrapper_asound +#define snd_seq_client_info_set_name snd_seq_client_info_set_name_dylibloader_wrapper_asound +#define snd_seq_client_info_set_broadcast_filter snd_seq_client_info_set_broadcast_filter_dylibloader_wrapper_asound +#define snd_seq_client_info_set_error_bounce snd_seq_client_info_set_error_bounce_dylibloader_wrapper_asound +#define snd_seq_client_info_set_event_filter snd_seq_client_info_set_event_filter_dylibloader_wrapper_asound +#define snd_seq_client_info_event_filter_clear snd_seq_client_info_event_filter_clear_dylibloader_wrapper_asound +#define snd_seq_client_info_event_filter_add snd_seq_client_info_event_filter_add_dylibloader_wrapper_asound +#define snd_seq_client_info_event_filter_del snd_seq_client_info_event_filter_del_dylibloader_wrapper_asound +#define snd_seq_client_info_event_filter_check snd_seq_client_info_event_filter_check_dylibloader_wrapper_asound +#define snd_seq_get_client_info snd_seq_get_client_info_dylibloader_wrapper_asound +#define snd_seq_get_any_client_info snd_seq_get_any_client_info_dylibloader_wrapper_asound +#define snd_seq_set_client_info snd_seq_set_client_info_dylibloader_wrapper_asound +#define snd_seq_query_next_client snd_seq_query_next_client_dylibloader_wrapper_asound +#define snd_seq_client_pool_sizeof snd_seq_client_pool_sizeof_dylibloader_wrapper_asound +#define snd_seq_client_pool_malloc snd_seq_client_pool_malloc_dylibloader_wrapper_asound +#define snd_seq_client_pool_free snd_seq_client_pool_free_dylibloader_wrapper_asound +#define snd_seq_client_pool_copy snd_seq_client_pool_copy_dylibloader_wrapper_asound +#define snd_seq_client_pool_get_client snd_seq_client_pool_get_client_dylibloader_wrapper_asound +#define snd_seq_client_pool_get_output_pool snd_seq_client_pool_get_output_pool_dylibloader_wrapper_asound +#define snd_seq_client_pool_get_input_pool snd_seq_client_pool_get_input_pool_dylibloader_wrapper_asound +#define snd_seq_client_pool_get_output_room snd_seq_client_pool_get_output_room_dylibloader_wrapper_asound +#define snd_seq_client_pool_get_output_free snd_seq_client_pool_get_output_free_dylibloader_wrapper_asound +#define snd_seq_client_pool_get_input_free snd_seq_client_pool_get_input_free_dylibloader_wrapper_asound +#define snd_seq_client_pool_set_output_pool snd_seq_client_pool_set_output_pool_dylibloader_wrapper_asound +#define snd_seq_client_pool_set_input_pool snd_seq_client_pool_set_input_pool_dylibloader_wrapper_asound +#define snd_seq_client_pool_set_output_room snd_seq_client_pool_set_output_room_dylibloader_wrapper_asound +#define snd_seq_get_client_pool snd_seq_get_client_pool_dylibloader_wrapper_asound +#define snd_seq_set_client_pool snd_seq_set_client_pool_dylibloader_wrapper_asound +#define snd_seq_port_info_sizeof snd_seq_port_info_sizeof_dylibloader_wrapper_asound +#define snd_seq_port_info_malloc snd_seq_port_info_malloc_dylibloader_wrapper_asound +#define snd_seq_port_info_free snd_seq_port_info_free_dylibloader_wrapper_asound +#define snd_seq_port_info_copy snd_seq_port_info_copy_dylibloader_wrapper_asound +#define snd_seq_port_info_get_client snd_seq_port_info_get_client_dylibloader_wrapper_asound +#define snd_seq_port_info_get_port snd_seq_port_info_get_port_dylibloader_wrapper_asound +#define snd_seq_port_info_get_addr snd_seq_port_info_get_addr_dylibloader_wrapper_asound +#define snd_seq_port_info_get_name snd_seq_port_info_get_name_dylibloader_wrapper_asound +#define snd_seq_port_info_get_capability snd_seq_port_info_get_capability_dylibloader_wrapper_asound +#define snd_seq_port_info_get_type snd_seq_port_info_get_type_dylibloader_wrapper_asound +#define snd_seq_port_info_get_midi_channels snd_seq_port_info_get_midi_channels_dylibloader_wrapper_asound +#define snd_seq_port_info_get_midi_voices snd_seq_port_info_get_midi_voices_dylibloader_wrapper_asound +#define snd_seq_port_info_get_synth_voices snd_seq_port_info_get_synth_voices_dylibloader_wrapper_asound +#define snd_seq_port_info_get_read_use snd_seq_port_info_get_read_use_dylibloader_wrapper_asound +#define snd_seq_port_info_get_write_use snd_seq_port_info_get_write_use_dylibloader_wrapper_asound +#define snd_seq_port_info_get_port_specified snd_seq_port_info_get_port_specified_dylibloader_wrapper_asound +#define snd_seq_port_info_get_timestamping snd_seq_port_info_get_timestamping_dylibloader_wrapper_asound +#define snd_seq_port_info_get_timestamp_real snd_seq_port_info_get_timestamp_real_dylibloader_wrapper_asound +#define snd_seq_port_info_get_timestamp_queue snd_seq_port_info_get_timestamp_queue_dylibloader_wrapper_asound +#define snd_seq_port_info_set_client snd_seq_port_info_set_client_dylibloader_wrapper_asound +#define snd_seq_port_info_set_port snd_seq_port_info_set_port_dylibloader_wrapper_asound +#define snd_seq_port_info_set_addr snd_seq_port_info_set_addr_dylibloader_wrapper_asound +#define snd_seq_port_info_set_name snd_seq_port_info_set_name_dylibloader_wrapper_asound +#define snd_seq_port_info_set_capability snd_seq_port_info_set_capability_dylibloader_wrapper_asound +#define snd_seq_port_info_set_type snd_seq_port_info_set_type_dylibloader_wrapper_asound +#define snd_seq_port_info_set_midi_channels snd_seq_port_info_set_midi_channels_dylibloader_wrapper_asound +#define snd_seq_port_info_set_midi_voices snd_seq_port_info_set_midi_voices_dylibloader_wrapper_asound +#define snd_seq_port_info_set_synth_voices snd_seq_port_info_set_synth_voices_dylibloader_wrapper_asound +#define snd_seq_port_info_set_port_specified snd_seq_port_info_set_port_specified_dylibloader_wrapper_asound +#define snd_seq_port_info_set_timestamping snd_seq_port_info_set_timestamping_dylibloader_wrapper_asound +#define snd_seq_port_info_set_timestamp_real snd_seq_port_info_set_timestamp_real_dylibloader_wrapper_asound +#define snd_seq_port_info_set_timestamp_queue snd_seq_port_info_set_timestamp_queue_dylibloader_wrapper_asound +#define snd_seq_create_port snd_seq_create_port_dylibloader_wrapper_asound +#define snd_seq_delete_port snd_seq_delete_port_dylibloader_wrapper_asound +#define snd_seq_get_port_info snd_seq_get_port_info_dylibloader_wrapper_asound +#define snd_seq_get_any_port_info snd_seq_get_any_port_info_dylibloader_wrapper_asound +#define snd_seq_set_port_info snd_seq_set_port_info_dylibloader_wrapper_asound +#define snd_seq_query_next_port snd_seq_query_next_port_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_sizeof snd_seq_port_subscribe_sizeof_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_malloc snd_seq_port_subscribe_malloc_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_free snd_seq_port_subscribe_free_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_copy snd_seq_port_subscribe_copy_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_get_sender snd_seq_port_subscribe_get_sender_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_get_dest snd_seq_port_subscribe_get_dest_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_get_queue snd_seq_port_subscribe_get_queue_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_get_exclusive snd_seq_port_subscribe_get_exclusive_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_get_time_update snd_seq_port_subscribe_get_time_update_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_get_time_real snd_seq_port_subscribe_get_time_real_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_set_sender snd_seq_port_subscribe_set_sender_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_set_dest snd_seq_port_subscribe_set_dest_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_set_queue snd_seq_port_subscribe_set_queue_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_set_exclusive snd_seq_port_subscribe_set_exclusive_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_set_time_update snd_seq_port_subscribe_set_time_update_dylibloader_wrapper_asound +#define snd_seq_port_subscribe_set_time_real snd_seq_port_subscribe_set_time_real_dylibloader_wrapper_asound +#define snd_seq_get_port_subscription snd_seq_get_port_subscription_dylibloader_wrapper_asound +#define snd_seq_subscribe_port snd_seq_subscribe_port_dylibloader_wrapper_asound +#define snd_seq_unsubscribe_port snd_seq_unsubscribe_port_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_sizeof snd_seq_query_subscribe_sizeof_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_malloc snd_seq_query_subscribe_malloc_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_free snd_seq_query_subscribe_free_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_copy snd_seq_query_subscribe_copy_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_client snd_seq_query_subscribe_get_client_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_port snd_seq_query_subscribe_get_port_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_root snd_seq_query_subscribe_get_root_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_type snd_seq_query_subscribe_get_type_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_index snd_seq_query_subscribe_get_index_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_num_subs snd_seq_query_subscribe_get_num_subs_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_addr snd_seq_query_subscribe_get_addr_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_queue snd_seq_query_subscribe_get_queue_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_exclusive snd_seq_query_subscribe_get_exclusive_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_time_update snd_seq_query_subscribe_get_time_update_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_get_time_real snd_seq_query_subscribe_get_time_real_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_set_client snd_seq_query_subscribe_set_client_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_set_port snd_seq_query_subscribe_set_port_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_set_root snd_seq_query_subscribe_set_root_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_set_type snd_seq_query_subscribe_set_type_dylibloader_wrapper_asound +#define snd_seq_query_subscribe_set_index snd_seq_query_subscribe_set_index_dylibloader_wrapper_asound +#define snd_seq_query_port_subscribers snd_seq_query_port_subscribers_dylibloader_wrapper_asound +#define snd_seq_queue_info_sizeof snd_seq_queue_info_sizeof_dylibloader_wrapper_asound +#define snd_seq_queue_info_malloc snd_seq_queue_info_malloc_dylibloader_wrapper_asound +#define snd_seq_queue_info_free snd_seq_queue_info_free_dylibloader_wrapper_asound +#define snd_seq_queue_info_copy snd_seq_queue_info_copy_dylibloader_wrapper_asound +#define snd_seq_queue_info_get_queue snd_seq_queue_info_get_queue_dylibloader_wrapper_asound +#define snd_seq_queue_info_get_name snd_seq_queue_info_get_name_dylibloader_wrapper_asound +#define snd_seq_queue_info_get_owner snd_seq_queue_info_get_owner_dylibloader_wrapper_asound +#define snd_seq_queue_info_get_locked snd_seq_queue_info_get_locked_dylibloader_wrapper_asound +#define snd_seq_queue_info_get_flags snd_seq_queue_info_get_flags_dylibloader_wrapper_asound +#define snd_seq_queue_info_set_name snd_seq_queue_info_set_name_dylibloader_wrapper_asound +#define snd_seq_queue_info_set_owner snd_seq_queue_info_set_owner_dylibloader_wrapper_asound +#define snd_seq_queue_info_set_locked snd_seq_queue_info_set_locked_dylibloader_wrapper_asound +#define snd_seq_queue_info_set_flags snd_seq_queue_info_set_flags_dylibloader_wrapper_asound +#define snd_seq_create_queue snd_seq_create_queue_dylibloader_wrapper_asound +#define snd_seq_alloc_named_queue snd_seq_alloc_named_queue_dylibloader_wrapper_asound +#define snd_seq_alloc_queue snd_seq_alloc_queue_dylibloader_wrapper_asound +#define snd_seq_free_queue snd_seq_free_queue_dylibloader_wrapper_asound +#define snd_seq_get_queue_info snd_seq_get_queue_info_dylibloader_wrapper_asound +#define snd_seq_set_queue_info snd_seq_set_queue_info_dylibloader_wrapper_asound +#define snd_seq_query_named_queue snd_seq_query_named_queue_dylibloader_wrapper_asound +#define snd_seq_get_queue_usage snd_seq_get_queue_usage_dylibloader_wrapper_asound +#define snd_seq_set_queue_usage snd_seq_set_queue_usage_dylibloader_wrapper_asound +#define snd_seq_queue_status_sizeof snd_seq_queue_status_sizeof_dylibloader_wrapper_asound +#define snd_seq_queue_status_malloc snd_seq_queue_status_malloc_dylibloader_wrapper_asound +#define snd_seq_queue_status_free snd_seq_queue_status_free_dylibloader_wrapper_asound +#define snd_seq_queue_status_copy snd_seq_queue_status_copy_dylibloader_wrapper_asound +#define snd_seq_queue_status_get_queue snd_seq_queue_status_get_queue_dylibloader_wrapper_asound +#define snd_seq_queue_status_get_events snd_seq_queue_status_get_events_dylibloader_wrapper_asound +#define snd_seq_queue_status_get_tick_time snd_seq_queue_status_get_tick_time_dylibloader_wrapper_asound +#define snd_seq_queue_status_get_real_time snd_seq_queue_status_get_real_time_dylibloader_wrapper_asound +#define snd_seq_queue_status_get_status snd_seq_queue_status_get_status_dylibloader_wrapper_asound +#define snd_seq_get_queue_status snd_seq_get_queue_status_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_sizeof snd_seq_queue_tempo_sizeof_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_malloc snd_seq_queue_tempo_malloc_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_free snd_seq_queue_tempo_free_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_copy snd_seq_queue_tempo_copy_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_get_queue snd_seq_queue_tempo_get_queue_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_get_tempo snd_seq_queue_tempo_get_tempo_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_get_ppq snd_seq_queue_tempo_get_ppq_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_get_skew snd_seq_queue_tempo_get_skew_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_get_skew_base snd_seq_queue_tempo_get_skew_base_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_set_tempo snd_seq_queue_tempo_set_tempo_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_set_ppq snd_seq_queue_tempo_set_ppq_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_set_skew snd_seq_queue_tempo_set_skew_dylibloader_wrapper_asound +#define snd_seq_queue_tempo_set_skew_base snd_seq_queue_tempo_set_skew_base_dylibloader_wrapper_asound +#define snd_seq_get_queue_tempo snd_seq_get_queue_tempo_dylibloader_wrapper_asound +#define snd_seq_set_queue_tempo snd_seq_set_queue_tempo_dylibloader_wrapper_asound +#define snd_seq_queue_timer_sizeof snd_seq_queue_timer_sizeof_dylibloader_wrapper_asound +#define snd_seq_queue_timer_malloc snd_seq_queue_timer_malloc_dylibloader_wrapper_asound +#define snd_seq_queue_timer_free snd_seq_queue_timer_free_dylibloader_wrapper_asound +#define snd_seq_queue_timer_copy snd_seq_queue_timer_copy_dylibloader_wrapper_asound +#define snd_seq_queue_timer_get_queue snd_seq_queue_timer_get_queue_dylibloader_wrapper_asound +#define snd_seq_queue_timer_get_type snd_seq_queue_timer_get_type_dylibloader_wrapper_asound +#define snd_seq_queue_timer_get_id snd_seq_queue_timer_get_id_dylibloader_wrapper_asound +#define snd_seq_queue_timer_get_resolution snd_seq_queue_timer_get_resolution_dylibloader_wrapper_asound +#define snd_seq_queue_timer_set_type snd_seq_queue_timer_set_type_dylibloader_wrapper_asound +#define snd_seq_queue_timer_set_id snd_seq_queue_timer_set_id_dylibloader_wrapper_asound +#define snd_seq_queue_timer_set_resolution snd_seq_queue_timer_set_resolution_dylibloader_wrapper_asound +#define snd_seq_get_queue_timer snd_seq_get_queue_timer_dylibloader_wrapper_asound +#define snd_seq_set_queue_timer snd_seq_set_queue_timer_dylibloader_wrapper_asound +#define snd_seq_free_event snd_seq_free_event_dylibloader_wrapper_asound +#define snd_seq_event_length snd_seq_event_length_dylibloader_wrapper_asound +#define snd_seq_event_output snd_seq_event_output_dylibloader_wrapper_asound +#define snd_seq_event_output_buffer snd_seq_event_output_buffer_dylibloader_wrapper_asound +#define snd_seq_event_output_direct snd_seq_event_output_direct_dylibloader_wrapper_asound +#define snd_seq_event_input snd_seq_event_input_dylibloader_wrapper_asound +#define snd_seq_event_input_pending snd_seq_event_input_pending_dylibloader_wrapper_asound +#define snd_seq_drain_output snd_seq_drain_output_dylibloader_wrapper_asound +#define snd_seq_event_output_pending snd_seq_event_output_pending_dylibloader_wrapper_asound +#define snd_seq_extract_output snd_seq_extract_output_dylibloader_wrapper_asound +#define snd_seq_drop_output snd_seq_drop_output_dylibloader_wrapper_asound +#define snd_seq_drop_output_buffer snd_seq_drop_output_buffer_dylibloader_wrapper_asound +#define snd_seq_drop_input snd_seq_drop_input_dylibloader_wrapper_asound +#define snd_seq_drop_input_buffer snd_seq_drop_input_buffer_dylibloader_wrapper_asound +#define snd_seq_remove_events_sizeof snd_seq_remove_events_sizeof_dylibloader_wrapper_asound +#define snd_seq_remove_events_malloc snd_seq_remove_events_malloc_dylibloader_wrapper_asound +#define snd_seq_remove_events_free snd_seq_remove_events_free_dylibloader_wrapper_asound +#define snd_seq_remove_events_copy snd_seq_remove_events_copy_dylibloader_wrapper_asound +#define snd_seq_remove_events_get_condition snd_seq_remove_events_get_condition_dylibloader_wrapper_asound +#define snd_seq_remove_events_get_queue snd_seq_remove_events_get_queue_dylibloader_wrapper_asound +#define snd_seq_remove_events_get_time snd_seq_remove_events_get_time_dylibloader_wrapper_asound +#define snd_seq_remove_events_get_dest snd_seq_remove_events_get_dest_dylibloader_wrapper_asound +#define snd_seq_remove_events_get_channel snd_seq_remove_events_get_channel_dylibloader_wrapper_asound +#define snd_seq_remove_events_get_event_type snd_seq_remove_events_get_event_type_dylibloader_wrapper_asound +#define snd_seq_remove_events_get_tag snd_seq_remove_events_get_tag_dylibloader_wrapper_asound +#define snd_seq_remove_events_set_condition snd_seq_remove_events_set_condition_dylibloader_wrapper_asound +#define snd_seq_remove_events_set_queue snd_seq_remove_events_set_queue_dylibloader_wrapper_asound +#define snd_seq_remove_events_set_time snd_seq_remove_events_set_time_dylibloader_wrapper_asound +#define snd_seq_remove_events_set_dest snd_seq_remove_events_set_dest_dylibloader_wrapper_asound +#define snd_seq_remove_events_set_channel snd_seq_remove_events_set_channel_dylibloader_wrapper_asound +#define snd_seq_remove_events_set_event_type snd_seq_remove_events_set_event_type_dylibloader_wrapper_asound +#define snd_seq_remove_events_set_tag snd_seq_remove_events_set_tag_dylibloader_wrapper_asound +#define snd_seq_remove_events snd_seq_remove_events_dylibloader_wrapper_asound +#define snd_seq_set_bit snd_seq_set_bit_dylibloader_wrapper_asound +#define snd_seq_unset_bit snd_seq_unset_bit_dylibloader_wrapper_asound +#define snd_seq_change_bit snd_seq_change_bit_dylibloader_wrapper_asound +#define snd_seq_get_bit snd_seq_get_bit_dylibloader_wrapper_asound +#define snd_seq_control_queue snd_seq_control_queue_dylibloader_wrapper_asound +#define snd_seq_create_simple_port snd_seq_create_simple_port_dylibloader_wrapper_asound +#define snd_seq_delete_simple_port snd_seq_delete_simple_port_dylibloader_wrapper_asound +#define snd_seq_connect_from snd_seq_connect_from_dylibloader_wrapper_asound +#define snd_seq_connect_to snd_seq_connect_to_dylibloader_wrapper_asound +#define snd_seq_disconnect_from snd_seq_disconnect_from_dylibloader_wrapper_asound +#define snd_seq_disconnect_to snd_seq_disconnect_to_dylibloader_wrapper_asound +#define snd_seq_set_client_name snd_seq_set_client_name_dylibloader_wrapper_asound +#define snd_seq_set_client_event_filter snd_seq_set_client_event_filter_dylibloader_wrapper_asound +#define snd_seq_set_client_pool_output snd_seq_set_client_pool_output_dylibloader_wrapper_asound +#define snd_seq_set_client_pool_output_room snd_seq_set_client_pool_output_room_dylibloader_wrapper_asound +#define snd_seq_set_client_pool_input snd_seq_set_client_pool_input_dylibloader_wrapper_asound +#define snd_seq_sync_output_queue snd_seq_sync_output_queue_dylibloader_wrapper_asound +#define snd_seq_parse_address snd_seq_parse_address_dylibloader_wrapper_asound +#define snd_seq_reset_pool_output snd_seq_reset_pool_output_dylibloader_wrapper_asound +#define snd_seq_reset_pool_input snd_seq_reset_pool_input_dylibloader_wrapper_asound +#define snd_midi_event_new snd_midi_event_new_dylibloader_wrapper_asound +#define snd_midi_event_resize_buffer snd_midi_event_resize_buffer_dylibloader_wrapper_asound +#define snd_midi_event_free snd_midi_event_free_dylibloader_wrapper_asound +#define snd_midi_event_init snd_midi_event_init_dylibloader_wrapper_asound +#define snd_midi_event_reset_encode snd_midi_event_reset_encode_dylibloader_wrapper_asound +#define snd_midi_event_reset_decode snd_midi_event_reset_decode_dylibloader_wrapper_asound +#define snd_midi_event_no_status snd_midi_event_no_status_dylibloader_wrapper_asound +#define snd_midi_event_encode snd_midi_event_encode_dylibloader_wrapper_asound +#define snd_midi_event_encode_byte snd_midi_event_encode_byte_dylibloader_wrapper_asound +#define snd_midi_event_decode snd_midi_event_decode_dylibloader_wrapper_asound +extern const char* (*snd_asoundlib_version_dylibloader_wrapper_asound)( void); +extern int (*snd_dlpath_dylibloader_wrapper_asound)( char*, size_t,const char*); +extern void* (*snd_dlopen_dylibloader_wrapper_asound)(const char*, int, char*, size_t); +extern void* (*snd_dlsym_dylibloader_wrapper_asound)( void*,const char*,const char*); +extern int (*snd_dlclose_dylibloader_wrapper_asound)( void*); +extern int (*snd_async_add_handler_dylibloader_wrapper_asound)( snd_async_handler_t**, int, snd_async_callback_t, void*); +extern int (*snd_async_del_handler_dylibloader_wrapper_asound)( snd_async_handler_t*); +extern int (*snd_async_handler_get_fd_dylibloader_wrapper_asound)( snd_async_handler_t*); +extern int (*snd_async_handler_get_signo_dylibloader_wrapper_asound)( snd_async_handler_t*); +extern void* (*snd_async_handler_get_callback_private_dylibloader_wrapper_asound)( snd_async_handler_t*); +extern struct snd_shm_area* (*snd_shm_area_create_dylibloader_wrapper_asound)( int, void*); +extern struct snd_shm_area* (*snd_shm_area_share_dylibloader_wrapper_asound)(struct snd_shm_area*); +extern int (*snd_shm_area_destroy_dylibloader_wrapper_asound)(struct snd_shm_area*); +extern int (*snd_user_file_dylibloader_wrapper_asound)(const char*, char**); +extern int (*snd_input_stdio_open_dylibloader_wrapper_asound)( snd_input_t**,const char*,const char*); +extern int (*snd_input_stdio_attach_dylibloader_wrapper_asound)( snd_input_t**, FILE*, int); +extern int (*snd_input_buffer_open_dylibloader_wrapper_asound)( snd_input_t**,const char*, ssize_t); +extern int (*snd_input_close_dylibloader_wrapper_asound)( snd_input_t*); +extern int (*snd_input_scanf_dylibloader_wrapper_asound)( snd_input_t*,const char*,...); +extern char* (*snd_input_gets_dylibloader_wrapper_asound)( snd_input_t*, char*, size_t); +extern int (*snd_input_getc_dylibloader_wrapper_asound)( snd_input_t*); +extern int (*snd_input_ungetc_dylibloader_wrapper_asound)( snd_input_t*, int); +extern int (*snd_output_stdio_open_dylibloader_wrapper_asound)( snd_output_t**,const char*,const char*); +extern int (*snd_output_stdio_attach_dylibloader_wrapper_asound)( snd_output_t**, FILE*, int); +extern int (*snd_output_buffer_open_dylibloader_wrapper_asound)( snd_output_t**); +extern size_t (*snd_output_buffer_string_dylibloader_wrapper_asound)( snd_output_t*, char**); +extern int (*snd_output_close_dylibloader_wrapper_asound)( snd_output_t*); +extern int (*snd_output_printf_dylibloader_wrapper_asound)( snd_output_t*,const char*,...); +extern int (*snd_output_vprintf_dylibloader_wrapper_asound)( snd_output_t*,const char*, va_list); +extern int (*snd_output_puts_dylibloader_wrapper_asound)( snd_output_t*,const char*); +extern int (*snd_output_putc_dylibloader_wrapper_asound)( snd_output_t*, int); +extern int (*snd_output_flush_dylibloader_wrapper_asound)( snd_output_t*); +extern const char* (*snd_strerror_dylibloader_wrapper_asound)( int); +extern int (*snd_lib_error_set_handler_dylibloader_wrapper_asound)( snd_lib_error_handler_t); +extern snd_local_error_handler_t (*snd_lib_error_set_local_dylibloader_wrapper_asound)( snd_local_error_handler_t); +extern const char* (*snd_config_topdir_dylibloader_wrapper_asound)( void); +extern int (*snd_config_top_dylibloader_wrapper_asound)( snd_config_t**); +extern int (*snd_config_load_dylibloader_wrapper_asound)( snd_config_t*, snd_input_t*); +extern int (*snd_config_load_override_dylibloader_wrapper_asound)( snd_config_t*, snd_input_t*); +extern int (*snd_config_save_dylibloader_wrapper_asound)( snd_config_t*, snd_output_t*); +extern int (*snd_config_update_dylibloader_wrapper_asound)( void); +extern int (*snd_config_update_r_dylibloader_wrapper_asound)( snd_config_t**, snd_config_update_t**,const char*); +extern int (*snd_config_update_free_dylibloader_wrapper_asound)( snd_config_update_t*); +extern int (*snd_config_update_free_global_dylibloader_wrapper_asound)( void); +extern int (*snd_config_update_ref_dylibloader_wrapper_asound)( snd_config_t**); +extern void (*snd_config_ref_dylibloader_wrapper_asound)( snd_config_t*); +extern void (*snd_config_unref_dylibloader_wrapper_asound)( snd_config_t*); +extern int (*snd_config_search_dylibloader_wrapper_asound)( snd_config_t*,const char*, snd_config_t**); +extern int (*snd_config_searchv_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t**,...); +extern int (*snd_config_search_definition_dylibloader_wrapper_asound)( snd_config_t*,const char*,const char*, snd_config_t**); +extern int (*snd_config_expand_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*,const char*, snd_config_t*, snd_config_t**); +extern int (*snd_config_evaluate_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*, snd_config_t*, snd_config_t**); +extern int (*snd_config_add_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*); +extern int (*snd_config_add_before_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*); +extern int (*snd_config_add_after_dylibloader_wrapper_asound)( snd_config_t*, snd_config_t*); +extern int (*snd_config_remove_dylibloader_wrapper_asound)( snd_config_t*); +extern int (*snd_config_delete_dylibloader_wrapper_asound)( snd_config_t*); +extern int (*snd_config_delete_compound_members_dylibloader_wrapper_asound)(const snd_config_t*); +extern int (*snd_config_copy_dylibloader_wrapper_asound)( snd_config_t**, snd_config_t*); +extern int (*snd_config_make_dylibloader_wrapper_asound)( snd_config_t**,const char*, snd_config_type_t); +extern int (*snd_config_make_integer_dylibloader_wrapper_asound)( snd_config_t**,const char*); +extern int (*snd_config_make_integer64_dylibloader_wrapper_asound)( snd_config_t**,const char*); +extern int (*snd_config_make_real_dylibloader_wrapper_asound)( snd_config_t**,const char*); +extern int (*snd_config_make_string_dylibloader_wrapper_asound)( snd_config_t**,const char*); +extern int (*snd_config_make_pointer_dylibloader_wrapper_asound)( snd_config_t**,const char*); +extern int (*snd_config_make_compound_dylibloader_wrapper_asound)( snd_config_t**,const char*, int); +extern int (*snd_config_imake_integer_dylibloader_wrapper_asound)( snd_config_t**,const char*,const long); +extern int (*snd_config_imake_integer64_dylibloader_wrapper_asound)( snd_config_t**,const char*,const long long); +extern int (*snd_config_imake_real_dylibloader_wrapper_asound)( snd_config_t**,const char*,const double); +extern int (*snd_config_imake_string_dylibloader_wrapper_asound)( snd_config_t**,const char*,const char*); +extern int (*snd_config_imake_safe_string_dylibloader_wrapper_asound)( snd_config_t**,const char*,const char*); +extern int (*snd_config_imake_pointer_dylibloader_wrapper_asound)( snd_config_t**,const char*,const void*); +extern snd_config_type_t (*snd_config_get_type_dylibloader_wrapper_asound)(const snd_config_t*); +extern int (*snd_config_is_array_dylibloader_wrapper_asound)(const snd_config_t*); +extern int (*snd_config_set_id_dylibloader_wrapper_asound)( snd_config_t*,const char*); +extern int (*snd_config_set_integer_dylibloader_wrapper_asound)( snd_config_t*, long); +extern int (*snd_config_set_integer64_dylibloader_wrapper_asound)( snd_config_t*, long long); +extern int (*snd_config_set_real_dylibloader_wrapper_asound)( snd_config_t*, double); +extern int (*snd_config_set_string_dylibloader_wrapper_asound)( snd_config_t*,const char*); +extern int (*snd_config_set_ascii_dylibloader_wrapper_asound)( snd_config_t*,const char*); +extern int (*snd_config_set_pointer_dylibloader_wrapper_asound)( snd_config_t*,const void*); +extern int (*snd_config_get_id_dylibloader_wrapper_asound)(const snd_config_t*,const char**); +extern int (*snd_config_get_integer_dylibloader_wrapper_asound)(const snd_config_t*, long*); +extern int (*snd_config_get_integer64_dylibloader_wrapper_asound)(const snd_config_t*, long long*); +extern int (*snd_config_get_real_dylibloader_wrapper_asound)(const snd_config_t*, double*); +extern int (*snd_config_get_ireal_dylibloader_wrapper_asound)(const snd_config_t*, double*); +extern int (*snd_config_get_string_dylibloader_wrapper_asound)(const snd_config_t*,const char**); +extern int (*snd_config_get_ascii_dylibloader_wrapper_asound)(const snd_config_t*, char**); +extern int (*snd_config_get_pointer_dylibloader_wrapper_asound)(const snd_config_t*,const void**); +extern int (*snd_config_test_id_dylibloader_wrapper_asound)(const snd_config_t*,const char*); +extern snd_config_iterator_t (*snd_config_iterator_first_dylibloader_wrapper_asound)(const snd_config_t*); +extern snd_config_iterator_t (*snd_config_iterator_next_dylibloader_wrapper_asound)(const snd_config_iterator_t); +extern snd_config_iterator_t (*snd_config_iterator_end_dylibloader_wrapper_asound)(const snd_config_t*); +extern snd_config_t* (*snd_config_iterator_entry_dylibloader_wrapper_asound)(const snd_config_iterator_t); +extern int (*snd_config_get_bool_ascii_dylibloader_wrapper_asound)(const char*); +extern int (*snd_config_get_bool_dylibloader_wrapper_asound)(const snd_config_t*); +extern int (*snd_config_get_ctl_iface_ascii_dylibloader_wrapper_asound)(const char*); +extern int (*snd_config_get_ctl_iface_dylibloader_wrapper_asound)(const snd_config_t*); +extern int (*snd_names_list_dylibloader_wrapper_asound)(const char*, snd_devname_t**); +extern void (*snd_names_list_free_dylibloader_wrapper_asound)( snd_devname_t*); +extern int (*snd_pcm_open_dylibloader_wrapper_asound)( snd_pcm_t**,const char*, snd_pcm_stream_t, int); +extern int (*snd_pcm_open_lconf_dylibloader_wrapper_asound)( snd_pcm_t**,const char*, snd_pcm_stream_t, int, snd_config_t*); +extern int (*snd_pcm_open_fallback_dylibloader_wrapper_asound)( snd_pcm_t**, snd_config_t*,const char*,const char*, snd_pcm_stream_t, int); +extern int (*snd_pcm_close_dylibloader_wrapper_asound)( snd_pcm_t*); +extern const char* (*snd_pcm_name_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_type_t (*snd_pcm_type_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_stream_t (*snd_pcm_stream_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_poll_descriptors_count_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_poll_descriptors_dylibloader_wrapper_asound)( snd_pcm_t*,struct pollfd*, unsigned int); +extern int (*snd_pcm_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_pcm_t*,struct pollfd*, unsigned int, unsigned short*); +extern int (*snd_pcm_nonblock_dylibloader_wrapper_asound)( snd_pcm_t*, int); +extern int (*snd_async_add_pcm_handler_dylibloader_wrapper_asound)( snd_async_handler_t**, snd_pcm_t*, snd_async_callback_t, void*); +extern snd_pcm_t* (*snd_async_handler_get_pcm_dylibloader_wrapper_asound)( snd_async_handler_t*); +extern int (*snd_pcm_info_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_info_t*); +extern int (*snd_pcm_hw_params_current_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_free_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_sw_params_current_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*); +extern int (*snd_pcm_sw_params_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*); +extern int (*snd_pcm_prepare_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_reset_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_status_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_status_t*); +extern int (*snd_pcm_start_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_drop_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_drain_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_pause_dylibloader_wrapper_asound)( snd_pcm_t*, int); +extern snd_pcm_state_t (*snd_pcm_state_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_hwsync_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_delay_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sframes_t*); +extern int (*snd_pcm_resume_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_htimestamp_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t*, snd_htimestamp_t*); +extern snd_pcm_sframes_t (*snd_pcm_avail_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_sframes_t (*snd_pcm_avail_update_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_avail_delay_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sframes_t*, snd_pcm_sframes_t*); +extern snd_pcm_sframes_t (*snd_pcm_rewindable_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_sframes_t (*snd_pcm_rewind_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_forwardable_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_sframes_t (*snd_pcm_forward_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_writei_dylibloader_wrapper_asound)( snd_pcm_t*,const void*, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_readi_dylibloader_wrapper_asound)( snd_pcm_t*, void*, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_writen_dylibloader_wrapper_asound)( snd_pcm_t*, void**, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_readn_dylibloader_wrapper_asound)( snd_pcm_t*, void**, snd_pcm_uframes_t); +extern int (*snd_pcm_wait_dylibloader_wrapper_asound)( snd_pcm_t*, int); +extern int (*snd_pcm_link_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_t*); +extern int (*snd_pcm_unlink_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_chmap_query_t** (*snd_pcm_query_chmaps_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_chmap_query_t** (*snd_pcm_query_chmaps_from_hw_dylibloader_wrapper_asound)( int, int, int, snd_pcm_stream_t); +extern void (*snd_pcm_free_chmaps_dylibloader_wrapper_asound)( snd_pcm_chmap_query_t**); +extern snd_pcm_chmap_t* (*snd_pcm_get_chmap_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_set_chmap_dylibloader_wrapper_asound)( snd_pcm_t*,const snd_pcm_chmap_t*); +extern const char* (*snd_pcm_chmap_type_name_dylibloader_wrapper_asound)(enum snd_pcm_chmap_type); +extern const char* (*snd_pcm_chmap_name_dylibloader_wrapper_asound)(enum snd_pcm_chmap_position); +extern const char* (*snd_pcm_chmap_long_name_dylibloader_wrapper_asound)(enum snd_pcm_chmap_position); +extern int (*snd_pcm_chmap_print_dylibloader_wrapper_asound)(const snd_pcm_chmap_t*, size_t, char*); +extern unsigned int (*snd_pcm_chmap_from_string_dylibloader_wrapper_asound)(const char*); +extern snd_pcm_chmap_t* (*snd_pcm_chmap_parse_string_dylibloader_wrapper_asound)(const char*); +extern int (*snd_pcm_recover_dylibloader_wrapper_asound)( snd_pcm_t*, int, int); +extern int (*snd_pcm_set_params_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_format_t, snd_pcm_access_t, unsigned int, unsigned int, int, unsigned int); +extern int (*snd_pcm_get_params_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t*, snd_pcm_uframes_t*); +extern size_t (*snd_pcm_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_pcm_info_malloc_dylibloader_wrapper_asound)( snd_pcm_info_t**); +extern void (*snd_pcm_info_free_dylibloader_wrapper_asound)( snd_pcm_info_t*); +extern void (*snd_pcm_info_copy_dylibloader_wrapper_asound)( snd_pcm_info_t*,const snd_pcm_info_t*); +extern unsigned int (*snd_pcm_info_get_device_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern unsigned int (*snd_pcm_info_get_subdevice_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern snd_pcm_stream_t (*snd_pcm_info_get_stream_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern int (*snd_pcm_info_get_card_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern const char* (*snd_pcm_info_get_id_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern const char* (*snd_pcm_info_get_name_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern const char* (*snd_pcm_info_get_subdevice_name_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern snd_pcm_class_t (*snd_pcm_info_get_class_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern snd_pcm_subclass_t (*snd_pcm_info_get_subclass_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern unsigned int (*snd_pcm_info_get_subdevices_count_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern unsigned int (*snd_pcm_info_get_subdevices_avail_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern snd_pcm_sync_id_t (*snd_pcm_info_get_sync_dylibloader_wrapper_asound)(const snd_pcm_info_t*); +extern void (*snd_pcm_info_set_device_dylibloader_wrapper_asound)( snd_pcm_info_t*, unsigned int); +extern void (*snd_pcm_info_set_subdevice_dylibloader_wrapper_asound)( snd_pcm_info_t*, unsigned int); +extern void (*snd_pcm_info_set_stream_dylibloader_wrapper_asound)( snd_pcm_info_t*, snd_pcm_stream_t); +extern int (*snd_pcm_hw_params_any_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_can_mmap_sample_resolution_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_is_double_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_is_batch_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_is_block_transfer_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_is_monotonic_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_can_overrange_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_can_pause_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_can_resume_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_is_half_duplex_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_is_joint_duplex_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_can_sync_start_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_can_disable_period_wakeup_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_supports_audio_wallclock_ts_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_supports_audio_ts_type_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, int); +extern int (*snd_pcm_hw_params_get_rate_numden_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, unsigned int*); +extern int (*snd_pcm_hw_params_get_sbits_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_get_fifo_size_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*); +extern size_t (*snd_pcm_hw_params_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_pcm_hw_params_malloc_dylibloader_wrapper_asound)( snd_pcm_hw_params_t**); +extern void (*snd_pcm_hw_params_free_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*); +extern void (*snd_pcm_hw_params_copy_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*,const snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_get_access_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_access_t*); +extern int (*snd_pcm_hw_params_test_access_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t); +extern int (*snd_pcm_hw_params_set_access_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t); +extern int (*snd_pcm_hw_params_set_access_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t*); +extern int (*snd_pcm_hw_params_set_access_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_t*); +extern int (*snd_pcm_hw_params_set_access_mask_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_access_mask_t*); +extern int (*snd_pcm_hw_params_get_access_mask_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*, snd_pcm_access_mask_t*); +extern int (*snd_pcm_hw_params_get_format_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_format_t*); +extern int (*snd_pcm_hw_params_test_format_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t); +extern int (*snd_pcm_hw_params_set_format_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t); +extern int (*snd_pcm_hw_params_set_format_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t*); +extern int (*snd_pcm_hw_params_set_format_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_t*); +extern int (*snd_pcm_hw_params_set_format_mask_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_format_mask_t*); +extern void (*snd_pcm_hw_params_get_format_mask_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*, snd_pcm_format_mask_t*); +extern int (*snd_pcm_hw_params_get_subformat_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_subformat_t*); +extern int (*snd_pcm_hw_params_test_subformat_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t); +extern int (*snd_pcm_hw_params_set_subformat_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t); +extern int (*snd_pcm_hw_params_set_subformat_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t*); +extern int (*snd_pcm_hw_params_set_subformat_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_t*); +extern int (*snd_pcm_hw_params_set_subformat_mask_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_subformat_mask_t*); +extern void (*snd_pcm_hw_params_get_subformat_mask_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*, snd_pcm_subformat_mask_t*); +extern int (*snd_pcm_hw_params_get_channels_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_get_channels_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_get_channels_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_test_channels_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +extern int (*snd_pcm_hw_params_set_channels_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +extern int (*snd_pcm_hw_params_set_channels_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_set_channels_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_set_channels_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, unsigned int*); +extern int (*snd_pcm_hw_params_set_channels_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_set_channels_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_set_channels_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_get_rate_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_rate_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_rate_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_test_rate_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_rate_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_rate_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_rate_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_rate_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_rate_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_rate_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_rate_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_rate_resample_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +extern int (*snd_pcm_hw_params_get_rate_resample_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_set_export_buffer_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +extern int (*snd_pcm_hw_params_get_export_buffer_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_set_period_wakeup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int); +extern int (*snd_pcm_hw_params_get_period_wakeup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_get_period_time_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_period_time_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_period_time_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_test_period_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_period_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_period_time_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_period_time_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_period_time_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_period_time_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_period_time_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_period_time_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_period_size_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_get_period_size_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_get_period_size_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_test_period_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t, int); +extern int (*snd_pcm_hw_params_set_period_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t, int); +extern int (*snd_pcm_hw_params_set_period_size_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_set_period_size_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_set_period_size_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_set_period_size_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_set_period_size_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_set_period_size_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, int*); +extern int (*snd_pcm_hw_params_set_period_size_integer_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_get_periods_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_periods_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_periods_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_test_periods_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_periods_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_periods_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_periods_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_periods_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_periods_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_periods_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_periods_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_periods_integer_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*); +extern int (*snd_pcm_hw_params_get_buffer_time_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_buffer_time_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_buffer_time_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_test_buffer_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_buffer_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_buffer_time_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_buffer_time_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_buffer_time_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_buffer_time_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_buffer_time_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_buffer_time_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_buffer_size_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_get_buffer_size_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_get_buffer_size_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_test_buffer_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t); +extern int (*snd_pcm_hw_params_set_buffer_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t); +extern int (*snd_pcm_hw_params_set_buffer_size_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_set_buffer_size_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_set_buffer_size_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_set_buffer_size_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_set_buffer_size_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_set_buffer_size_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_hw_params_get_min_align_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, snd_pcm_uframes_t*); +extern size_t (*snd_pcm_sw_params_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_pcm_sw_params_malloc_dylibloader_wrapper_asound)( snd_pcm_sw_params_t**); +extern void (*snd_pcm_sw_params_free_dylibloader_wrapper_asound)( snd_pcm_sw_params_t*); +extern void (*snd_pcm_sw_params_copy_dylibloader_wrapper_asound)( snd_pcm_sw_params_t*,const snd_pcm_sw_params_t*); +extern int (*snd_pcm_sw_params_get_boundary_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_sw_params_set_tstamp_mode_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_tstamp_t); +extern int (*snd_pcm_sw_params_get_tstamp_mode_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_tstamp_t*); +extern int (*snd_pcm_sw_params_set_avail_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +extern int (*snd_pcm_sw_params_get_avail_min_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_sw_params_set_period_event_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, int); +extern int (*snd_pcm_sw_params_get_period_event_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, int*); +extern int (*snd_pcm_sw_params_set_start_threshold_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +extern int (*snd_pcm_sw_params_get_start_threshold_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_sw_params_set_stop_threshold_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +extern int (*snd_pcm_sw_params_get_stop_threshold_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_sw_params_set_silence_threshold_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +extern int (*snd_pcm_sw_params_get_silence_threshold_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_sw_params_set_silence_size_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +extern int (*snd_pcm_sw_params_get_silence_size_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +extern size_t (*snd_pcm_access_mask_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_pcm_access_mask_malloc_dylibloader_wrapper_asound)( snd_pcm_access_mask_t**); +extern void (*snd_pcm_access_mask_free_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*); +extern void (*snd_pcm_access_mask_copy_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*,const snd_pcm_access_mask_t*); +extern void (*snd_pcm_access_mask_none_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*); +extern void (*snd_pcm_access_mask_any_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*); +extern int (*snd_pcm_access_mask_test_dylibloader_wrapper_asound)(const snd_pcm_access_mask_t*, snd_pcm_access_t); +extern int (*snd_pcm_access_mask_empty_dylibloader_wrapper_asound)(const snd_pcm_access_mask_t*); +extern void (*snd_pcm_access_mask_set_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*, snd_pcm_access_t); +extern void (*snd_pcm_access_mask_reset_dylibloader_wrapper_asound)( snd_pcm_access_mask_t*, snd_pcm_access_t); +extern size_t (*snd_pcm_format_mask_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_pcm_format_mask_malloc_dylibloader_wrapper_asound)( snd_pcm_format_mask_t**); +extern void (*snd_pcm_format_mask_free_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*); +extern void (*snd_pcm_format_mask_copy_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*,const snd_pcm_format_mask_t*); +extern void (*snd_pcm_format_mask_none_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*); +extern void (*snd_pcm_format_mask_any_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*); +extern int (*snd_pcm_format_mask_test_dylibloader_wrapper_asound)(const snd_pcm_format_mask_t*, snd_pcm_format_t); +extern int (*snd_pcm_format_mask_empty_dylibloader_wrapper_asound)(const snd_pcm_format_mask_t*); +extern void (*snd_pcm_format_mask_set_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*, snd_pcm_format_t); +extern void (*snd_pcm_format_mask_reset_dylibloader_wrapper_asound)( snd_pcm_format_mask_t*, snd_pcm_format_t); +extern size_t (*snd_pcm_subformat_mask_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_pcm_subformat_mask_malloc_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t**); +extern void (*snd_pcm_subformat_mask_free_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*); +extern void (*snd_pcm_subformat_mask_copy_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*,const snd_pcm_subformat_mask_t*); +extern void (*snd_pcm_subformat_mask_none_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*); +extern void (*snd_pcm_subformat_mask_any_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*); +extern int (*snd_pcm_subformat_mask_test_dylibloader_wrapper_asound)(const snd_pcm_subformat_mask_t*, snd_pcm_subformat_t); +extern int (*snd_pcm_subformat_mask_empty_dylibloader_wrapper_asound)(const snd_pcm_subformat_mask_t*); +extern void (*snd_pcm_subformat_mask_set_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*, snd_pcm_subformat_t); +extern void (*snd_pcm_subformat_mask_reset_dylibloader_wrapper_asound)( snd_pcm_subformat_mask_t*, snd_pcm_subformat_t); +extern size_t (*snd_pcm_status_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_pcm_status_malloc_dylibloader_wrapper_asound)( snd_pcm_status_t**); +extern void (*snd_pcm_status_free_dylibloader_wrapper_asound)( snd_pcm_status_t*); +extern void (*snd_pcm_status_copy_dylibloader_wrapper_asound)( snd_pcm_status_t*,const snd_pcm_status_t*); +extern snd_pcm_state_t (*snd_pcm_status_get_state_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +extern void (*snd_pcm_status_get_trigger_tstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_timestamp_t*); +extern void (*snd_pcm_status_get_trigger_htstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_htimestamp_t*); +extern void (*snd_pcm_status_get_tstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_timestamp_t*); +extern void (*snd_pcm_status_get_htstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_htimestamp_t*); +extern void (*snd_pcm_status_get_audio_htstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_htimestamp_t*); +extern void (*snd_pcm_status_get_driver_htstamp_dylibloader_wrapper_asound)(const snd_pcm_status_t*, snd_htimestamp_t*); +extern snd_pcm_sframes_t (*snd_pcm_status_get_delay_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +extern snd_pcm_uframes_t (*snd_pcm_status_get_avail_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +extern snd_pcm_uframes_t (*snd_pcm_status_get_avail_max_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +extern snd_pcm_uframes_t (*snd_pcm_status_get_overrange_dylibloader_wrapper_asound)(const snd_pcm_status_t*); +extern const char* (*snd_pcm_type_name_dylibloader_wrapper_asound)( snd_pcm_type_t); +extern const char* (*snd_pcm_stream_name_dylibloader_wrapper_asound)(const snd_pcm_stream_t); +extern const char* (*snd_pcm_access_name_dylibloader_wrapper_asound)(const snd_pcm_access_t); +extern const char* (*snd_pcm_format_name_dylibloader_wrapper_asound)(const snd_pcm_format_t); +extern const char* (*snd_pcm_format_description_dylibloader_wrapper_asound)(const snd_pcm_format_t); +extern const char* (*snd_pcm_subformat_name_dylibloader_wrapper_asound)(const snd_pcm_subformat_t); +extern const char* (*snd_pcm_subformat_description_dylibloader_wrapper_asound)(const snd_pcm_subformat_t); +extern snd_pcm_format_t (*snd_pcm_format_value_dylibloader_wrapper_asound)(const char*); +extern const char* (*snd_pcm_tstamp_mode_name_dylibloader_wrapper_asound)(const snd_pcm_tstamp_t); +extern const char* (*snd_pcm_state_name_dylibloader_wrapper_asound)(const snd_pcm_state_t); +extern int (*snd_pcm_dump_dylibloader_wrapper_asound)( snd_pcm_t*, snd_output_t*); +extern int (*snd_pcm_dump_hw_setup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_output_t*); +extern int (*snd_pcm_dump_sw_setup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_output_t*); +extern int (*snd_pcm_dump_setup_dylibloader_wrapper_asound)( snd_pcm_t*, snd_output_t*); +extern int (*snd_pcm_hw_params_dump_dylibloader_wrapper_asound)( snd_pcm_hw_params_t*, snd_output_t*); +extern int (*snd_pcm_sw_params_dump_dylibloader_wrapper_asound)( snd_pcm_sw_params_t*, snd_output_t*); +extern int (*snd_pcm_status_dump_dylibloader_wrapper_asound)( snd_pcm_status_t*, snd_output_t*); +extern int (*snd_pcm_mmap_begin_dylibloader_wrapper_asound)( snd_pcm_t*,const snd_pcm_channel_area_t**, snd_pcm_uframes_t*, snd_pcm_uframes_t*); +extern snd_pcm_sframes_t (*snd_pcm_mmap_commit_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_uframes_t, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_mmap_writei_dylibloader_wrapper_asound)( snd_pcm_t*,const void*, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_mmap_readi_dylibloader_wrapper_asound)( snd_pcm_t*, void*, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_mmap_writen_dylibloader_wrapper_asound)( snd_pcm_t*, void**, snd_pcm_uframes_t); +extern snd_pcm_sframes_t (*snd_pcm_mmap_readn_dylibloader_wrapper_asound)( snd_pcm_t*, void**, snd_pcm_uframes_t); +extern int (*snd_pcm_format_signed_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_unsigned_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_linear_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_float_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_little_endian_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_big_endian_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_cpu_endian_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_width_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_physical_width_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern snd_pcm_format_t (*snd_pcm_build_linear_format_dylibloader_wrapper_asound)( int, int, int, int); +extern ssize_t (*snd_pcm_format_size_dylibloader_wrapper_asound)( snd_pcm_format_t, size_t); +extern uint8_t (*snd_pcm_format_silence_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern uint16_t (*snd_pcm_format_silence_16_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern uint32_t (*snd_pcm_format_silence_32_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern uint64_t (*snd_pcm_format_silence_64_dylibloader_wrapper_asound)( snd_pcm_format_t); +extern int (*snd_pcm_format_set_silence_dylibloader_wrapper_asound)( snd_pcm_format_t, void*, unsigned int); +extern snd_pcm_sframes_t (*snd_pcm_bytes_to_frames_dylibloader_wrapper_asound)( snd_pcm_t*, ssize_t); +extern ssize_t (*snd_pcm_frames_to_bytes_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sframes_t); +extern long (*snd_pcm_bytes_to_samples_dylibloader_wrapper_asound)( snd_pcm_t*, ssize_t); +extern ssize_t (*snd_pcm_samples_to_bytes_dylibloader_wrapper_asound)( snd_pcm_t*, long); +extern int (*snd_pcm_area_silence_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_format_t); +extern int (*snd_pcm_areas_silence_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_uframes_t, snd_pcm_format_t); +extern int (*snd_pcm_area_copy_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_format_t); +extern int (*snd_pcm_areas_copy_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t, unsigned int, snd_pcm_uframes_t, snd_pcm_format_t); +extern int (*snd_pcm_areas_copy_wrap_dylibloader_wrapper_asound)(const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_uframes_t,const snd_pcm_channel_area_t*, snd_pcm_uframes_t,const snd_pcm_uframes_t,const unsigned int, snd_pcm_uframes_t,const snd_pcm_format_t); +extern snd_pcm_t* (*snd_pcm_hook_get_pcm_dylibloader_wrapper_asound)( snd_pcm_hook_t*); +extern void* (*snd_pcm_hook_get_private_dylibloader_wrapper_asound)( snd_pcm_hook_t*); +extern void (*snd_pcm_hook_set_private_dylibloader_wrapper_asound)( snd_pcm_hook_t*, void*); +extern int (*snd_pcm_hook_add_dylibloader_wrapper_asound)( snd_pcm_hook_t**, snd_pcm_t*, snd_pcm_hook_type_t, snd_pcm_hook_func_t, void*); +extern int (*snd_pcm_hook_remove_dylibloader_wrapper_asound)( snd_pcm_hook_t*); +extern snd_pcm_uframes_t (*snd_pcm_meter_get_bufsize_dylibloader_wrapper_asound)( snd_pcm_t*); +extern unsigned int (*snd_pcm_meter_get_channels_dylibloader_wrapper_asound)( snd_pcm_t*); +extern unsigned int (*snd_pcm_meter_get_rate_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_uframes_t (*snd_pcm_meter_get_now_dylibloader_wrapper_asound)( snd_pcm_t*); +extern snd_pcm_uframes_t (*snd_pcm_meter_get_boundary_dylibloader_wrapper_asound)( snd_pcm_t*); +extern int (*snd_pcm_meter_add_scope_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_scope_t*); +extern snd_pcm_scope_t* (*snd_pcm_meter_search_scope_dylibloader_wrapper_asound)( snd_pcm_t*,const char*); +extern int (*snd_pcm_scope_malloc_dylibloader_wrapper_asound)( snd_pcm_scope_t**); +extern void (*snd_pcm_scope_set_ops_dylibloader_wrapper_asound)( snd_pcm_scope_t*,const snd_pcm_scope_ops_t*); +extern void (*snd_pcm_scope_set_name_dylibloader_wrapper_asound)( snd_pcm_scope_t*,const char*); +extern const char* (*snd_pcm_scope_get_name_dylibloader_wrapper_asound)( snd_pcm_scope_t*); +extern void* (*snd_pcm_scope_get_callback_private_dylibloader_wrapper_asound)( snd_pcm_scope_t*); +extern void (*snd_pcm_scope_set_callback_private_dylibloader_wrapper_asound)( snd_pcm_scope_t*, void*); +extern int (*snd_pcm_scope_s16_open_dylibloader_wrapper_asound)( snd_pcm_t*,const char*, snd_pcm_scope_t**); +extern int16_t* (*snd_pcm_scope_s16_get_channel_buffer_dylibloader_wrapper_asound)( snd_pcm_scope_t*, unsigned int); +extern int (*snd_spcm_init_dylibloader_wrapper_asound)( snd_pcm_t*, unsigned int, unsigned int, snd_pcm_format_t, snd_pcm_subformat_t, snd_spcm_latency_t, snd_pcm_access_t, snd_spcm_xrun_type_t); +extern int (*snd_spcm_init_duplex_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_t*, unsigned int, unsigned int, snd_pcm_format_t, snd_pcm_subformat_t, snd_spcm_latency_t, snd_pcm_access_t, snd_spcm_xrun_type_t, snd_spcm_duplex_type_t); +extern int (*snd_spcm_init_get_params_dylibloader_wrapper_asound)( snd_pcm_t*, unsigned int*, snd_pcm_uframes_t*, snd_pcm_uframes_t*); +extern const char* (*snd_pcm_start_mode_name_dylibloader_wrapper_asound)( snd_pcm_start_t); +extern const char* (*snd_pcm_xrun_mode_name_dylibloader_wrapper_asound)( snd_pcm_xrun_t); +extern int (*snd_pcm_sw_params_set_start_mode_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_start_t); +extern snd_pcm_start_t (*snd_pcm_sw_params_get_start_mode_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*); +extern int (*snd_pcm_sw_params_set_xrun_mode_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_xrun_t); +extern snd_pcm_xrun_t (*snd_pcm_sw_params_get_xrun_mode_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*); +extern int (*snd_pcm_sw_params_set_xfer_align_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t); +extern int (*snd_pcm_sw_params_get_xfer_align_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, snd_pcm_uframes_t*); +extern int (*snd_pcm_sw_params_set_sleep_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_sw_params_t*, unsigned int); +extern int (*snd_pcm_sw_params_get_sleep_min_dylibloader_wrapper_asound)(const snd_pcm_sw_params_t*, unsigned int*); +extern int (*snd_pcm_hw_params_get_tick_time_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_tick_time_min_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_get_tick_time_max_dylibloader_wrapper_asound)(const snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_test_tick_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_tick_time_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int, int); +extern int (*snd_pcm_hw_params_set_tick_time_min_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_tick_time_max_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_tick_time_minmax_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_tick_time_near_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_tick_time_first_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_pcm_hw_params_set_tick_time_last_dylibloader_wrapper_asound)( snd_pcm_t*, snd_pcm_hw_params_t*, unsigned int*, int*); +extern int (*snd_rawmidi_open_dylibloader_wrapper_asound)( snd_rawmidi_t**, snd_rawmidi_t**,const char*, int); +extern int (*snd_rawmidi_open_lconf_dylibloader_wrapper_asound)( snd_rawmidi_t**, snd_rawmidi_t**,const char*, int, snd_config_t*); +extern int (*snd_rawmidi_close_dylibloader_wrapper_asound)( snd_rawmidi_t*); +extern int (*snd_rawmidi_poll_descriptors_count_dylibloader_wrapper_asound)( snd_rawmidi_t*); +extern int (*snd_rawmidi_poll_descriptors_dylibloader_wrapper_asound)( snd_rawmidi_t*,struct pollfd*, unsigned int); +extern int (*snd_rawmidi_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_rawmidi_t*,struct pollfd*, unsigned int, unsigned short*); +extern int (*snd_rawmidi_nonblock_dylibloader_wrapper_asound)( snd_rawmidi_t*, int); +extern size_t (*snd_rawmidi_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_rawmidi_info_malloc_dylibloader_wrapper_asound)( snd_rawmidi_info_t**); +extern void (*snd_rawmidi_info_free_dylibloader_wrapper_asound)( snd_rawmidi_info_t*); +extern void (*snd_rawmidi_info_copy_dylibloader_wrapper_asound)( snd_rawmidi_info_t*,const snd_rawmidi_info_t*); +extern unsigned int (*snd_rawmidi_info_get_device_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern unsigned int (*snd_rawmidi_info_get_subdevice_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern snd_rawmidi_stream_t (*snd_rawmidi_info_get_stream_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern int (*snd_rawmidi_info_get_card_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern unsigned int (*snd_rawmidi_info_get_flags_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern const char* (*snd_rawmidi_info_get_id_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern const char* (*snd_rawmidi_info_get_name_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern const char* (*snd_rawmidi_info_get_subdevice_name_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern unsigned int (*snd_rawmidi_info_get_subdevices_count_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern unsigned int (*snd_rawmidi_info_get_subdevices_avail_dylibloader_wrapper_asound)(const snd_rawmidi_info_t*); +extern void (*snd_rawmidi_info_set_device_dylibloader_wrapper_asound)( snd_rawmidi_info_t*, unsigned int); +extern void (*snd_rawmidi_info_set_subdevice_dylibloader_wrapper_asound)( snd_rawmidi_info_t*, unsigned int); +extern void (*snd_rawmidi_info_set_stream_dylibloader_wrapper_asound)( snd_rawmidi_info_t*, snd_rawmidi_stream_t); +extern int (*snd_rawmidi_info_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_info_t*); +extern size_t (*snd_rawmidi_params_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_rawmidi_params_malloc_dylibloader_wrapper_asound)( snd_rawmidi_params_t**); +extern void (*snd_rawmidi_params_free_dylibloader_wrapper_asound)( snd_rawmidi_params_t*); +extern void (*snd_rawmidi_params_copy_dylibloader_wrapper_asound)( snd_rawmidi_params_t*,const snd_rawmidi_params_t*); +extern int (*snd_rawmidi_params_set_buffer_size_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*, size_t); +extern size_t (*snd_rawmidi_params_get_buffer_size_dylibloader_wrapper_asound)(const snd_rawmidi_params_t*); +extern int (*snd_rawmidi_params_set_avail_min_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*, size_t); +extern size_t (*snd_rawmidi_params_get_avail_min_dylibloader_wrapper_asound)(const snd_rawmidi_params_t*); +extern int (*snd_rawmidi_params_set_no_active_sensing_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*, int); +extern int (*snd_rawmidi_params_get_no_active_sensing_dylibloader_wrapper_asound)(const snd_rawmidi_params_t*); +extern int (*snd_rawmidi_params_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*); +extern int (*snd_rawmidi_params_current_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_params_t*); +extern size_t (*snd_rawmidi_status_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_rawmidi_status_malloc_dylibloader_wrapper_asound)( snd_rawmidi_status_t**); +extern void (*snd_rawmidi_status_free_dylibloader_wrapper_asound)( snd_rawmidi_status_t*); +extern void (*snd_rawmidi_status_copy_dylibloader_wrapper_asound)( snd_rawmidi_status_t*,const snd_rawmidi_status_t*); +extern void (*snd_rawmidi_status_get_tstamp_dylibloader_wrapper_asound)(const snd_rawmidi_status_t*, snd_htimestamp_t*); +extern size_t (*snd_rawmidi_status_get_avail_dylibloader_wrapper_asound)(const snd_rawmidi_status_t*); +extern size_t (*snd_rawmidi_status_get_xruns_dylibloader_wrapper_asound)(const snd_rawmidi_status_t*); +extern int (*snd_rawmidi_status_dylibloader_wrapper_asound)( snd_rawmidi_t*, snd_rawmidi_status_t*); +extern int (*snd_rawmidi_drain_dylibloader_wrapper_asound)( snd_rawmidi_t*); +extern int (*snd_rawmidi_drop_dylibloader_wrapper_asound)( snd_rawmidi_t*); +extern ssize_t (*snd_rawmidi_write_dylibloader_wrapper_asound)( snd_rawmidi_t*,const void*, size_t); +extern ssize_t (*snd_rawmidi_read_dylibloader_wrapper_asound)( snd_rawmidi_t*, void*, size_t); +extern const char* (*snd_rawmidi_name_dylibloader_wrapper_asound)( snd_rawmidi_t*); +extern snd_rawmidi_type_t (*snd_rawmidi_type_dylibloader_wrapper_asound)( snd_rawmidi_t*); +extern snd_rawmidi_stream_t (*snd_rawmidi_stream_dylibloader_wrapper_asound)( snd_rawmidi_t*); +extern int (*snd_timer_query_open_dylibloader_wrapper_asound)( snd_timer_query_t**,const char*, int); +extern int (*snd_timer_query_open_lconf_dylibloader_wrapper_asound)( snd_timer_query_t**,const char*, int, snd_config_t*); +extern int (*snd_timer_query_close_dylibloader_wrapper_asound)( snd_timer_query_t*); +extern int (*snd_timer_query_next_device_dylibloader_wrapper_asound)( snd_timer_query_t*, snd_timer_id_t*); +extern int (*snd_timer_query_info_dylibloader_wrapper_asound)( snd_timer_query_t*, snd_timer_ginfo_t*); +extern int (*snd_timer_query_params_dylibloader_wrapper_asound)( snd_timer_query_t*, snd_timer_gparams_t*); +extern int (*snd_timer_query_status_dylibloader_wrapper_asound)( snd_timer_query_t*, snd_timer_gstatus_t*); +extern int (*snd_timer_open_dylibloader_wrapper_asound)( snd_timer_t**,const char*, int); +extern int (*snd_timer_open_lconf_dylibloader_wrapper_asound)( snd_timer_t**,const char*, int, snd_config_t*); +extern int (*snd_timer_close_dylibloader_wrapper_asound)( snd_timer_t*); +extern int (*snd_async_add_timer_handler_dylibloader_wrapper_asound)( snd_async_handler_t**, snd_timer_t*, snd_async_callback_t, void*); +extern snd_timer_t* (*snd_async_handler_get_timer_dylibloader_wrapper_asound)( snd_async_handler_t*); +extern int (*snd_timer_poll_descriptors_count_dylibloader_wrapper_asound)( snd_timer_t*); +extern int (*snd_timer_poll_descriptors_dylibloader_wrapper_asound)( snd_timer_t*,struct pollfd*, unsigned int); +extern int (*snd_timer_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_timer_t*,struct pollfd*, unsigned int, unsigned short*); +extern int (*snd_timer_info_dylibloader_wrapper_asound)( snd_timer_t*, snd_timer_info_t*); +extern int (*snd_timer_params_dylibloader_wrapper_asound)( snd_timer_t*, snd_timer_params_t*); +extern int (*snd_timer_status_dylibloader_wrapper_asound)( snd_timer_t*, snd_timer_status_t*); +extern int (*snd_timer_start_dylibloader_wrapper_asound)( snd_timer_t*); +extern int (*snd_timer_stop_dylibloader_wrapper_asound)( snd_timer_t*); +extern int (*snd_timer_continue_dylibloader_wrapper_asound)( snd_timer_t*); +extern ssize_t (*snd_timer_read_dylibloader_wrapper_asound)( snd_timer_t*, void*, size_t); +extern size_t (*snd_timer_id_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_timer_id_malloc_dylibloader_wrapper_asound)( snd_timer_id_t**); +extern void (*snd_timer_id_free_dylibloader_wrapper_asound)( snd_timer_id_t*); +extern void (*snd_timer_id_copy_dylibloader_wrapper_asound)( snd_timer_id_t*,const snd_timer_id_t*); +extern void (*snd_timer_id_set_class_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +extern int (*snd_timer_id_get_class_dylibloader_wrapper_asound)( snd_timer_id_t*); +extern void (*snd_timer_id_set_sclass_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +extern int (*snd_timer_id_get_sclass_dylibloader_wrapper_asound)( snd_timer_id_t*); +extern void (*snd_timer_id_set_card_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +extern int (*snd_timer_id_get_card_dylibloader_wrapper_asound)( snd_timer_id_t*); +extern void (*snd_timer_id_set_device_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +extern int (*snd_timer_id_get_device_dylibloader_wrapper_asound)( snd_timer_id_t*); +extern void (*snd_timer_id_set_subdevice_dylibloader_wrapper_asound)( snd_timer_id_t*, int); +extern int (*snd_timer_id_get_subdevice_dylibloader_wrapper_asound)( snd_timer_id_t*); +extern size_t (*snd_timer_ginfo_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_timer_ginfo_malloc_dylibloader_wrapper_asound)( snd_timer_ginfo_t**); +extern void (*snd_timer_ginfo_free_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern void (*snd_timer_ginfo_copy_dylibloader_wrapper_asound)( snd_timer_ginfo_t*,const snd_timer_ginfo_t*); +extern int (*snd_timer_ginfo_set_tid_dylibloader_wrapper_asound)( snd_timer_ginfo_t*, snd_timer_id_t*); +extern snd_timer_id_t* (*snd_timer_ginfo_get_tid_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern unsigned int (*snd_timer_ginfo_get_flags_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern int (*snd_timer_ginfo_get_card_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern char* (*snd_timer_ginfo_get_id_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern char* (*snd_timer_ginfo_get_name_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern unsigned long (*snd_timer_ginfo_get_resolution_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern unsigned long (*snd_timer_ginfo_get_resolution_min_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern unsigned long (*snd_timer_ginfo_get_resolution_max_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern unsigned int (*snd_timer_ginfo_get_clients_dylibloader_wrapper_asound)( snd_timer_ginfo_t*); +extern size_t (*snd_timer_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_timer_info_malloc_dylibloader_wrapper_asound)( snd_timer_info_t**); +extern void (*snd_timer_info_free_dylibloader_wrapper_asound)( snd_timer_info_t*); +extern void (*snd_timer_info_copy_dylibloader_wrapper_asound)( snd_timer_info_t*,const snd_timer_info_t*); +extern int (*snd_timer_info_is_slave_dylibloader_wrapper_asound)( snd_timer_info_t*); +extern int (*snd_timer_info_get_card_dylibloader_wrapper_asound)( snd_timer_info_t*); +extern const char* (*snd_timer_info_get_id_dylibloader_wrapper_asound)( snd_timer_info_t*); +extern const char* (*snd_timer_info_get_name_dylibloader_wrapper_asound)( snd_timer_info_t*); +extern long (*snd_timer_info_get_resolution_dylibloader_wrapper_asound)( snd_timer_info_t*); +extern size_t (*snd_timer_params_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_timer_params_malloc_dylibloader_wrapper_asound)( snd_timer_params_t**); +extern void (*snd_timer_params_free_dylibloader_wrapper_asound)( snd_timer_params_t*); +extern void (*snd_timer_params_copy_dylibloader_wrapper_asound)( snd_timer_params_t*,const snd_timer_params_t*); +extern int (*snd_timer_params_set_auto_start_dylibloader_wrapper_asound)( snd_timer_params_t*, int); +extern int (*snd_timer_params_get_auto_start_dylibloader_wrapper_asound)( snd_timer_params_t*); +extern int (*snd_timer_params_set_exclusive_dylibloader_wrapper_asound)( snd_timer_params_t*, int); +extern int (*snd_timer_params_get_exclusive_dylibloader_wrapper_asound)( snd_timer_params_t*); +extern int (*snd_timer_params_set_early_event_dylibloader_wrapper_asound)( snd_timer_params_t*, int); +extern int (*snd_timer_params_get_early_event_dylibloader_wrapper_asound)( snd_timer_params_t*); +extern void (*snd_timer_params_set_ticks_dylibloader_wrapper_asound)( snd_timer_params_t*, long); +extern long (*snd_timer_params_get_ticks_dylibloader_wrapper_asound)( snd_timer_params_t*); +extern void (*snd_timer_params_set_queue_size_dylibloader_wrapper_asound)( snd_timer_params_t*, long); +extern long (*snd_timer_params_get_queue_size_dylibloader_wrapper_asound)( snd_timer_params_t*); +extern void (*snd_timer_params_set_filter_dylibloader_wrapper_asound)( snd_timer_params_t*, unsigned int); +extern unsigned int (*snd_timer_params_get_filter_dylibloader_wrapper_asound)( snd_timer_params_t*); +extern size_t (*snd_timer_status_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_timer_status_malloc_dylibloader_wrapper_asound)( snd_timer_status_t**); +extern void (*snd_timer_status_free_dylibloader_wrapper_asound)( snd_timer_status_t*); +extern void (*snd_timer_status_copy_dylibloader_wrapper_asound)( snd_timer_status_t*,const snd_timer_status_t*); +extern snd_htimestamp_t (*snd_timer_status_get_timestamp_dylibloader_wrapper_asound)( snd_timer_status_t*); +extern long (*snd_timer_status_get_resolution_dylibloader_wrapper_asound)( snd_timer_status_t*); +extern long (*snd_timer_status_get_lost_dylibloader_wrapper_asound)( snd_timer_status_t*); +extern long (*snd_timer_status_get_overrun_dylibloader_wrapper_asound)( snd_timer_status_t*); +extern long (*snd_timer_status_get_queue_dylibloader_wrapper_asound)( snd_timer_status_t*); +extern long (*snd_timer_info_get_ticks_dylibloader_wrapper_asound)( snd_timer_info_t*); +extern int (*snd_hwdep_open_dylibloader_wrapper_asound)( snd_hwdep_t**,const char*, int); +extern int (*snd_hwdep_close_dylibloader_wrapper_asound)( snd_hwdep_t*); +extern int (*snd_hwdep_poll_descriptors_dylibloader_wrapper_asound)( snd_hwdep_t*,struct pollfd*, unsigned int); +extern int (*snd_hwdep_poll_descriptors_count_dylibloader_wrapper_asound)( snd_hwdep_t*); +extern int (*snd_hwdep_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_hwdep_t*,struct pollfd*, unsigned int, unsigned short*); +extern int (*snd_hwdep_nonblock_dylibloader_wrapper_asound)( snd_hwdep_t*, int); +extern int (*snd_hwdep_info_dylibloader_wrapper_asound)( snd_hwdep_t*, snd_hwdep_info_t*); +extern int (*snd_hwdep_dsp_status_dylibloader_wrapper_asound)( snd_hwdep_t*, snd_hwdep_dsp_status_t*); +extern int (*snd_hwdep_dsp_load_dylibloader_wrapper_asound)( snd_hwdep_t*, snd_hwdep_dsp_image_t*); +extern int (*snd_hwdep_ioctl_dylibloader_wrapper_asound)( snd_hwdep_t*, unsigned int, void*); +extern ssize_t (*snd_hwdep_write_dylibloader_wrapper_asound)( snd_hwdep_t*,const void*, size_t); +extern ssize_t (*snd_hwdep_read_dylibloader_wrapper_asound)( snd_hwdep_t*, void*, size_t); +extern size_t (*snd_hwdep_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_hwdep_info_malloc_dylibloader_wrapper_asound)( snd_hwdep_info_t**); +extern void (*snd_hwdep_info_free_dylibloader_wrapper_asound)( snd_hwdep_info_t*); +extern void (*snd_hwdep_info_copy_dylibloader_wrapper_asound)( snd_hwdep_info_t*,const snd_hwdep_info_t*); +extern unsigned int (*snd_hwdep_info_get_device_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +extern int (*snd_hwdep_info_get_card_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +extern const char* (*snd_hwdep_info_get_id_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +extern const char* (*snd_hwdep_info_get_name_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +extern snd_hwdep_iface_t (*snd_hwdep_info_get_iface_dylibloader_wrapper_asound)(const snd_hwdep_info_t*); +extern void (*snd_hwdep_info_set_device_dylibloader_wrapper_asound)( snd_hwdep_info_t*, unsigned int); +extern size_t (*snd_hwdep_dsp_status_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_hwdep_dsp_status_malloc_dylibloader_wrapper_asound)( snd_hwdep_dsp_status_t**); +extern void (*snd_hwdep_dsp_status_free_dylibloader_wrapper_asound)( snd_hwdep_dsp_status_t*); +extern void (*snd_hwdep_dsp_status_copy_dylibloader_wrapper_asound)( snd_hwdep_dsp_status_t*,const snd_hwdep_dsp_status_t*); +extern unsigned int (*snd_hwdep_dsp_status_get_version_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +extern const char* (*snd_hwdep_dsp_status_get_id_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +extern unsigned int (*snd_hwdep_dsp_status_get_num_dsps_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +extern unsigned int (*snd_hwdep_dsp_status_get_dsp_loaded_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +extern unsigned int (*snd_hwdep_dsp_status_get_chip_ready_dylibloader_wrapper_asound)(const snd_hwdep_dsp_status_t*); +extern size_t (*snd_hwdep_dsp_image_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_hwdep_dsp_image_malloc_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t**); +extern void (*snd_hwdep_dsp_image_free_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*); +extern void (*snd_hwdep_dsp_image_copy_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*,const snd_hwdep_dsp_image_t*); +extern unsigned int (*snd_hwdep_dsp_image_get_index_dylibloader_wrapper_asound)(const snd_hwdep_dsp_image_t*); +extern const char* (*snd_hwdep_dsp_image_get_name_dylibloader_wrapper_asound)(const snd_hwdep_dsp_image_t*); +extern const void* (*snd_hwdep_dsp_image_get_image_dylibloader_wrapper_asound)(const snd_hwdep_dsp_image_t*); +extern size_t (*snd_hwdep_dsp_image_get_length_dylibloader_wrapper_asound)(const snd_hwdep_dsp_image_t*); +extern void (*snd_hwdep_dsp_image_set_index_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*, unsigned int); +extern void (*snd_hwdep_dsp_image_set_name_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*,const char*); +extern void (*snd_hwdep_dsp_image_set_image_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*, void*); +extern void (*snd_hwdep_dsp_image_set_length_dylibloader_wrapper_asound)( snd_hwdep_dsp_image_t*, size_t); +extern int (*snd_card_load_dylibloader_wrapper_asound)( int); +extern int (*snd_card_next_dylibloader_wrapper_asound)( int*); +extern int (*snd_card_get_index_dylibloader_wrapper_asound)(const char*); +extern int (*snd_card_get_name_dylibloader_wrapper_asound)( int, char**); +extern int (*snd_card_get_longname_dylibloader_wrapper_asound)( int, char**); +extern int (*snd_device_name_hint_dylibloader_wrapper_asound)( int,const char*, void***); +extern int (*snd_device_name_free_hint_dylibloader_wrapper_asound)( void**); +extern char* (*snd_device_name_get_hint_dylibloader_wrapper_asound)(const void*,const char*); +extern int (*snd_ctl_open_dylibloader_wrapper_asound)( snd_ctl_t**,const char*, int); +extern int (*snd_ctl_open_lconf_dylibloader_wrapper_asound)( snd_ctl_t**,const char*, int, snd_config_t*); +extern int (*snd_ctl_open_fallback_dylibloader_wrapper_asound)( snd_ctl_t**, snd_config_t*,const char*,const char*, int); +extern int (*snd_ctl_close_dylibloader_wrapper_asound)( snd_ctl_t*); +extern int (*snd_ctl_nonblock_dylibloader_wrapper_asound)( snd_ctl_t*, int); +extern int (*snd_async_add_ctl_handler_dylibloader_wrapper_asound)( snd_async_handler_t**, snd_ctl_t*, snd_async_callback_t, void*); +extern snd_ctl_t* (*snd_async_handler_get_ctl_dylibloader_wrapper_asound)( snd_async_handler_t*); +extern int (*snd_ctl_poll_descriptors_count_dylibloader_wrapper_asound)( snd_ctl_t*); +extern int (*snd_ctl_poll_descriptors_dylibloader_wrapper_asound)( snd_ctl_t*,struct pollfd*, unsigned int); +extern int (*snd_ctl_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_ctl_t*,struct pollfd*, unsigned int, unsigned short*); +extern int (*snd_ctl_subscribe_events_dylibloader_wrapper_asound)( snd_ctl_t*, int); +extern int (*snd_ctl_card_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_card_info_t*); +extern int (*snd_ctl_elem_list_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_list_t*); +extern int (*snd_ctl_elem_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_read_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_value_t*); +extern int (*snd_ctl_elem_write_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_value_t*); +extern int (*snd_ctl_elem_lock_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_id_t*); +extern int (*snd_ctl_elem_unlock_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_id_t*); +extern int (*snd_ctl_elem_tlv_read_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int*, unsigned int); +extern int (*snd_ctl_elem_tlv_write_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*,const unsigned int*); +extern int (*snd_ctl_elem_tlv_command_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*,const unsigned int*); +extern int (*snd_ctl_hwdep_next_device_dylibloader_wrapper_asound)( snd_ctl_t*, int*); +extern int (*snd_ctl_hwdep_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_hwdep_info_t*); +extern int (*snd_ctl_pcm_next_device_dylibloader_wrapper_asound)( snd_ctl_t*, int*); +extern int (*snd_ctl_pcm_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_pcm_info_t*); +extern int (*snd_ctl_pcm_prefer_subdevice_dylibloader_wrapper_asound)( snd_ctl_t*, int); +extern int (*snd_ctl_rawmidi_next_device_dylibloader_wrapper_asound)( snd_ctl_t*, int*); +extern int (*snd_ctl_rawmidi_info_dylibloader_wrapper_asound)( snd_ctl_t*, snd_rawmidi_info_t*); +extern int (*snd_ctl_rawmidi_prefer_subdevice_dylibloader_wrapper_asound)( snd_ctl_t*, int); +extern int (*snd_ctl_set_power_state_dylibloader_wrapper_asound)( snd_ctl_t*, unsigned int); +extern int (*snd_ctl_get_power_state_dylibloader_wrapper_asound)( snd_ctl_t*, unsigned int*); +extern int (*snd_ctl_read_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_event_t*); +extern int (*snd_ctl_wait_dylibloader_wrapper_asound)( snd_ctl_t*, int); +extern const char* (*snd_ctl_name_dylibloader_wrapper_asound)( snd_ctl_t*); +extern snd_ctl_type_t (*snd_ctl_type_dylibloader_wrapper_asound)( snd_ctl_t*); +extern const char* (*snd_ctl_elem_type_name_dylibloader_wrapper_asound)( snd_ctl_elem_type_t); +extern const char* (*snd_ctl_elem_iface_name_dylibloader_wrapper_asound)( snd_ctl_elem_iface_t); +extern const char* (*snd_ctl_event_type_name_dylibloader_wrapper_asound)( snd_ctl_event_type_t); +extern unsigned int (*snd_ctl_event_elem_get_mask_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +extern unsigned int (*snd_ctl_event_elem_get_numid_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +extern void (*snd_ctl_event_elem_get_id_dylibloader_wrapper_asound)(const snd_ctl_event_t*, snd_ctl_elem_id_t*); +extern snd_ctl_elem_iface_t (*snd_ctl_event_elem_get_interface_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +extern unsigned int (*snd_ctl_event_elem_get_device_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +extern unsigned int (*snd_ctl_event_elem_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +extern const char* (*snd_ctl_event_elem_get_name_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +extern unsigned int (*snd_ctl_event_elem_get_index_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +extern int (*snd_ctl_elem_list_alloc_space_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*, unsigned int); +extern void (*snd_ctl_elem_list_free_space_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*); +extern char* (*snd_ctl_ascii_elem_id_get_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*); +extern int (*snd_ctl_ascii_elem_id_parse_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*,const char*); +extern int (*snd_ctl_ascii_value_parse_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_value_t*, snd_ctl_elem_info_t*,const char*); +extern size_t (*snd_ctl_elem_id_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_ctl_elem_id_malloc_dylibloader_wrapper_asound)( snd_ctl_elem_id_t**); +extern void (*snd_ctl_elem_id_free_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*); +extern void (*snd_ctl_elem_id_clear_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*); +extern void (*snd_ctl_elem_id_copy_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*,const snd_ctl_elem_id_t*); +extern unsigned int (*snd_ctl_elem_id_get_numid_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +extern snd_ctl_elem_iface_t (*snd_ctl_elem_id_get_interface_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +extern unsigned int (*snd_ctl_elem_id_get_device_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +extern unsigned int (*snd_ctl_elem_id_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +extern const char* (*snd_ctl_elem_id_get_name_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +extern unsigned int (*snd_ctl_elem_id_get_index_dylibloader_wrapper_asound)(const snd_ctl_elem_id_t*); +extern void (*snd_ctl_elem_id_set_numid_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, unsigned int); +extern void (*snd_ctl_elem_id_set_interface_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, snd_ctl_elem_iface_t); +extern void (*snd_ctl_elem_id_set_device_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, unsigned int); +extern void (*snd_ctl_elem_id_set_subdevice_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, unsigned int); +extern void (*snd_ctl_elem_id_set_name_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*,const char*); +extern void (*snd_ctl_elem_id_set_index_dylibloader_wrapper_asound)( snd_ctl_elem_id_t*, unsigned int); +extern size_t (*snd_ctl_card_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_ctl_card_info_malloc_dylibloader_wrapper_asound)( snd_ctl_card_info_t**); +extern void (*snd_ctl_card_info_free_dylibloader_wrapper_asound)( snd_ctl_card_info_t*); +extern void (*snd_ctl_card_info_clear_dylibloader_wrapper_asound)( snd_ctl_card_info_t*); +extern void (*snd_ctl_card_info_copy_dylibloader_wrapper_asound)( snd_ctl_card_info_t*,const snd_ctl_card_info_t*); +extern int (*snd_ctl_card_info_get_card_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +extern const char* (*snd_ctl_card_info_get_id_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +extern const char* (*snd_ctl_card_info_get_driver_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +extern const char* (*snd_ctl_card_info_get_name_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +extern const char* (*snd_ctl_card_info_get_longname_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +extern const char* (*snd_ctl_card_info_get_mixername_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +extern const char* (*snd_ctl_card_info_get_components_dylibloader_wrapper_asound)(const snd_ctl_card_info_t*); +extern size_t (*snd_ctl_event_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_ctl_event_malloc_dylibloader_wrapper_asound)( snd_ctl_event_t**); +extern void (*snd_ctl_event_free_dylibloader_wrapper_asound)( snd_ctl_event_t*); +extern void (*snd_ctl_event_clear_dylibloader_wrapper_asound)( snd_ctl_event_t*); +extern void (*snd_ctl_event_copy_dylibloader_wrapper_asound)( snd_ctl_event_t*,const snd_ctl_event_t*); +extern snd_ctl_event_type_t (*snd_ctl_event_get_type_dylibloader_wrapper_asound)(const snd_ctl_event_t*); +extern size_t (*snd_ctl_elem_list_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_ctl_elem_list_malloc_dylibloader_wrapper_asound)( snd_ctl_elem_list_t**); +extern void (*snd_ctl_elem_list_free_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*); +extern void (*snd_ctl_elem_list_clear_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*); +extern void (*snd_ctl_elem_list_copy_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*,const snd_ctl_elem_list_t*); +extern void (*snd_ctl_elem_list_set_offset_dylibloader_wrapper_asound)( snd_ctl_elem_list_t*, unsigned int); +extern unsigned int (*snd_ctl_elem_list_get_used_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*); +extern unsigned int (*snd_ctl_elem_list_get_count_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*); +extern void (*snd_ctl_elem_list_get_id_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int, snd_ctl_elem_id_t*); +extern unsigned int (*snd_ctl_elem_list_get_numid_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +extern snd_ctl_elem_iface_t (*snd_ctl_elem_list_get_interface_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +extern unsigned int (*snd_ctl_elem_list_get_device_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +extern unsigned int (*snd_ctl_elem_list_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +extern const char* (*snd_ctl_elem_list_get_name_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +extern unsigned int (*snd_ctl_elem_list_get_index_dylibloader_wrapper_asound)(const snd_ctl_elem_list_t*, unsigned int); +extern size_t (*snd_ctl_elem_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_ctl_elem_info_malloc_dylibloader_wrapper_asound)( snd_ctl_elem_info_t**); +extern void (*snd_ctl_elem_info_free_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*); +extern void (*snd_ctl_elem_info_clear_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*); +extern void (*snd_ctl_elem_info_copy_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*,const snd_ctl_elem_info_t*); +extern snd_ctl_elem_type_t (*snd_ctl_elem_info_get_type_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_readable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_writable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_volatile_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_inactive_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_locked_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_tlv_readable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_tlv_writable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_tlv_commandable_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_owner_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_is_user_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern pid_t (*snd_ctl_elem_info_get_owner_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern unsigned int (*snd_ctl_elem_info_get_count_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern long (*snd_ctl_elem_info_get_min_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern long (*snd_ctl_elem_info_get_max_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern long (*snd_ctl_elem_info_get_step_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern long long (*snd_ctl_elem_info_get_min64_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern long long (*snd_ctl_elem_info_get_max64_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern long long (*snd_ctl_elem_info_get_step64_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern unsigned int (*snd_ctl_elem_info_get_items_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern void (*snd_ctl_elem_info_set_item_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +extern const char* (*snd_ctl_elem_info_get_item_name_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_get_dimensions_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern int (*snd_ctl_elem_info_get_dimension_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*, unsigned int); +extern int (*snd_ctl_elem_info_set_dimension_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*,const int [4]); +extern void (*snd_ctl_elem_info_get_id_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*, snd_ctl_elem_id_t*); +extern unsigned int (*snd_ctl_elem_info_get_numid_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern snd_ctl_elem_iface_t (*snd_ctl_elem_info_get_interface_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern unsigned int (*snd_ctl_elem_info_get_device_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern unsigned int (*snd_ctl_elem_info_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern const char* (*snd_ctl_elem_info_get_name_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern unsigned int (*snd_ctl_elem_info_get_index_dylibloader_wrapper_asound)(const snd_ctl_elem_info_t*); +extern void (*snd_ctl_elem_info_set_id_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*,const snd_ctl_elem_id_t*); +extern void (*snd_ctl_elem_info_set_numid_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +extern void (*snd_ctl_elem_info_set_interface_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, snd_ctl_elem_iface_t); +extern void (*snd_ctl_elem_info_set_device_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +extern void (*snd_ctl_elem_info_set_subdevice_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +extern void (*snd_ctl_elem_info_set_name_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*,const char*); +extern void (*snd_ctl_elem_info_set_index_dylibloader_wrapper_asound)( snd_ctl_elem_info_t*, unsigned int); +extern int (*snd_ctl_add_integer_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, long, long, long); +extern int (*snd_ctl_add_integer64_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, long long, long long, long long); +extern int (*snd_ctl_add_boolean_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int); +extern int (*snd_ctl_add_enumerated_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int, unsigned int,const char* []); +extern int (*snd_ctl_add_bytes_elem_set_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_info_t*, unsigned int, unsigned int); +extern int (*snd_ctl_elem_add_integer_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, long, long, long); +extern int (*snd_ctl_elem_add_integer64_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, long long, long long, long long); +extern int (*snd_ctl_elem_add_boolean_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int); +extern int (*snd_ctl_elem_add_enumerated_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, unsigned int, unsigned int,const char* []); +extern int (*snd_ctl_elem_add_iec958_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*); +extern int (*snd_ctl_elem_remove_dylibloader_wrapper_asound)( snd_ctl_t*, snd_ctl_elem_id_t*); +extern size_t (*snd_ctl_elem_value_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_ctl_elem_value_malloc_dylibloader_wrapper_asound)( snd_ctl_elem_value_t**); +extern void (*snd_ctl_elem_value_free_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*); +extern void (*snd_ctl_elem_value_clear_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*); +extern void (*snd_ctl_elem_value_copy_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const snd_ctl_elem_value_t*); +extern int (*snd_ctl_elem_value_compare_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const snd_ctl_elem_value_t*); +extern void (*snd_ctl_elem_value_get_id_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, snd_ctl_elem_id_t*); +extern unsigned int (*snd_ctl_elem_value_get_numid_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +extern snd_ctl_elem_iface_t (*snd_ctl_elem_value_get_interface_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +extern unsigned int (*snd_ctl_elem_value_get_device_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +extern unsigned int (*snd_ctl_elem_value_get_subdevice_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +extern const char* (*snd_ctl_elem_value_get_name_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +extern unsigned int (*snd_ctl_elem_value_get_index_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +extern void (*snd_ctl_elem_value_set_id_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const snd_ctl_elem_id_t*); +extern void (*snd_ctl_elem_value_set_numid_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int); +extern void (*snd_ctl_elem_value_set_interface_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, snd_ctl_elem_iface_t); +extern void (*snd_ctl_elem_value_set_device_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int); +extern void (*snd_ctl_elem_value_set_subdevice_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int); +extern void (*snd_ctl_elem_value_set_name_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const char*); +extern void (*snd_ctl_elem_value_set_index_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int); +extern int (*snd_ctl_elem_value_get_boolean_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +extern long (*snd_ctl_elem_value_get_integer_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +extern long long (*snd_ctl_elem_value_get_integer64_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +extern unsigned int (*snd_ctl_elem_value_get_enumerated_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +extern unsigned char (*snd_ctl_elem_value_get_byte_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, unsigned int); +extern void (*snd_ctl_elem_value_set_boolean_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, long); +extern void (*snd_ctl_elem_value_set_integer_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, long); +extern void (*snd_ctl_elem_value_set_integer64_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, long long); +extern void (*snd_ctl_elem_value_set_enumerated_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, unsigned int); +extern void (*snd_ctl_elem_value_set_byte_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, unsigned int, unsigned char); +extern void (*snd_ctl_elem_set_bytes_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*, void*, size_t); +extern const void* (*snd_ctl_elem_value_get_bytes_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*); +extern void (*snd_ctl_elem_value_get_iec958_dylibloader_wrapper_asound)(const snd_ctl_elem_value_t*, snd_aes_iec958_t*); +extern void (*snd_ctl_elem_value_set_iec958_dylibloader_wrapper_asound)( snd_ctl_elem_value_t*,const snd_aes_iec958_t*); +extern int (*snd_tlv_parse_dB_info_dylibloader_wrapper_asound)( unsigned int*, unsigned int, unsigned int**); +extern int (*snd_tlv_get_dB_range_dylibloader_wrapper_asound)( unsigned int*, long, long, long*, long*); +extern int (*snd_tlv_convert_to_dB_dylibloader_wrapper_asound)( unsigned int*, long, long, long, long*); +extern int (*snd_tlv_convert_from_dB_dylibloader_wrapper_asound)( unsigned int*, long, long, long, long*, int); +extern int (*snd_ctl_get_dB_range_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, long*, long*); +extern int (*snd_ctl_convert_to_dB_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, long, long*); +extern int (*snd_ctl_convert_from_dB_dylibloader_wrapper_asound)( snd_ctl_t*,const snd_ctl_elem_id_t*, long, long*, int); +extern int (*snd_hctl_compare_fast_dylibloader_wrapper_asound)(const snd_hctl_elem_t*,const snd_hctl_elem_t*); +extern int (*snd_hctl_open_dylibloader_wrapper_asound)( snd_hctl_t**,const char*, int); +extern int (*snd_hctl_open_ctl_dylibloader_wrapper_asound)( snd_hctl_t**, snd_ctl_t*); +extern int (*snd_hctl_close_dylibloader_wrapper_asound)( snd_hctl_t*); +extern int (*snd_hctl_nonblock_dylibloader_wrapper_asound)( snd_hctl_t*, int); +extern int (*snd_hctl_poll_descriptors_count_dylibloader_wrapper_asound)( snd_hctl_t*); +extern int (*snd_hctl_poll_descriptors_dylibloader_wrapper_asound)( snd_hctl_t*,struct pollfd*, unsigned int); +extern int (*snd_hctl_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_hctl_t*,struct pollfd*, unsigned int, unsigned short*); +extern unsigned int (*snd_hctl_get_count_dylibloader_wrapper_asound)( snd_hctl_t*); +extern int (*snd_hctl_set_compare_dylibloader_wrapper_asound)( snd_hctl_t*, snd_hctl_compare_t); +extern snd_hctl_elem_t* (*snd_hctl_first_elem_dylibloader_wrapper_asound)( snd_hctl_t*); +extern snd_hctl_elem_t* (*snd_hctl_last_elem_dylibloader_wrapper_asound)( snd_hctl_t*); +extern snd_hctl_elem_t* (*snd_hctl_find_elem_dylibloader_wrapper_asound)( snd_hctl_t*,const snd_ctl_elem_id_t*); +extern void (*snd_hctl_set_callback_dylibloader_wrapper_asound)( snd_hctl_t*, snd_hctl_callback_t); +extern void (*snd_hctl_set_callback_private_dylibloader_wrapper_asound)( snd_hctl_t*, void*); +extern void* (*snd_hctl_get_callback_private_dylibloader_wrapper_asound)( snd_hctl_t*); +extern int (*snd_hctl_load_dylibloader_wrapper_asound)( snd_hctl_t*); +extern int (*snd_hctl_free_dylibloader_wrapper_asound)( snd_hctl_t*); +extern int (*snd_hctl_handle_events_dylibloader_wrapper_asound)( snd_hctl_t*); +extern const char* (*snd_hctl_name_dylibloader_wrapper_asound)( snd_hctl_t*); +extern int (*snd_hctl_wait_dylibloader_wrapper_asound)( snd_hctl_t*, int); +extern snd_ctl_t* (*snd_hctl_ctl_dylibloader_wrapper_asound)( snd_hctl_t*); +extern snd_hctl_elem_t* (*snd_hctl_elem_next_dylibloader_wrapper_asound)( snd_hctl_elem_t*); +extern snd_hctl_elem_t* (*snd_hctl_elem_prev_dylibloader_wrapper_asound)( snd_hctl_elem_t*); +extern int (*snd_hctl_elem_info_dylibloader_wrapper_asound)( snd_hctl_elem_t*, snd_ctl_elem_info_t*); +extern int (*snd_hctl_elem_read_dylibloader_wrapper_asound)( snd_hctl_elem_t*, snd_ctl_elem_value_t*); +extern int (*snd_hctl_elem_write_dylibloader_wrapper_asound)( snd_hctl_elem_t*, snd_ctl_elem_value_t*); +extern int (*snd_hctl_elem_tlv_read_dylibloader_wrapper_asound)( snd_hctl_elem_t*, unsigned int*, unsigned int); +extern int (*snd_hctl_elem_tlv_write_dylibloader_wrapper_asound)( snd_hctl_elem_t*,const unsigned int*); +extern int (*snd_hctl_elem_tlv_command_dylibloader_wrapper_asound)( snd_hctl_elem_t*,const unsigned int*); +extern snd_hctl_t* (*snd_hctl_elem_get_hctl_dylibloader_wrapper_asound)( snd_hctl_elem_t*); +extern void (*snd_hctl_elem_get_id_dylibloader_wrapper_asound)(const snd_hctl_elem_t*, snd_ctl_elem_id_t*); +extern unsigned int (*snd_hctl_elem_get_numid_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +extern snd_ctl_elem_iface_t (*snd_hctl_elem_get_interface_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +extern unsigned int (*snd_hctl_elem_get_device_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +extern unsigned int (*snd_hctl_elem_get_subdevice_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +extern const char* (*snd_hctl_elem_get_name_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +extern unsigned int (*snd_hctl_elem_get_index_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +extern void (*snd_hctl_elem_set_callback_dylibloader_wrapper_asound)( snd_hctl_elem_t*, snd_hctl_elem_callback_t); +extern void* (*snd_hctl_elem_get_callback_private_dylibloader_wrapper_asound)(const snd_hctl_elem_t*); +extern void (*snd_hctl_elem_set_callback_private_dylibloader_wrapper_asound)( snd_hctl_elem_t*, void*); +extern int (*snd_sctl_build_dylibloader_wrapper_asound)( snd_sctl_t**, snd_ctl_t*, snd_config_t*, snd_config_t*, int); +extern int (*snd_sctl_free_dylibloader_wrapper_asound)( snd_sctl_t*); +extern int (*snd_sctl_install_dylibloader_wrapper_asound)( snd_sctl_t*); +extern int (*snd_sctl_remove_dylibloader_wrapper_asound)( snd_sctl_t*); +extern int (*snd_mixer_open_dylibloader_wrapper_asound)( snd_mixer_t**, int); +extern int (*snd_mixer_close_dylibloader_wrapper_asound)( snd_mixer_t*); +extern snd_mixer_elem_t* (*snd_mixer_first_elem_dylibloader_wrapper_asound)( snd_mixer_t*); +extern snd_mixer_elem_t* (*snd_mixer_last_elem_dylibloader_wrapper_asound)( snd_mixer_t*); +extern int (*snd_mixer_handle_events_dylibloader_wrapper_asound)( snd_mixer_t*); +extern int (*snd_mixer_attach_dylibloader_wrapper_asound)( snd_mixer_t*,const char*); +extern int (*snd_mixer_attach_hctl_dylibloader_wrapper_asound)( snd_mixer_t*, snd_hctl_t*); +extern int (*snd_mixer_detach_dylibloader_wrapper_asound)( snd_mixer_t*,const char*); +extern int (*snd_mixer_detach_hctl_dylibloader_wrapper_asound)( snd_mixer_t*, snd_hctl_t*); +extern int (*snd_mixer_get_hctl_dylibloader_wrapper_asound)( snd_mixer_t*,const char*, snd_hctl_t**); +extern int (*snd_mixer_poll_descriptors_count_dylibloader_wrapper_asound)( snd_mixer_t*); +extern int (*snd_mixer_poll_descriptors_dylibloader_wrapper_asound)( snd_mixer_t*,struct pollfd*, unsigned int); +extern int (*snd_mixer_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_mixer_t*,struct pollfd*, unsigned int, unsigned short*); +extern int (*snd_mixer_load_dylibloader_wrapper_asound)( snd_mixer_t*); +extern void (*snd_mixer_free_dylibloader_wrapper_asound)( snd_mixer_t*); +extern int (*snd_mixer_wait_dylibloader_wrapper_asound)( snd_mixer_t*, int); +extern int (*snd_mixer_set_compare_dylibloader_wrapper_asound)( snd_mixer_t*, snd_mixer_compare_t); +extern void (*snd_mixer_set_callback_dylibloader_wrapper_asound)( snd_mixer_t*, snd_mixer_callback_t); +extern void* (*snd_mixer_get_callback_private_dylibloader_wrapper_asound)(const snd_mixer_t*); +extern void (*snd_mixer_set_callback_private_dylibloader_wrapper_asound)( snd_mixer_t*, void*); +extern unsigned int (*snd_mixer_get_count_dylibloader_wrapper_asound)(const snd_mixer_t*); +extern int (*snd_mixer_class_unregister_dylibloader_wrapper_asound)( snd_mixer_class_t*); +extern snd_mixer_elem_t* (*snd_mixer_elem_next_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern snd_mixer_elem_t* (*snd_mixer_elem_prev_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern void (*snd_mixer_elem_set_callback_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_elem_callback_t); +extern void* (*snd_mixer_elem_get_callback_private_dylibloader_wrapper_asound)(const snd_mixer_elem_t*); +extern void (*snd_mixer_elem_set_callback_private_dylibloader_wrapper_asound)( snd_mixer_elem_t*, void*); +extern snd_mixer_elem_type_t (*snd_mixer_elem_get_type_dylibloader_wrapper_asound)(const snd_mixer_elem_t*); +extern int (*snd_mixer_class_register_dylibloader_wrapper_asound)( snd_mixer_class_t*, snd_mixer_t*); +extern int (*snd_mixer_elem_new_dylibloader_wrapper_asound)( snd_mixer_elem_t**, snd_mixer_elem_type_t, int, void*, void*); +extern int (*snd_mixer_elem_add_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_class_t*); +extern int (*snd_mixer_elem_remove_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern void (*snd_mixer_elem_free_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_elem_info_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_elem_value_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_elem_attach_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_hctl_elem_t*); +extern int (*snd_mixer_elem_detach_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_hctl_elem_t*); +extern int (*snd_mixer_elem_empty_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern void* (*snd_mixer_elem_get_private_dylibloader_wrapper_asound)(const snd_mixer_elem_t*); +extern size_t (*snd_mixer_class_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_mixer_class_malloc_dylibloader_wrapper_asound)( snd_mixer_class_t**); +extern void (*snd_mixer_class_free_dylibloader_wrapper_asound)( snd_mixer_class_t*); +extern void (*snd_mixer_class_copy_dylibloader_wrapper_asound)( snd_mixer_class_t*,const snd_mixer_class_t*); +extern snd_mixer_t* (*snd_mixer_class_get_mixer_dylibloader_wrapper_asound)(const snd_mixer_class_t*); +extern snd_mixer_event_t (*snd_mixer_class_get_event_dylibloader_wrapper_asound)(const snd_mixer_class_t*); +extern void* (*snd_mixer_class_get_private_dylibloader_wrapper_asound)(const snd_mixer_class_t*); +extern snd_mixer_compare_t (*snd_mixer_class_get_compare_dylibloader_wrapper_asound)(const snd_mixer_class_t*); +extern int (*snd_mixer_class_set_event_dylibloader_wrapper_asound)( snd_mixer_class_t*, snd_mixer_event_t); +extern int (*snd_mixer_class_set_private_dylibloader_wrapper_asound)( snd_mixer_class_t*, void*); +extern int (*snd_mixer_class_set_private_free_dylibloader_wrapper_asound)( snd_mixer_class_t*, void*); +extern int (*snd_mixer_class_set_compare_dylibloader_wrapper_asound)( snd_mixer_class_t*, snd_mixer_compare_t); +extern const char* (*snd_mixer_selem_channel_name_dylibloader_wrapper_asound)( snd_mixer_selem_channel_id_t); +extern int (*snd_mixer_selem_register_dylibloader_wrapper_asound)( snd_mixer_t*,struct snd_mixer_selem_regopt*, snd_mixer_class_t**); +extern void (*snd_mixer_selem_get_id_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_id_t*); +extern const char* (*snd_mixer_selem_get_name_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern unsigned int (*snd_mixer_selem_get_index_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern snd_mixer_elem_t* (*snd_mixer_find_selem_dylibloader_wrapper_asound)( snd_mixer_t*,const snd_mixer_selem_id_t*); +extern int (*snd_mixer_selem_is_active_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_is_playback_mono_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_playback_channel_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t); +extern int (*snd_mixer_selem_is_capture_mono_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_capture_channel_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t); +extern int (*snd_mixer_selem_get_capture_group_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_common_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_playback_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_playback_volume_joined_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_capture_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_capture_volume_joined_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_common_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_playback_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_playback_switch_joined_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_capture_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_capture_switch_joined_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_has_capture_switch_exclusive_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_ask_playback_vol_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, long*); +extern int (*snd_mixer_selem_ask_capture_vol_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, long*); +extern int (*snd_mixer_selem_ask_playback_dB_vol_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, int, long*); +extern int (*snd_mixer_selem_ask_capture_dB_vol_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, int, long*); +extern int (*snd_mixer_selem_get_playback_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*); +extern int (*snd_mixer_selem_get_capture_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*); +extern int (*snd_mixer_selem_get_playback_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*); +extern int (*snd_mixer_selem_get_capture_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long*); +extern int (*snd_mixer_selem_get_playback_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int*); +extern int (*snd_mixer_selem_get_capture_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int*); +extern int (*snd_mixer_selem_set_playback_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long); +extern int (*snd_mixer_selem_set_capture_volume_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long); +extern int (*snd_mixer_selem_set_playback_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long, int); +extern int (*snd_mixer_selem_set_capture_dB_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, long, int); +extern int (*snd_mixer_selem_set_playback_volume_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long); +extern int (*snd_mixer_selem_set_capture_volume_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long); +extern int (*snd_mixer_selem_set_playback_dB_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, int); +extern int (*snd_mixer_selem_set_capture_dB_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, int); +extern int (*snd_mixer_selem_set_playback_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int); +extern int (*snd_mixer_selem_set_capture_switch_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, int); +extern int (*snd_mixer_selem_set_playback_switch_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, int); +extern int (*snd_mixer_selem_set_capture_switch_all_dylibloader_wrapper_asound)( snd_mixer_elem_t*, int); +extern int (*snd_mixer_selem_get_playback_volume_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long*, long*); +extern int (*snd_mixer_selem_get_playback_dB_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long*, long*); +extern int (*snd_mixer_selem_set_playback_volume_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, long); +extern int (*snd_mixer_selem_get_capture_volume_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long*, long*); +extern int (*snd_mixer_selem_get_capture_dB_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long*, long*); +extern int (*snd_mixer_selem_set_capture_volume_range_dylibloader_wrapper_asound)( snd_mixer_elem_t*, long, long); +extern int (*snd_mixer_selem_is_enumerated_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_is_enum_playback_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_is_enum_capture_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_get_enum_items_dylibloader_wrapper_asound)( snd_mixer_elem_t*); +extern int (*snd_mixer_selem_get_enum_item_name_dylibloader_wrapper_asound)( snd_mixer_elem_t*, unsigned int, size_t, char*); +extern int (*snd_mixer_selem_get_enum_item_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, unsigned int*); +extern int (*snd_mixer_selem_set_enum_item_dylibloader_wrapper_asound)( snd_mixer_elem_t*, snd_mixer_selem_channel_id_t, unsigned int); +extern size_t (*snd_mixer_selem_id_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_mixer_selem_id_malloc_dylibloader_wrapper_asound)( snd_mixer_selem_id_t**); +extern void (*snd_mixer_selem_id_free_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*); +extern void (*snd_mixer_selem_id_copy_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*,const snd_mixer_selem_id_t*); +extern const char* (*snd_mixer_selem_id_get_name_dylibloader_wrapper_asound)(const snd_mixer_selem_id_t*); +extern unsigned int (*snd_mixer_selem_id_get_index_dylibloader_wrapper_asound)(const snd_mixer_selem_id_t*); +extern void (*snd_mixer_selem_id_set_name_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*,const char*); +extern void (*snd_mixer_selem_id_set_index_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*, unsigned int); +extern int (*snd_mixer_selem_id_parse_dylibloader_wrapper_asound)( snd_mixer_selem_id_t*,const char*); +extern int (*snd_seq_open_dylibloader_wrapper_asound)( snd_seq_t**,const char*, int, int); +extern int (*snd_seq_open_lconf_dylibloader_wrapper_asound)( snd_seq_t**,const char*, int, int, snd_config_t*); +extern const char* (*snd_seq_name_dylibloader_wrapper_asound)( snd_seq_t*); +extern snd_seq_type_t (*snd_seq_type_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_close_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_poll_descriptors_count_dylibloader_wrapper_asound)( snd_seq_t*, short); +extern int (*snd_seq_poll_descriptors_dylibloader_wrapper_asound)( snd_seq_t*,struct pollfd*, unsigned int, short); +extern int (*snd_seq_poll_descriptors_revents_dylibloader_wrapper_asound)( snd_seq_t*,struct pollfd*, unsigned int, unsigned short*); +extern int (*snd_seq_nonblock_dylibloader_wrapper_asound)( snd_seq_t*, int); +extern int (*snd_seq_client_id_dylibloader_wrapper_asound)( snd_seq_t*); +extern size_t (*snd_seq_get_output_buffer_size_dylibloader_wrapper_asound)( snd_seq_t*); +extern size_t (*snd_seq_get_input_buffer_size_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_set_output_buffer_size_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +extern int (*snd_seq_set_input_buffer_size_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +extern size_t (*snd_seq_system_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_system_info_malloc_dylibloader_wrapper_asound)( snd_seq_system_info_t**); +extern void (*snd_seq_system_info_free_dylibloader_wrapper_asound)( snd_seq_system_info_t*); +extern void (*snd_seq_system_info_copy_dylibloader_wrapper_asound)( snd_seq_system_info_t*,const snd_seq_system_info_t*); +extern int (*snd_seq_system_info_get_queues_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +extern int (*snd_seq_system_info_get_clients_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +extern int (*snd_seq_system_info_get_ports_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +extern int (*snd_seq_system_info_get_channels_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +extern int (*snd_seq_system_info_get_cur_clients_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +extern int (*snd_seq_system_info_get_cur_queues_dylibloader_wrapper_asound)(const snd_seq_system_info_t*); +extern int (*snd_seq_system_info_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_system_info_t*); +extern size_t (*snd_seq_client_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_client_info_malloc_dylibloader_wrapper_asound)( snd_seq_client_info_t**); +extern void (*snd_seq_client_info_free_dylibloader_wrapper_asound)( snd_seq_client_info_t*); +extern void (*snd_seq_client_info_copy_dylibloader_wrapper_asound)( snd_seq_client_info_t*,const snd_seq_client_info_t*); +extern int (*snd_seq_client_info_get_client_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern snd_seq_client_type_t (*snd_seq_client_info_get_type_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern const char* (*snd_seq_client_info_get_name_dylibloader_wrapper_asound)( snd_seq_client_info_t*); +extern int (*snd_seq_client_info_get_broadcast_filter_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern int (*snd_seq_client_info_get_error_bounce_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern int (*snd_seq_client_info_get_card_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern int (*snd_seq_client_info_get_pid_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern const unsigned char* (*snd_seq_client_info_get_event_filter_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern int (*snd_seq_client_info_get_num_ports_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern int (*snd_seq_client_info_get_event_lost_dylibloader_wrapper_asound)(const snd_seq_client_info_t*); +extern void (*snd_seq_client_info_set_client_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +extern void (*snd_seq_client_info_set_name_dylibloader_wrapper_asound)( snd_seq_client_info_t*,const char*); +extern void (*snd_seq_client_info_set_broadcast_filter_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +extern void (*snd_seq_client_info_set_error_bounce_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +extern void (*snd_seq_client_info_set_event_filter_dylibloader_wrapper_asound)( snd_seq_client_info_t*, unsigned char*); +extern void (*snd_seq_client_info_event_filter_clear_dylibloader_wrapper_asound)( snd_seq_client_info_t*); +extern void (*snd_seq_client_info_event_filter_add_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +extern void (*snd_seq_client_info_event_filter_del_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +extern int (*snd_seq_client_info_event_filter_check_dylibloader_wrapper_asound)( snd_seq_client_info_t*, int); +extern int (*snd_seq_get_client_info_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_info_t*); +extern int (*snd_seq_get_any_client_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_client_info_t*); +extern int (*snd_seq_set_client_info_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_info_t*); +extern int (*snd_seq_query_next_client_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_info_t*); +extern size_t (*snd_seq_client_pool_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_client_pool_malloc_dylibloader_wrapper_asound)( snd_seq_client_pool_t**); +extern void (*snd_seq_client_pool_free_dylibloader_wrapper_asound)( snd_seq_client_pool_t*); +extern void (*snd_seq_client_pool_copy_dylibloader_wrapper_asound)( snd_seq_client_pool_t*,const snd_seq_client_pool_t*); +extern int (*snd_seq_client_pool_get_client_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +extern size_t (*snd_seq_client_pool_get_output_pool_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +extern size_t (*snd_seq_client_pool_get_input_pool_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +extern size_t (*snd_seq_client_pool_get_output_room_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +extern size_t (*snd_seq_client_pool_get_output_free_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +extern size_t (*snd_seq_client_pool_get_input_free_dylibloader_wrapper_asound)(const snd_seq_client_pool_t*); +extern void (*snd_seq_client_pool_set_output_pool_dylibloader_wrapper_asound)( snd_seq_client_pool_t*, size_t); +extern void (*snd_seq_client_pool_set_input_pool_dylibloader_wrapper_asound)( snd_seq_client_pool_t*, size_t); +extern void (*snd_seq_client_pool_set_output_room_dylibloader_wrapper_asound)( snd_seq_client_pool_t*, size_t); +extern int (*snd_seq_get_client_pool_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_pool_t*); +extern int (*snd_seq_set_client_pool_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_client_pool_t*); +extern size_t (*snd_seq_port_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_port_info_malloc_dylibloader_wrapper_asound)( snd_seq_port_info_t**); +extern void (*snd_seq_port_info_free_dylibloader_wrapper_asound)( snd_seq_port_info_t*); +extern void (*snd_seq_port_info_copy_dylibloader_wrapper_asound)( snd_seq_port_info_t*,const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_client_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_port_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern const snd_seq_addr_t* (*snd_seq_port_info_get_addr_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern const char* (*snd_seq_port_info_get_name_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern unsigned int (*snd_seq_port_info_get_capability_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern unsigned int (*snd_seq_port_info_get_type_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_midi_channels_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_midi_voices_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_synth_voices_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_read_use_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_write_use_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_port_specified_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_timestamping_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_timestamp_real_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern int (*snd_seq_port_info_get_timestamp_queue_dylibloader_wrapper_asound)(const snd_seq_port_info_t*); +extern void (*snd_seq_port_info_set_client_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern void (*snd_seq_port_info_set_port_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern void (*snd_seq_port_info_set_addr_dylibloader_wrapper_asound)( snd_seq_port_info_t*,const snd_seq_addr_t*); +extern void (*snd_seq_port_info_set_name_dylibloader_wrapper_asound)( snd_seq_port_info_t*,const char*); +extern void (*snd_seq_port_info_set_capability_dylibloader_wrapper_asound)( snd_seq_port_info_t*, unsigned int); +extern void (*snd_seq_port_info_set_type_dylibloader_wrapper_asound)( snd_seq_port_info_t*, unsigned int); +extern void (*snd_seq_port_info_set_midi_channels_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern void (*snd_seq_port_info_set_midi_voices_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern void (*snd_seq_port_info_set_synth_voices_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern void (*snd_seq_port_info_set_port_specified_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern void (*snd_seq_port_info_set_timestamping_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern void (*snd_seq_port_info_set_timestamp_real_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern void (*snd_seq_port_info_set_timestamp_queue_dylibloader_wrapper_asound)( snd_seq_port_info_t*, int); +extern int (*snd_seq_create_port_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_info_t*); +extern int (*snd_seq_delete_port_dylibloader_wrapper_asound)( snd_seq_t*, int); +extern int (*snd_seq_get_port_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_port_info_t*); +extern int (*snd_seq_get_any_port_info_dylibloader_wrapper_asound)( snd_seq_t*, int, int, snd_seq_port_info_t*); +extern int (*snd_seq_set_port_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_port_info_t*); +extern int (*snd_seq_query_next_port_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_info_t*); +extern size_t (*snd_seq_port_subscribe_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_port_subscribe_malloc_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t**); +extern void (*snd_seq_port_subscribe_free_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*); +extern void (*snd_seq_port_subscribe_copy_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*,const snd_seq_port_subscribe_t*); +extern const snd_seq_addr_t* (*snd_seq_port_subscribe_get_sender_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +extern const snd_seq_addr_t* (*snd_seq_port_subscribe_get_dest_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +extern int (*snd_seq_port_subscribe_get_queue_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +extern int (*snd_seq_port_subscribe_get_exclusive_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +extern int (*snd_seq_port_subscribe_get_time_update_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +extern int (*snd_seq_port_subscribe_get_time_real_dylibloader_wrapper_asound)(const snd_seq_port_subscribe_t*); +extern void (*snd_seq_port_subscribe_set_sender_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*,const snd_seq_addr_t*); +extern void (*snd_seq_port_subscribe_set_dest_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*,const snd_seq_addr_t*); +extern void (*snd_seq_port_subscribe_set_queue_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*, int); +extern void (*snd_seq_port_subscribe_set_exclusive_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*, int); +extern void (*snd_seq_port_subscribe_set_time_update_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*, int); +extern void (*snd_seq_port_subscribe_set_time_real_dylibloader_wrapper_asound)( snd_seq_port_subscribe_t*, int); +extern int (*snd_seq_get_port_subscription_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_subscribe_t*); +extern int (*snd_seq_subscribe_port_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_subscribe_t*); +extern int (*snd_seq_unsubscribe_port_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_port_subscribe_t*); +extern size_t (*snd_seq_query_subscribe_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_query_subscribe_malloc_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t**); +extern void (*snd_seq_query_subscribe_free_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*); +extern void (*snd_seq_query_subscribe_copy_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*,const snd_seq_query_subscribe_t*); +extern int (*snd_seq_query_subscribe_get_client_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern int (*snd_seq_query_subscribe_get_port_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern const snd_seq_addr_t* (*snd_seq_query_subscribe_get_root_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern snd_seq_query_subs_type_t (*snd_seq_query_subscribe_get_type_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern int (*snd_seq_query_subscribe_get_index_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern int (*snd_seq_query_subscribe_get_num_subs_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern const snd_seq_addr_t* (*snd_seq_query_subscribe_get_addr_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern int (*snd_seq_query_subscribe_get_queue_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern int (*snd_seq_query_subscribe_get_exclusive_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern int (*snd_seq_query_subscribe_get_time_update_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern int (*snd_seq_query_subscribe_get_time_real_dylibloader_wrapper_asound)(const snd_seq_query_subscribe_t*); +extern void (*snd_seq_query_subscribe_set_client_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*, int); +extern void (*snd_seq_query_subscribe_set_port_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*, int); +extern void (*snd_seq_query_subscribe_set_root_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*,const snd_seq_addr_t*); +extern void (*snd_seq_query_subscribe_set_type_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*, snd_seq_query_subs_type_t); +extern void (*snd_seq_query_subscribe_set_index_dylibloader_wrapper_asound)( snd_seq_query_subscribe_t*, int); +extern int (*snd_seq_query_port_subscribers_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_query_subscribe_t*); +extern size_t (*snd_seq_queue_info_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_queue_info_malloc_dylibloader_wrapper_asound)( snd_seq_queue_info_t**); +extern void (*snd_seq_queue_info_free_dylibloader_wrapper_asound)( snd_seq_queue_info_t*); +extern void (*snd_seq_queue_info_copy_dylibloader_wrapper_asound)( snd_seq_queue_info_t*,const snd_seq_queue_info_t*); +extern int (*snd_seq_queue_info_get_queue_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +extern const char* (*snd_seq_queue_info_get_name_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +extern int (*snd_seq_queue_info_get_owner_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +extern int (*snd_seq_queue_info_get_locked_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +extern unsigned int (*snd_seq_queue_info_get_flags_dylibloader_wrapper_asound)(const snd_seq_queue_info_t*); +extern void (*snd_seq_queue_info_set_name_dylibloader_wrapper_asound)( snd_seq_queue_info_t*,const char*); +extern void (*snd_seq_queue_info_set_owner_dylibloader_wrapper_asound)( snd_seq_queue_info_t*, int); +extern void (*snd_seq_queue_info_set_locked_dylibloader_wrapper_asound)( snd_seq_queue_info_t*, int); +extern void (*snd_seq_queue_info_set_flags_dylibloader_wrapper_asound)( snd_seq_queue_info_t*, unsigned int); +extern int (*snd_seq_create_queue_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_queue_info_t*); +extern int (*snd_seq_alloc_named_queue_dylibloader_wrapper_asound)( snd_seq_t*,const char*); +extern int (*snd_seq_alloc_queue_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_free_queue_dylibloader_wrapper_asound)( snd_seq_t*, int); +extern int (*snd_seq_get_queue_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_info_t*); +extern int (*snd_seq_set_queue_info_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_info_t*); +extern int (*snd_seq_query_named_queue_dylibloader_wrapper_asound)( snd_seq_t*,const char*); +extern int (*snd_seq_get_queue_usage_dylibloader_wrapper_asound)( snd_seq_t*, int); +extern int (*snd_seq_set_queue_usage_dylibloader_wrapper_asound)( snd_seq_t*, int, int); +extern size_t (*snd_seq_queue_status_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_queue_status_malloc_dylibloader_wrapper_asound)( snd_seq_queue_status_t**); +extern void (*snd_seq_queue_status_free_dylibloader_wrapper_asound)( snd_seq_queue_status_t*); +extern void (*snd_seq_queue_status_copy_dylibloader_wrapper_asound)( snd_seq_queue_status_t*,const snd_seq_queue_status_t*); +extern int (*snd_seq_queue_status_get_queue_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +extern int (*snd_seq_queue_status_get_events_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +extern snd_seq_tick_time_t (*snd_seq_queue_status_get_tick_time_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +extern const snd_seq_real_time_t* (*snd_seq_queue_status_get_real_time_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +extern unsigned int (*snd_seq_queue_status_get_status_dylibloader_wrapper_asound)(const snd_seq_queue_status_t*); +extern int (*snd_seq_get_queue_status_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_status_t*); +extern size_t (*snd_seq_queue_tempo_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_queue_tempo_malloc_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t**); +extern void (*snd_seq_queue_tempo_free_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*); +extern void (*snd_seq_queue_tempo_copy_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*,const snd_seq_queue_tempo_t*); +extern int (*snd_seq_queue_tempo_get_queue_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +extern unsigned int (*snd_seq_queue_tempo_get_tempo_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +extern int (*snd_seq_queue_tempo_get_ppq_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +extern unsigned int (*snd_seq_queue_tempo_get_skew_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +extern unsigned int (*snd_seq_queue_tempo_get_skew_base_dylibloader_wrapper_asound)(const snd_seq_queue_tempo_t*); +extern void (*snd_seq_queue_tempo_set_tempo_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*, unsigned int); +extern void (*snd_seq_queue_tempo_set_ppq_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*, int); +extern void (*snd_seq_queue_tempo_set_skew_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*, unsigned int); +extern void (*snd_seq_queue_tempo_set_skew_base_dylibloader_wrapper_asound)( snd_seq_queue_tempo_t*, unsigned int); +extern int (*snd_seq_get_queue_tempo_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_tempo_t*); +extern int (*snd_seq_set_queue_tempo_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_tempo_t*); +extern size_t (*snd_seq_queue_timer_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_queue_timer_malloc_dylibloader_wrapper_asound)( snd_seq_queue_timer_t**); +extern void (*snd_seq_queue_timer_free_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*); +extern void (*snd_seq_queue_timer_copy_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*,const snd_seq_queue_timer_t*); +extern int (*snd_seq_queue_timer_get_queue_dylibloader_wrapper_asound)(const snd_seq_queue_timer_t*); +extern snd_seq_queue_timer_type_t (*snd_seq_queue_timer_get_type_dylibloader_wrapper_asound)(const snd_seq_queue_timer_t*); +extern const snd_timer_id_t* (*snd_seq_queue_timer_get_id_dylibloader_wrapper_asound)(const snd_seq_queue_timer_t*); +extern unsigned int (*snd_seq_queue_timer_get_resolution_dylibloader_wrapper_asound)(const snd_seq_queue_timer_t*); +extern void (*snd_seq_queue_timer_set_type_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*, snd_seq_queue_timer_type_t); +extern void (*snd_seq_queue_timer_set_id_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*,const snd_timer_id_t*); +extern void (*snd_seq_queue_timer_set_resolution_dylibloader_wrapper_asound)( snd_seq_queue_timer_t*, unsigned int); +extern int (*snd_seq_get_queue_timer_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_timer_t*); +extern int (*snd_seq_set_queue_timer_dylibloader_wrapper_asound)( snd_seq_t*, int, snd_seq_queue_timer_t*); +extern int (*snd_seq_free_event_dylibloader_wrapper_asound)( snd_seq_event_t*); +extern ssize_t (*snd_seq_event_length_dylibloader_wrapper_asound)( snd_seq_event_t*); +extern int (*snd_seq_event_output_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t*); +extern int (*snd_seq_event_output_buffer_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t*); +extern int (*snd_seq_event_output_direct_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t*); +extern int (*snd_seq_event_input_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t**); +extern int (*snd_seq_event_input_pending_dylibloader_wrapper_asound)( snd_seq_t*, int); +extern int (*snd_seq_drain_output_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_event_output_pending_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_extract_output_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_event_t**); +extern int (*snd_seq_drop_output_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_drop_output_buffer_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_drop_input_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_drop_input_buffer_dylibloader_wrapper_asound)( snd_seq_t*); +extern size_t (*snd_seq_remove_events_sizeof_dylibloader_wrapper_asound)( void); +extern int (*snd_seq_remove_events_malloc_dylibloader_wrapper_asound)( snd_seq_remove_events_t**); +extern void (*snd_seq_remove_events_free_dylibloader_wrapper_asound)( snd_seq_remove_events_t*); +extern void (*snd_seq_remove_events_copy_dylibloader_wrapper_asound)( snd_seq_remove_events_t*,const snd_seq_remove_events_t*); +extern unsigned int (*snd_seq_remove_events_get_condition_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +extern int (*snd_seq_remove_events_get_queue_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +extern const snd_seq_timestamp_t* (*snd_seq_remove_events_get_time_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +extern const snd_seq_addr_t* (*snd_seq_remove_events_get_dest_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +extern int (*snd_seq_remove_events_get_channel_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +extern int (*snd_seq_remove_events_get_event_type_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +extern int (*snd_seq_remove_events_get_tag_dylibloader_wrapper_asound)(const snd_seq_remove_events_t*); +extern void (*snd_seq_remove_events_set_condition_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, unsigned int); +extern void (*snd_seq_remove_events_set_queue_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, int); +extern void (*snd_seq_remove_events_set_time_dylibloader_wrapper_asound)( snd_seq_remove_events_t*,const snd_seq_timestamp_t*); +extern void (*snd_seq_remove_events_set_dest_dylibloader_wrapper_asound)( snd_seq_remove_events_t*,const snd_seq_addr_t*); +extern void (*snd_seq_remove_events_set_channel_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, int); +extern void (*snd_seq_remove_events_set_event_type_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, int); +extern void (*snd_seq_remove_events_set_tag_dylibloader_wrapper_asound)( snd_seq_remove_events_t*, int); +extern int (*snd_seq_remove_events_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_remove_events_t*); +extern void (*snd_seq_set_bit_dylibloader_wrapper_asound)( int, void*); +extern void (*snd_seq_unset_bit_dylibloader_wrapper_asound)( int, void*); +extern int (*snd_seq_change_bit_dylibloader_wrapper_asound)( int, void*); +extern int (*snd_seq_get_bit_dylibloader_wrapper_asound)( int, void*); +extern int (*snd_seq_control_queue_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int, snd_seq_event_t*); +extern int (*snd_seq_create_simple_port_dylibloader_wrapper_asound)( snd_seq_t*,const char*, unsigned int, unsigned int); +extern int (*snd_seq_delete_simple_port_dylibloader_wrapper_asound)( snd_seq_t*, int); +extern int (*snd_seq_connect_from_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int); +extern int (*snd_seq_connect_to_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int); +extern int (*snd_seq_disconnect_from_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int); +extern int (*snd_seq_disconnect_to_dylibloader_wrapper_asound)( snd_seq_t*, int, int, int); +extern int (*snd_seq_set_client_name_dylibloader_wrapper_asound)( snd_seq_t*,const char*); +extern int (*snd_seq_set_client_event_filter_dylibloader_wrapper_asound)( snd_seq_t*, int); +extern int (*snd_seq_set_client_pool_output_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +extern int (*snd_seq_set_client_pool_output_room_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +extern int (*snd_seq_set_client_pool_input_dylibloader_wrapper_asound)( snd_seq_t*, size_t); +extern int (*snd_seq_sync_output_queue_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_parse_address_dylibloader_wrapper_asound)( snd_seq_t*, snd_seq_addr_t*,const char*); +extern int (*snd_seq_reset_pool_output_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_seq_reset_pool_input_dylibloader_wrapper_asound)( snd_seq_t*); +extern int (*snd_midi_event_new_dylibloader_wrapper_asound)( size_t, snd_midi_event_t**); +extern int (*snd_midi_event_resize_buffer_dylibloader_wrapper_asound)( snd_midi_event_t*, size_t); +extern void (*snd_midi_event_free_dylibloader_wrapper_asound)( snd_midi_event_t*); +extern void (*snd_midi_event_init_dylibloader_wrapper_asound)( snd_midi_event_t*); +extern void (*snd_midi_event_reset_encode_dylibloader_wrapper_asound)( snd_midi_event_t*); +extern void (*snd_midi_event_reset_decode_dylibloader_wrapper_asound)( snd_midi_event_t*); +extern void (*snd_midi_event_no_status_dylibloader_wrapper_asound)( snd_midi_event_t*, int); +extern long (*snd_midi_event_encode_dylibloader_wrapper_asound)( snd_midi_event_t*,const unsigned char*, long, snd_seq_event_t*); +extern int (*snd_midi_event_encode_byte_dylibloader_wrapper_asound)( snd_midi_event_t*, int, snd_seq_event_t*); +extern long (*snd_midi_event_decode_dylibloader_wrapper_asound)( snd_midi_event_t*, unsigned char*, long,const snd_seq_event_t*); +int initialize_asound(int verbose); +#ifdef __cplusplus +} +#endif +#endif diff --git a/drivers/alsa/audio_driver_alsa.cpp b/drivers/alsa/audio_driver_alsa.cpp index 488fd4b468..61475c74e7 100644 --- a/drivers/alsa/audio_driver_alsa.cpp +++ b/drivers/alsa/audio_driver_alsa.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -37,8 +37,14 @@ #include <errno.h> +#ifdef PULSEAUDIO_ENABLED +extern "C" { +extern int initialize_pulse(int verbose); +} +#endif + Error AudioDriverALSA::init_device() { - mix_rate = GLOBAL_GET("audio/mix_rate"); + mix_rate = GLOBAL_GET("audio/driver/mix_rate"); speaker_mode = SPEAKER_MODE_STEREO; channels = 2; @@ -104,7 +110,7 @@ Error AudioDriverALSA::init_device() { // In ALSA the period size seems to be the one that will determine the actual latency // Ref: https://www.alsa-project.org/main/index.php/FramesPeriods unsigned int periods = 2; - int latency = GLOBAL_GET("audio/output_latency"); + int latency = GLOBAL_GET("audio/driver/output_latency"); buffer_frames = closest_power_of_2(latency * mix_rate / 1000); buffer_size = buffer_frames * periods; period_size = buffer_frames; @@ -147,13 +153,28 @@ Error AudioDriverALSA::init_device() { } Error AudioDriverALSA::init() { +#ifdef DEBUG_ENABLED + int dylibloader_verbose = 1; +#else + int dylibloader_verbose = 0; +#endif +#ifdef PULSEAUDIO_ENABLED + // On pulse enabled systems Alsa will silently use pulse. + // It doesn't matter if this fails as that likely means there is no pulse + initialize_pulse(dylibloader_verbose); +#endif + + if (initialize_asound(dylibloader_verbose)) { + return ERR_CANT_OPEN; + } + active = false; thread_exited = false; exit_thread = false; Error err = init_device(); if (err == OK) { - thread = Thread::create(AudioDriverALSA::thread_func, this); + thread.start(AudioDriverALSA::thread_func, this); } return err; @@ -183,7 +204,7 @@ void AudioDriverALSA::thread_func(void *p_udata) { int total = 0; while (todo && !ad->exit_thread) { - uint8_t *src = (uint8_t *)ad->samples_out.ptr(); + int16_t *src = (int16_t *)ad->samples_out.ptr(); int wrote = snd_pcm_writei(ad->pcm_handle, (void *)(src + (total * ad->channels)), todo); if (wrote > 0) { @@ -291,16 +312,10 @@ void AudioDriverALSA::set_device(String device) { } void AudioDriverALSA::lock() { - if (!thread) { - return; - } mutex.lock(); } void AudioDriverALSA::unlock() { - if (!thread) { - return; - } mutex.unlock(); } @@ -312,13 +327,8 @@ void AudioDriverALSA::finish_device() { } void AudioDriverALSA::finish() { - if (thread) { - exit_thread = true; - Thread::wait_to_finish(thread); - - memdelete(thread); - thread = nullptr; - } + exit_thread = true; + thread.wait_to_finish(); finish_device(); } diff --git a/drivers/alsa/audio_driver_alsa.h b/drivers/alsa/audio_driver_alsa.h index d1220d126e..ca97e76bc2 100644 --- a/drivers/alsa/audio_driver_alsa.h +++ b/drivers/alsa/audio_driver_alsa.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -37,10 +37,10 @@ #include "core/os/thread.h" #include "servers/audio_server.h" -#include <alsa/asoundlib.h> +#include "asound-so_wrap.h" class AudioDriverALSA : public AudioDriver { - Thread *thread = nullptr; + Thread thread; Mutex mutex; snd_pcm_t *pcm_handle = nullptr; @@ -56,17 +56,17 @@ class AudioDriverALSA : public AudioDriver { static void thread_func(void *p_udata); - unsigned int mix_rate; + unsigned int mix_rate = 0; SpeakerMode speaker_mode; snd_pcm_uframes_t buffer_frames; snd_pcm_uframes_t buffer_size; snd_pcm_uframes_t period_size; - int channels; + int channels = 0; - bool active; - bool thread_exited; - mutable bool exit_thread; + bool active = false; + bool thread_exited = false; + mutable bool exit_thread = false; public: const char *get_name() const { diff --git a/drivers/alsamidi/midi_driver_alsamidi.cpp b/drivers/alsamidi/midi_driver_alsamidi.cpp index 07a4360cd2..245ea07730 100644 --- a/drivers/alsamidi/midi_driver_alsamidi.cpp +++ b/drivers/alsamidi/midi_driver_alsamidi.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -150,19 +150,14 @@ Error MIDIDriverALSAMidi::open() { snd_device_name_free_hint(hints); exit_thread = false; - thread = Thread::create(MIDIDriverALSAMidi::thread_func, this); + thread.start(MIDIDriverALSAMidi::thread_func, this); return OK; } void MIDIDriverALSAMidi::close() { - if (thread) { - exit_thread = true; - Thread::wait_to_finish(thread); - - memdelete(thread); - thread = nullptr; - } + exit_thread = true; + thread.wait_to_finish(); for (int i = 0; i < connected_inputs.size(); i++) { snd_rawmidi_t *midi_in = connected_inputs[i]; @@ -198,8 +193,6 @@ PackedStringArray MIDIDriverALSAMidi::get_connected_inputs() { } MIDIDriverALSAMidi::MIDIDriverALSAMidi() { - thread = nullptr; - exit_thread = false; } diff --git a/drivers/alsamidi/midi_driver_alsamidi.h b/drivers/alsamidi/midi_driver_alsamidi.h index fef87459c7..c327712ee7 100644 --- a/drivers/alsamidi/midi_driver_alsamidi.h +++ b/drivers/alsamidi/midi_driver_alsamidi.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -38,11 +38,11 @@ #include "core/os/thread.h" #include "core/templates/vector.h" -#include <alsa/asoundlib.h> +#include "../alsa/asound-so_wrap.h" #include <stdio.h> class MIDIDriverALSAMidi : public MIDIDriver { - Thread *thread; + Thread thread; Mutex mutex; Vector<snd_rawmidi_t *> connected_inputs; diff --git a/drivers/coreaudio/audio_driver_coreaudio.cpp b/drivers/coreaudio/audio_driver_coreaudio.cpp index 60c491f5f8..f40036d628 100644 --- a/drivers/coreaudio/audio_driver_coreaudio.cpp +++ b/drivers/coreaudio/audio_driver_coreaudio.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -116,7 +116,7 @@ Error AudioDriverCoreAudio::init() { break; } - mix_rate = GLOBAL_GET("audio/mix_rate"); + mix_rate = GLOBAL_GET("audio/driver/mix_rate"); zeromem(&strdesc, sizeof(strdesc)); strdesc.mFormatID = kAudioFormatLinearPCM; @@ -131,7 +131,7 @@ Error AudioDriverCoreAudio::init() { result = AudioUnitSetProperty(audio_unit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, kOutputBus, &strdesc, sizeof(strdesc)); ERR_FAIL_COND_V(result != noErr, FAILED); - int latency = GLOBAL_GET("audio/output_latency"); + int latency = GLOBAL_GET("audio/driver/output_latency"); // Sample rate is independent of channels (ref: https://stackoverflow.com/questions/11048825/audio-sample-frequency-rely-on-channels) buffer_frames = closest_power_of_2(latency * mix_rate / 1000); @@ -157,7 +157,7 @@ Error AudioDriverCoreAudio::init() { result = AudioUnitInitialize(audio_unit); ERR_FAIL_COND_V(result != noErr, FAILED); - if (GLOBAL_GET("audio/enable_audio_input")) { + if (GLOBAL_GET("audio/driver/enable_input")) { return capture_init(); } return OK; @@ -403,7 +403,7 @@ Error AudioDriverCoreAudio::capture_init() { break; } - mix_rate = GLOBAL_GET("audio/mix_rate"); + mix_rate = GLOBAL_GET("audio/driver/mix_rate"); zeromem(&strdesc, sizeof(strdesc)); strdesc.mFormatID = kAudioFormatLinearPCM; @@ -506,7 +506,8 @@ Array AudioDriverCoreAudio::_get_device_list(bool capture) { UInt32 size = 0; AudioObjectGetPropertyDataSize(kAudioObjectSystemObject, &prop, 0, nullptr, &size); - AudioDeviceID *audioDevices = (AudioDeviceID *)malloc(size); + AudioDeviceID *audioDevices = (AudioDeviceID *)memalloc(size); + ERR_FAIL_NULL_V_MSG(audioDevices, list, "Out of memory."); AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, nullptr, &size, audioDevices); UInt32 deviceCount = size / sizeof(AudioDeviceID); @@ -515,14 +516,15 @@ Array AudioDriverCoreAudio::_get_device_list(bool capture) { prop.mSelector = kAudioDevicePropertyStreamConfiguration; AudioObjectGetPropertyDataSize(audioDevices[i], &prop, 0, nullptr, &size); - AudioBufferList *bufferList = (AudioBufferList *)malloc(size); + AudioBufferList *bufferList = (AudioBufferList *)memalloc(size); + ERR_FAIL_NULL_V_MSG(bufferList, list, "Out of memory."); AudioObjectGetPropertyData(audioDevices[i], &prop, 0, nullptr, &size, bufferList); UInt32 channelCount = 0; for (UInt32 j = 0; j < bufferList->mNumberBuffers; j++) channelCount += bufferList->mBuffers[j].mNumberChannels; - free(bufferList); + memfree(bufferList); if (channelCount >= 1) { CFStringRef cfname; @@ -534,17 +536,18 @@ Array AudioDriverCoreAudio::_get_device_list(bool capture) { CFIndex length = CFStringGetLength(cfname); CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8) + 1; - char *buffer = (char *)malloc(maxSize); + char *buffer = (char *)memalloc(maxSize); + ERR_FAIL_NULL_V_MSG(buffer, list, "Out of memory."); if (CFStringGetCString(cfname, buffer, maxSize, kCFStringEncodingUTF8)) { // Append the ID to the name in case we have devices with duplicate name list.push_back(String(buffer) + " (" + itos(audioDevices[i]) + ")"); } - free(buffer); + memfree(buffer); } } - free(audioDevices); + memfree(audioDevices); return list; } @@ -561,7 +564,8 @@ void AudioDriverCoreAudio::_set_device(const String &device, bool capture) { UInt32 size = 0; AudioObjectGetPropertyDataSize(kAudioObjectSystemObject, &prop, 0, nullptr, &size); - AudioDeviceID *audioDevices = (AudioDeviceID *)malloc(size); + AudioDeviceID *audioDevices = (AudioDeviceID *)memalloc(size); + ERR_FAIL_NULL_MSG(audioDevices, "Out of memory."); AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, nullptr, &size, audioDevices); UInt32 deviceCount = size / sizeof(AudioDeviceID); @@ -570,14 +574,15 @@ void AudioDriverCoreAudio::_set_device(const String &device, bool capture) { prop.mSelector = kAudioDevicePropertyStreamConfiguration; AudioObjectGetPropertyDataSize(audioDevices[i], &prop, 0, nullptr, &size); - AudioBufferList *bufferList = (AudioBufferList *)malloc(size); + AudioBufferList *bufferList = (AudioBufferList *)memalloc(size); + ERR_FAIL_NULL_MSG(bufferList, "Out of memory."); AudioObjectGetPropertyData(audioDevices[i], &prop, 0, nullptr, &size, bufferList); UInt32 channelCount = 0; for (UInt32 j = 0; j < bufferList->mNumberBuffers; j++) channelCount += bufferList->mBuffers[j].mNumberChannels; - free(bufferList); + memfree(bufferList); if (channelCount >= 1) { CFStringRef cfname; @@ -589,7 +594,8 @@ void AudioDriverCoreAudio::_set_device(const String &device, bool capture) { CFIndex length = CFStringGetLength(cfname); CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8) + 1; - char *buffer = (char *)malloc(maxSize); + char *buffer = (char *)memalloc(maxSize); + ERR_FAIL_NULL_MSG(buffer, "Out of memory."); if (CFStringGetCString(cfname, buffer, maxSize, kCFStringEncodingUTF8)) { String name = String(buffer) + " (" + itos(audioDevices[i]) + ")"; if (name == device) { @@ -598,11 +604,11 @@ void AudioDriverCoreAudio::_set_device(const String &device, bool capture) { } } - free(buffer); + memfree(buffer); } } - free(audioDevices); + memfree(audioDevices); } if (!found) { diff --git a/drivers/coreaudio/audio_driver_coreaudio.h b/drivers/coreaudio/audio_driver_coreaudio.h index 6b7a35588f..b31835760e 100644 --- a/drivers/coreaudio/audio_driver_coreaudio.h +++ b/drivers/coreaudio/audio_driver_coreaudio.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/coremidi/midi_driver_coremidi.cpp b/drivers/coremidi/midi_driver_coremidi.cpp index b9e7853735..87764d9b10 100644 --- a/drivers/coremidi/midi_driver_coremidi.cpp +++ b/drivers/coremidi/midi_driver_coremidi.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/coremidi/midi_driver_coremidi.h b/drivers/coremidi/midi_driver_coremidi.h index 02167aa891..41a7c760ac 100644 --- a/drivers/coremidi/midi_driver_coremidi.h +++ b/drivers/coremidi/midi_driver_coremidi.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/dummy/rasterizer_dummy.h b/drivers/dummy/rasterizer_dummy.h index 2d1c4f8d85..9d6be1a802 100644 --- a/drivers/dummy/rasterizer_dummy.h +++ b/drivers/dummy/rasterizer_dummy.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -35,19 +35,42 @@ #include "core/templates/rid_owner.h" #include "core/templates/self_list.h" #include "scene/resources/mesh.h" -#include "servers/rendering/rasterizer.h" +#include "servers/rendering/renderer_compositor.h" #include "servers/rendering_server.h" -class RasterizerSceneDummy : public RasterizerScene { +class RasterizerSceneDummy : public RendererSceneRender { public: + GeometryInstance *geometry_instance_create(RID p_base) override { return nullptr; } + void geometry_instance_set_skeleton(GeometryInstance *p_geometry_instance, RID p_skeleton) override {} + void geometry_instance_set_material_override(GeometryInstance *p_geometry_instance, RID p_override) override {} + void geometry_instance_set_surface_materials(GeometryInstance *p_geometry_instance, const Vector<RID> &p_material) override {} + void geometry_instance_set_mesh_instance(GeometryInstance *p_geometry_instance, RID p_mesh_instance) override {} + void geometry_instance_set_transform(GeometryInstance *p_geometry_instance, const Transform &p_transform, const AABB &p_aabb, const AABB &p_transformed_aabbb) override {} + void geometry_instance_set_layer_mask(GeometryInstance *p_geometry_instance, uint32_t p_layer_mask) override {} + void geometry_instance_set_lod_bias(GeometryInstance *p_geometry_instance, float p_lod_bias) override {} + void geometry_instance_set_use_baked_light(GeometryInstance *p_geometry_instance, bool p_enable) override {} + void geometry_instance_set_use_dynamic_gi(GeometryInstance *p_geometry_instance, bool p_enable) override {} + void geometry_instance_set_use_lightmap(GeometryInstance *p_geometry_instance, RID p_lightmap_instance, const Rect2 &p_lightmap_uv_scale, int p_lightmap_slice_index) override {} + void geometry_instance_set_lightmap_capture(GeometryInstance *p_geometry_instance, const Color *p_sh9) override {} + void geometry_instance_set_instance_shader_parameters_offset(GeometryInstance *p_geometry_instance, int32_t p_offset) override {} + void geometry_instance_set_cast_double_sided_shadows(GeometryInstance *p_geometry_instance, bool p_enable) override {} + + uint32_t geometry_instance_get_pair_mask() override { return 0; } + void geometry_instance_pair_light_instances(GeometryInstance *p_geometry_instance, const RID *p_light_instances, uint32_t p_light_instance_count) override {} + void geometry_instance_pair_reflection_probe_instances(GeometryInstance *p_geometry_instance, const RID *p_reflection_probe_instances, uint32_t p_reflection_probe_instance_count) override {} + void geometry_instance_pair_decal_instances(GeometryInstance *p_geometry_instance, const RID *p_decal_instances, uint32_t p_decal_instance_count) override {} + void geometry_instance_pair_gi_probe_instances(GeometryInstance *p_geometry_instance, const RID *p_gi_probe_instances, uint32_t p_gi_probe_instance_count) override {} + + void geometry_instance_free(GeometryInstance *p_geometry_instance) override {} + /* SHADOW ATLAS API */ RID shadow_atlas_create() override { return RID(); } - void shadow_atlas_set_size(RID p_atlas, int p_size) override {} + void shadow_atlas_set_size(RID p_atlas, int p_size, bool p_16_bits = false) override {} void shadow_atlas_set_quadrant_subdivision(RID p_atlas, int p_quadrant, int p_subdivision) override {} bool shadow_atlas_update_light(RID p_atlas, RID p_light_intance, float p_coverage, uint64_t p_light_version) override { return false; } - void directional_shadow_atlas_set_size(int p_size) override {} + void directional_shadow_atlas_set_size(int p_size, bool p_16_bits = false) override {} int get_directional_light_shadow_size(RID p_light_intance) override { return 0; } void set_directional_shadow_count(int p_count) override {} @@ -57,11 +80,11 @@ public: int sdfgi_get_pending_region_count(RID p_render_buffers) const override { return 0; } AABB sdfgi_get_pending_region_bounds(RID p_render_buffers, int p_region) const override { return AABB(); } uint32_t sdfgi_get_pending_region_cascade(RID p_render_buffers, int p_region) const override { return 0; } - void sdfgi_update_probes(RID p_render_buffers, RID p_environment, const RID *p_directional_light_instances, uint32_t p_directional_light_count, const RID *p_positional_light_instances, uint32_t p_positional_light_count) override {} /* SKY API */ - RID sky_create() override { return RID(); } + RID sky_allocate() override { return RID(); } + void sky_initialize(RID p_rid) override {} void sky_set_radiance_size(RID p_sky, int p_radiance_size) override {} void sky_set_mode(RID p_sky, RS::SkyMode p_samples) override {} void sky_set_material(RID p_sky, RID p_material) override {} @@ -69,8 +92,8 @@ public: /* ENVIRONMENT API */ - RID environment_create() override { return RID(); } - + RID environment_allocate() override { return RID(); } + void environment_initialize(RID p_rid) override {} void environment_set_background(RID p_env, RS::EnvironmentBG p_bg) override {} void environment_set_sky(RID p_env, RID p_sky) override {} void environment_set_sky_custom_fov(RID p_env, float p_scale) override {} @@ -86,24 +109,23 @@ public: void environment_set_ssr(RID p_env, bool p_enable, int p_max_steps, float p_fade_int, float p_fade_out, float p_depth_tolerance) override {} void environment_set_ssr_roughness_quality(RS::EnvironmentSSRRoughnessQuality p_quality) override {} - void environment_set_ssao(RID p_env, bool p_enable, float p_radius, float p_intensity, float p_bias, float p_light_affect, float p_ao_channel_affect, RS::EnvironmentSSAOBlur p_blur, float p_bilateral_sharpness) override {} - void environment_set_ssao_quality(RS::EnvironmentSSAOQuality p_quality, bool p_half_size) override {} + void environment_set_ssao(RID p_env, bool p_enable, float p_radius, float p_intensity, float p_power, float p_detail, float p_horizon, float p_sharpness, float p_light_affect, float p_ao_channel_affect) override {} + void environment_set_ssao_quality(RS::EnvironmentSSAOQuality p_quality, bool p_half_size, float p_adaptive_target, int p_blur_passes, float p_fadeout_from, float p_fadeout_to) override {} - void environment_set_sdfgi(RID p_env, bool p_enable, RS::EnvironmentSDFGICascades p_cascades, float p_min_cell_size, RS::EnvironmentSDFGIYScale p_y_scale, bool p_use_occlusion, bool p_use_multibounce, bool p_read_sky, float p_energy, float p_normal_bias, float p_probe_bias) override {} + void environment_set_sdfgi(RID p_env, bool p_enable, RS::EnvironmentSDFGICascades p_cascades, float p_min_cell_size, RS::EnvironmentSDFGIYScale p_y_scale, bool p_use_occlusion, float p_bounce_feedback, bool p_read_sky, float p_energy, float p_normal_bias, float p_probe_bias) override {} void environment_set_sdfgi_ray_count(RS::EnvironmentSDFGIRayCount p_ray_count) override {} void environment_set_sdfgi_frames_to_converge(RS::EnvironmentSDFGIFramesToConverge p_frames) override {} + void environment_set_sdfgi_frames_to_update_light(RS::EnvironmentSDFGIFramesToUpdateLight p_update) override {} void environment_set_tonemap(RID p_env, RS::EnvironmentToneMapper p_tone_mapper, float p_exposure, float p_white, bool p_auto_exposure, float p_min_luminance, float p_max_luminance, float p_auto_exp_speed, float p_auto_exp_scale) override {} - void environment_set_adjustment(RID p_env, bool p_enable, float p_brightness, float p_contrast, float p_saturation, RID p_ramp) override {} + void environment_set_adjustment(RID p_env, bool p_enable, float p_brightness, float p_contrast, float p_saturation, bool p_use_1d_color_correction, RID p_color_correction) override {} void environment_set_fog(RID p_env, bool p_enable, const Color &p_light_color, float p_light_energy, float p_sun_scatter, float p_density, float p_height, float p_height_density, float p_aerial_perspective) override {} - void environment_set_volumetric_fog(RID p_env, bool p_enable, float p_density, const Color &p_light, float p_light_energy, float p_length, float p_detail_spread, float p_gi_inject, RS::EnvVolumetricFogShadowFilter p_shadow_filter) override {} + void environment_set_volumetric_fog(RID p_env, bool p_enable, float p_density, const Color &p_light, float p_light_energy, float p_length, float p_detail_spread, float p_gi_inject, bool p_temporal_reprojection, float p_temporal_reprojection_amount) override {} void environment_set_volumetric_fog_volume_size(int p_size, int p_depth) override {} void environment_set_volumetric_fog_filter_active(bool p_enable) override {} - void environment_set_volumetric_fog_directional_shadow_shrink_size(int p_shrink_size) override {} - void environment_set_volumetric_fog_positional_shadow_shrink_size(int p_shrink_size) override {} Ref<Image> environment_bake_panorama(RID p_env, bool p_bake_irradiance, const Size2i &p_size) override { return Ref<Image>(); } @@ -111,8 +133,8 @@ public: RS::EnvironmentBG environment_get_background(RID p_env) const override { return RS::ENV_BG_KEEP; } int environment_get_canvas_max_layer(RID p_env) const override { return 0; } - RID camera_effects_create() override { return RID(); } - + RID camera_effects_allocate() override { return RID(); } + void camera_effects_initialize(RID p_rid) override {} void camera_effects_set_dof_blur_quality(RS::DOFBlurQuality p_quality, bool p_use_jitter) override {} void camera_effects_set_dof_blur_bokeh_shape(RS::DOFBokehShape p_shape) override {} @@ -129,6 +151,7 @@ public: void light_instance_mark_visible(RID p_light_instance) override {} RID reflection_atlas_create() override { return RID(); } + int reflection_atlas_get_size(RID p_ref_atlas) const override { return 0; } void reflection_atlas_set_size(RID p_ref_atlas, int p_reflection_size, int p_reflection_count) override {} RID reflection_probe_instance_create(RID p_probe) override { return RID(); } @@ -142,19 +165,19 @@ public: RID decal_instance_create(RID p_decal) override { return RID(); } void decal_instance_set_transform(RID p_decal, const Transform &p_transform) override {} + RID lightmap_instance_create(RID p_lightmap) override { return RID(); } + void lightmap_instance_set_transform(RID p_lightmap, const Transform &p_transform) override {} + RID gi_probe_instance_create(RID p_gi_probe) override { return RID(); } void gi_probe_instance_set_transform_to_data(RID p_probe, const Transform &p_xform) override {} bool gi_probe_needs_update(RID p_probe) const override { return false; } - void gi_probe_update(RID p_probe, bool p_update_light_instances, const Vector<RID> &p_light_instances, int p_dynamic_object_count, InstanceBase **p_dynamic_objects) override {} + void gi_probe_update(RID p_probe, bool p_update_light_instances, const Vector<RID> &p_light_instances, const PagedArray<RendererSceneRender::GeometryInstance *> &p_dynamic_objects) override {} void gi_probe_set_quality(RS::GIProbeQuality) override {} - void render_scene(RID p_render_buffers, const Transform &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, InstanceBase **p_cull_result, int p_cull_count, RID *p_light_cull_result, int p_light_cull_count, RID *p_reflection_probe_cull_result, int p_reflection_probe_cull_count, RID *p_gi_probe_cull_result, int p_gi_probe_cull_count, RID *p_decal_cull_result, int p_decal_cull_count, InstanceBase **p_lightmap_cull_result, int p_lightmap_cull_count, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass) override {} - void render_shadow(RID p_light, RID p_shadow_atlas, int p_pass, InstanceBase **p_cull_result, int p_cull_count) override {} - void render_material(const Transform &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, InstanceBase **p_cull_result, int p_cull_count, RID p_framebuffer, const Rect2i &p_region) override {} - void render_sdfgi(RID p_render_buffers, int p_region, InstanceBase **p_cull_result, int p_cull_count) override {} - void render_sdfgi_static_lights(RID p_render_buffers, uint32_t p_cascade_count, const uint32_t *p_cascade_indices, const RID **p_positional_light_cull_result, const uint32_t *p_positional_light_cull_count) override {} - void render_particle_collider_heightfield(RID p_collider, const Transform &p_transform, InstanceBase **p_cull_result, int p_cull_count) override {} + void render_scene(RID p_render_buffers, const Transform &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_gi_probes, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr) override {} + void render_material(const Transform &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) override {} + void render_particle_collider_heightfield(RID p_collider, const Transform &p_transform, const PagedArray<GeometryInstance *> &p_instances) override {} void set_scene_pass(uint64_t p_pass) override {} void set_time(double p_time, double p_step) override {} @@ -162,6 +185,7 @@ public: RID render_buffers_create() override { return RID(); } void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_width, int p_height, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_debanding) override {} + void gi_set_use_half_resolution(bool p_enable) override {} void screen_space_roughness_limiter_set_active(bool p_enable, float p_amount, float p_curve) override {} bool screen_space_roughness_limiter_is_active() const override { return false; } @@ -175,67 +199,56 @@ public: void update() override {} void sdfgi_set_debug_probe_select(const Vector3 &p_position, const Vector3 &p_dir) override {} + bool is_low_end() const override { return true; } + RasterizerSceneDummy() {} ~RasterizerSceneDummy() {} }; -class RasterizerStorageDummy : public RasterizerStorage { +class RasterizerStorageDummy : public RendererStorage { public: + bool can_create_resources_async() const override { return false; } + /* TEXTURE API */ struct DummyTexture { - int width; - int height; - uint32_t flags; - Image::Format format; Ref<Image> image; - String path; - }; - - struct DummySurface { - uint32_t format; - RS::PrimitiveType primitive; - Vector<uint8_t> array; - int vertex_count; - Vector<uint8_t> index_array; - int index_count; - AABB aabb; - Vector<Vector<uint8_t>> blend_shapes; - Vector<AABB> bone_aabbs; }; - - struct DummyMesh { - Vector<DummySurface> surfaces; - int blend_shape_count; - RS::BlendShapeMode blend_shape_mode; - }; - mutable RID_PtrOwner<DummyTexture> texture_owner; - mutable RID_PtrOwner<DummyMesh> mesh_owner; - RID texture_2d_create(const Ref<Image> &p_image) override { return RID(); } - RID texture_2d_layered_create(const Vector<Ref<Image>> &p_layers, RS::TextureLayeredType p_layered_type) override { return RID(); } - RID texture_3d_create(Image::Format, int p_width, int p_height, int p_depth, bool p_mipmaps, const Vector<Ref<Image>> &p_data) override { return RID(); } - RID texture_proxy_create(RID p_base) override { return RID(); } + RID texture_allocate() override { + DummyTexture *texture = memnew(DummyTexture); + ERR_FAIL_COND_V(!texture, RID()); + return texture_owner.make_rid(texture); + } + void texture_2d_initialize(RID p_texture, const Ref<Image> &p_image) override { + DummyTexture *t = texture_owner.getornull(p_texture); + ERR_FAIL_COND(!t); + t->image = p_image->duplicate(); + } + void texture_2d_layered_initialize(RID p_texture, const Vector<Ref<Image>> &p_layers, RS::TextureLayeredType p_layered_type) override {} void texture_2d_update_immediate(RID p_texture, const Ref<Image> &p_image, int p_layer = 0) override {} void texture_2d_update(RID p_texture, const Ref<Image> &p_image, int p_layer = 0) override {} + void texture_3d_initialize(RID p_texture, Image::Format, int p_width, int p_height, int p_depth, bool p_mipmaps, const Vector<Ref<Image>> &p_data) override {} void texture_3d_update(RID p_texture, const Vector<Ref<Image>> &p_data) override {} + void texture_proxy_initialize(RID p_texture, RID p_base) override {} void texture_proxy_update(RID p_proxy, RID p_base) override {} - RID texture_2d_placeholder_create() override { return RID(); } - RID texture_2d_layered_placeholder_create(RenderingServer::TextureLayeredType p_layered_type) override { return RID(); } - RID texture_3d_placeholder_create() override { return RID(); } + void texture_2d_placeholder_initialize(RID p_texture) override {} + void texture_2d_layered_placeholder_initialize(RID p_texture, RenderingServer::TextureLayeredType p_layered_type) override {} + void texture_3d_placeholder_initialize(RID p_texture) override {} + + Ref<Image> texture_2d_get(RID p_texture) const override { + DummyTexture *t = texture_owner.getornull(p_texture); + ERR_FAIL_COND_V(!t, Ref<Image>()); + return t->image; + } - Ref<Image> texture_2d_get(RID p_texture) const override { return Ref<Image>(); } Ref<Image> texture_2d_layer_get(RID p_texture, int p_layer) const override { return Ref<Image>(); } Vector<Ref<Image>> texture_3d_get(RID p_texture) const override { return Vector<Ref<Image>>(); } void texture_replace(RID p_texture, RID p_by_texture) override {} void texture_set_size_override(RID p_texture, int p_width, int p_height) override {} -// FIXME: Disabled during Vulkan refactoring, should be ported. -#if 0 - void texture_bind(RID p_texture, uint32_t p_texture_no) = 0; -#endif void texture_set_path(RID p_texture, const String &p_path) override {} String texture_get_path(RID p_texture) const override { return String(); } @@ -253,114 +266,18 @@ public: /* CANVAS TEXTURE API */ - RID canvas_texture_create() override { return RID(); } + RID canvas_texture_allocate() override { return RID(); } + void canvas_texture_initialize(RID p_rid) override {} void canvas_texture_set_channel(RID p_canvas_texture, RS::CanvasTextureChannel p_channel, RID p_texture) override {} void canvas_texture_set_shading_parameters(RID p_canvas_texture, const Color &p_base_color, float p_shininess) override {} void canvas_texture_set_texture_filter(RID p_item, RS::CanvasItemTextureFilter p_filter) override {} void canvas_texture_set_texture_repeat(RID p_item, RS::CanvasItemTextureRepeat p_repeat) override {} -#if 0 - RID texture_create() override { - - DummyTexture *texture = memnew(DummyTexture); - ERR_FAIL_COND_V(!texture, RID()); - return texture_owner.make_rid(texture); - } - - void texture_allocate(RID p_texture, int p_width, int p_height, int p_depth_3d, Image::Format p_format, RenderingServer::TextureType p_type = RS::TEXTURE_TYPE_2D, uint32_t p_flags = RS::TEXTURE_FLAGS_DEFAULT) override { - DummyTexture *t = texture_owner.getornull(p_texture); - ERR_FAIL_COND(!t); - t->width = p_width; - t->height = p_height; - t->flags = p_flags; - t->format = p_format; - t->image = Ref<Image>(memnew(Image)); - t->image->create(p_width, p_height, false, p_format); - } - void texture_set_data(RID p_texture, const Ref<Image> &p_image, int p_level) override { - DummyTexture *t = texture_owner.getornull(p_texture); - ERR_FAIL_COND(!t); - t->width = p_image->get_width(); - t->height = p_image->get_height(); - t->format = p_image->get_format(); - t->image->create(t->width, t->height, false, t->format, p_image->get_data()); - } - - void texture_set_data_partial(RID p_texture, const Ref<Image> &p_image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int p_dst_mip, int p_level) override { - DummyTexture *t = texture_owner.getornull(p_texture); - - ERR_FAIL_COND(!t); - ERR_FAIL_COND_MSG(p_image.is_null(), "It's not a reference to a valid Image object."); - ERR_FAIL_COND(t->format != p_image->get_format()); - ERR_FAIL_COND(src_w <= 0 || src_h <= 0); - ERR_FAIL_COND(src_x < 0 || src_y < 0 || src_x + src_w > p_image->get_width() || src_y + src_h > p_image->get_height()); - ERR_FAIL_COND(dst_x < 0 || dst_y < 0 || dst_x + src_w > t->width || dst_y + src_h > t->height); - - t->image->blit_rect(p_image, Rect2(src_x, src_y, src_w, src_h), Vector2(dst_x, dst_y)); - } - - Ref<Image> texture_get_data(RID p_texture, int p_level) const override { - DummyTexture *t = texture_owner.getornull(p_texture); - ERR_FAIL_COND_V(!t, Ref<Image>()); - return t->image; - } - void texture_set_flags(RID p_texture, uint32_t p_flags) override { - DummyTexture *t = texture_owner.getornull(p_texture); - ERR_FAIL_COND(!t); - t->flags = p_flags; - } - uint32_t texture_get_flags(RID p_texture) const override { - DummyTexture *t = texture_owner.getornull(p_texture); - ERR_FAIL_COND_V(!t, 0); - return t->flags; - } - Image::Format texture_get_format(RID p_texture) const override { - DummyTexture *t = texture_owner.getornull(p_texture); - ERR_FAIL_COND_V(!t, Image::FORMAT_RGB8); - return t->format; - } - - RenderingServer::TextureType texture_get_type(RID p_texture) const override { return RS::TEXTURE_TYPE_2D; } - uint32_t texture_get_texid(RID p_texture) const override { return 0; } - uint32_t texture_get_width(RID p_texture) const override { return 0; } - uint32_t texture_get_height(RID p_texture) const override { return 0; } - uint32_t texture_get_depth(RID p_texture) const override { return 0; } - void texture_set_size_override(RID p_texture, int p_width, int p_height, int p_depth_3d) override {} - void texture_bind(RID p_texture, uint32_t p_texture_no) override {} - - void texture_set_path(RID p_texture, const String &p_path) override { - DummyTexture *t = texture_owner.getornull(p_texture); - ERR_FAIL_COND(!t); - t->path = p_path; - } - String texture_get_path(RID p_texture) const override { - DummyTexture *t = texture_owner.getornull(p_texture); - ERR_FAIL_COND_V(!t, String()); - return t->path; - } - - void texture_set_shrink_all_x2_on_set_data(bool p_enable) override {} - - void texture_debug_usage(List<RS::TextureInfo> *r_info) override {} - - RID texture_create_radiance_cubemap(RID p_source, int p_resolution = -1) const override { return RID(); } - - void texture_set_detect_3d_callback(RID p_texture, RenderingServer::TextureDetectCallback p_callback, void *p_userdata) override {} - void texture_set_detect_srgb_callback(RID p_texture, RenderingServer::TextureDetectCallback p_callback, void *p_userdata) override {} - void texture_set_detect_normal_callback(RID p_texture, RenderingServer::TextureDetectCallback p_callback, void *p_userdata) override {} - - void textures_keep_original(bool p_enable) override {} - - void texture_set_proxy(RID p_proxy, RID p_base) override {} - Size2 texture_size_with_proxy(RID p_texture) const override { return Size2(); } - void texture_set_force_redraw_if_visible(RID p_texture, bool p_enable) override {} -#endif - /* SHADER API */ - RID shader_create() override { return RID(); } - + RID shader_allocate() override { return RID(); } + void shader_initialize(RID p_rid) override {} void shader_set_code(RID p_shader, const String &p_code) override {} String shader_get_code(RID p_shader) const override { return ""; } void shader_get_param_list(RID p_shader, List<PropertyInfo> *p_param_list) const override {} @@ -369,10 +286,12 @@ public: RID shader_get_default_texture_param(RID p_shader, const StringName &p_name) const override { return RID(); } Variant shader_get_param_default(RID p_material, const StringName &p_param) const override { return Variant(); } - /* COMMON MATERIAL API */ + RS::ShaderNativeSourceCode shader_get_native_source_code(RID p_shader) const override { return RS::ShaderNativeSourceCode(); }; - RID material_create() override { return RID(); } + /* COMMON MATERIAL API */ + RID material_allocate() override { return RID(); } + void material_initialize(RID p_rid) override {} void material_set_render_priority(RID p_material, int priority) override {} void material_set_shader(RID p_shader_material, RID p_shader) override {} @@ -384,153 +303,49 @@ public: bool material_is_animated(RID p_material) override { return false; } bool material_casts_shadows(RID p_material) override { return false; } void material_get_instance_shader_parameters(RID p_material, List<InstanceShaderParam> *r_parameters) override {} - void material_update_dependency(RID p_material, RasterizerScene::InstanceBase *p_instance) override {} + void material_update_dependency(RID p_material, DependencyTracker *p_instance) override {} /* MESH API */ - RID mesh_create() override { - DummyMesh *mesh = memnew(DummyMesh); - ERR_FAIL_COND_V(!mesh, RID()); - mesh->blend_shape_count = 0; - mesh->blend_shape_mode = RS::BLEND_SHAPE_MODE_NORMALIZED; - return mesh_owner.make_rid(mesh); - } + RID mesh_allocate() override { return RID(); } + void mesh_initialize(RID p_rid) override {} + void mesh_set_blend_shape_count(RID p_mesh, int p_blend_shape_count) override {} + bool mesh_needs_instance(RID p_mesh, bool p_has_skeleton) override { return false; } + RID mesh_instance_create(RID p_base) override { return RID(); } + void mesh_instance_set_skeleton(RID p_mesh_instance, RID p_skeleton) override {} + void mesh_instance_set_blend_shape_weight(RID p_mesh_instance, int p_shape, float p_weight) override {} + void mesh_instance_check_for_update(RID p_mesh_instance) override {} + void update_mesh_instances() override {} + void reflection_probe_set_lod_threshold(RID p_probe, float p_ratio) override {} + float reflection_probe_get_lod_threshold(RID p_probe) const override { return 0.0; } void mesh_add_surface(RID p_mesh, const RS::SurfaceData &p_surface) override {} -#if 0 - void mesh_add_surface(RID p_mesh, uint32_t p_format, RS::PrimitiveType p_primitive, const Vector<uint8_t> &p_array, int p_vertex_count, const Vector<uint8_t> &p_index_array, int p_index_count, const AABB &p_aabb, const Vector<Vector<uint8_t> > &p_blend_shapes = Vector<Vector<uint8_t> >(), const Vector<AABB> &p_bone_aabbs = Vector<AABB>()) override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND(!m); - - m->surfaces.push_back(DummySurface()); - DummySurface *s = &m->surfaces.write[m->surfaces.size() - 1]; - s->format = p_format; - s->primitive = p_primitive; - s->array = p_array; - s->vertex_count = p_vertex_count; - s->index_array = p_index_array; - s->index_count = p_index_count; - s->aabb = p_aabb; - s->blend_shapes = p_blend_shapes; - s->bone_aabbs = p_bone_aabbs; - } - - void mesh_set_blend_shape_count(RID p_mesh, int p_amount) override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND(!m); - m->blend_shape_count = p_amount; - } -#endif - - int mesh_get_blend_shape_count(RID p_mesh) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, 0); - return m->blend_shape_count; - } + int mesh_get_blend_shape_count(RID p_mesh) const override { return 0; } - void mesh_set_blend_shape_mode(RID p_mesh, RS::BlendShapeMode p_mode) override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND(!m); - m->blend_shape_mode = p_mode; - } - RS::BlendShapeMode mesh_get_blend_shape_mode(RID p_mesh) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, RS::BLEND_SHAPE_MODE_NORMALIZED); - return m->blend_shape_mode; - } + void mesh_set_blend_shape_mode(RID p_mesh, RS::BlendShapeMode p_mode) override {} + RS::BlendShapeMode mesh_get_blend_shape_mode(RID p_mesh) const override { return RS::BLEND_SHAPE_MODE_NORMALIZED; } void mesh_surface_update_region(RID p_mesh, int p_surface, int p_offset, const Vector<uint8_t> &p_data) override {} void mesh_surface_set_material(RID p_mesh, int p_surface, RID p_material) override {} RID mesh_surface_get_material(RID p_mesh, int p_surface) const override { return RID(); } -#if 0 - int mesh_surface_get_array_len(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, 0); - - return m->surfaces[p_surface].vertex_count; - } - int mesh_surface_get_array_index_len(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, 0); - - return m->surfaces[p_surface].index_count; - } - - Vector<uint8_t> mesh_surface_get_array(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, Vector<uint8_t>()); - - return m->surfaces[p_surface].array; - } - Vector<uint8_t> mesh_surface_get_index_array(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, Vector<uint8_t>()); - - return m->surfaces[p_surface].index_array; - } - - uint32_t mesh_surface_get_format(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, 0); - - return m->surfaces[p_surface].format; - } - RS::PrimitiveType mesh_surface_get_primitive_type(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, RS::PRIMITIVE_POINTS); - - return m->surfaces[p_surface].primitive; - } - - AABB mesh_surface_get_aabb(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, AABB()); - - return m->surfaces[p_surface].aabb; - } - Vector<Vector<uint8_t> > mesh_surface_get_blend_shapes(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, Vector<Vector<uint8_t> >()); - - return m->surfaces[p_surface].blend_shapes; - } - Vector<AABB> mesh_surface_get_skeleton_aabb(RID p_mesh, int p_surface) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, Vector<AABB>()); - - return m->surfaces[p_surface].bone_aabbs; - } - - void mesh_remove_surface(RID p_mesh, int p_index) override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND(!m); - ERR_FAIL_COND(p_index >= m->surfaces.size()); - - m->surfaces.remove(p_index); - } -#endif - RS::SurfaceData mesh_get_surface(RID p_mesh, int p_surface) const override { return RS::SurfaceData(); } - int mesh_get_surface_count(RID p_mesh) const override { - DummyMesh *m = mesh_owner.getornull(p_mesh); - ERR_FAIL_COND_V(!m, 0); - return m->surfaces.size(); - } + int mesh_get_surface_count(RID p_mesh) const override { return 0; } void mesh_set_custom_aabb(RID p_mesh, const AABB &p_aabb) override {} AABB mesh_get_custom_aabb(RID p_mesh) const override { return AABB(); } AABB mesh_get_aabb(RID p_mesh, RID p_skeleton = RID()) override { return AABB(); } + void mesh_set_shadow_mesh(RID p_mesh, RID p_shadow_mesh) override {} void mesh_clear(RID p_mesh) override {} /* MULTIMESH API */ - RID multimesh_create() override { return RID(); } - - void multimesh_allocate(RID p_multimesh, int p_instances, RS::MultimeshTransformFormat p_transform_format, bool p_use_colors = false, bool p_use_custom_data = false) override {} + RID multimesh_allocate() override { return RID(); } + void multimesh_initialize(RID p_rid) override {} + void multimesh_allocate_data(RID p_multimesh, int p_instances, RS::MultimeshTransformFormat p_transform_format, bool p_use_colors = false, bool p_use_custom_data = false) override {} int multimesh_get_instance_count(RID p_multimesh) const override { return 0; } void multimesh_set_mesh(RID p_multimesh, RID p_mesh) override {} @@ -554,7 +369,8 @@ public: /* IMMEDIATE API */ - RID immediate_create() override { return RID(); } + RID immediate_allocate() override { return RID(); } + void immediate_initialize(RID p_rid) override {} void immediate_begin(RID p_immediate, RS::PrimitiveType p_rimitive, RID p_texture = RID()) override {} void immediate_vertex(RID p_immediate, const Vector3 &p_vertex) override {} void immediate_normal(RID p_immediate, const Vector3 &p_normal) override {} @@ -570,8 +386,9 @@ public: /* SKELETON API */ - RID skeleton_create() override { return RID(); } - void skeleton_allocate(RID p_skeleton, int p_bones, bool p_2d_skeleton = false) override {} + RID skeleton_allocate() override { return RID(); } + void skeleton_initialize(RID p_rid) override {} + void skeleton_allocate_data(RID p_skeleton, int p_bones, bool p_2d_skeleton = false) override {} void skeleton_set_base_transform_2d(RID p_skeleton, const Transform2D &p_base_transform) override {} int skeleton_get_bone_count(RID p_skeleton) const override { return 0; } void skeleton_bone_set_transform(RID p_skeleton, int p_bone, const Transform &p_transform) override {} @@ -581,7 +398,14 @@ public: /* Light API */ - RID light_create(RS::LightType p_type) override { return RID(); } + RID directional_light_allocate() override { return RID(); } + void directional_light_initialize(RID p_rid) override {} + RID omni_light_allocate() override { return RID(); } + void omni_light_initialize(RID p_rid) override {} + RID spot_light_allocate() override { return RID(); } + void spot_light_initialize(RID p_rid) override {} + RID reflection_probe_allocate() override { return RID(); } + void reflection_probe_initialize(RID p_rid) override {} void light_set_color(RID p_light, const Color &p_color) override {} void light_set_param(RID p_light, RS::LightParam p_param, float p_value) override {} @@ -600,6 +424,8 @@ public: void light_directional_set_blend_splits(RID p_light, bool p_enable) override {} bool light_directional_get_blend_splits(RID p_light) const override { return false; } void light_directional_set_shadow_depth_range_mode(RID p_light, RS::LightDirectionalShadowDepthRangeMode p_range_mode) override {} + void light_directional_set_sky_only(RID p_light, bool p_sky_only) override {} + bool light_directional_is_sky_only(RID p_light) const override { return false; } RS::LightDirectionalShadowDepthRangeMode light_directional_get_shadow_depth_range_mode(RID p_light) const override { return RS::LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE; } RS::LightDirectionalShadowMode light_directional_get_shadow_mode(RID p_light) override { return RS::LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL; } @@ -617,8 +443,6 @@ public: /* PROBE API */ - RID reflection_probe_create() override { return RID(); } - void reflection_probe_set_update_mode(RID p_probe, RS::ReflectionProbeUpdateMode p_mode) override {} void reflection_probe_set_intensity(RID p_probe, float p_intensity) override {} void reflection_probe_set_ambient_mode(RID p_probe, RS::ReflectionProbeAmbientMode p_mode) override {} @@ -641,12 +465,13 @@ public: float reflection_probe_get_origin_max_distance(RID p_probe) const override { return 0.0; } bool reflection_probe_renders_shadows(RID p_probe) const override { return false; } - void base_update_dependency(RID p_base, RasterizerScene::InstanceBase *p_instance) override {} - void skeleton_update_dependency(RID p_base, RasterizerScene::InstanceBase *p_instance) override {} + void base_update_dependency(RID p_base, DependencyTracker *p_instance) override {} + void skeleton_update_dependency(RID p_base, DependencyTracker *p_instance) override {} /* DECAL API */ - RID decal_create() override { return RID(); } + RID decal_allocate() override { return RID(); } + void decal_initialize(RID p_rid) override {} void decal_set_extents(RID p_decal, const Vector3 &p_extents) override {} void decal_set_texture(RID p_decal, RS::DecalTexture p_type, RID p_texture) override {} void decal_set_emission_energy(RID p_decal, float p_energy) override {} @@ -661,9 +486,9 @@ public: /* GI PROBE API */ - RID gi_probe_create() override { return RID(); } - - void gi_probe_allocate(RID p_gi_probe, const Transform &p_to_cell_xform, const AABB &p_aabb, const Vector3i &p_octree_size, const Vector<uint8_t> &p_octree_cells, const Vector<uint8_t> &p_data_cells, const Vector<uint8_t> &p_distance_field, const Vector<int> &p_level_counts) override {} + RID gi_probe_allocate() override { return RID(); } + void gi_probe_initialize(RID p_rid) override {} + void gi_probe_allocate_data(RID p_gi_probe, const Transform &p_to_cell_xform, const AABB &p_aabb, const Vector3i &p_octree_size, const Vector<uint8_t> &p_octree_cells, const Vector<uint8_t> &p_data_cells, const Vector<uint8_t> &p_distance_field, const Vector<int> &p_level_counts) override {} AABB gi_probe_get_bounds(RID p_gi_probe) const override { return AABB(); } Vector3i gi_probe_get_octree_size(RID p_gi_probe) const override { return Vector3i(); } @@ -707,77 +532,8 @@ public: uint32_t gi_probe_get_version(RID p_gi_probe) override { return 0; } /* LIGHTMAP CAPTURE */ -#if 0 - struct Instantiable { - - SelfList<RasterizerScene::InstanceBase>::List instance_list; - - _FORCE_INLINE_ void instance_change_notify(bool p_aabb = true, bool p_materials = true) override { - - SelfList<RasterizerScene::InstanceBase> *instances = instance_list.first(); - while (instances) override { - - //instances->self()->base_changed(p_aabb, p_materials); - instances = instances->next(); - } - } - - _FORCE_INLINE_ void instance_remove_deps() override { - SelfList<RasterizerScene::InstanceBase> *instances = instance_list.first(); - while (instances) override { - - SelfList<RasterizerScene::InstanceBase> *next = instances->next(); - //instances->self()->base_removed(); - instances = next; - } - } - - Instantiable() override {} - ~Instantiable() override { - } - }; - - struct LightmapCapture : public Instantiable { - - Vector<LightmapCaptureOctree> octree; - AABB bounds; - Transform cell_xform; - int cell_subdiv; - float energy; - LightmapCapture() override { - energy = 1.0; - cell_subdiv = 1; - } - }; - - mutable RID_PtrOwner<LightmapCapture> lightmap_capture_data_owner; - void lightmap_capture_set_bounds(RID p_capture, const AABB &p_bounds) override {} - AABB lightmap_capture_get_bounds(RID p_capture) const override { return AABB(); } - void lightmap_capture_set_octree(RID p_capture, const Vector<uint8_t> &p_octree) override {} - RID lightmap_capture_create() override { - LightmapCapture *capture = memnew(LightmapCapture); - return lightmap_capture_data_owner.make_rid(capture); - } - Vector<uint8_t> lightmap_capture_get_octree(RID p_capture) const override { - const LightmapCapture *capture = lightmap_capture_data_owner.getornull(p_capture); - ERR_FAIL_COND_V(!capture, Vector<uint8_t>()); - return Vector<uint8_t>(); - } - void lightmap_capture_set_octree_cell_transform(RID p_capture, const Transform &p_xform) override {} - Transform lightmap_capture_get_octree_cell_transform(RID p_capture) const override { return Transform(); } - void lightmap_capture_set_octree_cell_subdiv(RID p_capture, int p_subdiv) override {} - int lightmap_capture_get_octree_cell_subdiv(RID p_capture) const override { return 0; } - void lightmap_capture_set_energy(RID p_capture, float p_energy) override {} - float lightmap_capture_get_energy(RID p_capture) const override { return 0.0; } - const Vector<LightmapCaptureOctree> *lightmap_capture_get_octree_ptr(RID p_capture) const override { - const LightmapCapture *capture = lightmap_capture_data_owner.getornull(p_capture); - ERR_FAIL_COND_V(!capture, nullptr); - return &capture->octree; - } -#endif - - RID lightmap_create() override { return RID(); } - + RID lightmap_allocate() override { return RID(); } + void lightmap_initialize(RID p_rid) override {} void lightmap_set_textures(RID p_lightmap, RID p_light, bool p_uses_spherical_haromics) override {} void lightmap_set_probe_bounds(RID p_lightmap, const AABB &p_bounds) override {} void lightmap_set_probe_interior(RID p_lightmap, bool p_interior) override {} @@ -794,8 +550,8 @@ public: /* PARTICLES */ - RID particles_create() override { return RID(); } - + RID particles_allocate() override { return RID(); } + void particles_initialize(RID p_rid) override {} void particles_emit(RID p_particles, const Transform &p_transform, const Vector3 &p_velocity, const Color &p_color, const Color &p_custom, uint32_t p_emit_flags) override {} void particles_set_emitting(RID p_particles, bool p_emitting) override {} void particles_set_amount(RID p_particles, int p_amount) override {} @@ -830,14 +586,15 @@ public: int particles_get_draw_passes(RID p_particles) const override { return 0; } RID particles_get_draw_pass_mesh(RID p_particles, int p_pass) const override { return RID(); } - void particles_add_collision(RID p_particles, RasterizerScene::InstanceBase *p_instance) override {} - void particles_remove_collision(RID p_particles, RasterizerScene::InstanceBase *p_instance) override {} + void particles_add_collision(RID p_particles, RID p_instance) override {} + void particles_remove_collision(RID p_particles, RID p_instance) override {} void update_particles() override {} /* PARTICLES COLLISION */ - RID particles_collision_create() override { return RID(); } + RID particles_collision_allocate() override { return RID(); } + void particles_collision_initialize(RID p_rid) override {} void particles_collision_set_collision_type(RID p_particles_collision, RS::ParticlesCollisionType p_type) override {} void particles_collision_set_cull_mask(RID p_particles_collision, uint32_t p_cull_mask) override {} void particles_collision_set_sphere_radius(RID p_particles_collision, float p_radius) override {} @@ -852,6 +609,10 @@ public: bool particles_collision_is_heightfield(RID p_particles_collision) const override { return false; } RID particles_collision_get_heightfield_framebuffer(RID p_particles_collision) const override { return RID(); } + RID particles_collision_instance_create(RID p_collision) override { return RID(); }; + void particles_collision_instance_set_transform(RID p_collision_instance, const Transform &p_transform) override{}; + void particles_collision_instance_set_active(RID p_collision_instance, bool p_active) override{}; + /* GLOBAL VARIABLES */ void global_variable_add(const StringName &p_name, RS::GlobalVariableType p_type, const Variant &p_value) override {} @@ -889,14 +650,10 @@ public: void render_target_disable_clear_request(RID p_render_target) override {} void render_target_do_clear_request(RID p_render_target) override {} - RS::InstanceType get_base_type(RID p_rid) const override { - if (mesh_owner.owns(p_rid)) { - return RS::INSTANCE_MESH; - } - - return RS::INSTANCE_NONE; - } + void render_target_set_sdf_size_and_scale(RID p_render_target, RS::ViewportSDFOversize p_size, RS::ViewportSDFScale p_scale) override {} + Rect2i render_target_get_sdf_rect(RID p_render_target) const override { return Rect2i(); } + RS::InstanceType get_base_type(RID p_rid) const override { return RS::INSTANCE_NONE; } bool free(RID p_rid) override { if (texture_owner.owns(p_rid)) { // delete the texture @@ -904,13 +661,6 @@ public: texture_owner.free(p_rid); memdelete(texture); } - - if (mesh_owner.owns(p_rid)) { - // delete the mesh - DummyMesh *mesh = mesh_owner.getornull(p_rid); - mesh_owner.free(p_rid); - memdelete(mesh); - } return true; } @@ -924,11 +674,11 @@ public: void render_info_end_capture() override {} int get_captured_render_info(RS::RenderInfo p_info) override { return 0; } - int get_render_info(RS::RenderInfo p_info) override { return 0; } + uint64_t get_render_info(RS::RenderInfo p_info) override { return 0; } String get_video_adapter_name() const override { return String(); } String get_video_adapter_vendor() const override { return String(); } - static RasterizerStorage *base_singleton; + static RendererStorage *base_singleton; void capture_timestamps_begin() override {} void capture_timestamp(const String &p_name) override {} @@ -942,12 +692,12 @@ public: ~RasterizerStorageDummy() {} }; -class RasterizerCanvasDummy : public RasterizerCanvas { +class RasterizerCanvasDummy : public RendererCanvasRender { public: PolygonID request_polygon(const Vector<int> &p_indices, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs = Vector<Point2>(), const Vector<int> &p_bones = Vector<int>(), const Vector<float> &p_weights = Vector<float>()) override { return 0; } void free_polygon(PolygonID p_polygon) override {} - void canvas_render_items(RID p_to_render_target, Item *p_item_list, const Color &p_modulate, Light *p_light_list, Light *p_directional_list, const Transform2D &p_canvas_transform, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_vertices_to_pixel) override {} + void canvas_render_items(RID p_to_render_target, Item *p_item_list, const Color &p_modulate, Light *p_light_list, Light *p_directional_list, const Transform2D &p_canvas_transform, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_vertices_to_pixel, bool &r_sdf_used) override {} void canvas_debug_viewport_shadows(Light *p_lights_with_shadow) override {} RID light_create() override { return RID(); } @@ -956,8 +706,9 @@ public: void light_update_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_near, float p_far, LightOccluderInstance *p_occluders) override {} void light_update_directional_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_cull_distance, const Rect2 &p_clip_rect, LightOccluderInstance *p_occluders) override {} + void render_sdf(RID p_render_target, LightOccluderInstance *p_occluders) override {} RID occluder_polygon_create() override { return RID(); } - void occluder_polygon_set_shape_as_lines(RID p_occluder, const Vector<Vector2> &p_lines) override {} + void occluder_polygon_set_shape(RID p_occluder, const Vector<Vector2> &p_points, bool p_closed) override {} void occluder_polygon_set_cull_mode(RID p_occluder, RS::CanvasOccluderPolygonCullMode p_mode) override {} void set_shadow_texture_size(int p_size) override {} @@ -970,7 +721,7 @@ public: ~RasterizerCanvasDummy() {} }; -class RasterizerDummy : public Rasterizer { +class RasterizerDummy : public RendererCompositor { private: uint64_t frame = 1; float delta = 0; @@ -981,9 +732,9 @@ protected: RasterizerSceneDummy scene; public: - RasterizerStorage *get_storage() override { return &storage; } - RasterizerCanvas *get_canvas() override { return &canvas; } - RasterizerScene *get_scene() override { return &scene; } + RendererStorage *get_storage() override { return &storage; } + RendererCanvasRender *get_canvas() override { return &canvas; } + RendererSceneRender *get_scene() override { return &scene; } void set_boot_image(const Ref<Image> &p_image, const Color &p_color, bool p_scale, bool p_use_filter = true) override {} @@ -1004,7 +755,7 @@ public: void finalize() override {} - static Rasterizer *_create_current() { + static RendererCompositor *_create_current() { return memnew(RasterizerDummy); } diff --git a/drivers/dummy/texture_loader_dummy.cpp b/drivers/dummy/texture_loader_dummy.cpp index 6158a2ac54..f148e42845 100644 --- a/drivers/dummy/texture_loader_dummy.cpp +++ b/drivers/dummy/texture_loader_dummy.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -35,7 +35,7 @@ #include <string.h> -RES ResourceFormatDummyTexture::load(const String &p_path, const String &p_original_path, Error *r_error, bool p_use_sub_threads, float *r_progress, bool p_no_cache) { +RES ResourceFormatDummyTexture::load(const String &p_path, const String &p_original_path, Error *r_error, bool p_use_sub_threads, float *r_progress, CacheMode p_cache_mode) { unsigned int width = 8; unsigned int height = 8; diff --git a/drivers/dummy/texture_loader_dummy.h b/drivers/dummy/texture_loader_dummy.h index ef9f3b13b6..00e6b9cc53 100644 --- a/drivers/dummy/texture_loader_dummy.h +++ b/drivers/dummy/texture_loader_dummy.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -36,7 +36,7 @@ class ResourceFormatDummyTexture : public ResourceFormatLoader { public: - virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, bool p_no_cache = false); + virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE); virtual void get_recognized_extensions(List<String> *p_extensions) const; virtual bool handles_type(const String &p_type) const; virtual String get_resource_type(const String &p_path) const; diff --git a/drivers/png/SCsub b/drivers/png/SCsub index db08be0c47..26508dc612 100644 --- a/drivers/png/SCsub +++ b/drivers/png/SCsub @@ -5,6 +5,9 @@ Import("env") env_png = env.Clone() # Thirdparty source files + +thirdparty_obj = [] + if env["builtin_libpng"]: thirdparty_dir = "#thirdparty/libpng/" thirdparty_sources = [ @@ -41,7 +44,7 @@ if env["builtin_libpng"]: env_thirdparty = env_png.Clone() env_thirdparty.disable_warnings() - env_thirdparty.add_source_files(env.drivers_sources, thirdparty_sources) + env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources) if use_neon: env_neon = env_thirdparty.Clone() @@ -52,9 +55,17 @@ if env["builtin_libpng"]: neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/filter_neon_intrinsics.c")) neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/filter_neon.S")) neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/palette_neon_intrinsics.c")) - env.drivers_sources += neon_sources + thirdparty_obj += neon_sources + + env.drivers_sources += thirdparty_obj + # Godot source files -env_png.add_source_files(env.drivers_sources, "*.cpp") -Export("env") +driver_obj = [] + +env_png.add_source_files(driver_obj, "*.cpp") +env.drivers_sources += driver_obj + +# Needed to force rebuilding the driver files when the thirdparty library is updated. +env.Depends(driver_obj, thirdparty_obj) diff --git a/drivers/png/image_loader_png.cpp b/drivers/png/image_loader_png.cpp index cd0c68e947..854c6706e6 100644 --- a/drivers/png/image_loader_png.cpp +++ b/drivers/png/image_loader_png.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/png/image_loader_png.h b/drivers/png/image_loader_png.h index 0154be0398..b4a58616f6 100644 --- a/drivers/png/image_loader_png.h +++ b/drivers/png/image_loader_png.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/png/png_driver_common.cpp b/drivers/png/png_driver_common.cpp index d3e187c501..9e848a2253 100644 --- a/drivers/png/png_driver_common.cpp +++ b/drivers/png/png_driver_common.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -203,5 +203,4 @@ Error image_to_png(const Ref<Image> &p_image, Vector<uint8_t> &p_buffer) { return OK; } - } // namespace PNGDriverCommon diff --git a/drivers/png/png_driver_common.h b/drivers/png/png_driver_common.h index e7ec9b96bd..003b587913 100644 --- a/drivers/png/png_driver_common.h +++ b/drivers/png/png_driver_common.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -41,7 +41,6 @@ Error png_to_image(const uint8_t *p_source, size_t p_size, bool p_force_linear, // Append p_image, as a png, to p_buffer. // Contents of p_buffer is unspecified if error returned. Error image_to_png(const Ref<Image> &p_image, Vector<uint8_t> &p_buffer); - } // namespace PNGDriverCommon #endif diff --git a/drivers/png/resource_saver_png.cpp b/drivers/png/resource_saver_png.cpp index a2d0d5881a..b737a287d1 100644 --- a/drivers/png/resource_saver_png.cpp +++ b/drivers/png/resource_saver_png.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -41,7 +41,7 @@ Error ResourceSaverPNG::save(const String &p_path, const RES &p_resource, uint32 ERR_FAIL_COND_V_MSG(!texture.is_valid(), ERR_INVALID_PARAMETER, "Can't save invalid texture as PNG."); ERR_FAIL_COND_V_MSG(!texture->get_width(), ERR_INVALID_PARAMETER, "Can't save empty texture as PNG."); - Ref<Image> img = texture->get_data(); + Ref<Image> img = texture->get_image(); Error err = save_image(p_path, img); diff --git a/drivers/png/resource_saver_png.h b/drivers/png/resource_saver_png.h index 1d4dcfb57f..c924438224 100644 --- a/drivers/png/resource_saver_png.h +++ b/drivers/png/resource_saver_png.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/pulseaudio/SCsub b/drivers/pulseaudio/SCsub index 91e1140b75..467d1448dc 100644 --- a/drivers/pulseaudio/SCsub +++ b/drivers/pulseaudio/SCsub @@ -2,4 +2,7 @@ Import("env") +if "pulseaudio" in env and env["pulseaudio"]: + env.add_source_files(env.drivers_sources, "pulse-so_wrap.c") + env.add_source_files(env.drivers_sources, "*.cpp") diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.cpp b/drivers/pulseaudio/audio_driver_pulseaudio.cpp index 5acaa3ac99..5e87bc019b 100644 --- a/drivers/pulseaudio/audio_driver_pulseaudio.cpp +++ b/drivers/pulseaudio/audio_driver_pulseaudio.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -179,7 +179,7 @@ Error AudioDriverPulseAudio::init_device() { break; } - int latency = GLOBAL_GET("audio/output_latency"); + int latency = GLOBAL_GET("audio/driver/output_latency"); buffer_frames = closest_power_of_2(latency * mix_rate / 1000); pa_buffer_size = buffer_frames * pa_map.channels; @@ -233,11 +233,20 @@ Error AudioDriverPulseAudio::init_device() { } Error AudioDriverPulseAudio::init() { +#ifdef DEBUG_ENABLED + int dylibloader_verbose = 1; +#else + int dylibloader_verbose = 0; +#endif + if (initialize_pulse(dylibloader_verbose)) { + return ERR_CANT_OPEN; + } + active = false; thread_exited = false; exit_thread = false; - mix_rate = GLOBAL_GET("audio/mix_rate"); + mix_rate = GLOBAL_GET("audio/driver/mix_rate"); pa_ml = pa_mainloop_new(); ERR_FAIL_COND_V(pa_ml == nullptr, ERR_CANT_OPEN); @@ -287,7 +296,7 @@ Error AudioDriverPulseAudio::init() { Error err = init_device(); if (err == OK) { - thread = Thread::create(AudioDriverPulseAudio::thread_func, this); + thread.start(AudioDriverPulseAudio::thread_func, this); } return OK; @@ -581,16 +590,10 @@ void AudioDriverPulseAudio::set_device(String device) { } void AudioDriverPulseAudio::lock() { - if (!thread) { - return; - } mutex.lock(); } void AudioDriverPulseAudio::unlock() { - if (!thread) { - return; - } mutex.unlock(); } @@ -603,12 +606,12 @@ void AudioDriverPulseAudio::finish_device() { } void AudioDriverPulseAudio::finish() { - if (!thread) { + if (!thread.is_started()) { return; } exit_thread = true; - Thread::wait_to_finish(thread); + thread.wait_to_finish(); finish_device(); @@ -622,10 +625,6 @@ void AudioDriverPulseAudio::finish() { pa_mainloop_free(pa_ml); pa_ml = nullptr; } - - memdelete(thread); - - thread = nullptr; } Error AudioDriverPulseAudio::capture_init_device() { diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.h b/drivers/pulseaudio/audio_driver_pulseaudio.h index 35ccae94b8..fa9b573d94 100644 --- a/drivers/pulseaudio/audio_driver_pulseaudio.h +++ b/drivers/pulseaudio/audio_driver_pulseaudio.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -37,10 +37,10 @@ #include "core/os/thread.h" #include "servers/audio_server.h" -#include <pulse/pulseaudio.h> +#include "pulse-so_wrap.h" class AudioDriverPulseAudio : public AudioDriver { - Thread *thread = nullptr; + Thread thread; Mutex mutex; pa_mainloop *pa_ml = nullptr; diff --git a/drivers/pulseaudio/pulse-so_wrap.c b/drivers/pulseaudio/pulse-so_wrap.c new file mode 100644 index 0000000000..12bdcc704e --- /dev/null +++ b/drivers/pulseaudio/pulse-so_wrap.c @@ -0,0 +1,3950 @@ +// This file is generated. Do not edit! +// see https://github.com/hpvb/dynload-wrapper for details +// generated by /home/hp/Projects/godot/pulse/generate-wrapper.py 0.3 on 2021-02-20 00:08:31 +// flags: /home/hp/Projects/godot/pulse/generate-wrapper.py --include /usr/include/pulse/pulseaudio.h --sys-include <pulse/pulseaudio.h> --soname libpulse.so.0 --omit-prefix _pa_ --init-name pulse --output-header pulse-so_wrap.h --output-implementation pulse-so_wrap.c +// +#include <stdint.h> + +#define pa_get_library_version pa_get_library_version_dylibloader_orig_pulse +#define pa_bytes_per_second pa_bytes_per_second_dylibloader_orig_pulse +#define pa_frame_size pa_frame_size_dylibloader_orig_pulse +#define pa_sample_size pa_sample_size_dylibloader_orig_pulse +#define pa_sample_size_of_format pa_sample_size_of_format_dylibloader_orig_pulse +#define pa_bytes_to_usec pa_bytes_to_usec_dylibloader_orig_pulse +#define pa_usec_to_bytes pa_usec_to_bytes_dylibloader_orig_pulse +#define pa_sample_spec_init pa_sample_spec_init_dylibloader_orig_pulse +#define pa_sample_format_valid pa_sample_format_valid_dylibloader_orig_pulse +#define pa_sample_rate_valid pa_sample_rate_valid_dylibloader_orig_pulse +#define pa_channels_valid pa_channels_valid_dylibloader_orig_pulse +#define pa_sample_spec_valid pa_sample_spec_valid_dylibloader_orig_pulse +#define pa_sample_spec_equal pa_sample_spec_equal_dylibloader_orig_pulse +#define pa_sample_format_to_string pa_sample_format_to_string_dylibloader_orig_pulse +#define pa_parse_sample_format pa_parse_sample_format_dylibloader_orig_pulse +#define pa_sample_spec_snprint pa_sample_spec_snprint_dylibloader_orig_pulse +#define pa_bytes_snprint pa_bytes_snprint_dylibloader_orig_pulse +#define pa_sample_format_is_le pa_sample_format_is_le_dylibloader_orig_pulse +#define pa_sample_format_is_be pa_sample_format_is_be_dylibloader_orig_pulse +#define pa_direction_valid pa_direction_valid_dylibloader_orig_pulse +#define pa_direction_to_string pa_direction_to_string_dylibloader_orig_pulse +#define pa_mainloop_api_once pa_mainloop_api_once_dylibloader_orig_pulse +#define pa_proplist_new pa_proplist_new_dylibloader_orig_pulse +#define pa_proplist_free pa_proplist_free_dylibloader_orig_pulse +#define pa_proplist_key_valid pa_proplist_key_valid_dylibloader_orig_pulse +#define pa_proplist_sets pa_proplist_sets_dylibloader_orig_pulse +#define pa_proplist_setp pa_proplist_setp_dylibloader_orig_pulse +#define pa_proplist_setf pa_proplist_setf_dylibloader_orig_pulse +#define pa_proplist_set pa_proplist_set_dylibloader_orig_pulse +#define pa_proplist_gets pa_proplist_gets_dylibloader_orig_pulse +#define pa_proplist_get pa_proplist_get_dylibloader_orig_pulse +#define pa_proplist_update pa_proplist_update_dylibloader_orig_pulse +#define pa_proplist_unset pa_proplist_unset_dylibloader_orig_pulse +#define pa_proplist_unset_many pa_proplist_unset_many_dylibloader_orig_pulse +#define pa_proplist_iterate pa_proplist_iterate_dylibloader_orig_pulse +#define pa_proplist_to_string pa_proplist_to_string_dylibloader_orig_pulse +#define pa_proplist_to_string_sep pa_proplist_to_string_sep_dylibloader_orig_pulse +#define pa_proplist_from_string pa_proplist_from_string_dylibloader_orig_pulse +#define pa_proplist_contains pa_proplist_contains_dylibloader_orig_pulse +#define pa_proplist_clear pa_proplist_clear_dylibloader_orig_pulse +#define pa_proplist_copy pa_proplist_copy_dylibloader_orig_pulse +#define pa_proplist_size pa_proplist_size_dylibloader_orig_pulse +#define pa_proplist_isempty pa_proplist_isempty_dylibloader_orig_pulse +#define pa_proplist_equal pa_proplist_equal_dylibloader_orig_pulse +#define pa_channel_map_init pa_channel_map_init_dylibloader_orig_pulse +#define pa_channel_map_init_mono pa_channel_map_init_mono_dylibloader_orig_pulse +#define pa_channel_map_init_stereo pa_channel_map_init_stereo_dylibloader_orig_pulse +#define pa_channel_map_init_auto pa_channel_map_init_auto_dylibloader_orig_pulse +#define pa_channel_map_init_extend pa_channel_map_init_extend_dylibloader_orig_pulse +#define pa_channel_position_to_string pa_channel_position_to_string_dylibloader_orig_pulse +#define pa_channel_position_from_string pa_channel_position_from_string_dylibloader_orig_pulse +#define pa_channel_position_to_pretty_string pa_channel_position_to_pretty_string_dylibloader_orig_pulse +#define pa_channel_map_snprint pa_channel_map_snprint_dylibloader_orig_pulse +#define pa_channel_map_parse pa_channel_map_parse_dylibloader_orig_pulse +#define pa_channel_map_equal pa_channel_map_equal_dylibloader_orig_pulse +#define pa_channel_map_valid pa_channel_map_valid_dylibloader_orig_pulse +#define pa_channel_map_compatible pa_channel_map_compatible_dylibloader_orig_pulse +#define pa_channel_map_superset pa_channel_map_superset_dylibloader_orig_pulse +#define pa_channel_map_can_balance pa_channel_map_can_balance_dylibloader_orig_pulse +#define pa_channel_map_can_fade pa_channel_map_can_fade_dylibloader_orig_pulse +#define pa_channel_map_can_lfe_balance pa_channel_map_can_lfe_balance_dylibloader_orig_pulse +#define pa_channel_map_to_name pa_channel_map_to_name_dylibloader_orig_pulse +#define pa_channel_map_to_pretty_name pa_channel_map_to_pretty_name_dylibloader_orig_pulse +#define pa_channel_map_has_position pa_channel_map_has_position_dylibloader_orig_pulse +#define pa_channel_map_mask pa_channel_map_mask_dylibloader_orig_pulse +#define pa_encoding_to_string pa_encoding_to_string_dylibloader_orig_pulse +#define pa_encoding_from_string pa_encoding_from_string_dylibloader_orig_pulse +#define pa_format_info_new pa_format_info_new_dylibloader_orig_pulse +#define pa_format_info_copy pa_format_info_copy_dylibloader_orig_pulse +#define pa_format_info_free pa_format_info_free_dylibloader_orig_pulse +#define pa_format_info_valid pa_format_info_valid_dylibloader_orig_pulse +#define pa_format_info_is_pcm pa_format_info_is_pcm_dylibloader_orig_pulse +#define pa_format_info_is_compatible pa_format_info_is_compatible_dylibloader_orig_pulse +#define pa_format_info_snprint pa_format_info_snprint_dylibloader_orig_pulse +#define pa_format_info_from_string pa_format_info_from_string_dylibloader_orig_pulse +#define pa_format_info_from_sample_spec pa_format_info_from_sample_spec_dylibloader_orig_pulse +#define pa_format_info_to_sample_spec pa_format_info_to_sample_spec_dylibloader_orig_pulse +#define pa_format_info_get_prop_type pa_format_info_get_prop_type_dylibloader_orig_pulse +#define pa_format_info_get_prop_int pa_format_info_get_prop_int_dylibloader_orig_pulse +#define pa_format_info_get_prop_int_range pa_format_info_get_prop_int_range_dylibloader_orig_pulse +#define pa_format_info_get_prop_int_array pa_format_info_get_prop_int_array_dylibloader_orig_pulse +#define pa_format_info_get_prop_string pa_format_info_get_prop_string_dylibloader_orig_pulse +#define pa_format_info_get_prop_string_array pa_format_info_get_prop_string_array_dylibloader_orig_pulse +#define pa_format_info_free_string_array pa_format_info_free_string_array_dylibloader_orig_pulse +#define pa_format_info_get_sample_format pa_format_info_get_sample_format_dylibloader_orig_pulse +#define pa_format_info_get_rate pa_format_info_get_rate_dylibloader_orig_pulse +#define pa_format_info_get_channels pa_format_info_get_channels_dylibloader_orig_pulse +#define pa_format_info_get_channel_map pa_format_info_get_channel_map_dylibloader_orig_pulse +#define pa_format_info_set_prop_int pa_format_info_set_prop_int_dylibloader_orig_pulse +#define pa_format_info_set_prop_int_array pa_format_info_set_prop_int_array_dylibloader_orig_pulse +#define pa_format_info_set_prop_int_range pa_format_info_set_prop_int_range_dylibloader_orig_pulse +#define pa_format_info_set_prop_string pa_format_info_set_prop_string_dylibloader_orig_pulse +#define pa_format_info_set_prop_string_array pa_format_info_set_prop_string_array_dylibloader_orig_pulse +#define pa_format_info_set_sample_format pa_format_info_set_sample_format_dylibloader_orig_pulse +#define pa_format_info_set_rate pa_format_info_set_rate_dylibloader_orig_pulse +#define pa_format_info_set_channels pa_format_info_set_channels_dylibloader_orig_pulse +#define pa_format_info_set_channel_map pa_format_info_set_channel_map_dylibloader_orig_pulse +#define pa_operation_ref pa_operation_ref_dylibloader_orig_pulse +#define pa_operation_unref pa_operation_unref_dylibloader_orig_pulse +#define pa_operation_cancel pa_operation_cancel_dylibloader_orig_pulse +#define pa_operation_get_state pa_operation_get_state_dylibloader_orig_pulse +#define pa_operation_set_state_callback pa_operation_set_state_callback_dylibloader_orig_pulse +#define pa_context_new pa_context_new_dylibloader_orig_pulse +#define pa_context_new_with_proplist pa_context_new_with_proplist_dylibloader_orig_pulse +#define pa_context_unref pa_context_unref_dylibloader_orig_pulse +#define pa_context_ref pa_context_ref_dylibloader_orig_pulse +#define pa_context_set_state_callback pa_context_set_state_callback_dylibloader_orig_pulse +#define pa_context_set_event_callback pa_context_set_event_callback_dylibloader_orig_pulse +#define pa_context_errno pa_context_errno_dylibloader_orig_pulse +#define pa_context_is_pending pa_context_is_pending_dylibloader_orig_pulse +#define pa_context_get_state pa_context_get_state_dylibloader_orig_pulse +#define pa_context_connect pa_context_connect_dylibloader_orig_pulse +#define pa_context_disconnect pa_context_disconnect_dylibloader_orig_pulse +#define pa_context_drain pa_context_drain_dylibloader_orig_pulse +#define pa_context_exit_daemon pa_context_exit_daemon_dylibloader_orig_pulse +#define pa_context_set_default_sink pa_context_set_default_sink_dylibloader_orig_pulse +#define pa_context_set_default_source pa_context_set_default_source_dylibloader_orig_pulse +#define pa_context_is_local pa_context_is_local_dylibloader_orig_pulse +#define pa_context_set_name pa_context_set_name_dylibloader_orig_pulse +#define pa_context_get_server pa_context_get_server_dylibloader_orig_pulse +#define pa_context_get_protocol_version pa_context_get_protocol_version_dylibloader_orig_pulse +#define pa_context_get_server_protocol_version pa_context_get_server_protocol_version_dylibloader_orig_pulse +#define pa_context_proplist_update pa_context_proplist_update_dylibloader_orig_pulse +#define pa_context_proplist_remove pa_context_proplist_remove_dylibloader_orig_pulse +#define pa_context_get_index pa_context_get_index_dylibloader_orig_pulse +#define pa_context_rttime_new pa_context_rttime_new_dylibloader_orig_pulse +#define pa_context_rttime_restart pa_context_rttime_restart_dylibloader_orig_pulse +#define pa_context_get_tile_size pa_context_get_tile_size_dylibloader_orig_pulse +#define pa_context_load_cookie_from_file pa_context_load_cookie_from_file_dylibloader_orig_pulse +#define pa_cvolume_equal pa_cvolume_equal_dylibloader_orig_pulse +#define pa_cvolume_init pa_cvolume_init_dylibloader_orig_pulse +#define pa_cvolume_set pa_cvolume_set_dylibloader_orig_pulse +#define pa_cvolume_snprint pa_cvolume_snprint_dylibloader_orig_pulse +#define pa_sw_cvolume_snprint_dB pa_sw_cvolume_snprint_dB_dylibloader_orig_pulse +#define pa_cvolume_snprint_verbose pa_cvolume_snprint_verbose_dylibloader_orig_pulse +#define pa_volume_snprint pa_volume_snprint_dylibloader_orig_pulse +#define pa_sw_volume_snprint_dB pa_sw_volume_snprint_dB_dylibloader_orig_pulse +#define pa_volume_snprint_verbose pa_volume_snprint_verbose_dylibloader_orig_pulse +#define pa_cvolume_avg pa_cvolume_avg_dylibloader_orig_pulse +#define pa_cvolume_avg_mask pa_cvolume_avg_mask_dylibloader_orig_pulse +#define pa_cvolume_max pa_cvolume_max_dylibloader_orig_pulse +#define pa_cvolume_max_mask pa_cvolume_max_mask_dylibloader_orig_pulse +#define pa_cvolume_min pa_cvolume_min_dylibloader_orig_pulse +#define pa_cvolume_min_mask pa_cvolume_min_mask_dylibloader_orig_pulse +#define pa_cvolume_valid pa_cvolume_valid_dylibloader_orig_pulse +#define pa_cvolume_channels_equal_to pa_cvolume_channels_equal_to_dylibloader_orig_pulse +#define pa_sw_volume_multiply pa_sw_volume_multiply_dylibloader_orig_pulse +#define pa_sw_cvolume_multiply pa_sw_cvolume_multiply_dylibloader_orig_pulse +#define pa_sw_cvolume_multiply_scalar pa_sw_cvolume_multiply_scalar_dylibloader_orig_pulse +#define pa_sw_volume_divide pa_sw_volume_divide_dylibloader_orig_pulse +#define pa_sw_cvolume_divide pa_sw_cvolume_divide_dylibloader_orig_pulse +#define pa_sw_cvolume_divide_scalar pa_sw_cvolume_divide_scalar_dylibloader_orig_pulse +#define pa_sw_volume_from_dB pa_sw_volume_from_dB_dylibloader_orig_pulse +#define pa_sw_volume_to_dB pa_sw_volume_to_dB_dylibloader_orig_pulse +#define pa_sw_volume_from_linear pa_sw_volume_from_linear_dylibloader_orig_pulse +#define pa_sw_volume_to_linear pa_sw_volume_to_linear_dylibloader_orig_pulse +#define pa_cvolume_remap pa_cvolume_remap_dylibloader_orig_pulse +#define pa_cvolume_compatible pa_cvolume_compatible_dylibloader_orig_pulse +#define pa_cvolume_compatible_with_channel_map pa_cvolume_compatible_with_channel_map_dylibloader_orig_pulse +#define pa_cvolume_get_balance pa_cvolume_get_balance_dylibloader_orig_pulse +#define pa_cvolume_set_balance pa_cvolume_set_balance_dylibloader_orig_pulse +#define pa_cvolume_get_fade pa_cvolume_get_fade_dylibloader_orig_pulse +#define pa_cvolume_set_fade pa_cvolume_set_fade_dylibloader_orig_pulse +#define pa_cvolume_get_lfe_balance pa_cvolume_get_lfe_balance_dylibloader_orig_pulse +#define pa_cvolume_set_lfe_balance pa_cvolume_set_lfe_balance_dylibloader_orig_pulse +#define pa_cvolume_scale pa_cvolume_scale_dylibloader_orig_pulse +#define pa_cvolume_scale_mask pa_cvolume_scale_mask_dylibloader_orig_pulse +#define pa_cvolume_set_position pa_cvolume_set_position_dylibloader_orig_pulse +#define pa_cvolume_get_position pa_cvolume_get_position_dylibloader_orig_pulse +#define pa_cvolume_merge pa_cvolume_merge_dylibloader_orig_pulse +#define pa_cvolume_inc_clamp pa_cvolume_inc_clamp_dylibloader_orig_pulse +#define pa_cvolume_inc pa_cvolume_inc_dylibloader_orig_pulse +#define pa_cvolume_dec pa_cvolume_dec_dylibloader_orig_pulse +#define pa_stream_new pa_stream_new_dylibloader_orig_pulse +#define pa_stream_new_with_proplist pa_stream_new_with_proplist_dylibloader_orig_pulse +#define pa_stream_new_extended pa_stream_new_extended_dylibloader_orig_pulse +#define pa_stream_unref pa_stream_unref_dylibloader_orig_pulse +#define pa_stream_ref pa_stream_ref_dylibloader_orig_pulse +#define pa_stream_get_state pa_stream_get_state_dylibloader_orig_pulse +#define pa_stream_get_context pa_stream_get_context_dylibloader_orig_pulse +#define pa_stream_get_index pa_stream_get_index_dylibloader_orig_pulse +#define pa_stream_get_device_index pa_stream_get_device_index_dylibloader_orig_pulse +#define pa_stream_get_device_name pa_stream_get_device_name_dylibloader_orig_pulse +#define pa_stream_is_suspended pa_stream_is_suspended_dylibloader_orig_pulse +#define pa_stream_is_corked pa_stream_is_corked_dylibloader_orig_pulse +#define pa_stream_connect_playback pa_stream_connect_playback_dylibloader_orig_pulse +#define pa_stream_connect_record pa_stream_connect_record_dylibloader_orig_pulse +#define pa_stream_disconnect pa_stream_disconnect_dylibloader_orig_pulse +#define pa_stream_begin_write pa_stream_begin_write_dylibloader_orig_pulse +#define pa_stream_cancel_write pa_stream_cancel_write_dylibloader_orig_pulse +#define pa_stream_write pa_stream_write_dylibloader_orig_pulse +#define pa_stream_write_ext_free pa_stream_write_ext_free_dylibloader_orig_pulse +#define pa_stream_peek pa_stream_peek_dylibloader_orig_pulse +#define pa_stream_drop pa_stream_drop_dylibloader_orig_pulse +#define pa_stream_writable_size pa_stream_writable_size_dylibloader_orig_pulse +#define pa_stream_readable_size pa_stream_readable_size_dylibloader_orig_pulse +#define pa_stream_drain pa_stream_drain_dylibloader_orig_pulse +#define pa_stream_update_timing_info pa_stream_update_timing_info_dylibloader_orig_pulse +#define pa_stream_set_state_callback pa_stream_set_state_callback_dylibloader_orig_pulse +#define pa_stream_set_write_callback pa_stream_set_write_callback_dylibloader_orig_pulse +#define pa_stream_set_read_callback pa_stream_set_read_callback_dylibloader_orig_pulse +#define pa_stream_set_overflow_callback pa_stream_set_overflow_callback_dylibloader_orig_pulse +#define pa_stream_get_underflow_index pa_stream_get_underflow_index_dylibloader_orig_pulse +#define pa_stream_set_underflow_callback pa_stream_set_underflow_callback_dylibloader_orig_pulse +#define pa_stream_set_started_callback pa_stream_set_started_callback_dylibloader_orig_pulse +#define pa_stream_set_latency_update_callback pa_stream_set_latency_update_callback_dylibloader_orig_pulse +#define pa_stream_set_moved_callback pa_stream_set_moved_callback_dylibloader_orig_pulse +#define pa_stream_set_suspended_callback pa_stream_set_suspended_callback_dylibloader_orig_pulse +#define pa_stream_set_event_callback pa_stream_set_event_callback_dylibloader_orig_pulse +#define pa_stream_set_buffer_attr_callback pa_stream_set_buffer_attr_callback_dylibloader_orig_pulse +#define pa_stream_cork pa_stream_cork_dylibloader_orig_pulse +#define pa_stream_flush pa_stream_flush_dylibloader_orig_pulse +#define pa_stream_prebuf pa_stream_prebuf_dylibloader_orig_pulse +#define pa_stream_trigger pa_stream_trigger_dylibloader_orig_pulse +#define pa_stream_set_name pa_stream_set_name_dylibloader_orig_pulse +#define pa_stream_get_time pa_stream_get_time_dylibloader_orig_pulse +#define pa_stream_get_latency pa_stream_get_latency_dylibloader_orig_pulse +#define pa_stream_get_timing_info pa_stream_get_timing_info_dylibloader_orig_pulse +#define pa_stream_get_sample_spec pa_stream_get_sample_spec_dylibloader_orig_pulse +#define pa_stream_get_channel_map pa_stream_get_channel_map_dylibloader_orig_pulse +#define pa_stream_get_format_info pa_stream_get_format_info_dylibloader_orig_pulse +#define pa_stream_get_buffer_attr pa_stream_get_buffer_attr_dylibloader_orig_pulse +#define pa_stream_set_buffer_attr pa_stream_set_buffer_attr_dylibloader_orig_pulse +#define pa_stream_update_sample_rate pa_stream_update_sample_rate_dylibloader_orig_pulse +#define pa_stream_proplist_update pa_stream_proplist_update_dylibloader_orig_pulse +#define pa_stream_proplist_remove pa_stream_proplist_remove_dylibloader_orig_pulse +#define pa_stream_set_monitor_stream pa_stream_set_monitor_stream_dylibloader_orig_pulse +#define pa_stream_get_monitor_stream pa_stream_get_monitor_stream_dylibloader_orig_pulse +#define pa_context_get_sink_info_by_name pa_context_get_sink_info_by_name_dylibloader_orig_pulse +#define pa_context_get_sink_info_by_index pa_context_get_sink_info_by_index_dylibloader_orig_pulse +#define pa_context_get_sink_info_list pa_context_get_sink_info_list_dylibloader_orig_pulse +#define pa_context_set_sink_volume_by_index pa_context_set_sink_volume_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_volume_by_name pa_context_set_sink_volume_by_name_dylibloader_orig_pulse +#define pa_context_set_sink_mute_by_index pa_context_set_sink_mute_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_mute_by_name pa_context_set_sink_mute_by_name_dylibloader_orig_pulse +#define pa_context_suspend_sink_by_name pa_context_suspend_sink_by_name_dylibloader_orig_pulse +#define pa_context_suspend_sink_by_index pa_context_suspend_sink_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_port_by_index pa_context_set_sink_port_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_port_by_name pa_context_set_sink_port_by_name_dylibloader_orig_pulse +#define pa_context_get_source_info_by_name pa_context_get_source_info_by_name_dylibloader_orig_pulse +#define pa_context_get_source_info_by_index pa_context_get_source_info_by_index_dylibloader_orig_pulse +#define pa_context_get_source_info_list pa_context_get_source_info_list_dylibloader_orig_pulse +#define pa_context_set_source_volume_by_index pa_context_set_source_volume_by_index_dylibloader_orig_pulse +#define pa_context_set_source_volume_by_name pa_context_set_source_volume_by_name_dylibloader_orig_pulse +#define pa_context_set_source_mute_by_index pa_context_set_source_mute_by_index_dylibloader_orig_pulse +#define pa_context_set_source_mute_by_name pa_context_set_source_mute_by_name_dylibloader_orig_pulse +#define pa_context_suspend_source_by_name pa_context_suspend_source_by_name_dylibloader_orig_pulse +#define pa_context_suspend_source_by_index pa_context_suspend_source_by_index_dylibloader_orig_pulse +#define pa_context_set_source_port_by_index pa_context_set_source_port_by_index_dylibloader_orig_pulse +#define pa_context_set_source_port_by_name pa_context_set_source_port_by_name_dylibloader_orig_pulse +#define pa_context_get_server_info pa_context_get_server_info_dylibloader_orig_pulse +#define pa_context_get_module_info pa_context_get_module_info_dylibloader_orig_pulse +#define pa_context_get_module_info_list pa_context_get_module_info_list_dylibloader_orig_pulse +#define pa_context_load_module pa_context_load_module_dylibloader_orig_pulse +#define pa_context_unload_module pa_context_unload_module_dylibloader_orig_pulse +#define pa_context_get_client_info pa_context_get_client_info_dylibloader_orig_pulse +#define pa_context_get_client_info_list pa_context_get_client_info_list_dylibloader_orig_pulse +#define pa_context_kill_client pa_context_kill_client_dylibloader_orig_pulse +#define pa_context_get_card_info_by_index pa_context_get_card_info_by_index_dylibloader_orig_pulse +#define pa_context_get_card_info_by_name pa_context_get_card_info_by_name_dylibloader_orig_pulse +#define pa_context_get_card_info_list pa_context_get_card_info_list_dylibloader_orig_pulse +#define pa_context_set_card_profile_by_index pa_context_set_card_profile_by_index_dylibloader_orig_pulse +#define pa_context_set_card_profile_by_name pa_context_set_card_profile_by_name_dylibloader_orig_pulse +#define pa_context_set_port_latency_offset pa_context_set_port_latency_offset_dylibloader_orig_pulse +#define pa_context_get_sink_input_info pa_context_get_sink_input_info_dylibloader_orig_pulse +#define pa_context_get_sink_input_info_list pa_context_get_sink_input_info_list_dylibloader_orig_pulse +#define pa_context_move_sink_input_by_name pa_context_move_sink_input_by_name_dylibloader_orig_pulse +#define pa_context_move_sink_input_by_index pa_context_move_sink_input_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_input_volume pa_context_set_sink_input_volume_dylibloader_orig_pulse +#define pa_context_set_sink_input_mute pa_context_set_sink_input_mute_dylibloader_orig_pulse +#define pa_context_kill_sink_input pa_context_kill_sink_input_dylibloader_orig_pulse +#define pa_context_get_source_output_info pa_context_get_source_output_info_dylibloader_orig_pulse +#define pa_context_get_source_output_info_list pa_context_get_source_output_info_list_dylibloader_orig_pulse +#define pa_context_move_source_output_by_name pa_context_move_source_output_by_name_dylibloader_orig_pulse +#define pa_context_move_source_output_by_index pa_context_move_source_output_by_index_dylibloader_orig_pulse +#define pa_context_set_source_output_volume pa_context_set_source_output_volume_dylibloader_orig_pulse +#define pa_context_set_source_output_mute pa_context_set_source_output_mute_dylibloader_orig_pulse +#define pa_context_kill_source_output pa_context_kill_source_output_dylibloader_orig_pulse +#define pa_context_stat pa_context_stat_dylibloader_orig_pulse +#define pa_context_get_sample_info_by_name pa_context_get_sample_info_by_name_dylibloader_orig_pulse +#define pa_context_get_sample_info_by_index pa_context_get_sample_info_by_index_dylibloader_orig_pulse +#define pa_context_get_sample_info_list pa_context_get_sample_info_list_dylibloader_orig_pulse +#define pa_context_get_autoload_info_by_name pa_context_get_autoload_info_by_name_dylibloader_orig_pulse +#define pa_context_get_autoload_info_by_index pa_context_get_autoload_info_by_index_dylibloader_orig_pulse +#define pa_context_get_autoload_info_list pa_context_get_autoload_info_list_dylibloader_orig_pulse +#define pa_context_add_autoload pa_context_add_autoload_dylibloader_orig_pulse +#define pa_context_remove_autoload_by_name pa_context_remove_autoload_by_name_dylibloader_orig_pulse +#define pa_context_remove_autoload_by_index pa_context_remove_autoload_by_index_dylibloader_orig_pulse +#define pa_context_subscribe pa_context_subscribe_dylibloader_orig_pulse +#define pa_context_set_subscribe_callback pa_context_set_subscribe_callback_dylibloader_orig_pulse +#define pa_stream_connect_upload pa_stream_connect_upload_dylibloader_orig_pulse +#define pa_stream_finish_upload pa_stream_finish_upload_dylibloader_orig_pulse +#define pa_context_remove_sample pa_context_remove_sample_dylibloader_orig_pulse +#define pa_context_play_sample pa_context_play_sample_dylibloader_orig_pulse +#define pa_context_play_sample_with_proplist pa_context_play_sample_with_proplist_dylibloader_orig_pulse +#define pa_strerror pa_strerror_dylibloader_orig_pulse +#define pa_xmalloc pa_xmalloc_dylibloader_orig_pulse +#define pa_xmalloc0 pa_xmalloc0_dylibloader_orig_pulse +#define pa_xrealloc pa_xrealloc_dylibloader_orig_pulse +#define pa_xfree pa_xfree_dylibloader_orig_pulse +#define pa_xstrdup pa_xstrdup_dylibloader_orig_pulse +#define pa_xstrndup pa_xstrndup_dylibloader_orig_pulse +#define pa_xmemdup pa_xmemdup_dylibloader_orig_pulse +#define pa_utf8_valid pa_utf8_valid_dylibloader_orig_pulse +#define pa_ascii_valid pa_ascii_valid_dylibloader_orig_pulse +#define pa_utf8_filter pa_utf8_filter_dylibloader_orig_pulse +#define pa_ascii_filter pa_ascii_filter_dylibloader_orig_pulse +#define pa_utf8_to_locale pa_utf8_to_locale_dylibloader_orig_pulse +#define pa_locale_to_utf8 pa_locale_to_utf8_dylibloader_orig_pulse +#define pa_threaded_mainloop_new pa_threaded_mainloop_new_dylibloader_orig_pulse +#define pa_threaded_mainloop_free pa_threaded_mainloop_free_dylibloader_orig_pulse +#define pa_threaded_mainloop_start pa_threaded_mainloop_start_dylibloader_orig_pulse +#define pa_threaded_mainloop_stop pa_threaded_mainloop_stop_dylibloader_orig_pulse +#define pa_threaded_mainloop_lock pa_threaded_mainloop_lock_dylibloader_orig_pulse +#define pa_threaded_mainloop_unlock pa_threaded_mainloop_unlock_dylibloader_orig_pulse +#define pa_threaded_mainloop_wait pa_threaded_mainloop_wait_dylibloader_orig_pulse +#define pa_threaded_mainloop_signal pa_threaded_mainloop_signal_dylibloader_orig_pulse +#define pa_threaded_mainloop_accept pa_threaded_mainloop_accept_dylibloader_orig_pulse +#define pa_threaded_mainloop_get_retval pa_threaded_mainloop_get_retval_dylibloader_orig_pulse +#define pa_threaded_mainloop_get_api pa_threaded_mainloop_get_api_dylibloader_orig_pulse +#define pa_threaded_mainloop_in_thread pa_threaded_mainloop_in_thread_dylibloader_orig_pulse +#define pa_threaded_mainloop_set_name pa_threaded_mainloop_set_name_dylibloader_orig_pulse +#define pa_threaded_mainloop_once_unlocked pa_threaded_mainloop_once_unlocked_dylibloader_orig_pulse +#define pa_mainloop_new pa_mainloop_new_dylibloader_orig_pulse +#define pa_mainloop_free pa_mainloop_free_dylibloader_orig_pulse +#define pa_mainloop_prepare pa_mainloop_prepare_dylibloader_orig_pulse +#define pa_mainloop_poll pa_mainloop_poll_dylibloader_orig_pulse +#define pa_mainloop_dispatch pa_mainloop_dispatch_dylibloader_orig_pulse +#define pa_mainloop_get_retval pa_mainloop_get_retval_dylibloader_orig_pulse +#define pa_mainloop_iterate pa_mainloop_iterate_dylibloader_orig_pulse +#define pa_mainloop_run pa_mainloop_run_dylibloader_orig_pulse +#define pa_mainloop_get_api pa_mainloop_get_api_dylibloader_orig_pulse +#define pa_mainloop_quit pa_mainloop_quit_dylibloader_orig_pulse +#define pa_mainloop_wakeup pa_mainloop_wakeup_dylibloader_orig_pulse +#define pa_mainloop_set_poll_func pa_mainloop_set_poll_func_dylibloader_orig_pulse +#define pa_signal_init pa_signal_init_dylibloader_orig_pulse +#define pa_signal_done pa_signal_done_dylibloader_orig_pulse +#define pa_signal_new pa_signal_new_dylibloader_orig_pulse +#define pa_signal_free pa_signal_free_dylibloader_orig_pulse +#define pa_signal_set_destroy pa_signal_set_destroy_dylibloader_orig_pulse +#define pa_get_user_name pa_get_user_name_dylibloader_orig_pulse +#define pa_get_host_name pa_get_host_name_dylibloader_orig_pulse +#define pa_get_fqdn pa_get_fqdn_dylibloader_orig_pulse +#define pa_get_home_dir pa_get_home_dir_dylibloader_orig_pulse +#define pa_get_binary_name pa_get_binary_name_dylibloader_orig_pulse +#define pa_path_get_filename pa_path_get_filename_dylibloader_orig_pulse +#define pa_msleep pa_msleep_dylibloader_orig_pulse +#define pa_thread_make_realtime pa_thread_make_realtime_dylibloader_orig_pulse +#define pa_gettimeofday pa_gettimeofday_dylibloader_orig_pulse +#define pa_timeval_diff pa_timeval_diff_dylibloader_orig_pulse +#define pa_timeval_cmp pa_timeval_cmp_dylibloader_orig_pulse +#define pa_timeval_age pa_timeval_age_dylibloader_orig_pulse +#define pa_timeval_add pa_timeval_add_dylibloader_orig_pulse +#define pa_timeval_sub pa_timeval_sub_dylibloader_orig_pulse +#define pa_timeval_store pa_timeval_store_dylibloader_orig_pulse +#define pa_timeval_load pa_timeval_load_dylibloader_orig_pulse +#define pa_rtclock_now pa_rtclock_now_dylibloader_orig_pulse +#include <pulse/pulseaudio.h> +#undef pa_get_library_version +#undef pa_bytes_per_second +#undef pa_frame_size +#undef pa_sample_size +#undef pa_sample_size_of_format +#undef pa_bytes_to_usec +#undef pa_usec_to_bytes +#undef pa_sample_spec_init +#undef pa_sample_format_valid +#undef pa_sample_rate_valid +#undef pa_channels_valid +#undef pa_sample_spec_valid +#undef pa_sample_spec_equal +#undef pa_sample_format_to_string +#undef pa_parse_sample_format +#undef pa_sample_spec_snprint +#undef pa_bytes_snprint +#undef pa_sample_format_is_le +#undef pa_sample_format_is_be +#undef pa_direction_valid +#undef pa_direction_to_string +#undef pa_mainloop_api_once +#undef pa_proplist_new +#undef pa_proplist_free +#undef pa_proplist_key_valid +#undef pa_proplist_sets +#undef pa_proplist_setp +#undef pa_proplist_setf +#undef pa_proplist_set +#undef pa_proplist_gets +#undef pa_proplist_get +#undef pa_proplist_update +#undef pa_proplist_unset +#undef pa_proplist_unset_many +#undef pa_proplist_iterate +#undef pa_proplist_to_string +#undef pa_proplist_to_string_sep +#undef pa_proplist_from_string +#undef pa_proplist_contains +#undef pa_proplist_clear +#undef pa_proplist_copy +#undef pa_proplist_size +#undef pa_proplist_isempty +#undef pa_proplist_equal +#undef pa_channel_map_init +#undef pa_channel_map_init_mono +#undef pa_channel_map_init_stereo +#undef pa_channel_map_init_auto +#undef pa_channel_map_init_extend +#undef pa_channel_position_to_string +#undef pa_channel_position_from_string +#undef pa_channel_position_to_pretty_string +#undef pa_channel_map_snprint +#undef pa_channel_map_parse +#undef pa_channel_map_equal +#undef pa_channel_map_valid +#undef pa_channel_map_compatible +#undef pa_channel_map_superset +#undef pa_channel_map_can_balance +#undef pa_channel_map_can_fade +#undef pa_channel_map_can_lfe_balance +#undef pa_channel_map_to_name +#undef pa_channel_map_to_pretty_name +#undef pa_channel_map_has_position +#undef pa_channel_map_mask +#undef pa_encoding_to_string +#undef pa_encoding_from_string +#undef pa_format_info_new +#undef pa_format_info_copy +#undef pa_format_info_free +#undef pa_format_info_valid +#undef pa_format_info_is_pcm +#undef pa_format_info_is_compatible +#undef pa_format_info_snprint +#undef pa_format_info_from_string +#undef pa_format_info_from_sample_spec +#undef pa_format_info_to_sample_spec +#undef pa_format_info_get_prop_type +#undef pa_format_info_get_prop_int +#undef pa_format_info_get_prop_int_range +#undef pa_format_info_get_prop_int_array +#undef pa_format_info_get_prop_string +#undef pa_format_info_get_prop_string_array +#undef pa_format_info_free_string_array +#undef pa_format_info_get_sample_format +#undef pa_format_info_get_rate +#undef pa_format_info_get_channels +#undef pa_format_info_get_channel_map +#undef pa_format_info_set_prop_int +#undef pa_format_info_set_prop_int_array +#undef pa_format_info_set_prop_int_range +#undef pa_format_info_set_prop_string +#undef pa_format_info_set_prop_string_array +#undef pa_format_info_set_sample_format +#undef pa_format_info_set_rate +#undef pa_format_info_set_channels +#undef pa_format_info_set_channel_map +#undef pa_operation_ref +#undef pa_operation_unref +#undef pa_operation_cancel +#undef pa_operation_get_state +#undef pa_operation_set_state_callback +#undef pa_context_new +#undef pa_context_new_with_proplist +#undef pa_context_unref +#undef pa_context_ref +#undef pa_context_set_state_callback +#undef pa_context_set_event_callback +#undef pa_context_errno +#undef pa_context_is_pending +#undef pa_context_get_state +#undef pa_context_connect +#undef pa_context_disconnect +#undef pa_context_drain +#undef pa_context_exit_daemon +#undef pa_context_set_default_sink +#undef pa_context_set_default_source +#undef pa_context_is_local +#undef pa_context_set_name +#undef pa_context_get_server +#undef pa_context_get_protocol_version +#undef pa_context_get_server_protocol_version +#undef pa_context_proplist_update +#undef pa_context_proplist_remove +#undef pa_context_get_index +#undef pa_context_rttime_new +#undef pa_context_rttime_restart +#undef pa_context_get_tile_size +#undef pa_context_load_cookie_from_file +#undef pa_cvolume_equal +#undef pa_cvolume_init +#undef pa_cvolume_set +#undef pa_cvolume_snprint +#undef pa_sw_cvolume_snprint_dB +#undef pa_cvolume_snprint_verbose +#undef pa_volume_snprint +#undef pa_sw_volume_snprint_dB +#undef pa_volume_snprint_verbose +#undef pa_cvolume_avg +#undef pa_cvolume_avg_mask +#undef pa_cvolume_max +#undef pa_cvolume_max_mask +#undef pa_cvolume_min +#undef pa_cvolume_min_mask +#undef pa_cvolume_valid +#undef pa_cvolume_channels_equal_to +#undef pa_sw_volume_multiply +#undef pa_sw_cvolume_multiply +#undef pa_sw_cvolume_multiply_scalar +#undef pa_sw_volume_divide +#undef pa_sw_cvolume_divide +#undef pa_sw_cvolume_divide_scalar +#undef pa_sw_volume_from_dB +#undef pa_sw_volume_to_dB +#undef pa_sw_volume_from_linear +#undef pa_sw_volume_to_linear +#undef pa_cvolume_remap +#undef pa_cvolume_compatible +#undef pa_cvolume_compatible_with_channel_map +#undef pa_cvolume_get_balance +#undef pa_cvolume_set_balance +#undef pa_cvolume_get_fade +#undef pa_cvolume_set_fade +#undef pa_cvolume_get_lfe_balance +#undef pa_cvolume_set_lfe_balance +#undef pa_cvolume_scale +#undef pa_cvolume_scale_mask +#undef pa_cvolume_set_position +#undef pa_cvolume_get_position +#undef pa_cvolume_merge +#undef pa_cvolume_inc_clamp +#undef pa_cvolume_inc +#undef pa_cvolume_dec +#undef pa_stream_new +#undef pa_stream_new_with_proplist +#undef pa_stream_new_extended +#undef pa_stream_unref +#undef pa_stream_ref +#undef pa_stream_get_state +#undef pa_stream_get_context +#undef pa_stream_get_index +#undef pa_stream_get_device_index +#undef pa_stream_get_device_name +#undef pa_stream_is_suspended +#undef pa_stream_is_corked +#undef pa_stream_connect_playback +#undef pa_stream_connect_record +#undef pa_stream_disconnect +#undef pa_stream_begin_write +#undef pa_stream_cancel_write +#undef pa_stream_write +#undef pa_stream_write_ext_free +#undef pa_stream_peek +#undef pa_stream_drop +#undef pa_stream_writable_size +#undef pa_stream_readable_size +#undef pa_stream_drain +#undef pa_stream_update_timing_info +#undef pa_stream_set_state_callback +#undef pa_stream_set_write_callback +#undef pa_stream_set_read_callback +#undef pa_stream_set_overflow_callback +#undef pa_stream_get_underflow_index +#undef pa_stream_set_underflow_callback +#undef pa_stream_set_started_callback +#undef pa_stream_set_latency_update_callback +#undef pa_stream_set_moved_callback +#undef pa_stream_set_suspended_callback +#undef pa_stream_set_event_callback +#undef pa_stream_set_buffer_attr_callback +#undef pa_stream_cork +#undef pa_stream_flush +#undef pa_stream_prebuf +#undef pa_stream_trigger +#undef pa_stream_set_name +#undef pa_stream_get_time +#undef pa_stream_get_latency +#undef pa_stream_get_timing_info +#undef pa_stream_get_sample_spec +#undef pa_stream_get_channel_map +#undef pa_stream_get_format_info +#undef pa_stream_get_buffer_attr +#undef pa_stream_set_buffer_attr +#undef pa_stream_update_sample_rate +#undef pa_stream_proplist_update +#undef pa_stream_proplist_remove +#undef pa_stream_set_monitor_stream +#undef pa_stream_get_monitor_stream +#undef pa_context_get_sink_info_by_name +#undef pa_context_get_sink_info_by_index +#undef pa_context_get_sink_info_list +#undef pa_context_set_sink_volume_by_index +#undef pa_context_set_sink_volume_by_name +#undef pa_context_set_sink_mute_by_index +#undef pa_context_set_sink_mute_by_name +#undef pa_context_suspend_sink_by_name +#undef pa_context_suspend_sink_by_index +#undef pa_context_set_sink_port_by_index +#undef pa_context_set_sink_port_by_name +#undef pa_context_get_source_info_by_name +#undef pa_context_get_source_info_by_index +#undef pa_context_get_source_info_list +#undef pa_context_set_source_volume_by_index +#undef pa_context_set_source_volume_by_name +#undef pa_context_set_source_mute_by_index +#undef pa_context_set_source_mute_by_name +#undef pa_context_suspend_source_by_name +#undef pa_context_suspend_source_by_index +#undef pa_context_set_source_port_by_index +#undef pa_context_set_source_port_by_name +#undef pa_context_get_server_info +#undef pa_context_get_module_info +#undef pa_context_get_module_info_list +#undef pa_context_load_module +#undef pa_context_unload_module +#undef pa_context_get_client_info +#undef pa_context_get_client_info_list +#undef pa_context_kill_client +#undef pa_context_get_card_info_by_index +#undef pa_context_get_card_info_by_name +#undef pa_context_get_card_info_list +#undef pa_context_set_card_profile_by_index +#undef pa_context_set_card_profile_by_name +#undef pa_context_set_port_latency_offset +#undef pa_context_get_sink_input_info +#undef pa_context_get_sink_input_info_list +#undef pa_context_move_sink_input_by_name +#undef pa_context_move_sink_input_by_index +#undef pa_context_set_sink_input_volume +#undef pa_context_set_sink_input_mute +#undef pa_context_kill_sink_input +#undef pa_context_get_source_output_info +#undef pa_context_get_source_output_info_list +#undef pa_context_move_source_output_by_name +#undef pa_context_move_source_output_by_index +#undef pa_context_set_source_output_volume +#undef pa_context_set_source_output_mute +#undef pa_context_kill_source_output +#undef pa_context_stat +#undef pa_context_get_sample_info_by_name +#undef pa_context_get_sample_info_by_index +#undef pa_context_get_sample_info_list +#undef pa_context_get_autoload_info_by_name +#undef pa_context_get_autoload_info_by_index +#undef pa_context_get_autoload_info_list +#undef pa_context_add_autoload +#undef pa_context_remove_autoload_by_name +#undef pa_context_remove_autoload_by_index +#undef pa_context_subscribe +#undef pa_context_set_subscribe_callback +#undef pa_stream_connect_upload +#undef pa_stream_finish_upload +#undef pa_context_remove_sample +#undef pa_context_play_sample +#undef pa_context_play_sample_with_proplist +#undef pa_strerror +#undef pa_xmalloc +#undef pa_xmalloc0 +#undef pa_xrealloc +#undef pa_xfree +#undef pa_xstrdup +#undef pa_xstrndup +#undef pa_xmemdup +#undef pa_utf8_valid +#undef pa_ascii_valid +#undef pa_utf8_filter +#undef pa_ascii_filter +#undef pa_utf8_to_locale +#undef pa_locale_to_utf8 +#undef pa_threaded_mainloop_new +#undef pa_threaded_mainloop_free +#undef pa_threaded_mainloop_start +#undef pa_threaded_mainloop_stop +#undef pa_threaded_mainloop_lock +#undef pa_threaded_mainloop_unlock +#undef pa_threaded_mainloop_wait +#undef pa_threaded_mainloop_signal +#undef pa_threaded_mainloop_accept +#undef pa_threaded_mainloop_get_retval +#undef pa_threaded_mainloop_get_api +#undef pa_threaded_mainloop_in_thread +#undef pa_threaded_mainloop_set_name +#undef pa_threaded_mainloop_once_unlocked +#undef pa_mainloop_new +#undef pa_mainloop_free +#undef pa_mainloop_prepare +#undef pa_mainloop_poll +#undef pa_mainloop_dispatch +#undef pa_mainloop_get_retval +#undef pa_mainloop_iterate +#undef pa_mainloop_run +#undef pa_mainloop_get_api +#undef pa_mainloop_quit +#undef pa_mainloop_wakeup +#undef pa_mainloop_set_poll_func +#undef pa_signal_init +#undef pa_signal_done +#undef pa_signal_new +#undef pa_signal_free +#undef pa_signal_set_destroy +#undef pa_get_user_name +#undef pa_get_host_name +#undef pa_get_fqdn +#undef pa_get_home_dir +#undef pa_get_binary_name +#undef pa_path_get_filename +#undef pa_msleep +#undef pa_thread_make_realtime +#undef pa_gettimeofday +#undef pa_timeval_diff +#undef pa_timeval_cmp +#undef pa_timeval_age +#undef pa_timeval_add +#undef pa_timeval_sub +#undef pa_timeval_store +#undef pa_timeval_load +#undef pa_rtclock_now +#include <dlfcn.h> +#include <stdio.h> +const char* (*pa_get_library_version_dylibloader_wrapper_pulse)( void); +size_t (*pa_bytes_per_second_dylibloader_wrapper_pulse)(const pa_sample_spec*); +size_t (*pa_frame_size_dylibloader_wrapper_pulse)(const pa_sample_spec*); +size_t (*pa_sample_size_dylibloader_wrapper_pulse)(const pa_sample_spec*); +size_t (*pa_sample_size_of_format_dylibloader_wrapper_pulse)( pa_sample_format_t); +pa_usec_t (*pa_bytes_to_usec_dylibloader_wrapper_pulse)( uint64_t,const pa_sample_spec*); +size_t (*pa_usec_to_bytes_dylibloader_wrapper_pulse)( pa_usec_t,const pa_sample_spec*); +pa_sample_spec* (*pa_sample_spec_init_dylibloader_wrapper_pulse)( pa_sample_spec*); +int (*pa_sample_format_valid_dylibloader_wrapper_pulse)( unsigned); +int (*pa_sample_rate_valid_dylibloader_wrapper_pulse)( uint32_t); +int (*pa_channels_valid_dylibloader_wrapper_pulse)( uint8_t); +int (*pa_sample_spec_valid_dylibloader_wrapper_pulse)(const pa_sample_spec*); +int (*pa_sample_spec_equal_dylibloader_wrapper_pulse)(const pa_sample_spec*,const pa_sample_spec*); +const char* (*pa_sample_format_to_string_dylibloader_wrapper_pulse)( pa_sample_format_t); +pa_sample_format_t (*pa_parse_sample_format_dylibloader_wrapper_pulse)(const char*); +char* (*pa_sample_spec_snprint_dylibloader_wrapper_pulse)( char*, size_t,const pa_sample_spec*); +char* (*pa_bytes_snprint_dylibloader_wrapper_pulse)( char*, size_t, unsigned); +int (*pa_sample_format_is_le_dylibloader_wrapper_pulse)( pa_sample_format_t); +int (*pa_sample_format_is_be_dylibloader_wrapper_pulse)( pa_sample_format_t); +int (*pa_direction_valid_dylibloader_wrapper_pulse)( pa_direction_t); +const char* (*pa_direction_to_string_dylibloader_wrapper_pulse)( pa_direction_t); +void (*pa_mainloop_api_once_dylibloader_wrapper_pulse)( pa_mainloop_api*, void*, void*); +pa_proplist* (*pa_proplist_new_dylibloader_wrapper_pulse)( void); +void (*pa_proplist_free_dylibloader_wrapper_pulse)( pa_proplist*); +int (*pa_proplist_key_valid_dylibloader_wrapper_pulse)(const char*); +int (*pa_proplist_sets_dylibloader_wrapper_pulse)( pa_proplist*,const char*,const char*); +int (*pa_proplist_setp_dylibloader_wrapper_pulse)( pa_proplist*,const char*); +int (*pa_proplist_setf_dylibloader_wrapper_pulse)( pa_proplist*,const char*,const char*,...); +int (*pa_proplist_set_dylibloader_wrapper_pulse)( pa_proplist*,const char*,const void*, size_t); +const char* (*pa_proplist_gets_dylibloader_wrapper_pulse)(const pa_proplist*,const char*); +int (*pa_proplist_get_dylibloader_wrapper_pulse)(const pa_proplist*,const char*,const void**, size_t*); +void (*pa_proplist_update_dylibloader_wrapper_pulse)( pa_proplist*, pa_update_mode_t,const pa_proplist*); +int (*pa_proplist_unset_dylibloader_wrapper_pulse)( pa_proplist*,const char*); +int (*pa_proplist_unset_many_dylibloader_wrapper_pulse)( pa_proplist*,const char* []); +const char* (*pa_proplist_iterate_dylibloader_wrapper_pulse)(const pa_proplist*, void**); +char* (*pa_proplist_to_string_dylibloader_wrapper_pulse)(const pa_proplist*); +char* (*pa_proplist_to_string_sep_dylibloader_wrapper_pulse)(const pa_proplist*,const char*); +pa_proplist* (*pa_proplist_from_string_dylibloader_wrapper_pulse)(const char*); +int (*pa_proplist_contains_dylibloader_wrapper_pulse)(const pa_proplist*,const char*); +void (*pa_proplist_clear_dylibloader_wrapper_pulse)( pa_proplist*); +pa_proplist* (*pa_proplist_copy_dylibloader_wrapper_pulse)(const pa_proplist*); +unsigned (*pa_proplist_size_dylibloader_wrapper_pulse)(const pa_proplist*); +int (*pa_proplist_isempty_dylibloader_wrapper_pulse)(const pa_proplist*); +int (*pa_proplist_equal_dylibloader_wrapper_pulse)(const pa_proplist*,const pa_proplist*); +pa_channel_map* (*pa_channel_map_init_dylibloader_wrapper_pulse)( pa_channel_map*); +pa_channel_map* (*pa_channel_map_init_mono_dylibloader_wrapper_pulse)( pa_channel_map*); +pa_channel_map* (*pa_channel_map_init_stereo_dylibloader_wrapper_pulse)( pa_channel_map*); +pa_channel_map* (*pa_channel_map_init_auto_dylibloader_wrapper_pulse)( pa_channel_map*, unsigned, pa_channel_map_def_t); +pa_channel_map* (*pa_channel_map_init_extend_dylibloader_wrapper_pulse)( pa_channel_map*, unsigned, pa_channel_map_def_t); +const char* (*pa_channel_position_to_string_dylibloader_wrapper_pulse)( pa_channel_position_t); +pa_channel_position_t (*pa_channel_position_from_string_dylibloader_wrapper_pulse)(const char*); +const char* (*pa_channel_position_to_pretty_string_dylibloader_wrapper_pulse)( pa_channel_position_t); +char* (*pa_channel_map_snprint_dylibloader_wrapper_pulse)( char*, size_t,const pa_channel_map*); +pa_channel_map* (*pa_channel_map_parse_dylibloader_wrapper_pulse)( pa_channel_map*,const char*); +int (*pa_channel_map_equal_dylibloader_wrapper_pulse)(const pa_channel_map*,const pa_channel_map*); +int (*pa_channel_map_valid_dylibloader_wrapper_pulse)(const pa_channel_map*); +int (*pa_channel_map_compatible_dylibloader_wrapper_pulse)(const pa_channel_map*,const pa_sample_spec*); +int (*pa_channel_map_superset_dylibloader_wrapper_pulse)(const pa_channel_map*,const pa_channel_map*); +int (*pa_channel_map_can_balance_dylibloader_wrapper_pulse)(const pa_channel_map*); +int (*pa_channel_map_can_fade_dylibloader_wrapper_pulse)(const pa_channel_map*); +int (*pa_channel_map_can_lfe_balance_dylibloader_wrapper_pulse)(const pa_channel_map*); +const char* (*pa_channel_map_to_name_dylibloader_wrapper_pulse)(const pa_channel_map*); +const char* (*pa_channel_map_to_pretty_name_dylibloader_wrapper_pulse)(const pa_channel_map*); +int (*pa_channel_map_has_position_dylibloader_wrapper_pulse)(const pa_channel_map*, pa_channel_position_t); +pa_channel_position_mask_t (*pa_channel_map_mask_dylibloader_wrapper_pulse)(const pa_channel_map*); +const char* (*pa_encoding_to_string_dylibloader_wrapper_pulse)( pa_encoding_t); +pa_encoding_t (*pa_encoding_from_string_dylibloader_wrapper_pulse)(const char*); +pa_format_info* (*pa_format_info_new_dylibloader_wrapper_pulse)( void); +pa_format_info* (*pa_format_info_copy_dylibloader_wrapper_pulse)(const pa_format_info*); +void (*pa_format_info_free_dylibloader_wrapper_pulse)( pa_format_info*); +int (*pa_format_info_valid_dylibloader_wrapper_pulse)(const pa_format_info*); +int (*pa_format_info_is_pcm_dylibloader_wrapper_pulse)(const pa_format_info*); +int (*pa_format_info_is_compatible_dylibloader_wrapper_pulse)(const pa_format_info*,const pa_format_info*); +char* (*pa_format_info_snprint_dylibloader_wrapper_pulse)( char*, size_t,const pa_format_info*); +pa_format_info* (*pa_format_info_from_string_dylibloader_wrapper_pulse)(const char*); +pa_format_info* (*pa_format_info_from_sample_spec_dylibloader_wrapper_pulse)(const pa_sample_spec*,const pa_channel_map*); +int (*pa_format_info_to_sample_spec_dylibloader_wrapper_pulse)(const pa_format_info*, pa_sample_spec*, pa_channel_map*); +pa_prop_type_t (*pa_format_info_get_prop_type_dylibloader_wrapper_pulse)(const pa_format_info*,const char*); +int (*pa_format_info_get_prop_int_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, int*); +int (*pa_format_info_get_prop_int_range_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, int*, int*); +int (*pa_format_info_get_prop_int_array_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, int**, int*); +int (*pa_format_info_get_prop_string_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, char**); +int (*pa_format_info_get_prop_string_array_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, char***, int*); +void (*pa_format_info_free_string_array_dylibloader_wrapper_pulse)( char**, int); +int (*pa_format_info_get_sample_format_dylibloader_wrapper_pulse)(const pa_format_info*, pa_sample_format_t*); +int (*pa_format_info_get_rate_dylibloader_wrapper_pulse)(const pa_format_info*, uint32_t*); +int (*pa_format_info_get_channels_dylibloader_wrapper_pulse)(const pa_format_info*, uint8_t*); +int (*pa_format_info_get_channel_map_dylibloader_wrapper_pulse)(const pa_format_info*, pa_channel_map*); +void (*pa_format_info_set_prop_int_dylibloader_wrapper_pulse)( pa_format_info*,const char*, int); +void (*pa_format_info_set_prop_int_array_dylibloader_wrapper_pulse)( pa_format_info*,const char*,const int*, int); +void (*pa_format_info_set_prop_int_range_dylibloader_wrapper_pulse)( pa_format_info*,const char*, int, int); +void (*pa_format_info_set_prop_string_dylibloader_wrapper_pulse)( pa_format_info*,const char*,const char*); +void (*pa_format_info_set_prop_string_array_dylibloader_wrapper_pulse)( pa_format_info*,const char*,const char**, int); +void (*pa_format_info_set_sample_format_dylibloader_wrapper_pulse)( pa_format_info*, pa_sample_format_t); +void (*pa_format_info_set_rate_dylibloader_wrapper_pulse)( pa_format_info*, int); +void (*pa_format_info_set_channels_dylibloader_wrapper_pulse)( pa_format_info*, int); +void (*pa_format_info_set_channel_map_dylibloader_wrapper_pulse)( pa_format_info*,const pa_channel_map*); +pa_operation* (*pa_operation_ref_dylibloader_wrapper_pulse)( pa_operation*); +void (*pa_operation_unref_dylibloader_wrapper_pulse)( pa_operation*); +void (*pa_operation_cancel_dylibloader_wrapper_pulse)( pa_operation*); +pa_operation_state_t (*pa_operation_get_state_dylibloader_wrapper_pulse)(const pa_operation*); +void (*pa_operation_set_state_callback_dylibloader_wrapper_pulse)( pa_operation*, pa_operation_notify_cb_t, void*); +pa_context* (*pa_context_new_dylibloader_wrapper_pulse)( pa_mainloop_api*,const char*); +pa_context* (*pa_context_new_with_proplist_dylibloader_wrapper_pulse)( pa_mainloop_api*,const char*,const pa_proplist*); +void (*pa_context_unref_dylibloader_wrapper_pulse)( pa_context*); +pa_context* (*pa_context_ref_dylibloader_wrapper_pulse)( pa_context*); +void (*pa_context_set_state_callback_dylibloader_wrapper_pulse)( pa_context*, pa_context_notify_cb_t, void*); +void (*pa_context_set_event_callback_dylibloader_wrapper_pulse)( pa_context*, pa_context_event_cb_t, void*); +int (*pa_context_errno_dylibloader_wrapper_pulse)(const pa_context*); +int (*pa_context_is_pending_dylibloader_wrapper_pulse)(const pa_context*); +pa_context_state_t (*pa_context_get_state_dylibloader_wrapper_pulse)(const pa_context*); +int (*pa_context_connect_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_flags_t,const pa_spawn_api*); +void (*pa_context_disconnect_dylibloader_wrapper_pulse)( pa_context*); +pa_operation* (*pa_context_drain_dylibloader_wrapper_pulse)( pa_context*, pa_context_notify_cb_t, void*); +pa_operation* (*pa_context_exit_daemon_dylibloader_wrapper_pulse)( pa_context*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_default_sink_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_default_source_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_success_cb_t, void*); +int (*pa_context_is_local_dylibloader_wrapper_pulse)(const pa_context*); +pa_operation* (*pa_context_set_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_success_cb_t, void*); +const char* (*pa_context_get_server_dylibloader_wrapper_pulse)(const pa_context*); +uint32_t (*pa_context_get_protocol_version_dylibloader_wrapper_pulse)(const pa_context*); +uint32_t (*pa_context_get_server_protocol_version_dylibloader_wrapper_pulse)(const pa_context*); +pa_operation* (*pa_context_proplist_update_dylibloader_wrapper_pulse)( pa_context*, pa_update_mode_t,const pa_proplist*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_proplist_remove_dylibloader_wrapper_pulse)( pa_context*,const char* [], pa_context_success_cb_t, void*); +uint32_t (*pa_context_get_index_dylibloader_wrapper_pulse)(const pa_context*); +pa_time_event* (*pa_context_rttime_new_dylibloader_wrapper_pulse)(const pa_context*, pa_usec_t, pa_time_event_cb_t, void*); +void (*pa_context_rttime_restart_dylibloader_wrapper_pulse)(const pa_context*, pa_time_event*, pa_usec_t); +size_t (*pa_context_get_tile_size_dylibloader_wrapper_pulse)(const pa_context*,const pa_sample_spec*); +int (*pa_context_load_cookie_from_file_dylibloader_wrapper_pulse)( pa_context*,const char*); +int (*pa_cvolume_equal_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_cvolume*); +pa_cvolume* (*pa_cvolume_init_dylibloader_wrapper_pulse)( pa_cvolume*); +pa_cvolume* (*pa_cvolume_set_dylibloader_wrapper_pulse)( pa_cvolume*, unsigned, pa_volume_t); +char* (*pa_cvolume_snprint_dylibloader_wrapper_pulse)( char*, size_t,const pa_cvolume*); +char* (*pa_sw_cvolume_snprint_dB_dylibloader_wrapper_pulse)( char*, size_t,const pa_cvolume*); +char* (*pa_cvolume_snprint_verbose_dylibloader_wrapper_pulse)( char*, size_t,const pa_cvolume*,const pa_channel_map*, int); +char* (*pa_volume_snprint_dylibloader_wrapper_pulse)( char*, size_t, pa_volume_t); +char* (*pa_sw_volume_snprint_dB_dylibloader_wrapper_pulse)( char*, size_t, pa_volume_t); +char* (*pa_volume_snprint_verbose_dylibloader_wrapper_pulse)( char*, size_t, pa_volume_t, int); +pa_volume_t (*pa_cvolume_avg_dylibloader_wrapper_pulse)(const pa_cvolume*); +pa_volume_t (*pa_cvolume_avg_mask_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t); +pa_volume_t (*pa_cvolume_max_dylibloader_wrapper_pulse)(const pa_cvolume*); +pa_volume_t (*pa_cvolume_max_mask_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t); +pa_volume_t (*pa_cvolume_min_dylibloader_wrapper_pulse)(const pa_cvolume*); +pa_volume_t (*pa_cvolume_min_mask_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t); +int (*pa_cvolume_valid_dylibloader_wrapper_pulse)(const pa_cvolume*); +int (*pa_cvolume_channels_equal_to_dylibloader_wrapper_pulse)(const pa_cvolume*, pa_volume_t); +pa_volume_t (*pa_sw_volume_multiply_dylibloader_wrapper_pulse)( pa_volume_t, pa_volume_t); +pa_cvolume* (*pa_sw_cvolume_multiply_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*); +pa_cvolume* (*pa_sw_cvolume_multiply_scalar_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*, pa_volume_t); +pa_volume_t (*pa_sw_volume_divide_dylibloader_wrapper_pulse)( pa_volume_t, pa_volume_t); +pa_cvolume* (*pa_sw_cvolume_divide_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*); +pa_cvolume* (*pa_sw_cvolume_divide_scalar_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*, pa_volume_t); +pa_volume_t (*pa_sw_volume_from_dB_dylibloader_wrapper_pulse)( double); +double (*pa_sw_volume_to_dB_dylibloader_wrapper_pulse)( pa_volume_t); +pa_volume_t (*pa_sw_volume_from_linear_dylibloader_wrapper_pulse)( double); +double (*pa_sw_volume_to_linear_dylibloader_wrapper_pulse)( pa_volume_t); +pa_cvolume* (*pa_cvolume_remap_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*,const pa_channel_map*); +int (*pa_cvolume_compatible_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_sample_spec*); +int (*pa_cvolume_compatible_with_channel_map_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*); +float (*pa_cvolume_get_balance_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*); +pa_cvolume* (*pa_cvolume_set_balance_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*, float); +float (*pa_cvolume_get_fade_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*); +pa_cvolume* (*pa_cvolume_set_fade_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*, float); +float (*pa_cvolume_get_lfe_balance_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*); +pa_cvolume* (*pa_cvolume_set_lfe_balance_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*, float); +pa_cvolume* (*pa_cvolume_scale_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t); +pa_cvolume* (*pa_cvolume_scale_mask_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t,const pa_channel_map*, pa_channel_position_mask_t); +pa_cvolume* (*pa_cvolume_set_position_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*, pa_channel_position_t, pa_volume_t); +pa_volume_t (*pa_cvolume_get_position_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_t); +pa_cvolume* (*pa_cvolume_merge_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*); +pa_cvolume* (*pa_cvolume_inc_clamp_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t, pa_volume_t); +pa_cvolume* (*pa_cvolume_inc_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t); +pa_cvolume* (*pa_cvolume_dec_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t); +pa_stream* (*pa_stream_new_dylibloader_wrapper_pulse)( pa_context*,const char*,const pa_sample_spec*,const pa_channel_map*); +pa_stream* (*pa_stream_new_with_proplist_dylibloader_wrapper_pulse)( pa_context*,const char*,const pa_sample_spec*,const pa_channel_map*, pa_proplist*); +pa_stream* (*pa_stream_new_extended_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_format_info**, unsigned int, pa_proplist*); +void (*pa_stream_unref_dylibloader_wrapper_pulse)( pa_stream*); +pa_stream* (*pa_stream_ref_dylibloader_wrapper_pulse)( pa_stream*); +pa_stream_state_t (*pa_stream_get_state_dylibloader_wrapper_pulse)(const pa_stream*); +pa_context* (*pa_stream_get_context_dylibloader_wrapper_pulse)(const pa_stream*); +uint32_t (*pa_stream_get_index_dylibloader_wrapper_pulse)(const pa_stream*); +uint32_t (*pa_stream_get_device_index_dylibloader_wrapper_pulse)(const pa_stream*); +const char* (*pa_stream_get_device_name_dylibloader_wrapper_pulse)(const pa_stream*); +int (*pa_stream_is_suspended_dylibloader_wrapper_pulse)(const pa_stream*); +int (*pa_stream_is_corked_dylibloader_wrapper_pulse)(const pa_stream*); +int (*pa_stream_connect_playback_dylibloader_wrapper_pulse)( pa_stream*,const char*,const pa_buffer_attr*, pa_stream_flags_t,const pa_cvolume*, pa_stream*); +int (*pa_stream_connect_record_dylibloader_wrapper_pulse)( pa_stream*,const char*,const pa_buffer_attr*, pa_stream_flags_t); +int (*pa_stream_disconnect_dylibloader_wrapper_pulse)( pa_stream*); +int (*pa_stream_begin_write_dylibloader_wrapper_pulse)( pa_stream*, void**, size_t*); +int (*pa_stream_cancel_write_dylibloader_wrapper_pulse)( pa_stream*); +int (*pa_stream_write_dylibloader_wrapper_pulse)( pa_stream*,const void*, size_t, pa_free_cb_t, int64_t, pa_seek_mode_t); +int (*pa_stream_write_ext_free_dylibloader_wrapper_pulse)( pa_stream*,const void*, size_t, pa_free_cb_t, void*, int64_t, pa_seek_mode_t); +int (*pa_stream_peek_dylibloader_wrapper_pulse)( pa_stream*,const void**, size_t*); +int (*pa_stream_drop_dylibloader_wrapper_pulse)( pa_stream*); +size_t (*pa_stream_writable_size_dylibloader_wrapper_pulse)(const pa_stream*); +size_t (*pa_stream_readable_size_dylibloader_wrapper_pulse)(const pa_stream*); +pa_operation* (*pa_stream_drain_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +pa_operation* (*pa_stream_update_timing_info_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +void (*pa_stream_set_state_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +void (*pa_stream_set_write_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_request_cb_t, void*); +void (*pa_stream_set_read_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_request_cb_t, void*); +void (*pa_stream_set_overflow_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +int64_t (*pa_stream_get_underflow_index_dylibloader_wrapper_pulse)(const pa_stream*); +void (*pa_stream_set_underflow_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +void (*pa_stream_set_started_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +void (*pa_stream_set_latency_update_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +void (*pa_stream_set_moved_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +void (*pa_stream_set_suspended_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +void (*pa_stream_set_event_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_event_cb_t, void*); +void (*pa_stream_set_buffer_attr_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +pa_operation* (*pa_stream_cork_dylibloader_wrapper_pulse)( pa_stream*, int, pa_stream_success_cb_t, void*); +pa_operation* (*pa_stream_flush_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +pa_operation* (*pa_stream_prebuf_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +pa_operation* (*pa_stream_trigger_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +pa_operation* (*pa_stream_set_name_dylibloader_wrapper_pulse)( pa_stream*,const char*, pa_stream_success_cb_t, void*); +int (*pa_stream_get_time_dylibloader_wrapper_pulse)( pa_stream*, pa_usec_t*); +int (*pa_stream_get_latency_dylibloader_wrapper_pulse)( pa_stream*, pa_usec_t*, int*); +const pa_timing_info* (*pa_stream_get_timing_info_dylibloader_wrapper_pulse)( pa_stream*); +const pa_sample_spec* (*pa_stream_get_sample_spec_dylibloader_wrapper_pulse)( pa_stream*); +const pa_channel_map* (*pa_stream_get_channel_map_dylibloader_wrapper_pulse)( pa_stream*); +const pa_format_info* (*pa_stream_get_format_info_dylibloader_wrapper_pulse)(const pa_stream*); +const pa_buffer_attr* (*pa_stream_get_buffer_attr_dylibloader_wrapper_pulse)( pa_stream*); +pa_operation* (*pa_stream_set_buffer_attr_dylibloader_wrapper_pulse)( pa_stream*,const pa_buffer_attr*, pa_stream_success_cb_t, void*); +pa_operation* (*pa_stream_update_sample_rate_dylibloader_wrapper_pulse)( pa_stream*, uint32_t, pa_stream_success_cb_t, void*); +pa_operation* (*pa_stream_proplist_update_dylibloader_wrapper_pulse)( pa_stream*, pa_update_mode_t, pa_proplist*, pa_stream_success_cb_t, void*); +pa_operation* (*pa_stream_proplist_remove_dylibloader_wrapper_pulse)( pa_stream*,const char* [], pa_stream_success_cb_t, void*); +int (*pa_stream_set_monitor_stream_dylibloader_wrapper_pulse)( pa_stream*, uint32_t); +uint32_t (*pa_stream_get_monitor_stream_dylibloader_wrapper_pulse)(const pa_stream*); +pa_operation* (*pa_context_get_sink_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_sink_info_cb_t, void*); +pa_operation* (*pa_context_get_sink_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_sink_info_cb_t, void*); +pa_operation* (*pa_context_get_sink_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_sink_info_cb_t, void*); +pa_operation* (*pa_context_set_sink_volume_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_sink_volume_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const pa_cvolume*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_sink_mute_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_sink_mute_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_suspend_sink_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_suspend_sink_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_sink_port_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_sink_port_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_get_source_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_source_info_cb_t, void*); +pa_operation* (*pa_context_get_source_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_source_info_cb_t, void*); +pa_operation* (*pa_context_get_source_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_source_info_cb_t, void*); +pa_operation* (*pa_context_set_source_volume_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_source_volume_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const pa_cvolume*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_source_mute_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_source_mute_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_suspend_source_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_suspend_source_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_source_port_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_source_port_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_get_server_info_dylibloader_wrapper_pulse)( pa_context*, pa_server_info_cb_t, void*); +pa_operation* (*pa_context_get_module_info_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_module_info_cb_t, void*); +pa_operation* (*pa_context_get_module_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_module_info_cb_t, void*); +pa_operation* (*pa_context_load_module_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_context_index_cb_t, void*); +pa_operation* (*pa_context_unload_module_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_get_client_info_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_client_info_cb_t, void*); +pa_operation* (*pa_context_get_client_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_client_info_cb_t, void*); +pa_operation* (*pa_context_kill_client_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_get_card_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_card_info_cb_t, void*); +pa_operation* (*pa_context_get_card_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_card_info_cb_t, void*); +pa_operation* (*pa_context_get_card_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_card_info_cb_t, void*); +pa_operation* (*pa_context_set_card_profile_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_card_profile_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_port_latency_offset_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, int64_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_get_sink_input_info_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_sink_input_info_cb_t, void*); +pa_operation* (*pa_context_get_sink_input_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_sink_input_info_cb_t, void*); +pa_operation* (*pa_context_move_sink_input_by_name_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_move_sink_input_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, uint32_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_sink_input_volume_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_sink_input_mute_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_kill_sink_input_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_get_source_output_info_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_source_output_info_cb_t, void*); +pa_operation* (*pa_context_get_source_output_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_source_output_info_cb_t, void*); +pa_operation* (*pa_context_move_source_output_by_name_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_move_source_output_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, uint32_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_source_output_volume_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_set_source_output_mute_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_kill_source_output_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_stat_dylibloader_wrapper_pulse)( pa_context*, pa_stat_info_cb_t, void*); +pa_operation* (*pa_context_get_sample_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_sample_info_cb_t, void*); +pa_operation* (*pa_context_get_sample_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_sample_info_cb_t, void*); +pa_operation* (*pa_context_get_sample_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_sample_info_cb_t, void*); +pa_operation* (*pa_context_get_autoload_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_autoload_type_t, pa_autoload_info_cb_t, void*); +pa_operation* (*pa_context_get_autoload_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_autoload_info_cb_t, void*); +pa_operation* (*pa_context_get_autoload_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_autoload_info_cb_t, void*); +pa_operation* (*pa_context_add_autoload_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_autoload_type_t,const char*,const char*, pa_context_index_cb_t, void*); +pa_operation* (*pa_context_remove_autoload_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_autoload_type_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_remove_autoload_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_subscribe_dylibloader_wrapper_pulse)( pa_context*, pa_subscription_mask_t, pa_context_success_cb_t, void*); +void (*pa_context_set_subscribe_callback_dylibloader_wrapper_pulse)( pa_context*, pa_context_subscribe_cb_t, void*); +int (*pa_stream_connect_upload_dylibloader_wrapper_pulse)( pa_stream*, size_t); +int (*pa_stream_finish_upload_dylibloader_wrapper_pulse)( pa_stream*); +pa_operation* (*pa_context_remove_sample_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_play_sample_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_volume_t, pa_context_success_cb_t, void*); +pa_operation* (*pa_context_play_sample_with_proplist_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_volume_t,const pa_proplist*, pa_context_play_sample_cb_t, void*); +const char* (*pa_strerror_dylibloader_wrapper_pulse)( int); +void* (*pa_xmalloc_dylibloader_wrapper_pulse)( size_t); +void* (*pa_xmalloc0_dylibloader_wrapper_pulse)( size_t); +void* (*pa_xrealloc_dylibloader_wrapper_pulse)( void*, size_t); +void (*pa_xfree_dylibloader_wrapper_pulse)( void*); +char* (*pa_xstrdup_dylibloader_wrapper_pulse)(const char*); +char* (*pa_xstrndup_dylibloader_wrapper_pulse)(const char*, size_t); +void* (*pa_xmemdup_dylibloader_wrapper_pulse)(const void*, size_t); +char* (*pa_utf8_valid_dylibloader_wrapper_pulse)(const char*); +char* (*pa_ascii_valid_dylibloader_wrapper_pulse)(const char*); +char* (*pa_utf8_filter_dylibloader_wrapper_pulse)(const char*); +char* (*pa_ascii_filter_dylibloader_wrapper_pulse)(const char*); +char* (*pa_utf8_to_locale_dylibloader_wrapper_pulse)(const char*); +char* (*pa_locale_to_utf8_dylibloader_wrapper_pulse)(const char*); +pa_threaded_mainloop* (*pa_threaded_mainloop_new_dylibloader_wrapper_pulse)( void); +void (*pa_threaded_mainloop_free_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +int (*pa_threaded_mainloop_start_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +void (*pa_threaded_mainloop_stop_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +void (*pa_threaded_mainloop_lock_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +void (*pa_threaded_mainloop_unlock_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +void (*pa_threaded_mainloop_wait_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +void (*pa_threaded_mainloop_signal_dylibloader_wrapper_pulse)( pa_threaded_mainloop*, int); +void (*pa_threaded_mainloop_accept_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +int (*pa_threaded_mainloop_get_retval_dylibloader_wrapper_pulse)(const pa_threaded_mainloop*); +pa_mainloop_api* (*pa_threaded_mainloop_get_api_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +int (*pa_threaded_mainloop_in_thread_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +void (*pa_threaded_mainloop_set_name_dylibloader_wrapper_pulse)( pa_threaded_mainloop*,const char*); +void (*pa_threaded_mainloop_once_unlocked_dylibloader_wrapper_pulse)( pa_threaded_mainloop*, void*, void*); +pa_mainloop* (*pa_mainloop_new_dylibloader_wrapper_pulse)( void); +void (*pa_mainloop_free_dylibloader_wrapper_pulse)( pa_mainloop*); +int (*pa_mainloop_prepare_dylibloader_wrapper_pulse)( pa_mainloop*, int); +int (*pa_mainloop_poll_dylibloader_wrapper_pulse)( pa_mainloop*); +int (*pa_mainloop_dispatch_dylibloader_wrapper_pulse)( pa_mainloop*); +int (*pa_mainloop_get_retval_dylibloader_wrapper_pulse)(const pa_mainloop*); +int (*pa_mainloop_iterate_dylibloader_wrapper_pulse)( pa_mainloop*, int, int*); +int (*pa_mainloop_run_dylibloader_wrapper_pulse)( pa_mainloop*, int*); +pa_mainloop_api* (*pa_mainloop_get_api_dylibloader_wrapper_pulse)( pa_mainloop*); +void (*pa_mainloop_quit_dylibloader_wrapper_pulse)( pa_mainloop*, int); +void (*pa_mainloop_wakeup_dylibloader_wrapper_pulse)( pa_mainloop*); +void (*pa_mainloop_set_poll_func_dylibloader_wrapper_pulse)( pa_mainloop*, pa_poll_func, void*); +int (*pa_signal_init_dylibloader_wrapper_pulse)( pa_mainloop_api*); +void (*pa_signal_done_dylibloader_wrapper_pulse)( void); +pa_signal_event* (*pa_signal_new_dylibloader_wrapper_pulse)( int, pa_signal_cb_t, void*); +void (*pa_signal_free_dylibloader_wrapper_pulse)( pa_signal_event*); +void (*pa_signal_set_destroy_dylibloader_wrapper_pulse)( pa_signal_event*, pa_signal_destroy_cb_t); +char* (*pa_get_user_name_dylibloader_wrapper_pulse)( char*, size_t); +char* (*pa_get_host_name_dylibloader_wrapper_pulse)( char*, size_t); +char* (*pa_get_fqdn_dylibloader_wrapper_pulse)( char*, size_t); +char* (*pa_get_home_dir_dylibloader_wrapper_pulse)( char*, size_t); +char* (*pa_get_binary_name_dylibloader_wrapper_pulse)( char*, size_t); +char* (*pa_path_get_filename_dylibloader_wrapper_pulse)(const char*); +int (*pa_msleep_dylibloader_wrapper_pulse)( unsigned long); +int (*pa_thread_make_realtime_dylibloader_wrapper_pulse)( int); +struct timeval* (*pa_gettimeofday_dylibloader_wrapper_pulse)(struct timeval*); +pa_usec_t (*pa_timeval_diff_dylibloader_wrapper_pulse)(struct timeval*,struct timeval*); +int (*pa_timeval_cmp_dylibloader_wrapper_pulse)(struct timeval*,struct timeval*); +pa_usec_t (*pa_timeval_age_dylibloader_wrapper_pulse)(struct timeval*); +struct timeval* (*pa_timeval_add_dylibloader_wrapper_pulse)(struct timeval*, pa_usec_t); +struct timeval* (*pa_timeval_sub_dylibloader_wrapper_pulse)(struct timeval*, pa_usec_t); +struct timeval* (*pa_timeval_store_dylibloader_wrapper_pulse)(struct timeval*, pa_usec_t); +pa_usec_t (*pa_timeval_load_dylibloader_wrapper_pulse)(struct timeval*); +pa_usec_t (*pa_rtclock_now_dylibloader_wrapper_pulse)( void); +int initialize_pulse(int verbose) { + void *handle; + char *error; + handle = dlopen("libpulse.so.0", RTLD_LAZY); + if (!handle) { + if (verbose) { + fprintf(stderr, "%s\n", dlerror()); + } + return(1); + } + dlerror(); +// pa_get_library_version + *(void **) (&pa_get_library_version_dylibloader_wrapper_pulse) = dlsym(handle, "pa_get_library_version"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_bytes_per_second + *(void **) (&pa_bytes_per_second_dylibloader_wrapper_pulse) = dlsym(handle, "pa_bytes_per_second"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_frame_size + *(void **) (&pa_frame_size_dylibloader_wrapper_pulse) = dlsym(handle, "pa_frame_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_size + *(void **) (&pa_sample_size_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_size_of_format + *(void **) (&pa_sample_size_of_format_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_size_of_format"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_bytes_to_usec + *(void **) (&pa_bytes_to_usec_dylibloader_wrapper_pulse) = dlsym(handle, "pa_bytes_to_usec"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_usec_to_bytes + *(void **) (&pa_usec_to_bytes_dylibloader_wrapper_pulse) = dlsym(handle, "pa_usec_to_bytes"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_spec_init + *(void **) (&pa_sample_spec_init_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_spec_init"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_format_valid + *(void **) (&pa_sample_format_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_format_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_rate_valid + *(void **) (&pa_sample_rate_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_rate_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channels_valid + *(void **) (&pa_channels_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channels_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_spec_valid + *(void **) (&pa_sample_spec_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_spec_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_spec_equal + *(void **) (&pa_sample_spec_equal_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_spec_equal"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_format_to_string + *(void **) (&pa_sample_format_to_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_format_to_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_parse_sample_format + *(void **) (&pa_parse_sample_format_dylibloader_wrapper_pulse) = dlsym(handle, "pa_parse_sample_format"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_spec_snprint + *(void **) (&pa_sample_spec_snprint_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_spec_snprint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_bytes_snprint + *(void **) (&pa_bytes_snprint_dylibloader_wrapper_pulse) = dlsym(handle, "pa_bytes_snprint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_format_is_le + *(void **) (&pa_sample_format_is_le_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_format_is_le"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sample_format_is_be + *(void **) (&pa_sample_format_is_be_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sample_format_is_be"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_direction_valid + *(void **) (&pa_direction_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_direction_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_direction_to_string + *(void **) (&pa_direction_to_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_direction_to_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_api_once + *(void **) (&pa_mainloop_api_once_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_api_once"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_new + *(void **) (&pa_proplist_new_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_free + *(void **) (&pa_proplist_free_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_key_valid + *(void **) (&pa_proplist_key_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_key_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_sets + *(void **) (&pa_proplist_sets_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_sets"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_setp + *(void **) (&pa_proplist_setp_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_setp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_setf + *(void **) (&pa_proplist_setf_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_setf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_set + *(void **) (&pa_proplist_set_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_gets + *(void **) (&pa_proplist_gets_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_gets"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_get + *(void **) (&pa_proplist_get_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_get"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_update + *(void **) (&pa_proplist_update_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_update"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_unset + *(void **) (&pa_proplist_unset_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_unset"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_unset_many + *(void **) (&pa_proplist_unset_many_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_unset_many"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_iterate + *(void **) (&pa_proplist_iterate_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_iterate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_to_string + *(void **) (&pa_proplist_to_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_to_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_to_string_sep + *(void **) (&pa_proplist_to_string_sep_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_to_string_sep"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_from_string + *(void **) (&pa_proplist_from_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_from_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_contains + *(void **) (&pa_proplist_contains_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_contains"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_clear + *(void **) (&pa_proplist_clear_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_clear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_copy + *(void **) (&pa_proplist_copy_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_size + *(void **) (&pa_proplist_size_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_isempty + *(void **) (&pa_proplist_isempty_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_isempty"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_proplist_equal + *(void **) (&pa_proplist_equal_dylibloader_wrapper_pulse) = dlsym(handle, "pa_proplist_equal"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_init + *(void **) (&pa_channel_map_init_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_init"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_init_mono + *(void **) (&pa_channel_map_init_mono_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_init_mono"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_init_stereo + *(void **) (&pa_channel_map_init_stereo_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_init_stereo"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_init_auto + *(void **) (&pa_channel_map_init_auto_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_init_auto"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_init_extend + *(void **) (&pa_channel_map_init_extend_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_init_extend"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_position_to_string + *(void **) (&pa_channel_position_to_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_position_to_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_position_from_string + *(void **) (&pa_channel_position_from_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_position_from_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_position_to_pretty_string + *(void **) (&pa_channel_position_to_pretty_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_position_to_pretty_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_snprint + *(void **) (&pa_channel_map_snprint_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_snprint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_parse + *(void **) (&pa_channel_map_parse_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_parse"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_equal + *(void **) (&pa_channel_map_equal_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_equal"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_valid + *(void **) (&pa_channel_map_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_compatible + *(void **) (&pa_channel_map_compatible_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_compatible"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_superset + *(void **) (&pa_channel_map_superset_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_superset"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_can_balance + *(void **) (&pa_channel_map_can_balance_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_can_balance"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_can_fade + *(void **) (&pa_channel_map_can_fade_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_can_fade"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_can_lfe_balance + *(void **) (&pa_channel_map_can_lfe_balance_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_can_lfe_balance"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_to_name + *(void **) (&pa_channel_map_to_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_to_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_to_pretty_name + *(void **) (&pa_channel_map_to_pretty_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_to_pretty_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_has_position + *(void **) (&pa_channel_map_has_position_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_has_position"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_channel_map_mask + *(void **) (&pa_channel_map_mask_dylibloader_wrapper_pulse) = dlsym(handle, "pa_channel_map_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_encoding_to_string + *(void **) (&pa_encoding_to_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_encoding_to_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_encoding_from_string + *(void **) (&pa_encoding_from_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_encoding_from_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_new + *(void **) (&pa_format_info_new_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_copy + *(void **) (&pa_format_info_copy_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_copy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_free + *(void **) (&pa_format_info_free_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_valid + *(void **) (&pa_format_info_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_is_pcm + *(void **) (&pa_format_info_is_pcm_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_is_pcm"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_is_compatible + *(void **) (&pa_format_info_is_compatible_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_is_compatible"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_snprint + *(void **) (&pa_format_info_snprint_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_snprint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_from_string + *(void **) (&pa_format_info_from_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_from_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_from_sample_spec + *(void **) (&pa_format_info_from_sample_spec_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_from_sample_spec"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_to_sample_spec + *(void **) (&pa_format_info_to_sample_spec_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_to_sample_spec"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_prop_type + *(void **) (&pa_format_info_get_prop_type_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_prop_type"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_prop_int + *(void **) (&pa_format_info_get_prop_int_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_prop_int"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_prop_int_range + *(void **) (&pa_format_info_get_prop_int_range_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_prop_int_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_prop_int_array + *(void **) (&pa_format_info_get_prop_int_array_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_prop_int_array"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_prop_string + *(void **) (&pa_format_info_get_prop_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_prop_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_prop_string_array + *(void **) (&pa_format_info_get_prop_string_array_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_prop_string_array"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_free_string_array + *(void **) (&pa_format_info_free_string_array_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_free_string_array"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_sample_format + *(void **) (&pa_format_info_get_sample_format_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_sample_format"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_rate + *(void **) (&pa_format_info_get_rate_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_rate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_channels + *(void **) (&pa_format_info_get_channels_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_get_channel_map + *(void **) (&pa_format_info_get_channel_map_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_get_channel_map"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_prop_int + *(void **) (&pa_format_info_set_prop_int_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_prop_int"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_prop_int_array + *(void **) (&pa_format_info_set_prop_int_array_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_prop_int_array"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_prop_int_range + *(void **) (&pa_format_info_set_prop_int_range_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_prop_int_range"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_prop_string + *(void **) (&pa_format_info_set_prop_string_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_prop_string"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_prop_string_array + *(void **) (&pa_format_info_set_prop_string_array_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_prop_string_array"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_sample_format + *(void **) (&pa_format_info_set_sample_format_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_sample_format"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_rate + *(void **) (&pa_format_info_set_rate_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_rate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_channels + *(void **) (&pa_format_info_set_channels_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_channels"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_format_info_set_channel_map + *(void **) (&pa_format_info_set_channel_map_dylibloader_wrapper_pulse) = dlsym(handle, "pa_format_info_set_channel_map"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_operation_ref + *(void **) (&pa_operation_ref_dylibloader_wrapper_pulse) = dlsym(handle, "pa_operation_ref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_operation_unref + *(void **) (&pa_operation_unref_dylibloader_wrapper_pulse) = dlsym(handle, "pa_operation_unref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_operation_cancel + *(void **) (&pa_operation_cancel_dylibloader_wrapper_pulse) = dlsym(handle, "pa_operation_cancel"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_operation_get_state + *(void **) (&pa_operation_get_state_dylibloader_wrapper_pulse) = dlsym(handle, "pa_operation_get_state"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_operation_set_state_callback + *(void **) (&pa_operation_set_state_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_operation_set_state_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_new + *(void **) (&pa_context_new_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_new_with_proplist + *(void **) (&pa_context_new_with_proplist_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_new_with_proplist"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_unref + *(void **) (&pa_context_unref_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_unref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_ref + *(void **) (&pa_context_ref_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_ref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_state_callback + *(void **) (&pa_context_set_state_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_state_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_event_callback + *(void **) (&pa_context_set_event_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_event_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_errno + *(void **) (&pa_context_errno_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_errno"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_is_pending + *(void **) (&pa_context_is_pending_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_is_pending"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_state + *(void **) (&pa_context_get_state_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_state"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_connect + *(void **) (&pa_context_connect_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_connect"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_disconnect + *(void **) (&pa_context_disconnect_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_disconnect"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_drain + *(void **) (&pa_context_drain_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_drain"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_exit_daemon + *(void **) (&pa_context_exit_daemon_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_exit_daemon"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_default_sink + *(void **) (&pa_context_set_default_sink_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_default_sink"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_default_source + *(void **) (&pa_context_set_default_source_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_default_source"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_is_local + *(void **) (&pa_context_is_local_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_is_local"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_name + *(void **) (&pa_context_set_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_server + *(void **) (&pa_context_get_server_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_server"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_protocol_version + *(void **) (&pa_context_get_protocol_version_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_protocol_version"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_server_protocol_version + *(void **) (&pa_context_get_server_protocol_version_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_server_protocol_version"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_proplist_update + *(void **) (&pa_context_proplist_update_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_proplist_update"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_proplist_remove + *(void **) (&pa_context_proplist_remove_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_proplist_remove"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_index + *(void **) (&pa_context_get_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_rttime_new + *(void **) (&pa_context_rttime_new_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_rttime_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_rttime_restart + *(void **) (&pa_context_rttime_restart_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_rttime_restart"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_tile_size + *(void **) (&pa_context_get_tile_size_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_tile_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_load_cookie_from_file + *(void **) (&pa_context_load_cookie_from_file_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_load_cookie_from_file"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_equal + *(void **) (&pa_cvolume_equal_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_equal"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_init + *(void **) (&pa_cvolume_init_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_init"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_set + *(void **) (&pa_cvolume_set_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_set"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_snprint + *(void **) (&pa_cvolume_snprint_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_snprint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_cvolume_snprint_dB + *(void **) (&pa_sw_cvolume_snprint_dB_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_cvolume_snprint_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_snprint_verbose + *(void **) (&pa_cvolume_snprint_verbose_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_snprint_verbose"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_volume_snprint + *(void **) (&pa_volume_snprint_dylibloader_wrapper_pulse) = dlsym(handle, "pa_volume_snprint"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_volume_snprint_dB + *(void **) (&pa_sw_volume_snprint_dB_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_volume_snprint_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_volume_snprint_verbose + *(void **) (&pa_volume_snprint_verbose_dylibloader_wrapper_pulse) = dlsym(handle, "pa_volume_snprint_verbose"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_avg + *(void **) (&pa_cvolume_avg_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_avg"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_avg_mask + *(void **) (&pa_cvolume_avg_mask_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_avg_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_max + *(void **) (&pa_cvolume_max_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_max"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_max_mask + *(void **) (&pa_cvolume_max_mask_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_max_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_min + *(void **) (&pa_cvolume_min_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_min"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_min_mask + *(void **) (&pa_cvolume_min_mask_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_min_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_valid + *(void **) (&pa_cvolume_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_channels_equal_to + *(void **) (&pa_cvolume_channels_equal_to_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_channels_equal_to"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_volume_multiply + *(void **) (&pa_sw_volume_multiply_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_volume_multiply"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_cvolume_multiply + *(void **) (&pa_sw_cvolume_multiply_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_cvolume_multiply"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_cvolume_multiply_scalar + *(void **) (&pa_sw_cvolume_multiply_scalar_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_cvolume_multiply_scalar"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_volume_divide + *(void **) (&pa_sw_volume_divide_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_volume_divide"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_cvolume_divide + *(void **) (&pa_sw_cvolume_divide_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_cvolume_divide"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_cvolume_divide_scalar + *(void **) (&pa_sw_cvolume_divide_scalar_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_cvolume_divide_scalar"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_volume_from_dB + *(void **) (&pa_sw_volume_from_dB_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_volume_from_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_volume_to_dB + *(void **) (&pa_sw_volume_to_dB_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_volume_to_dB"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_volume_from_linear + *(void **) (&pa_sw_volume_from_linear_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_volume_from_linear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_sw_volume_to_linear + *(void **) (&pa_sw_volume_to_linear_dylibloader_wrapper_pulse) = dlsym(handle, "pa_sw_volume_to_linear"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_remap + *(void **) (&pa_cvolume_remap_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_remap"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_compatible + *(void **) (&pa_cvolume_compatible_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_compatible"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_compatible_with_channel_map + *(void **) (&pa_cvolume_compatible_with_channel_map_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_compatible_with_channel_map"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_get_balance + *(void **) (&pa_cvolume_get_balance_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_get_balance"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_set_balance + *(void **) (&pa_cvolume_set_balance_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_set_balance"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_get_fade + *(void **) (&pa_cvolume_get_fade_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_get_fade"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_set_fade + *(void **) (&pa_cvolume_set_fade_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_set_fade"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_get_lfe_balance + *(void **) (&pa_cvolume_get_lfe_balance_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_get_lfe_balance"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_set_lfe_balance + *(void **) (&pa_cvolume_set_lfe_balance_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_set_lfe_balance"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_scale + *(void **) (&pa_cvolume_scale_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_scale"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_scale_mask + *(void **) (&pa_cvolume_scale_mask_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_scale_mask"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_set_position + *(void **) (&pa_cvolume_set_position_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_set_position"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_get_position + *(void **) (&pa_cvolume_get_position_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_get_position"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_merge + *(void **) (&pa_cvolume_merge_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_merge"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_inc_clamp + *(void **) (&pa_cvolume_inc_clamp_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_inc_clamp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_inc + *(void **) (&pa_cvolume_inc_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_inc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_cvolume_dec + *(void **) (&pa_cvolume_dec_dylibloader_wrapper_pulse) = dlsym(handle, "pa_cvolume_dec"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_new + *(void **) (&pa_stream_new_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_new_with_proplist + *(void **) (&pa_stream_new_with_proplist_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_new_with_proplist"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_new_extended + *(void **) (&pa_stream_new_extended_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_new_extended"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_unref + *(void **) (&pa_stream_unref_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_unref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_ref + *(void **) (&pa_stream_ref_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_ref"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_state + *(void **) (&pa_stream_get_state_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_state"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_context + *(void **) (&pa_stream_get_context_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_context"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_index + *(void **) (&pa_stream_get_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_device_index + *(void **) (&pa_stream_get_device_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_device_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_device_name + *(void **) (&pa_stream_get_device_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_device_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_is_suspended + *(void **) (&pa_stream_is_suspended_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_is_suspended"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_is_corked + *(void **) (&pa_stream_is_corked_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_is_corked"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_connect_playback + *(void **) (&pa_stream_connect_playback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_connect_playback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_connect_record + *(void **) (&pa_stream_connect_record_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_connect_record"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_disconnect + *(void **) (&pa_stream_disconnect_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_disconnect"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_begin_write + *(void **) (&pa_stream_begin_write_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_begin_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_cancel_write + *(void **) (&pa_stream_cancel_write_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_cancel_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_write + *(void **) (&pa_stream_write_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_write"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_write_ext_free + *(void **) (&pa_stream_write_ext_free_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_write_ext_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_peek + *(void **) (&pa_stream_peek_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_peek"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_drop + *(void **) (&pa_stream_drop_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_drop"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_writable_size + *(void **) (&pa_stream_writable_size_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_writable_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_readable_size + *(void **) (&pa_stream_readable_size_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_readable_size"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_drain + *(void **) (&pa_stream_drain_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_drain"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_update_timing_info + *(void **) (&pa_stream_update_timing_info_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_update_timing_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_state_callback + *(void **) (&pa_stream_set_state_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_state_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_write_callback + *(void **) (&pa_stream_set_write_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_write_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_read_callback + *(void **) (&pa_stream_set_read_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_read_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_overflow_callback + *(void **) (&pa_stream_set_overflow_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_overflow_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_underflow_index + *(void **) (&pa_stream_get_underflow_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_underflow_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_underflow_callback + *(void **) (&pa_stream_set_underflow_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_underflow_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_started_callback + *(void **) (&pa_stream_set_started_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_started_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_latency_update_callback + *(void **) (&pa_stream_set_latency_update_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_latency_update_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_moved_callback + *(void **) (&pa_stream_set_moved_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_moved_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_suspended_callback + *(void **) (&pa_stream_set_suspended_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_suspended_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_event_callback + *(void **) (&pa_stream_set_event_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_event_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_buffer_attr_callback + *(void **) (&pa_stream_set_buffer_attr_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_buffer_attr_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_cork + *(void **) (&pa_stream_cork_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_cork"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_flush + *(void **) (&pa_stream_flush_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_flush"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_prebuf + *(void **) (&pa_stream_prebuf_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_prebuf"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_trigger + *(void **) (&pa_stream_trigger_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_trigger"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_name + *(void **) (&pa_stream_set_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_time + *(void **) (&pa_stream_get_time_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_time"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_latency + *(void **) (&pa_stream_get_latency_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_latency"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_timing_info + *(void **) (&pa_stream_get_timing_info_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_timing_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_sample_spec + *(void **) (&pa_stream_get_sample_spec_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_sample_spec"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_channel_map + *(void **) (&pa_stream_get_channel_map_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_channel_map"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_format_info + *(void **) (&pa_stream_get_format_info_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_format_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_buffer_attr + *(void **) (&pa_stream_get_buffer_attr_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_buffer_attr"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_buffer_attr + *(void **) (&pa_stream_set_buffer_attr_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_buffer_attr"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_update_sample_rate + *(void **) (&pa_stream_update_sample_rate_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_update_sample_rate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_proplist_update + *(void **) (&pa_stream_proplist_update_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_proplist_update"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_proplist_remove + *(void **) (&pa_stream_proplist_remove_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_proplist_remove"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_set_monitor_stream + *(void **) (&pa_stream_set_monitor_stream_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_set_monitor_stream"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_get_monitor_stream + *(void **) (&pa_stream_get_monitor_stream_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_get_monitor_stream"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_sink_info_by_name + *(void **) (&pa_context_get_sink_info_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_sink_info_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_sink_info_by_index + *(void **) (&pa_context_get_sink_info_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_sink_info_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_sink_info_list + *(void **) (&pa_context_get_sink_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_sink_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_sink_volume_by_index + *(void **) (&pa_context_set_sink_volume_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_sink_volume_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_sink_volume_by_name + *(void **) (&pa_context_set_sink_volume_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_sink_volume_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_sink_mute_by_index + *(void **) (&pa_context_set_sink_mute_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_sink_mute_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_sink_mute_by_name + *(void **) (&pa_context_set_sink_mute_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_sink_mute_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_suspend_sink_by_name + *(void **) (&pa_context_suspend_sink_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_suspend_sink_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_suspend_sink_by_index + *(void **) (&pa_context_suspend_sink_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_suspend_sink_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_sink_port_by_index + *(void **) (&pa_context_set_sink_port_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_sink_port_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_sink_port_by_name + *(void **) (&pa_context_set_sink_port_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_sink_port_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_source_info_by_name + *(void **) (&pa_context_get_source_info_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_source_info_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_source_info_by_index + *(void **) (&pa_context_get_source_info_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_source_info_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_source_info_list + *(void **) (&pa_context_get_source_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_source_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_source_volume_by_index + *(void **) (&pa_context_set_source_volume_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_source_volume_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_source_volume_by_name + *(void **) (&pa_context_set_source_volume_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_source_volume_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_source_mute_by_index + *(void **) (&pa_context_set_source_mute_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_source_mute_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_source_mute_by_name + *(void **) (&pa_context_set_source_mute_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_source_mute_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_suspend_source_by_name + *(void **) (&pa_context_suspend_source_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_suspend_source_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_suspend_source_by_index + *(void **) (&pa_context_suspend_source_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_suspend_source_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_source_port_by_index + *(void **) (&pa_context_set_source_port_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_source_port_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_source_port_by_name + *(void **) (&pa_context_set_source_port_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_source_port_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_server_info + *(void **) (&pa_context_get_server_info_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_server_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_module_info + *(void **) (&pa_context_get_module_info_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_module_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_module_info_list + *(void **) (&pa_context_get_module_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_module_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_load_module + *(void **) (&pa_context_load_module_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_load_module"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_unload_module + *(void **) (&pa_context_unload_module_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_unload_module"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_client_info + *(void **) (&pa_context_get_client_info_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_client_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_client_info_list + *(void **) (&pa_context_get_client_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_client_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_kill_client + *(void **) (&pa_context_kill_client_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_kill_client"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_card_info_by_index + *(void **) (&pa_context_get_card_info_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_card_info_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_card_info_by_name + *(void **) (&pa_context_get_card_info_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_card_info_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_card_info_list + *(void **) (&pa_context_get_card_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_card_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_card_profile_by_index + *(void **) (&pa_context_set_card_profile_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_card_profile_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_card_profile_by_name + *(void **) (&pa_context_set_card_profile_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_card_profile_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_port_latency_offset + *(void **) (&pa_context_set_port_latency_offset_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_port_latency_offset"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_sink_input_info + *(void **) (&pa_context_get_sink_input_info_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_sink_input_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_sink_input_info_list + *(void **) (&pa_context_get_sink_input_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_sink_input_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_move_sink_input_by_name + *(void **) (&pa_context_move_sink_input_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_move_sink_input_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_move_sink_input_by_index + *(void **) (&pa_context_move_sink_input_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_move_sink_input_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_sink_input_volume + *(void **) (&pa_context_set_sink_input_volume_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_sink_input_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_sink_input_mute + *(void **) (&pa_context_set_sink_input_mute_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_sink_input_mute"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_kill_sink_input + *(void **) (&pa_context_kill_sink_input_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_kill_sink_input"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_source_output_info + *(void **) (&pa_context_get_source_output_info_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_source_output_info"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_source_output_info_list + *(void **) (&pa_context_get_source_output_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_source_output_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_move_source_output_by_name + *(void **) (&pa_context_move_source_output_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_move_source_output_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_move_source_output_by_index + *(void **) (&pa_context_move_source_output_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_move_source_output_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_source_output_volume + *(void **) (&pa_context_set_source_output_volume_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_source_output_volume"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_source_output_mute + *(void **) (&pa_context_set_source_output_mute_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_source_output_mute"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_kill_source_output + *(void **) (&pa_context_kill_source_output_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_kill_source_output"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_stat + *(void **) (&pa_context_stat_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_stat"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_sample_info_by_name + *(void **) (&pa_context_get_sample_info_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_sample_info_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_sample_info_by_index + *(void **) (&pa_context_get_sample_info_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_sample_info_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_sample_info_list + *(void **) (&pa_context_get_sample_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_sample_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_autoload_info_by_name + *(void **) (&pa_context_get_autoload_info_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_autoload_info_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_autoload_info_by_index + *(void **) (&pa_context_get_autoload_info_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_autoload_info_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_get_autoload_info_list + *(void **) (&pa_context_get_autoload_info_list_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_get_autoload_info_list"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_add_autoload + *(void **) (&pa_context_add_autoload_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_add_autoload"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_remove_autoload_by_name + *(void **) (&pa_context_remove_autoload_by_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_remove_autoload_by_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_remove_autoload_by_index + *(void **) (&pa_context_remove_autoload_by_index_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_remove_autoload_by_index"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_subscribe + *(void **) (&pa_context_subscribe_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_subscribe"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_set_subscribe_callback + *(void **) (&pa_context_set_subscribe_callback_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_set_subscribe_callback"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_connect_upload + *(void **) (&pa_stream_connect_upload_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_connect_upload"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_stream_finish_upload + *(void **) (&pa_stream_finish_upload_dylibloader_wrapper_pulse) = dlsym(handle, "pa_stream_finish_upload"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_remove_sample + *(void **) (&pa_context_remove_sample_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_remove_sample"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_play_sample + *(void **) (&pa_context_play_sample_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_play_sample"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_context_play_sample_with_proplist + *(void **) (&pa_context_play_sample_with_proplist_dylibloader_wrapper_pulse) = dlsym(handle, "pa_context_play_sample_with_proplist"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_strerror + *(void **) (&pa_strerror_dylibloader_wrapper_pulse) = dlsym(handle, "pa_strerror"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_xmalloc + *(void **) (&pa_xmalloc_dylibloader_wrapper_pulse) = dlsym(handle, "pa_xmalloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_xmalloc0 + *(void **) (&pa_xmalloc0_dylibloader_wrapper_pulse) = dlsym(handle, "pa_xmalloc0"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_xrealloc + *(void **) (&pa_xrealloc_dylibloader_wrapper_pulse) = dlsym(handle, "pa_xrealloc"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_xfree + *(void **) (&pa_xfree_dylibloader_wrapper_pulse) = dlsym(handle, "pa_xfree"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_xstrdup + *(void **) (&pa_xstrdup_dylibloader_wrapper_pulse) = dlsym(handle, "pa_xstrdup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_xstrndup + *(void **) (&pa_xstrndup_dylibloader_wrapper_pulse) = dlsym(handle, "pa_xstrndup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_xmemdup + *(void **) (&pa_xmemdup_dylibloader_wrapper_pulse) = dlsym(handle, "pa_xmemdup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_utf8_valid + *(void **) (&pa_utf8_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_utf8_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_ascii_valid + *(void **) (&pa_ascii_valid_dylibloader_wrapper_pulse) = dlsym(handle, "pa_ascii_valid"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_utf8_filter + *(void **) (&pa_utf8_filter_dylibloader_wrapper_pulse) = dlsym(handle, "pa_utf8_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_ascii_filter + *(void **) (&pa_ascii_filter_dylibloader_wrapper_pulse) = dlsym(handle, "pa_ascii_filter"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_utf8_to_locale + *(void **) (&pa_utf8_to_locale_dylibloader_wrapper_pulse) = dlsym(handle, "pa_utf8_to_locale"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_locale_to_utf8 + *(void **) (&pa_locale_to_utf8_dylibloader_wrapper_pulse) = dlsym(handle, "pa_locale_to_utf8"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_new + *(void **) (&pa_threaded_mainloop_new_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_free + *(void **) (&pa_threaded_mainloop_free_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_start + *(void **) (&pa_threaded_mainloop_start_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_start"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_stop + *(void **) (&pa_threaded_mainloop_stop_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_stop"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_lock + *(void **) (&pa_threaded_mainloop_lock_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_lock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_unlock + *(void **) (&pa_threaded_mainloop_unlock_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_unlock"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_wait + *(void **) (&pa_threaded_mainloop_wait_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_wait"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_signal + *(void **) (&pa_threaded_mainloop_signal_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_signal"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_accept + *(void **) (&pa_threaded_mainloop_accept_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_accept"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_get_retval + *(void **) (&pa_threaded_mainloop_get_retval_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_get_retval"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_get_api + *(void **) (&pa_threaded_mainloop_get_api_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_get_api"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_in_thread + *(void **) (&pa_threaded_mainloop_in_thread_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_in_thread"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_set_name + *(void **) (&pa_threaded_mainloop_set_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_set_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_threaded_mainloop_once_unlocked + *(void **) (&pa_threaded_mainloop_once_unlocked_dylibloader_wrapper_pulse) = dlsym(handle, "pa_threaded_mainloop_once_unlocked"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_new + *(void **) (&pa_mainloop_new_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_free + *(void **) (&pa_mainloop_free_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_prepare + *(void **) (&pa_mainloop_prepare_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_prepare"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_poll + *(void **) (&pa_mainloop_poll_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_poll"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_dispatch + *(void **) (&pa_mainloop_dispatch_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_dispatch"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_get_retval + *(void **) (&pa_mainloop_get_retval_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_get_retval"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_iterate + *(void **) (&pa_mainloop_iterate_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_iterate"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_run + *(void **) (&pa_mainloop_run_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_run"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_get_api + *(void **) (&pa_mainloop_get_api_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_get_api"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_quit + *(void **) (&pa_mainloop_quit_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_quit"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_wakeup + *(void **) (&pa_mainloop_wakeup_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_wakeup"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_mainloop_set_poll_func + *(void **) (&pa_mainloop_set_poll_func_dylibloader_wrapper_pulse) = dlsym(handle, "pa_mainloop_set_poll_func"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_signal_init + *(void **) (&pa_signal_init_dylibloader_wrapper_pulse) = dlsym(handle, "pa_signal_init"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_signal_done + *(void **) (&pa_signal_done_dylibloader_wrapper_pulse) = dlsym(handle, "pa_signal_done"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_signal_new + *(void **) (&pa_signal_new_dylibloader_wrapper_pulse) = dlsym(handle, "pa_signal_new"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_signal_free + *(void **) (&pa_signal_free_dylibloader_wrapper_pulse) = dlsym(handle, "pa_signal_free"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_signal_set_destroy + *(void **) (&pa_signal_set_destroy_dylibloader_wrapper_pulse) = dlsym(handle, "pa_signal_set_destroy"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_get_user_name + *(void **) (&pa_get_user_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_get_user_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_get_host_name + *(void **) (&pa_get_host_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_get_host_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_get_fqdn + *(void **) (&pa_get_fqdn_dylibloader_wrapper_pulse) = dlsym(handle, "pa_get_fqdn"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_get_home_dir + *(void **) (&pa_get_home_dir_dylibloader_wrapper_pulse) = dlsym(handle, "pa_get_home_dir"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_get_binary_name + *(void **) (&pa_get_binary_name_dylibloader_wrapper_pulse) = dlsym(handle, "pa_get_binary_name"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_path_get_filename + *(void **) (&pa_path_get_filename_dylibloader_wrapper_pulse) = dlsym(handle, "pa_path_get_filename"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_msleep + *(void **) (&pa_msleep_dylibloader_wrapper_pulse) = dlsym(handle, "pa_msleep"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_thread_make_realtime + *(void **) (&pa_thread_make_realtime_dylibloader_wrapper_pulse) = dlsym(handle, "pa_thread_make_realtime"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_gettimeofday + *(void **) (&pa_gettimeofday_dylibloader_wrapper_pulse) = dlsym(handle, "pa_gettimeofday"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_timeval_diff + *(void **) (&pa_timeval_diff_dylibloader_wrapper_pulse) = dlsym(handle, "pa_timeval_diff"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_timeval_cmp + *(void **) (&pa_timeval_cmp_dylibloader_wrapper_pulse) = dlsym(handle, "pa_timeval_cmp"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_timeval_age + *(void **) (&pa_timeval_age_dylibloader_wrapper_pulse) = dlsym(handle, "pa_timeval_age"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_timeval_add + *(void **) (&pa_timeval_add_dylibloader_wrapper_pulse) = dlsym(handle, "pa_timeval_add"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_timeval_sub + *(void **) (&pa_timeval_sub_dylibloader_wrapper_pulse) = dlsym(handle, "pa_timeval_sub"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_timeval_store + *(void **) (&pa_timeval_store_dylibloader_wrapper_pulse) = dlsym(handle, "pa_timeval_store"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_timeval_load + *(void **) (&pa_timeval_load_dylibloader_wrapper_pulse) = dlsym(handle, "pa_timeval_load"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +// pa_rtclock_now + *(void **) (&pa_rtclock_now_dylibloader_wrapper_pulse) = dlsym(handle, "pa_rtclock_now"); + if (verbose) { + error = dlerror(); + if (error != NULL) { + fprintf(stderr, "%s\n", error); + } + } +return 0; +} diff --git a/drivers/pulseaudio/pulse-so_wrap.h b/drivers/pulseaudio/pulse-so_wrap.h new file mode 100644 index 0000000000..7f9a70fae1 --- /dev/null +++ b/drivers/pulseaudio/pulse-so_wrap.h @@ -0,0 +1,1446 @@ +#ifndef DYLIBLOAD_WRAPPER_PULSE +#define DYLIBLOAD_WRAPPER_PULSE +// This file is generated. Do not edit! +// see https://github.com/hpvb/dynload-wrapper for details +// generated by /home/hp/Projects/godot/pulse/generate-wrapper.py 0.3 on 2021-02-20 00:08:31 +// flags: /home/hp/Projects/godot/pulse/generate-wrapper.py --include /usr/include/pulse/pulseaudio.h --sys-include <pulse/pulseaudio.h> --soname libpulse.so.0 --omit-prefix _pa_ --init-name pulse --output-header pulse-so_wrap.h --output-implementation pulse-so_wrap.c +// +#include <stdint.h> + +#define pa_get_library_version pa_get_library_version_dylibloader_orig_pulse +#define pa_bytes_per_second pa_bytes_per_second_dylibloader_orig_pulse +#define pa_frame_size pa_frame_size_dylibloader_orig_pulse +#define pa_sample_size pa_sample_size_dylibloader_orig_pulse +#define pa_sample_size_of_format pa_sample_size_of_format_dylibloader_orig_pulse +#define pa_bytes_to_usec pa_bytes_to_usec_dylibloader_orig_pulse +#define pa_usec_to_bytes pa_usec_to_bytes_dylibloader_orig_pulse +#define pa_sample_spec_init pa_sample_spec_init_dylibloader_orig_pulse +#define pa_sample_format_valid pa_sample_format_valid_dylibloader_orig_pulse +#define pa_sample_rate_valid pa_sample_rate_valid_dylibloader_orig_pulse +#define pa_channels_valid pa_channels_valid_dylibloader_orig_pulse +#define pa_sample_spec_valid pa_sample_spec_valid_dylibloader_orig_pulse +#define pa_sample_spec_equal pa_sample_spec_equal_dylibloader_orig_pulse +#define pa_sample_format_to_string pa_sample_format_to_string_dylibloader_orig_pulse +#define pa_parse_sample_format pa_parse_sample_format_dylibloader_orig_pulse +#define pa_sample_spec_snprint pa_sample_spec_snprint_dylibloader_orig_pulse +#define pa_bytes_snprint pa_bytes_snprint_dylibloader_orig_pulse +#define pa_sample_format_is_le pa_sample_format_is_le_dylibloader_orig_pulse +#define pa_sample_format_is_be pa_sample_format_is_be_dylibloader_orig_pulse +#define pa_direction_valid pa_direction_valid_dylibloader_orig_pulse +#define pa_direction_to_string pa_direction_to_string_dylibloader_orig_pulse +#define pa_mainloop_api_once pa_mainloop_api_once_dylibloader_orig_pulse +#define pa_proplist_new pa_proplist_new_dylibloader_orig_pulse +#define pa_proplist_free pa_proplist_free_dylibloader_orig_pulse +#define pa_proplist_key_valid pa_proplist_key_valid_dylibloader_orig_pulse +#define pa_proplist_sets pa_proplist_sets_dylibloader_orig_pulse +#define pa_proplist_setp pa_proplist_setp_dylibloader_orig_pulse +#define pa_proplist_setf pa_proplist_setf_dylibloader_orig_pulse +#define pa_proplist_set pa_proplist_set_dylibloader_orig_pulse +#define pa_proplist_gets pa_proplist_gets_dylibloader_orig_pulse +#define pa_proplist_get pa_proplist_get_dylibloader_orig_pulse +#define pa_proplist_update pa_proplist_update_dylibloader_orig_pulse +#define pa_proplist_unset pa_proplist_unset_dylibloader_orig_pulse +#define pa_proplist_unset_many pa_proplist_unset_many_dylibloader_orig_pulse +#define pa_proplist_iterate pa_proplist_iterate_dylibloader_orig_pulse +#define pa_proplist_to_string pa_proplist_to_string_dylibloader_orig_pulse +#define pa_proplist_to_string_sep pa_proplist_to_string_sep_dylibloader_orig_pulse +#define pa_proplist_from_string pa_proplist_from_string_dylibloader_orig_pulse +#define pa_proplist_contains pa_proplist_contains_dylibloader_orig_pulse +#define pa_proplist_clear pa_proplist_clear_dylibloader_orig_pulse +#define pa_proplist_copy pa_proplist_copy_dylibloader_orig_pulse +#define pa_proplist_size pa_proplist_size_dylibloader_orig_pulse +#define pa_proplist_isempty pa_proplist_isempty_dylibloader_orig_pulse +#define pa_proplist_equal pa_proplist_equal_dylibloader_orig_pulse +#define pa_channel_map_init pa_channel_map_init_dylibloader_orig_pulse +#define pa_channel_map_init_mono pa_channel_map_init_mono_dylibloader_orig_pulse +#define pa_channel_map_init_stereo pa_channel_map_init_stereo_dylibloader_orig_pulse +#define pa_channel_map_init_auto pa_channel_map_init_auto_dylibloader_orig_pulse +#define pa_channel_map_init_extend pa_channel_map_init_extend_dylibloader_orig_pulse +#define pa_channel_position_to_string pa_channel_position_to_string_dylibloader_orig_pulse +#define pa_channel_position_from_string pa_channel_position_from_string_dylibloader_orig_pulse +#define pa_channel_position_to_pretty_string pa_channel_position_to_pretty_string_dylibloader_orig_pulse +#define pa_channel_map_snprint pa_channel_map_snprint_dylibloader_orig_pulse +#define pa_channel_map_parse pa_channel_map_parse_dylibloader_orig_pulse +#define pa_channel_map_equal pa_channel_map_equal_dylibloader_orig_pulse +#define pa_channel_map_valid pa_channel_map_valid_dylibloader_orig_pulse +#define pa_channel_map_compatible pa_channel_map_compatible_dylibloader_orig_pulse +#define pa_channel_map_superset pa_channel_map_superset_dylibloader_orig_pulse +#define pa_channel_map_can_balance pa_channel_map_can_balance_dylibloader_orig_pulse +#define pa_channel_map_can_fade pa_channel_map_can_fade_dylibloader_orig_pulse +#define pa_channel_map_can_lfe_balance pa_channel_map_can_lfe_balance_dylibloader_orig_pulse +#define pa_channel_map_to_name pa_channel_map_to_name_dylibloader_orig_pulse +#define pa_channel_map_to_pretty_name pa_channel_map_to_pretty_name_dylibloader_orig_pulse +#define pa_channel_map_has_position pa_channel_map_has_position_dylibloader_orig_pulse +#define pa_channel_map_mask pa_channel_map_mask_dylibloader_orig_pulse +#define pa_encoding_to_string pa_encoding_to_string_dylibloader_orig_pulse +#define pa_encoding_from_string pa_encoding_from_string_dylibloader_orig_pulse +#define pa_format_info_new pa_format_info_new_dylibloader_orig_pulse +#define pa_format_info_copy pa_format_info_copy_dylibloader_orig_pulse +#define pa_format_info_free pa_format_info_free_dylibloader_orig_pulse +#define pa_format_info_valid pa_format_info_valid_dylibloader_orig_pulse +#define pa_format_info_is_pcm pa_format_info_is_pcm_dylibloader_orig_pulse +#define pa_format_info_is_compatible pa_format_info_is_compatible_dylibloader_orig_pulse +#define pa_format_info_snprint pa_format_info_snprint_dylibloader_orig_pulse +#define pa_format_info_from_string pa_format_info_from_string_dylibloader_orig_pulse +#define pa_format_info_from_sample_spec pa_format_info_from_sample_spec_dylibloader_orig_pulse +#define pa_format_info_to_sample_spec pa_format_info_to_sample_spec_dylibloader_orig_pulse +#define pa_format_info_get_prop_type pa_format_info_get_prop_type_dylibloader_orig_pulse +#define pa_format_info_get_prop_int pa_format_info_get_prop_int_dylibloader_orig_pulse +#define pa_format_info_get_prop_int_range pa_format_info_get_prop_int_range_dylibloader_orig_pulse +#define pa_format_info_get_prop_int_array pa_format_info_get_prop_int_array_dylibloader_orig_pulse +#define pa_format_info_get_prop_string pa_format_info_get_prop_string_dylibloader_orig_pulse +#define pa_format_info_get_prop_string_array pa_format_info_get_prop_string_array_dylibloader_orig_pulse +#define pa_format_info_free_string_array pa_format_info_free_string_array_dylibloader_orig_pulse +#define pa_format_info_get_sample_format pa_format_info_get_sample_format_dylibloader_orig_pulse +#define pa_format_info_get_rate pa_format_info_get_rate_dylibloader_orig_pulse +#define pa_format_info_get_channels pa_format_info_get_channels_dylibloader_orig_pulse +#define pa_format_info_get_channel_map pa_format_info_get_channel_map_dylibloader_orig_pulse +#define pa_format_info_set_prop_int pa_format_info_set_prop_int_dylibloader_orig_pulse +#define pa_format_info_set_prop_int_array pa_format_info_set_prop_int_array_dylibloader_orig_pulse +#define pa_format_info_set_prop_int_range pa_format_info_set_prop_int_range_dylibloader_orig_pulse +#define pa_format_info_set_prop_string pa_format_info_set_prop_string_dylibloader_orig_pulse +#define pa_format_info_set_prop_string_array pa_format_info_set_prop_string_array_dylibloader_orig_pulse +#define pa_format_info_set_sample_format pa_format_info_set_sample_format_dylibloader_orig_pulse +#define pa_format_info_set_rate pa_format_info_set_rate_dylibloader_orig_pulse +#define pa_format_info_set_channels pa_format_info_set_channels_dylibloader_orig_pulse +#define pa_format_info_set_channel_map pa_format_info_set_channel_map_dylibloader_orig_pulse +#define pa_operation_ref pa_operation_ref_dylibloader_orig_pulse +#define pa_operation_unref pa_operation_unref_dylibloader_orig_pulse +#define pa_operation_cancel pa_operation_cancel_dylibloader_orig_pulse +#define pa_operation_get_state pa_operation_get_state_dylibloader_orig_pulse +#define pa_operation_set_state_callback pa_operation_set_state_callback_dylibloader_orig_pulse +#define pa_context_new pa_context_new_dylibloader_orig_pulse +#define pa_context_new_with_proplist pa_context_new_with_proplist_dylibloader_orig_pulse +#define pa_context_unref pa_context_unref_dylibloader_orig_pulse +#define pa_context_ref pa_context_ref_dylibloader_orig_pulse +#define pa_context_set_state_callback pa_context_set_state_callback_dylibloader_orig_pulse +#define pa_context_set_event_callback pa_context_set_event_callback_dylibloader_orig_pulse +#define pa_context_errno pa_context_errno_dylibloader_orig_pulse +#define pa_context_is_pending pa_context_is_pending_dylibloader_orig_pulse +#define pa_context_get_state pa_context_get_state_dylibloader_orig_pulse +#define pa_context_connect pa_context_connect_dylibloader_orig_pulse +#define pa_context_disconnect pa_context_disconnect_dylibloader_orig_pulse +#define pa_context_drain pa_context_drain_dylibloader_orig_pulse +#define pa_context_exit_daemon pa_context_exit_daemon_dylibloader_orig_pulse +#define pa_context_set_default_sink pa_context_set_default_sink_dylibloader_orig_pulse +#define pa_context_set_default_source pa_context_set_default_source_dylibloader_orig_pulse +#define pa_context_is_local pa_context_is_local_dylibloader_orig_pulse +#define pa_context_set_name pa_context_set_name_dylibloader_orig_pulse +#define pa_context_get_server pa_context_get_server_dylibloader_orig_pulse +#define pa_context_get_protocol_version pa_context_get_protocol_version_dylibloader_orig_pulse +#define pa_context_get_server_protocol_version pa_context_get_server_protocol_version_dylibloader_orig_pulse +#define pa_context_proplist_update pa_context_proplist_update_dylibloader_orig_pulse +#define pa_context_proplist_remove pa_context_proplist_remove_dylibloader_orig_pulse +#define pa_context_get_index pa_context_get_index_dylibloader_orig_pulse +#define pa_context_rttime_new pa_context_rttime_new_dylibloader_orig_pulse +#define pa_context_rttime_restart pa_context_rttime_restart_dylibloader_orig_pulse +#define pa_context_get_tile_size pa_context_get_tile_size_dylibloader_orig_pulse +#define pa_context_load_cookie_from_file pa_context_load_cookie_from_file_dylibloader_orig_pulse +#define pa_cvolume_equal pa_cvolume_equal_dylibloader_orig_pulse +#define pa_cvolume_init pa_cvolume_init_dylibloader_orig_pulse +#define pa_cvolume_set pa_cvolume_set_dylibloader_orig_pulse +#define pa_cvolume_snprint pa_cvolume_snprint_dylibloader_orig_pulse +#define pa_sw_cvolume_snprint_dB pa_sw_cvolume_snprint_dB_dylibloader_orig_pulse +#define pa_cvolume_snprint_verbose pa_cvolume_snprint_verbose_dylibloader_orig_pulse +#define pa_volume_snprint pa_volume_snprint_dylibloader_orig_pulse +#define pa_sw_volume_snprint_dB pa_sw_volume_snprint_dB_dylibloader_orig_pulse +#define pa_volume_snprint_verbose pa_volume_snprint_verbose_dylibloader_orig_pulse +#define pa_cvolume_avg pa_cvolume_avg_dylibloader_orig_pulse +#define pa_cvolume_avg_mask pa_cvolume_avg_mask_dylibloader_orig_pulse +#define pa_cvolume_max pa_cvolume_max_dylibloader_orig_pulse +#define pa_cvolume_max_mask pa_cvolume_max_mask_dylibloader_orig_pulse +#define pa_cvolume_min pa_cvolume_min_dylibloader_orig_pulse +#define pa_cvolume_min_mask pa_cvolume_min_mask_dylibloader_orig_pulse +#define pa_cvolume_valid pa_cvolume_valid_dylibloader_orig_pulse +#define pa_cvolume_channels_equal_to pa_cvolume_channels_equal_to_dylibloader_orig_pulse +#define pa_sw_volume_multiply pa_sw_volume_multiply_dylibloader_orig_pulse +#define pa_sw_cvolume_multiply pa_sw_cvolume_multiply_dylibloader_orig_pulse +#define pa_sw_cvolume_multiply_scalar pa_sw_cvolume_multiply_scalar_dylibloader_orig_pulse +#define pa_sw_volume_divide pa_sw_volume_divide_dylibloader_orig_pulse +#define pa_sw_cvolume_divide pa_sw_cvolume_divide_dylibloader_orig_pulse +#define pa_sw_cvolume_divide_scalar pa_sw_cvolume_divide_scalar_dylibloader_orig_pulse +#define pa_sw_volume_from_dB pa_sw_volume_from_dB_dylibloader_orig_pulse +#define pa_sw_volume_to_dB pa_sw_volume_to_dB_dylibloader_orig_pulse +#define pa_sw_volume_from_linear pa_sw_volume_from_linear_dylibloader_orig_pulse +#define pa_sw_volume_to_linear pa_sw_volume_to_linear_dylibloader_orig_pulse +#define pa_cvolume_remap pa_cvolume_remap_dylibloader_orig_pulse +#define pa_cvolume_compatible pa_cvolume_compatible_dylibloader_orig_pulse +#define pa_cvolume_compatible_with_channel_map pa_cvolume_compatible_with_channel_map_dylibloader_orig_pulse +#define pa_cvolume_get_balance pa_cvolume_get_balance_dylibloader_orig_pulse +#define pa_cvolume_set_balance pa_cvolume_set_balance_dylibloader_orig_pulse +#define pa_cvolume_get_fade pa_cvolume_get_fade_dylibloader_orig_pulse +#define pa_cvolume_set_fade pa_cvolume_set_fade_dylibloader_orig_pulse +#define pa_cvolume_get_lfe_balance pa_cvolume_get_lfe_balance_dylibloader_orig_pulse +#define pa_cvolume_set_lfe_balance pa_cvolume_set_lfe_balance_dylibloader_orig_pulse +#define pa_cvolume_scale pa_cvolume_scale_dylibloader_orig_pulse +#define pa_cvolume_scale_mask pa_cvolume_scale_mask_dylibloader_orig_pulse +#define pa_cvolume_set_position pa_cvolume_set_position_dylibloader_orig_pulse +#define pa_cvolume_get_position pa_cvolume_get_position_dylibloader_orig_pulse +#define pa_cvolume_merge pa_cvolume_merge_dylibloader_orig_pulse +#define pa_cvolume_inc_clamp pa_cvolume_inc_clamp_dylibloader_orig_pulse +#define pa_cvolume_inc pa_cvolume_inc_dylibloader_orig_pulse +#define pa_cvolume_dec pa_cvolume_dec_dylibloader_orig_pulse +#define pa_stream_new pa_stream_new_dylibloader_orig_pulse +#define pa_stream_new_with_proplist pa_stream_new_with_proplist_dylibloader_orig_pulse +#define pa_stream_new_extended pa_stream_new_extended_dylibloader_orig_pulse +#define pa_stream_unref pa_stream_unref_dylibloader_orig_pulse +#define pa_stream_ref pa_stream_ref_dylibloader_orig_pulse +#define pa_stream_get_state pa_stream_get_state_dylibloader_orig_pulse +#define pa_stream_get_context pa_stream_get_context_dylibloader_orig_pulse +#define pa_stream_get_index pa_stream_get_index_dylibloader_orig_pulse +#define pa_stream_get_device_index pa_stream_get_device_index_dylibloader_orig_pulse +#define pa_stream_get_device_name pa_stream_get_device_name_dylibloader_orig_pulse +#define pa_stream_is_suspended pa_stream_is_suspended_dylibloader_orig_pulse +#define pa_stream_is_corked pa_stream_is_corked_dylibloader_orig_pulse +#define pa_stream_connect_playback pa_stream_connect_playback_dylibloader_orig_pulse +#define pa_stream_connect_record pa_stream_connect_record_dylibloader_orig_pulse +#define pa_stream_disconnect pa_stream_disconnect_dylibloader_orig_pulse +#define pa_stream_begin_write pa_stream_begin_write_dylibloader_orig_pulse +#define pa_stream_cancel_write pa_stream_cancel_write_dylibloader_orig_pulse +#define pa_stream_write pa_stream_write_dylibloader_orig_pulse +#define pa_stream_write_ext_free pa_stream_write_ext_free_dylibloader_orig_pulse +#define pa_stream_peek pa_stream_peek_dylibloader_orig_pulse +#define pa_stream_drop pa_stream_drop_dylibloader_orig_pulse +#define pa_stream_writable_size pa_stream_writable_size_dylibloader_orig_pulse +#define pa_stream_readable_size pa_stream_readable_size_dylibloader_orig_pulse +#define pa_stream_drain pa_stream_drain_dylibloader_orig_pulse +#define pa_stream_update_timing_info pa_stream_update_timing_info_dylibloader_orig_pulse +#define pa_stream_set_state_callback pa_stream_set_state_callback_dylibloader_orig_pulse +#define pa_stream_set_write_callback pa_stream_set_write_callback_dylibloader_orig_pulse +#define pa_stream_set_read_callback pa_stream_set_read_callback_dylibloader_orig_pulse +#define pa_stream_set_overflow_callback pa_stream_set_overflow_callback_dylibloader_orig_pulse +#define pa_stream_get_underflow_index pa_stream_get_underflow_index_dylibloader_orig_pulse +#define pa_stream_set_underflow_callback pa_stream_set_underflow_callback_dylibloader_orig_pulse +#define pa_stream_set_started_callback pa_stream_set_started_callback_dylibloader_orig_pulse +#define pa_stream_set_latency_update_callback pa_stream_set_latency_update_callback_dylibloader_orig_pulse +#define pa_stream_set_moved_callback pa_stream_set_moved_callback_dylibloader_orig_pulse +#define pa_stream_set_suspended_callback pa_stream_set_suspended_callback_dylibloader_orig_pulse +#define pa_stream_set_event_callback pa_stream_set_event_callback_dylibloader_orig_pulse +#define pa_stream_set_buffer_attr_callback pa_stream_set_buffer_attr_callback_dylibloader_orig_pulse +#define pa_stream_cork pa_stream_cork_dylibloader_orig_pulse +#define pa_stream_flush pa_stream_flush_dylibloader_orig_pulse +#define pa_stream_prebuf pa_stream_prebuf_dylibloader_orig_pulse +#define pa_stream_trigger pa_stream_trigger_dylibloader_orig_pulse +#define pa_stream_set_name pa_stream_set_name_dylibloader_orig_pulse +#define pa_stream_get_time pa_stream_get_time_dylibloader_orig_pulse +#define pa_stream_get_latency pa_stream_get_latency_dylibloader_orig_pulse +#define pa_stream_get_timing_info pa_stream_get_timing_info_dylibloader_orig_pulse +#define pa_stream_get_sample_spec pa_stream_get_sample_spec_dylibloader_orig_pulse +#define pa_stream_get_channel_map pa_stream_get_channel_map_dylibloader_orig_pulse +#define pa_stream_get_format_info pa_stream_get_format_info_dylibloader_orig_pulse +#define pa_stream_get_buffer_attr pa_stream_get_buffer_attr_dylibloader_orig_pulse +#define pa_stream_set_buffer_attr pa_stream_set_buffer_attr_dylibloader_orig_pulse +#define pa_stream_update_sample_rate pa_stream_update_sample_rate_dylibloader_orig_pulse +#define pa_stream_proplist_update pa_stream_proplist_update_dylibloader_orig_pulse +#define pa_stream_proplist_remove pa_stream_proplist_remove_dylibloader_orig_pulse +#define pa_stream_set_monitor_stream pa_stream_set_monitor_stream_dylibloader_orig_pulse +#define pa_stream_get_monitor_stream pa_stream_get_monitor_stream_dylibloader_orig_pulse +#define pa_context_get_sink_info_by_name pa_context_get_sink_info_by_name_dylibloader_orig_pulse +#define pa_context_get_sink_info_by_index pa_context_get_sink_info_by_index_dylibloader_orig_pulse +#define pa_context_get_sink_info_list pa_context_get_sink_info_list_dylibloader_orig_pulse +#define pa_context_set_sink_volume_by_index pa_context_set_sink_volume_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_volume_by_name pa_context_set_sink_volume_by_name_dylibloader_orig_pulse +#define pa_context_set_sink_mute_by_index pa_context_set_sink_mute_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_mute_by_name pa_context_set_sink_mute_by_name_dylibloader_orig_pulse +#define pa_context_suspend_sink_by_name pa_context_suspend_sink_by_name_dylibloader_orig_pulse +#define pa_context_suspend_sink_by_index pa_context_suspend_sink_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_port_by_index pa_context_set_sink_port_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_port_by_name pa_context_set_sink_port_by_name_dylibloader_orig_pulse +#define pa_context_get_source_info_by_name pa_context_get_source_info_by_name_dylibloader_orig_pulse +#define pa_context_get_source_info_by_index pa_context_get_source_info_by_index_dylibloader_orig_pulse +#define pa_context_get_source_info_list pa_context_get_source_info_list_dylibloader_orig_pulse +#define pa_context_set_source_volume_by_index pa_context_set_source_volume_by_index_dylibloader_orig_pulse +#define pa_context_set_source_volume_by_name pa_context_set_source_volume_by_name_dylibloader_orig_pulse +#define pa_context_set_source_mute_by_index pa_context_set_source_mute_by_index_dylibloader_orig_pulse +#define pa_context_set_source_mute_by_name pa_context_set_source_mute_by_name_dylibloader_orig_pulse +#define pa_context_suspend_source_by_name pa_context_suspend_source_by_name_dylibloader_orig_pulse +#define pa_context_suspend_source_by_index pa_context_suspend_source_by_index_dylibloader_orig_pulse +#define pa_context_set_source_port_by_index pa_context_set_source_port_by_index_dylibloader_orig_pulse +#define pa_context_set_source_port_by_name pa_context_set_source_port_by_name_dylibloader_orig_pulse +#define pa_context_get_server_info pa_context_get_server_info_dylibloader_orig_pulse +#define pa_context_get_module_info pa_context_get_module_info_dylibloader_orig_pulse +#define pa_context_get_module_info_list pa_context_get_module_info_list_dylibloader_orig_pulse +#define pa_context_load_module pa_context_load_module_dylibloader_orig_pulse +#define pa_context_unload_module pa_context_unload_module_dylibloader_orig_pulse +#define pa_context_get_client_info pa_context_get_client_info_dylibloader_orig_pulse +#define pa_context_get_client_info_list pa_context_get_client_info_list_dylibloader_orig_pulse +#define pa_context_kill_client pa_context_kill_client_dylibloader_orig_pulse +#define pa_context_get_card_info_by_index pa_context_get_card_info_by_index_dylibloader_orig_pulse +#define pa_context_get_card_info_by_name pa_context_get_card_info_by_name_dylibloader_orig_pulse +#define pa_context_get_card_info_list pa_context_get_card_info_list_dylibloader_orig_pulse +#define pa_context_set_card_profile_by_index pa_context_set_card_profile_by_index_dylibloader_orig_pulse +#define pa_context_set_card_profile_by_name pa_context_set_card_profile_by_name_dylibloader_orig_pulse +#define pa_context_set_port_latency_offset pa_context_set_port_latency_offset_dylibloader_orig_pulse +#define pa_context_get_sink_input_info pa_context_get_sink_input_info_dylibloader_orig_pulse +#define pa_context_get_sink_input_info_list pa_context_get_sink_input_info_list_dylibloader_orig_pulse +#define pa_context_move_sink_input_by_name pa_context_move_sink_input_by_name_dylibloader_orig_pulse +#define pa_context_move_sink_input_by_index pa_context_move_sink_input_by_index_dylibloader_orig_pulse +#define pa_context_set_sink_input_volume pa_context_set_sink_input_volume_dylibloader_orig_pulse +#define pa_context_set_sink_input_mute pa_context_set_sink_input_mute_dylibloader_orig_pulse +#define pa_context_kill_sink_input pa_context_kill_sink_input_dylibloader_orig_pulse +#define pa_context_get_source_output_info pa_context_get_source_output_info_dylibloader_orig_pulse +#define pa_context_get_source_output_info_list pa_context_get_source_output_info_list_dylibloader_orig_pulse +#define pa_context_move_source_output_by_name pa_context_move_source_output_by_name_dylibloader_orig_pulse +#define pa_context_move_source_output_by_index pa_context_move_source_output_by_index_dylibloader_orig_pulse +#define pa_context_set_source_output_volume pa_context_set_source_output_volume_dylibloader_orig_pulse +#define pa_context_set_source_output_mute pa_context_set_source_output_mute_dylibloader_orig_pulse +#define pa_context_kill_source_output pa_context_kill_source_output_dylibloader_orig_pulse +#define pa_context_stat pa_context_stat_dylibloader_orig_pulse +#define pa_context_get_sample_info_by_name pa_context_get_sample_info_by_name_dylibloader_orig_pulse +#define pa_context_get_sample_info_by_index pa_context_get_sample_info_by_index_dylibloader_orig_pulse +#define pa_context_get_sample_info_list pa_context_get_sample_info_list_dylibloader_orig_pulse +#define pa_context_get_autoload_info_by_name pa_context_get_autoload_info_by_name_dylibloader_orig_pulse +#define pa_context_get_autoload_info_by_index pa_context_get_autoload_info_by_index_dylibloader_orig_pulse +#define pa_context_get_autoload_info_list pa_context_get_autoload_info_list_dylibloader_orig_pulse +#define pa_context_add_autoload pa_context_add_autoload_dylibloader_orig_pulse +#define pa_context_remove_autoload_by_name pa_context_remove_autoload_by_name_dylibloader_orig_pulse +#define pa_context_remove_autoload_by_index pa_context_remove_autoload_by_index_dylibloader_orig_pulse +#define pa_context_subscribe pa_context_subscribe_dylibloader_orig_pulse +#define pa_context_set_subscribe_callback pa_context_set_subscribe_callback_dylibloader_orig_pulse +#define pa_stream_connect_upload pa_stream_connect_upload_dylibloader_orig_pulse +#define pa_stream_finish_upload pa_stream_finish_upload_dylibloader_orig_pulse +#define pa_context_remove_sample pa_context_remove_sample_dylibloader_orig_pulse +#define pa_context_play_sample pa_context_play_sample_dylibloader_orig_pulse +#define pa_context_play_sample_with_proplist pa_context_play_sample_with_proplist_dylibloader_orig_pulse +#define pa_strerror pa_strerror_dylibloader_orig_pulse +#define pa_xmalloc pa_xmalloc_dylibloader_orig_pulse +#define pa_xmalloc0 pa_xmalloc0_dylibloader_orig_pulse +#define pa_xrealloc pa_xrealloc_dylibloader_orig_pulse +#define pa_xfree pa_xfree_dylibloader_orig_pulse +#define pa_xstrdup pa_xstrdup_dylibloader_orig_pulse +#define pa_xstrndup pa_xstrndup_dylibloader_orig_pulse +#define pa_xmemdup pa_xmemdup_dylibloader_orig_pulse +#define pa_utf8_valid pa_utf8_valid_dylibloader_orig_pulse +#define pa_ascii_valid pa_ascii_valid_dylibloader_orig_pulse +#define pa_utf8_filter pa_utf8_filter_dylibloader_orig_pulse +#define pa_ascii_filter pa_ascii_filter_dylibloader_orig_pulse +#define pa_utf8_to_locale pa_utf8_to_locale_dylibloader_orig_pulse +#define pa_locale_to_utf8 pa_locale_to_utf8_dylibloader_orig_pulse +#define pa_threaded_mainloop_new pa_threaded_mainloop_new_dylibloader_orig_pulse +#define pa_threaded_mainloop_free pa_threaded_mainloop_free_dylibloader_orig_pulse +#define pa_threaded_mainloop_start pa_threaded_mainloop_start_dylibloader_orig_pulse +#define pa_threaded_mainloop_stop pa_threaded_mainloop_stop_dylibloader_orig_pulse +#define pa_threaded_mainloop_lock pa_threaded_mainloop_lock_dylibloader_orig_pulse +#define pa_threaded_mainloop_unlock pa_threaded_mainloop_unlock_dylibloader_orig_pulse +#define pa_threaded_mainloop_wait pa_threaded_mainloop_wait_dylibloader_orig_pulse +#define pa_threaded_mainloop_signal pa_threaded_mainloop_signal_dylibloader_orig_pulse +#define pa_threaded_mainloop_accept pa_threaded_mainloop_accept_dylibloader_orig_pulse +#define pa_threaded_mainloop_get_retval pa_threaded_mainloop_get_retval_dylibloader_orig_pulse +#define pa_threaded_mainloop_get_api pa_threaded_mainloop_get_api_dylibloader_orig_pulse +#define pa_threaded_mainloop_in_thread pa_threaded_mainloop_in_thread_dylibloader_orig_pulse +#define pa_threaded_mainloop_set_name pa_threaded_mainloop_set_name_dylibloader_orig_pulse +#define pa_threaded_mainloop_once_unlocked pa_threaded_mainloop_once_unlocked_dylibloader_orig_pulse +#define pa_mainloop_new pa_mainloop_new_dylibloader_orig_pulse +#define pa_mainloop_free pa_mainloop_free_dylibloader_orig_pulse +#define pa_mainloop_prepare pa_mainloop_prepare_dylibloader_orig_pulse +#define pa_mainloop_poll pa_mainloop_poll_dylibloader_orig_pulse +#define pa_mainloop_dispatch pa_mainloop_dispatch_dylibloader_orig_pulse +#define pa_mainloop_get_retval pa_mainloop_get_retval_dylibloader_orig_pulse +#define pa_mainloop_iterate pa_mainloop_iterate_dylibloader_orig_pulse +#define pa_mainloop_run pa_mainloop_run_dylibloader_orig_pulse +#define pa_mainloop_get_api pa_mainloop_get_api_dylibloader_orig_pulse +#define pa_mainloop_quit pa_mainloop_quit_dylibloader_orig_pulse +#define pa_mainloop_wakeup pa_mainloop_wakeup_dylibloader_orig_pulse +#define pa_mainloop_set_poll_func pa_mainloop_set_poll_func_dylibloader_orig_pulse +#define pa_signal_init pa_signal_init_dylibloader_orig_pulse +#define pa_signal_done pa_signal_done_dylibloader_orig_pulse +#define pa_signal_new pa_signal_new_dylibloader_orig_pulse +#define pa_signal_free pa_signal_free_dylibloader_orig_pulse +#define pa_signal_set_destroy pa_signal_set_destroy_dylibloader_orig_pulse +#define pa_get_user_name pa_get_user_name_dylibloader_orig_pulse +#define pa_get_host_name pa_get_host_name_dylibloader_orig_pulse +#define pa_get_fqdn pa_get_fqdn_dylibloader_orig_pulse +#define pa_get_home_dir pa_get_home_dir_dylibloader_orig_pulse +#define pa_get_binary_name pa_get_binary_name_dylibloader_orig_pulse +#define pa_path_get_filename pa_path_get_filename_dylibloader_orig_pulse +#define pa_msleep pa_msleep_dylibloader_orig_pulse +#define pa_thread_make_realtime pa_thread_make_realtime_dylibloader_orig_pulse +#define pa_gettimeofday pa_gettimeofday_dylibloader_orig_pulse +#define pa_timeval_diff pa_timeval_diff_dylibloader_orig_pulse +#define pa_timeval_cmp pa_timeval_cmp_dylibloader_orig_pulse +#define pa_timeval_age pa_timeval_age_dylibloader_orig_pulse +#define pa_timeval_add pa_timeval_add_dylibloader_orig_pulse +#define pa_timeval_sub pa_timeval_sub_dylibloader_orig_pulse +#define pa_timeval_store pa_timeval_store_dylibloader_orig_pulse +#define pa_timeval_load pa_timeval_load_dylibloader_orig_pulse +#define pa_rtclock_now pa_rtclock_now_dylibloader_orig_pulse +#include <pulse/pulseaudio.h> +#undef pa_get_library_version +#undef pa_bytes_per_second +#undef pa_frame_size +#undef pa_sample_size +#undef pa_sample_size_of_format +#undef pa_bytes_to_usec +#undef pa_usec_to_bytes +#undef pa_sample_spec_init +#undef pa_sample_format_valid +#undef pa_sample_rate_valid +#undef pa_channels_valid +#undef pa_sample_spec_valid +#undef pa_sample_spec_equal +#undef pa_sample_format_to_string +#undef pa_parse_sample_format +#undef pa_sample_spec_snprint +#undef pa_bytes_snprint +#undef pa_sample_format_is_le +#undef pa_sample_format_is_be +#undef pa_direction_valid +#undef pa_direction_to_string +#undef pa_mainloop_api_once +#undef pa_proplist_new +#undef pa_proplist_free +#undef pa_proplist_key_valid +#undef pa_proplist_sets +#undef pa_proplist_setp +#undef pa_proplist_setf +#undef pa_proplist_set +#undef pa_proplist_gets +#undef pa_proplist_get +#undef pa_proplist_update +#undef pa_proplist_unset +#undef pa_proplist_unset_many +#undef pa_proplist_iterate +#undef pa_proplist_to_string +#undef pa_proplist_to_string_sep +#undef pa_proplist_from_string +#undef pa_proplist_contains +#undef pa_proplist_clear +#undef pa_proplist_copy +#undef pa_proplist_size +#undef pa_proplist_isempty +#undef pa_proplist_equal +#undef pa_channel_map_init +#undef pa_channel_map_init_mono +#undef pa_channel_map_init_stereo +#undef pa_channel_map_init_auto +#undef pa_channel_map_init_extend +#undef pa_channel_position_to_string +#undef pa_channel_position_from_string +#undef pa_channel_position_to_pretty_string +#undef pa_channel_map_snprint +#undef pa_channel_map_parse +#undef pa_channel_map_equal +#undef pa_channel_map_valid +#undef pa_channel_map_compatible +#undef pa_channel_map_superset +#undef pa_channel_map_can_balance +#undef pa_channel_map_can_fade +#undef pa_channel_map_can_lfe_balance +#undef pa_channel_map_to_name +#undef pa_channel_map_to_pretty_name +#undef pa_channel_map_has_position +#undef pa_channel_map_mask +#undef pa_encoding_to_string +#undef pa_encoding_from_string +#undef pa_format_info_new +#undef pa_format_info_copy +#undef pa_format_info_free +#undef pa_format_info_valid +#undef pa_format_info_is_pcm +#undef pa_format_info_is_compatible +#undef pa_format_info_snprint +#undef pa_format_info_from_string +#undef pa_format_info_from_sample_spec +#undef pa_format_info_to_sample_spec +#undef pa_format_info_get_prop_type +#undef pa_format_info_get_prop_int +#undef pa_format_info_get_prop_int_range +#undef pa_format_info_get_prop_int_array +#undef pa_format_info_get_prop_string +#undef pa_format_info_get_prop_string_array +#undef pa_format_info_free_string_array +#undef pa_format_info_get_sample_format +#undef pa_format_info_get_rate +#undef pa_format_info_get_channels +#undef pa_format_info_get_channel_map +#undef pa_format_info_set_prop_int +#undef pa_format_info_set_prop_int_array +#undef pa_format_info_set_prop_int_range +#undef pa_format_info_set_prop_string +#undef pa_format_info_set_prop_string_array +#undef pa_format_info_set_sample_format +#undef pa_format_info_set_rate +#undef pa_format_info_set_channels +#undef pa_format_info_set_channel_map +#undef pa_operation_ref +#undef pa_operation_unref +#undef pa_operation_cancel +#undef pa_operation_get_state +#undef pa_operation_set_state_callback +#undef pa_context_new +#undef pa_context_new_with_proplist +#undef pa_context_unref +#undef pa_context_ref +#undef pa_context_set_state_callback +#undef pa_context_set_event_callback +#undef pa_context_errno +#undef pa_context_is_pending +#undef pa_context_get_state +#undef pa_context_connect +#undef pa_context_disconnect +#undef pa_context_drain +#undef pa_context_exit_daemon +#undef pa_context_set_default_sink +#undef pa_context_set_default_source +#undef pa_context_is_local +#undef pa_context_set_name +#undef pa_context_get_server +#undef pa_context_get_protocol_version +#undef pa_context_get_server_protocol_version +#undef pa_context_proplist_update +#undef pa_context_proplist_remove +#undef pa_context_get_index +#undef pa_context_rttime_new +#undef pa_context_rttime_restart +#undef pa_context_get_tile_size +#undef pa_context_load_cookie_from_file +#undef pa_cvolume_equal +#undef pa_cvolume_init +#undef pa_cvolume_set +#undef pa_cvolume_snprint +#undef pa_sw_cvolume_snprint_dB +#undef pa_cvolume_snprint_verbose +#undef pa_volume_snprint +#undef pa_sw_volume_snprint_dB +#undef pa_volume_snprint_verbose +#undef pa_cvolume_avg +#undef pa_cvolume_avg_mask +#undef pa_cvolume_max +#undef pa_cvolume_max_mask +#undef pa_cvolume_min +#undef pa_cvolume_min_mask +#undef pa_cvolume_valid +#undef pa_cvolume_channels_equal_to +#undef pa_sw_volume_multiply +#undef pa_sw_cvolume_multiply +#undef pa_sw_cvolume_multiply_scalar +#undef pa_sw_volume_divide +#undef pa_sw_cvolume_divide +#undef pa_sw_cvolume_divide_scalar +#undef pa_sw_volume_from_dB +#undef pa_sw_volume_to_dB +#undef pa_sw_volume_from_linear +#undef pa_sw_volume_to_linear +#undef pa_cvolume_remap +#undef pa_cvolume_compatible +#undef pa_cvolume_compatible_with_channel_map +#undef pa_cvolume_get_balance +#undef pa_cvolume_set_balance +#undef pa_cvolume_get_fade +#undef pa_cvolume_set_fade +#undef pa_cvolume_get_lfe_balance +#undef pa_cvolume_set_lfe_balance +#undef pa_cvolume_scale +#undef pa_cvolume_scale_mask +#undef pa_cvolume_set_position +#undef pa_cvolume_get_position +#undef pa_cvolume_merge +#undef pa_cvolume_inc_clamp +#undef pa_cvolume_inc +#undef pa_cvolume_dec +#undef pa_stream_new +#undef pa_stream_new_with_proplist +#undef pa_stream_new_extended +#undef pa_stream_unref +#undef pa_stream_ref +#undef pa_stream_get_state +#undef pa_stream_get_context +#undef pa_stream_get_index +#undef pa_stream_get_device_index +#undef pa_stream_get_device_name +#undef pa_stream_is_suspended +#undef pa_stream_is_corked +#undef pa_stream_connect_playback +#undef pa_stream_connect_record +#undef pa_stream_disconnect +#undef pa_stream_begin_write +#undef pa_stream_cancel_write +#undef pa_stream_write +#undef pa_stream_write_ext_free +#undef pa_stream_peek +#undef pa_stream_drop +#undef pa_stream_writable_size +#undef pa_stream_readable_size +#undef pa_stream_drain +#undef pa_stream_update_timing_info +#undef pa_stream_set_state_callback +#undef pa_stream_set_write_callback +#undef pa_stream_set_read_callback +#undef pa_stream_set_overflow_callback +#undef pa_stream_get_underflow_index +#undef pa_stream_set_underflow_callback +#undef pa_stream_set_started_callback +#undef pa_stream_set_latency_update_callback +#undef pa_stream_set_moved_callback +#undef pa_stream_set_suspended_callback +#undef pa_stream_set_event_callback +#undef pa_stream_set_buffer_attr_callback +#undef pa_stream_cork +#undef pa_stream_flush +#undef pa_stream_prebuf +#undef pa_stream_trigger +#undef pa_stream_set_name +#undef pa_stream_get_time +#undef pa_stream_get_latency +#undef pa_stream_get_timing_info +#undef pa_stream_get_sample_spec +#undef pa_stream_get_channel_map +#undef pa_stream_get_format_info +#undef pa_stream_get_buffer_attr +#undef pa_stream_set_buffer_attr +#undef pa_stream_update_sample_rate +#undef pa_stream_proplist_update +#undef pa_stream_proplist_remove +#undef pa_stream_set_monitor_stream +#undef pa_stream_get_monitor_stream +#undef pa_context_get_sink_info_by_name +#undef pa_context_get_sink_info_by_index +#undef pa_context_get_sink_info_list +#undef pa_context_set_sink_volume_by_index +#undef pa_context_set_sink_volume_by_name +#undef pa_context_set_sink_mute_by_index +#undef pa_context_set_sink_mute_by_name +#undef pa_context_suspend_sink_by_name +#undef pa_context_suspend_sink_by_index +#undef pa_context_set_sink_port_by_index +#undef pa_context_set_sink_port_by_name +#undef pa_context_get_source_info_by_name +#undef pa_context_get_source_info_by_index +#undef pa_context_get_source_info_list +#undef pa_context_set_source_volume_by_index +#undef pa_context_set_source_volume_by_name +#undef pa_context_set_source_mute_by_index +#undef pa_context_set_source_mute_by_name +#undef pa_context_suspend_source_by_name +#undef pa_context_suspend_source_by_index +#undef pa_context_set_source_port_by_index +#undef pa_context_set_source_port_by_name +#undef pa_context_get_server_info +#undef pa_context_get_module_info +#undef pa_context_get_module_info_list +#undef pa_context_load_module +#undef pa_context_unload_module +#undef pa_context_get_client_info +#undef pa_context_get_client_info_list +#undef pa_context_kill_client +#undef pa_context_get_card_info_by_index +#undef pa_context_get_card_info_by_name +#undef pa_context_get_card_info_list +#undef pa_context_set_card_profile_by_index +#undef pa_context_set_card_profile_by_name +#undef pa_context_set_port_latency_offset +#undef pa_context_get_sink_input_info +#undef pa_context_get_sink_input_info_list +#undef pa_context_move_sink_input_by_name +#undef pa_context_move_sink_input_by_index +#undef pa_context_set_sink_input_volume +#undef pa_context_set_sink_input_mute +#undef pa_context_kill_sink_input +#undef pa_context_get_source_output_info +#undef pa_context_get_source_output_info_list +#undef pa_context_move_source_output_by_name +#undef pa_context_move_source_output_by_index +#undef pa_context_set_source_output_volume +#undef pa_context_set_source_output_mute +#undef pa_context_kill_source_output +#undef pa_context_stat +#undef pa_context_get_sample_info_by_name +#undef pa_context_get_sample_info_by_index +#undef pa_context_get_sample_info_list +#undef pa_context_get_autoload_info_by_name +#undef pa_context_get_autoload_info_by_index +#undef pa_context_get_autoload_info_list +#undef pa_context_add_autoload +#undef pa_context_remove_autoload_by_name +#undef pa_context_remove_autoload_by_index +#undef pa_context_subscribe +#undef pa_context_set_subscribe_callback +#undef pa_stream_connect_upload +#undef pa_stream_finish_upload +#undef pa_context_remove_sample +#undef pa_context_play_sample +#undef pa_context_play_sample_with_proplist +#undef pa_strerror +#undef pa_xmalloc +#undef pa_xmalloc0 +#undef pa_xrealloc +#undef pa_xfree +#undef pa_xstrdup +#undef pa_xstrndup +#undef pa_xmemdup +#undef pa_utf8_valid +#undef pa_ascii_valid +#undef pa_utf8_filter +#undef pa_ascii_filter +#undef pa_utf8_to_locale +#undef pa_locale_to_utf8 +#undef pa_threaded_mainloop_new +#undef pa_threaded_mainloop_free +#undef pa_threaded_mainloop_start +#undef pa_threaded_mainloop_stop +#undef pa_threaded_mainloop_lock +#undef pa_threaded_mainloop_unlock +#undef pa_threaded_mainloop_wait +#undef pa_threaded_mainloop_signal +#undef pa_threaded_mainloop_accept +#undef pa_threaded_mainloop_get_retval +#undef pa_threaded_mainloop_get_api +#undef pa_threaded_mainloop_in_thread +#undef pa_threaded_mainloop_set_name +#undef pa_threaded_mainloop_once_unlocked +#undef pa_mainloop_new +#undef pa_mainloop_free +#undef pa_mainloop_prepare +#undef pa_mainloop_poll +#undef pa_mainloop_dispatch +#undef pa_mainloop_get_retval +#undef pa_mainloop_iterate +#undef pa_mainloop_run +#undef pa_mainloop_get_api +#undef pa_mainloop_quit +#undef pa_mainloop_wakeup +#undef pa_mainloop_set_poll_func +#undef pa_signal_init +#undef pa_signal_done +#undef pa_signal_new +#undef pa_signal_free +#undef pa_signal_set_destroy +#undef pa_get_user_name +#undef pa_get_host_name +#undef pa_get_fqdn +#undef pa_get_home_dir +#undef pa_get_binary_name +#undef pa_path_get_filename +#undef pa_msleep +#undef pa_thread_make_realtime +#undef pa_gettimeofday +#undef pa_timeval_diff +#undef pa_timeval_cmp +#undef pa_timeval_age +#undef pa_timeval_add +#undef pa_timeval_sub +#undef pa_timeval_store +#undef pa_timeval_load +#undef pa_rtclock_now +#ifdef __cplusplus +extern "C" { +#endif +#define pa_get_library_version pa_get_library_version_dylibloader_wrapper_pulse +#define pa_bytes_per_second pa_bytes_per_second_dylibloader_wrapper_pulse +#define pa_frame_size pa_frame_size_dylibloader_wrapper_pulse +#define pa_sample_size pa_sample_size_dylibloader_wrapper_pulse +#define pa_sample_size_of_format pa_sample_size_of_format_dylibloader_wrapper_pulse +#define pa_bytes_to_usec pa_bytes_to_usec_dylibloader_wrapper_pulse +#define pa_usec_to_bytes pa_usec_to_bytes_dylibloader_wrapper_pulse +#define pa_sample_spec_init pa_sample_spec_init_dylibloader_wrapper_pulse +#define pa_sample_format_valid pa_sample_format_valid_dylibloader_wrapper_pulse +#define pa_sample_rate_valid pa_sample_rate_valid_dylibloader_wrapper_pulse +#define pa_channels_valid pa_channels_valid_dylibloader_wrapper_pulse +#define pa_sample_spec_valid pa_sample_spec_valid_dylibloader_wrapper_pulse +#define pa_sample_spec_equal pa_sample_spec_equal_dylibloader_wrapper_pulse +#define pa_sample_format_to_string pa_sample_format_to_string_dylibloader_wrapper_pulse +#define pa_parse_sample_format pa_parse_sample_format_dylibloader_wrapper_pulse +#define pa_sample_spec_snprint pa_sample_spec_snprint_dylibloader_wrapper_pulse +#define pa_bytes_snprint pa_bytes_snprint_dylibloader_wrapper_pulse +#define pa_sample_format_is_le pa_sample_format_is_le_dylibloader_wrapper_pulse +#define pa_sample_format_is_be pa_sample_format_is_be_dylibloader_wrapper_pulse +#define pa_direction_valid pa_direction_valid_dylibloader_wrapper_pulse +#define pa_direction_to_string pa_direction_to_string_dylibloader_wrapper_pulse +#define pa_mainloop_api_once pa_mainloop_api_once_dylibloader_wrapper_pulse +#define pa_proplist_new pa_proplist_new_dylibloader_wrapper_pulse +#define pa_proplist_free pa_proplist_free_dylibloader_wrapper_pulse +#define pa_proplist_key_valid pa_proplist_key_valid_dylibloader_wrapper_pulse +#define pa_proplist_sets pa_proplist_sets_dylibloader_wrapper_pulse +#define pa_proplist_setp pa_proplist_setp_dylibloader_wrapper_pulse +#define pa_proplist_setf pa_proplist_setf_dylibloader_wrapper_pulse +#define pa_proplist_set pa_proplist_set_dylibloader_wrapper_pulse +#define pa_proplist_gets pa_proplist_gets_dylibloader_wrapper_pulse +#define pa_proplist_get pa_proplist_get_dylibloader_wrapper_pulse +#define pa_proplist_update pa_proplist_update_dylibloader_wrapper_pulse +#define pa_proplist_unset pa_proplist_unset_dylibloader_wrapper_pulse +#define pa_proplist_unset_many pa_proplist_unset_many_dylibloader_wrapper_pulse +#define pa_proplist_iterate pa_proplist_iterate_dylibloader_wrapper_pulse +#define pa_proplist_to_string pa_proplist_to_string_dylibloader_wrapper_pulse +#define pa_proplist_to_string_sep pa_proplist_to_string_sep_dylibloader_wrapper_pulse +#define pa_proplist_from_string pa_proplist_from_string_dylibloader_wrapper_pulse +#define pa_proplist_contains pa_proplist_contains_dylibloader_wrapper_pulse +#define pa_proplist_clear pa_proplist_clear_dylibloader_wrapper_pulse +#define pa_proplist_copy pa_proplist_copy_dylibloader_wrapper_pulse +#define pa_proplist_size pa_proplist_size_dylibloader_wrapper_pulse +#define pa_proplist_isempty pa_proplist_isempty_dylibloader_wrapper_pulse +#define pa_proplist_equal pa_proplist_equal_dylibloader_wrapper_pulse +#define pa_channel_map_init pa_channel_map_init_dylibloader_wrapper_pulse +#define pa_channel_map_init_mono pa_channel_map_init_mono_dylibloader_wrapper_pulse +#define pa_channel_map_init_stereo pa_channel_map_init_stereo_dylibloader_wrapper_pulse +#define pa_channel_map_init_auto pa_channel_map_init_auto_dylibloader_wrapper_pulse +#define pa_channel_map_init_extend pa_channel_map_init_extend_dylibloader_wrapper_pulse +#define pa_channel_position_to_string pa_channel_position_to_string_dylibloader_wrapper_pulse +#define pa_channel_position_from_string pa_channel_position_from_string_dylibloader_wrapper_pulse +#define pa_channel_position_to_pretty_string pa_channel_position_to_pretty_string_dylibloader_wrapper_pulse +#define pa_channel_map_snprint pa_channel_map_snprint_dylibloader_wrapper_pulse +#define pa_channel_map_parse pa_channel_map_parse_dylibloader_wrapper_pulse +#define pa_channel_map_equal pa_channel_map_equal_dylibloader_wrapper_pulse +#define pa_channel_map_valid pa_channel_map_valid_dylibloader_wrapper_pulse +#define pa_channel_map_compatible pa_channel_map_compatible_dylibloader_wrapper_pulse +#define pa_channel_map_superset pa_channel_map_superset_dylibloader_wrapper_pulse +#define pa_channel_map_can_balance pa_channel_map_can_balance_dylibloader_wrapper_pulse +#define pa_channel_map_can_fade pa_channel_map_can_fade_dylibloader_wrapper_pulse +#define pa_channel_map_can_lfe_balance pa_channel_map_can_lfe_balance_dylibloader_wrapper_pulse +#define pa_channel_map_to_name pa_channel_map_to_name_dylibloader_wrapper_pulse +#define pa_channel_map_to_pretty_name pa_channel_map_to_pretty_name_dylibloader_wrapper_pulse +#define pa_channel_map_has_position pa_channel_map_has_position_dylibloader_wrapper_pulse +#define pa_channel_map_mask pa_channel_map_mask_dylibloader_wrapper_pulse +#define pa_encoding_to_string pa_encoding_to_string_dylibloader_wrapper_pulse +#define pa_encoding_from_string pa_encoding_from_string_dylibloader_wrapper_pulse +#define pa_format_info_new pa_format_info_new_dylibloader_wrapper_pulse +#define pa_format_info_copy pa_format_info_copy_dylibloader_wrapper_pulse +#define pa_format_info_free pa_format_info_free_dylibloader_wrapper_pulse +#define pa_format_info_valid pa_format_info_valid_dylibloader_wrapper_pulse +#define pa_format_info_is_pcm pa_format_info_is_pcm_dylibloader_wrapper_pulse +#define pa_format_info_is_compatible pa_format_info_is_compatible_dylibloader_wrapper_pulse +#define pa_format_info_snprint pa_format_info_snprint_dylibloader_wrapper_pulse +#define pa_format_info_from_string pa_format_info_from_string_dylibloader_wrapper_pulse +#define pa_format_info_from_sample_spec pa_format_info_from_sample_spec_dylibloader_wrapper_pulse +#define pa_format_info_to_sample_spec pa_format_info_to_sample_spec_dylibloader_wrapper_pulse +#define pa_format_info_get_prop_type pa_format_info_get_prop_type_dylibloader_wrapper_pulse +#define pa_format_info_get_prop_int pa_format_info_get_prop_int_dylibloader_wrapper_pulse +#define pa_format_info_get_prop_int_range pa_format_info_get_prop_int_range_dylibloader_wrapper_pulse +#define pa_format_info_get_prop_int_array pa_format_info_get_prop_int_array_dylibloader_wrapper_pulse +#define pa_format_info_get_prop_string pa_format_info_get_prop_string_dylibloader_wrapper_pulse +#define pa_format_info_get_prop_string_array pa_format_info_get_prop_string_array_dylibloader_wrapper_pulse +#define pa_format_info_free_string_array pa_format_info_free_string_array_dylibloader_wrapper_pulse +#define pa_format_info_get_sample_format pa_format_info_get_sample_format_dylibloader_wrapper_pulse +#define pa_format_info_get_rate pa_format_info_get_rate_dylibloader_wrapper_pulse +#define pa_format_info_get_channels pa_format_info_get_channels_dylibloader_wrapper_pulse +#define pa_format_info_get_channel_map pa_format_info_get_channel_map_dylibloader_wrapper_pulse +#define pa_format_info_set_prop_int pa_format_info_set_prop_int_dylibloader_wrapper_pulse +#define pa_format_info_set_prop_int_array pa_format_info_set_prop_int_array_dylibloader_wrapper_pulse +#define pa_format_info_set_prop_int_range pa_format_info_set_prop_int_range_dylibloader_wrapper_pulse +#define pa_format_info_set_prop_string pa_format_info_set_prop_string_dylibloader_wrapper_pulse +#define pa_format_info_set_prop_string_array pa_format_info_set_prop_string_array_dylibloader_wrapper_pulse +#define pa_format_info_set_sample_format pa_format_info_set_sample_format_dylibloader_wrapper_pulse +#define pa_format_info_set_rate pa_format_info_set_rate_dylibloader_wrapper_pulse +#define pa_format_info_set_channels pa_format_info_set_channels_dylibloader_wrapper_pulse +#define pa_format_info_set_channel_map pa_format_info_set_channel_map_dylibloader_wrapper_pulse +#define pa_operation_ref pa_operation_ref_dylibloader_wrapper_pulse +#define pa_operation_unref pa_operation_unref_dylibloader_wrapper_pulse +#define pa_operation_cancel pa_operation_cancel_dylibloader_wrapper_pulse +#define pa_operation_get_state pa_operation_get_state_dylibloader_wrapper_pulse +#define pa_operation_set_state_callback pa_operation_set_state_callback_dylibloader_wrapper_pulse +#define pa_context_new pa_context_new_dylibloader_wrapper_pulse +#define pa_context_new_with_proplist pa_context_new_with_proplist_dylibloader_wrapper_pulse +#define pa_context_unref pa_context_unref_dylibloader_wrapper_pulse +#define pa_context_ref pa_context_ref_dylibloader_wrapper_pulse +#define pa_context_set_state_callback pa_context_set_state_callback_dylibloader_wrapper_pulse +#define pa_context_set_event_callback pa_context_set_event_callback_dylibloader_wrapper_pulse +#define pa_context_errno pa_context_errno_dylibloader_wrapper_pulse +#define pa_context_is_pending pa_context_is_pending_dylibloader_wrapper_pulse +#define pa_context_get_state pa_context_get_state_dylibloader_wrapper_pulse +#define pa_context_connect pa_context_connect_dylibloader_wrapper_pulse +#define pa_context_disconnect pa_context_disconnect_dylibloader_wrapper_pulse +#define pa_context_drain pa_context_drain_dylibloader_wrapper_pulse +#define pa_context_exit_daemon pa_context_exit_daemon_dylibloader_wrapper_pulse +#define pa_context_set_default_sink pa_context_set_default_sink_dylibloader_wrapper_pulse +#define pa_context_set_default_source pa_context_set_default_source_dylibloader_wrapper_pulse +#define pa_context_is_local pa_context_is_local_dylibloader_wrapper_pulse +#define pa_context_set_name pa_context_set_name_dylibloader_wrapper_pulse +#define pa_context_get_server pa_context_get_server_dylibloader_wrapper_pulse +#define pa_context_get_protocol_version pa_context_get_protocol_version_dylibloader_wrapper_pulse +#define pa_context_get_server_protocol_version pa_context_get_server_protocol_version_dylibloader_wrapper_pulse +#define pa_context_proplist_update pa_context_proplist_update_dylibloader_wrapper_pulse +#define pa_context_proplist_remove pa_context_proplist_remove_dylibloader_wrapper_pulse +#define pa_context_get_index pa_context_get_index_dylibloader_wrapper_pulse +#define pa_context_rttime_new pa_context_rttime_new_dylibloader_wrapper_pulse +#define pa_context_rttime_restart pa_context_rttime_restart_dylibloader_wrapper_pulse +#define pa_context_get_tile_size pa_context_get_tile_size_dylibloader_wrapper_pulse +#define pa_context_load_cookie_from_file pa_context_load_cookie_from_file_dylibloader_wrapper_pulse +#define pa_cvolume_equal pa_cvolume_equal_dylibloader_wrapper_pulse +#define pa_cvolume_init pa_cvolume_init_dylibloader_wrapper_pulse +#define pa_cvolume_set pa_cvolume_set_dylibloader_wrapper_pulse +#define pa_cvolume_snprint pa_cvolume_snprint_dylibloader_wrapper_pulse +#define pa_sw_cvolume_snprint_dB pa_sw_cvolume_snprint_dB_dylibloader_wrapper_pulse +#define pa_cvolume_snprint_verbose pa_cvolume_snprint_verbose_dylibloader_wrapper_pulse +#define pa_volume_snprint pa_volume_snprint_dylibloader_wrapper_pulse +#define pa_sw_volume_snprint_dB pa_sw_volume_snprint_dB_dylibloader_wrapper_pulse +#define pa_volume_snprint_verbose pa_volume_snprint_verbose_dylibloader_wrapper_pulse +#define pa_cvolume_avg pa_cvolume_avg_dylibloader_wrapper_pulse +#define pa_cvolume_avg_mask pa_cvolume_avg_mask_dylibloader_wrapper_pulse +#define pa_cvolume_max pa_cvolume_max_dylibloader_wrapper_pulse +#define pa_cvolume_max_mask pa_cvolume_max_mask_dylibloader_wrapper_pulse +#define pa_cvolume_min pa_cvolume_min_dylibloader_wrapper_pulse +#define pa_cvolume_min_mask pa_cvolume_min_mask_dylibloader_wrapper_pulse +#define pa_cvolume_valid pa_cvolume_valid_dylibloader_wrapper_pulse +#define pa_cvolume_channels_equal_to pa_cvolume_channels_equal_to_dylibloader_wrapper_pulse +#define pa_sw_volume_multiply pa_sw_volume_multiply_dylibloader_wrapper_pulse +#define pa_sw_cvolume_multiply pa_sw_cvolume_multiply_dylibloader_wrapper_pulse +#define pa_sw_cvolume_multiply_scalar pa_sw_cvolume_multiply_scalar_dylibloader_wrapper_pulse +#define pa_sw_volume_divide pa_sw_volume_divide_dylibloader_wrapper_pulse +#define pa_sw_cvolume_divide pa_sw_cvolume_divide_dylibloader_wrapper_pulse +#define pa_sw_cvolume_divide_scalar pa_sw_cvolume_divide_scalar_dylibloader_wrapper_pulse +#define pa_sw_volume_from_dB pa_sw_volume_from_dB_dylibloader_wrapper_pulse +#define pa_sw_volume_to_dB pa_sw_volume_to_dB_dylibloader_wrapper_pulse +#define pa_sw_volume_from_linear pa_sw_volume_from_linear_dylibloader_wrapper_pulse +#define pa_sw_volume_to_linear pa_sw_volume_to_linear_dylibloader_wrapper_pulse +#define pa_cvolume_remap pa_cvolume_remap_dylibloader_wrapper_pulse +#define pa_cvolume_compatible pa_cvolume_compatible_dylibloader_wrapper_pulse +#define pa_cvolume_compatible_with_channel_map pa_cvolume_compatible_with_channel_map_dylibloader_wrapper_pulse +#define pa_cvolume_get_balance pa_cvolume_get_balance_dylibloader_wrapper_pulse +#define pa_cvolume_set_balance pa_cvolume_set_balance_dylibloader_wrapper_pulse +#define pa_cvolume_get_fade pa_cvolume_get_fade_dylibloader_wrapper_pulse +#define pa_cvolume_set_fade pa_cvolume_set_fade_dylibloader_wrapper_pulse +#define pa_cvolume_get_lfe_balance pa_cvolume_get_lfe_balance_dylibloader_wrapper_pulse +#define pa_cvolume_set_lfe_balance pa_cvolume_set_lfe_balance_dylibloader_wrapper_pulse +#define pa_cvolume_scale pa_cvolume_scale_dylibloader_wrapper_pulse +#define pa_cvolume_scale_mask pa_cvolume_scale_mask_dylibloader_wrapper_pulse +#define pa_cvolume_set_position pa_cvolume_set_position_dylibloader_wrapper_pulse +#define pa_cvolume_get_position pa_cvolume_get_position_dylibloader_wrapper_pulse +#define pa_cvolume_merge pa_cvolume_merge_dylibloader_wrapper_pulse +#define pa_cvolume_inc_clamp pa_cvolume_inc_clamp_dylibloader_wrapper_pulse +#define pa_cvolume_inc pa_cvolume_inc_dylibloader_wrapper_pulse +#define pa_cvolume_dec pa_cvolume_dec_dylibloader_wrapper_pulse +#define pa_stream_new pa_stream_new_dylibloader_wrapper_pulse +#define pa_stream_new_with_proplist pa_stream_new_with_proplist_dylibloader_wrapper_pulse +#define pa_stream_new_extended pa_stream_new_extended_dylibloader_wrapper_pulse +#define pa_stream_unref pa_stream_unref_dylibloader_wrapper_pulse +#define pa_stream_ref pa_stream_ref_dylibloader_wrapper_pulse +#define pa_stream_get_state pa_stream_get_state_dylibloader_wrapper_pulse +#define pa_stream_get_context pa_stream_get_context_dylibloader_wrapper_pulse +#define pa_stream_get_index pa_stream_get_index_dylibloader_wrapper_pulse +#define pa_stream_get_device_index pa_stream_get_device_index_dylibloader_wrapper_pulse +#define pa_stream_get_device_name pa_stream_get_device_name_dylibloader_wrapper_pulse +#define pa_stream_is_suspended pa_stream_is_suspended_dylibloader_wrapper_pulse +#define pa_stream_is_corked pa_stream_is_corked_dylibloader_wrapper_pulse +#define pa_stream_connect_playback pa_stream_connect_playback_dylibloader_wrapper_pulse +#define pa_stream_connect_record pa_stream_connect_record_dylibloader_wrapper_pulse +#define pa_stream_disconnect pa_stream_disconnect_dylibloader_wrapper_pulse +#define pa_stream_begin_write pa_stream_begin_write_dylibloader_wrapper_pulse +#define pa_stream_cancel_write pa_stream_cancel_write_dylibloader_wrapper_pulse +#define pa_stream_write pa_stream_write_dylibloader_wrapper_pulse +#define pa_stream_write_ext_free pa_stream_write_ext_free_dylibloader_wrapper_pulse +#define pa_stream_peek pa_stream_peek_dylibloader_wrapper_pulse +#define pa_stream_drop pa_stream_drop_dylibloader_wrapper_pulse +#define pa_stream_writable_size pa_stream_writable_size_dylibloader_wrapper_pulse +#define pa_stream_readable_size pa_stream_readable_size_dylibloader_wrapper_pulse +#define pa_stream_drain pa_stream_drain_dylibloader_wrapper_pulse +#define pa_stream_update_timing_info pa_stream_update_timing_info_dylibloader_wrapper_pulse +#define pa_stream_set_state_callback pa_stream_set_state_callback_dylibloader_wrapper_pulse +#define pa_stream_set_write_callback pa_stream_set_write_callback_dylibloader_wrapper_pulse +#define pa_stream_set_read_callback pa_stream_set_read_callback_dylibloader_wrapper_pulse +#define pa_stream_set_overflow_callback pa_stream_set_overflow_callback_dylibloader_wrapper_pulse +#define pa_stream_get_underflow_index pa_stream_get_underflow_index_dylibloader_wrapper_pulse +#define pa_stream_set_underflow_callback pa_stream_set_underflow_callback_dylibloader_wrapper_pulse +#define pa_stream_set_started_callback pa_stream_set_started_callback_dylibloader_wrapper_pulse +#define pa_stream_set_latency_update_callback pa_stream_set_latency_update_callback_dylibloader_wrapper_pulse +#define pa_stream_set_moved_callback pa_stream_set_moved_callback_dylibloader_wrapper_pulse +#define pa_stream_set_suspended_callback pa_stream_set_suspended_callback_dylibloader_wrapper_pulse +#define pa_stream_set_event_callback pa_stream_set_event_callback_dylibloader_wrapper_pulse +#define pa_stream_set_buffer_attr_callback pa_stream_set_buffer_attr_callback_dylibloader_wrapper_pulse +#define pa_stream_cork pa_stream_cork_dylibloader_wrapper_pulse +#define pa_stream_flush pa_stream_flush_dylibloader_wrapper_pulse +#define pa_stream_prebuf pa_stream_prebuf_dylibloader_wrapper_pulse +#define pa_stream_trigger pa_stream_trigger_dylibloader_wrapper_pulse +#define pa_stream_set_name pa_stream_set_name_dylibloader_wrapper_pulse +#define pa_stream_get_time pa_stream_get_time_dylibloader_wrapper_pulse +#define pa_stream_get_latency pa_stream_get_latency_dylibloader_wrapper_pulse +#define pa_stream_get_timing_info pa_stream_get_timing_info_dylibloader_wrapper_pulse +#define pa_stream_get_sample_spec pa_stream_get_sample_spec_dylibloader_wrapper_pulse +#define pa_stream_get_channel_map pa_stream_get_channel_map_dylibloader_wrapper_pulse +#define pa_stream_get_format_info pa_stream_get_format_info_dylibloader_wrapper_pulse +#define pa_stream_get_buffer_attr pa_stream_get_buffer_attr_dylibloader_wrapper_pulse +#define pa_stream_set_buffer_attr pa_stream_set_buffer_attr_dylibloader_wrapper_pulse +#define pa_stream_update_sample_rate pa_stream_update_sample_rate_dylibloader_wrapper_pulse +#define pa_stream_proplist_update pa_stream_proplist_update_dylibloader_wrapper_pulse +#define pa_stream_proplist_remove pa_stream_proplist_remove_dylibloader_wrapper_pulse +#define pa_stream_set_monitor_stream pa_stream_set_monitor_stream_dylibloader_wrapper_pulse +#define pa_stream_get_monitor_stream pa_stream_get_monitor_stream_dylibloader_wrapper_pulse +#define pa_context_get_sink_info_by_name pa_context_get_sink_info_by_name_dylibloader_wrapper_pulse +#define pa_context_get_sink_info_by_index pa_context_get_sink_info_by_index_dylibloader_wrapper_pulse +#define pa_context_get_sink_info_list pa_context_get_sink_info_list_dylibloader_wrapper_pulse +#define pa_context_set_sink_volume_by_index pa_context_set_sink_volume_by_index_dylibloader_wrapper_pulse +#define pa_context_set_sink_volume_by_name pa_context_set_sink_volume_by_name_dylibloader_wrapper_pulse +#define pa_context_set_sink_mute_by_index pa_context_set_sink_mute_by_index_dylibloader_wrapper_pulse +#define pa_context_set_sink_mute_by_name pa_context_set_sink_mute_by_name_dylibloader_wrapper_pulse +#define pa_context_suspend_sink_by_name pa_context_suspend_sink_by_name_dylibloader_wrapper_pulse +#define pa_context_suspend_sink_by_index pa_context_suspend_sink_by_index_dylibloader_wrapper_pulse +#define pa_context_set_sink_port_by_index pa_context_set_sink_port_by_index_dylibloader_wrapper_pulse +#define pa_context_set_sink_port_by_name pa_context_set_sink_port_by_name_dylibloader_wrapper_pulse +#define pa_context_get_source_info_by_name pa_context_get_source_info_by_name_dylibloader_wrapper_pulse +#define pa_context_get_source_info_by_index pa_context_get_source_info_by_index_dylibloader_wrapper_pulse +#define pa_context_get_source_info_list pa_context_get_source_info_list_dylibloader_wrapper_pulse +#define pa_context_set_source_volume_by_index pa_context_set_source_volume_by_index_dylibloader_wrapper_pulse +#define pa_context_set_source_volume_by_name pa_context_set_source_volume_by_name_dylibloader_wrapper_pulse +#define pa_context_set_source_mute_by_index pa_context_set_source_mute_by_index_dylibloader_wrapper_pulse +#define pa_context_set_source_mute_by_name pa_context_set_source_mute_by_name_dylibloader_wrapper_pulse +#define pa_context_suspend_source_by_name pa_context_suspend_source_by_name_dylibloader_wrapper_pulse +#define pa_context_suspend_source_by_index pa_context_suspend_source_by_index_dylibloader_wrapper_pulse +#define pa_context_set_source_port_by_index pa_context_set_source_port_by_index_dylibloader_wrapper_pulse +#define pa_context_set_source_port_by_name pa_context_set_source_port_by_name_dylibloader_wrapper_pulse +#define pa_context_get_server_info pa_context_get_server_info_dylibloader_wrapper_pulse +#define pa_context_get_module_info pa_context_get_module_info_dylibloader_wrapper_pulse +#define pa_context_get_module_info_list pa_context_get_module_info_list_dylibloader_wrapper_pulse +#define pa_context_load_module pa_context_load_module_dylibloader_wrapper_pulse +#define pa_context_unload_module pa_context_unload_module_dylibloader_wrapper_pulse +#define pa_context_get_client_info pa_context_get_client_info_dylibloader_wrapper_pulse +#define pa_context_get_client_info_list pa_context_get_client_info_list_dylibloader_wrapper_pulse +#define pa_context_kill_client pa_context_kill_client_dylibloader_wrapper_pulse +#define pa_context_get_card_info_by_index pa_context_get_card_info_by_index_dylibloader_wrapper_pulse +#define pa_context_get_card_info_by_name pa_context_get_card_info_by_name_dylibloader_wrapper_pulse +#define pa_context_get_card_info_list pa_context_get_card_info_list_dylibloader_wrapper_pulse +#define pa_context_set_card_profile_by_index pa_context_set_card_profile_by_index_dylibloader_wrapper_pulse +#define pa_context_set_card_profile_by_name pa_context_set_card_profile_by_name_dylibloader_wrapper_pulse +#define pa_context_set_port_latency_offset pa_context_set_port_latency_offset_dylibloader_wrapper_pulse +#define pa_context_get_sink_input_info pa_context_get_sink_input_info_dylibloader_wrapper_pulse +#define pa_context_get_sink_input_info_list pa_context_get_sink_input_info_list_dylibloader_wrapper_pulse +#define pa_context_move_sink_input_by_name pa_context_move_sink_input_by_name_dylibloader_wrapper_pulse +#define pa_context_move_sink_input_by_index pa_context_move_sink_input_by_index_dylibloader_wrapper_pulse +#define pa_context_set_sink_input_volume pa_context_set_sink_input_volume_dylibloader_wrapper_pulse +#define pa_context_set_sink_input_mute pa_context_set_sink_input_mute_dylibloader_wrapper_pulse +#define pa_context_kill_sink_input pa_context_kill_sink_input_dylibloader_wrapper_pulse +#define pa_context_get_source_output_info pa_context_get_source_output_info_dylibloader_wrapper_pulse +#define pa_context_get_source_output_info_list pa_context_get_source_output_info_list_dylibloader_wrapper_pulse +#define pa_context_move_source_output_by_name pa_context_move_source_output_by_name_dylibloader_wrapper_pulse +#define pa_context_move_source_output_by_index pa_context_move_source_output_by_index_dylibloader_wrapper_pulse +#define pa_context_set_source_output_volume pa_context_set_source_output_volume_dylibloader_wrapper_pulse +#define pa_context_set_source_output_mute pa_context_set_source_output_mute_dylibloader_wrapper_pulse +#define pa_context_kill_source_output pa_context_kill_source_output_dylibloader_wrapper_pulse +#define pa_context_stat pa_context_stat_dylibloader_wrapper_pulse +#define pa_context_get_sample_info_by_name pa_context_get_sample_info_by_name_dylibloader_wrapper_pulse +#define pa_context_get_sample_info_by_index pa_context_get_sample_info_by_index_dylibloader_wrapper_pulse +#define pa_context_get_sample_info_list pa_context_get_sample_info_list_dylibloader_wrapper_pulse +#define pa_context_get_autoload_info_by_name pa_context_get_autoload_info_by_name_dylibloader_wrapper_pulse +#define pa_context_get_autoload_info_by_index pa_context_get_autoload_info_by_index_dylibloader_wrapper_pulse +#define pa_context_get_autoload_info_list pa_context_get_autoload_info_list_dylibloader_wrapper_pulse +#define pa_context_add_autoload pa_context_add_autoload_dylibloader_wrapper_pulse +#define pa_context_remove_autoload_by_name pa_context_remove_autoload_by_name_dylibloader_wrapper_pulse +#define pa_context_remove_autoload_by_index pa_context_remove_autoload_by_index_dylibloader_wrapper_pulse +#define pa_context_subscribe pa_context_subscribe_dylibloader_wrapper_pulse +#define pa_context_set_subscribe_callback pa_context_set_subscribe_callback_dylibloader_wrapper_pulse +#define pa_stream_connect_upload pa_stream_connect_upload_dylibloader_wrapper_pulse +#define pa_stream_finish_upload pa_stream_finish_upload_dylibloader_wrapper_pulse +#define pa_context_remove_sample pa_context_remove_sample_dylibloader_wrapper_pulse +#define pa_context_play_sample pa_context_play_sample_dylibloader_wrapper_pulse +#define pa_context_play_sample_with_proplist pa_context_play_sample_with_proplist_dylibloader_wrapper_pulse +#define pa_strerror pa_strerror_dylibloader_wrapper_pulse +#define pa_xmalloc pa_xmalloc_dylibloader_wrapper_pulse +#define pa_xmalloc0 pa_xmalloc0_dylibloader_wrapper_pulse +#define pa_xrealloc pa_xrealloc_dylibloader_wrapper_pulse +#define pa_xfree pa_xfree_dylibloader_wrapper_pulse +#define pa_xstrdup pa_xstrdup_dylibloader_wrapper_pulse +#define pa_xstrndup pa_xstrndup_dylibloader_wrapper_pulse +#define pa_xmemdup pa_xmemdup_dylibloader_wrapper_pulse +#define pa_utf8_valid pa_utf8_valid_dylibloader_wrapper_pulse +#define pa_ascii_valid pa_ascii_valid_dylibloader_wrapper_pulse +#define pa_utf8_filter pa_utf8_filter_dylibloader_wrapper_pulse +#define pa_ascii_filter pa_ascii_filter_dylibloader_wrapper_pulse +#define pa_utf8_to_locale pa_utf8_to_locale_dylibloader_wrapper_pulse +#define pa_locale_to_utf8 pa_locale_to_utf8_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_new pa_threaded_mainloop_new_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_free pa_threaded_mainloop_free_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_start pa_threaded_mainloop_start_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_stop pa_threaded_mainloop_stop_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_lock pa_threaded_mainloop_lock_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_unlock pa_threaded_mainloop_unlock_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_wait pa_threaded_mainloop_wait_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_signal pa_threaded_mainloop_signal_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_accept pa_threaded_mainloop_accept_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_get_retval pa_threaded_mainloop_get_retval_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_get_api pa_threaded_mainloop_get_api_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_in_thread pa_threaded_mainloop_in_thread_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_set_name pa_threaded_mainloop_set_name_dylibloader_wrapper_pulse +#define pa_threaded_mainloop_once_unlocked pa_threaded_mainloop_once_unlocked_dylibloader_wrapper_pulse +#define pa_mainloop_new pa_mainloop_new_dylibloader_wrapper_pulse +#define pa_mainloop_free pa_mainloop_free_dylibloader_wrapper_pulse +#define pa_mainloop_prepare pa_mainloop_prepare_dylibloader_wrapper_pulse +#define pa_mainloop_poll pa_mainloop_poll_dylibloader_wrapper_pulse +#define pa_mainloop_dispatch pa_mainloop_dispatch_dylibloader_wrapper_pulse +#define pa_mainloop_get_retval pa_mainloop_get_retval_dylibloader_wrapper_pulse +#define pa_mainloop_iterate pa_mainloop_iterate_dylibloader_wrapper_pulse +#define pa_mainloop_run pa_mainloop_run_dylibloader_wrapper_pulse +#define pa_mainloop_get_api pa_mainloop_get_api_dylibloader_wrapper_pulse +#define pa_mainloop_quit pa_mainloop_quit_dylibloader_wrapper_pulse +#define pa_mainloop_wakeup pa_mainloop_wakeup_dylibloader_wrapper_pulse +#define pa_mainloop_set_poll_func pa_mainloop_set_poll_func_dylibloader_wrapper_pulse +#define pa_signal_init pa_signal_init_dylibloader_wrapper_pulse +#define pa_signal_done pa_signal_done_dylibloader_wrapper_pulse +#define pa_signal_new pa_signal_new_dylibloader_wrapper_pulse +#define pa_signal_free pa_signal_free_dylibloader_wrapper_pulse +#define pa_signal_set_destroy pa_signal_set_destroy_dylibloader_wrapper_pulse +#define pa_get_user_name pa_get_user_name_dylibloader_wrapper_pulse +#define pa_get_host_name pa_get_host_name_dylibloader_wrapper_pulse +#define pa_get_fqdn pa_get_fqdn_dylibloader_wrapper_pulse +#define pa_get_home_dir pa_get_home_dir_dylibloader_wrapper_pulse +#define pa_get_binary_name pa_get_binary_name_dylibloader_wrapper_pulse +#define pa_path_get_filename pa_path_get_filename_dylibloader_wrapper_pulse +#define pa_msleep pa_msleep_dylibloader_wrapper_pulse +#define pa_thread_make_realtime pa_thread_make_realtime_dylibloader_wrapper_pulse +#define pa_gettimeofday pa_gettimeofday_dylibloader_wrapper_pulse +#define pa_timeval_diff pa_timeval_diff_dylibloader_wrapper_pulse +#define pa_timeval_cmp pa_timeval_cmp_dylibloader_wrapper_pulse +#define pa_timeval_age pa_timeval_age_dylibloader_wrapper_pulse +#define pa_timeval_add pa_timeval_add_dylibloader_wrapper_pulse +#define pa_timeval_sub pa_timeval_sub_dylibloader_wrapper_pulse +#define pa_timeval_store pa_timeval_store_dylibloader_wrapper_pulse +#define pa_timeval_load pa_timeval_load_dylibloader_wrapper_pulse +#define pa_rtclock_now pa_rtclock_now_dylibloader_wrapper_pulse +extern const char* (*pa_get_library_version_dylibloader_wrapper_pulse)( void); +extern size_t (*pa_bytes_per_second_dylibloader_wrapper_pulse)(const pa_sample_spec*); +extern size_t (*pa_frame_size_dylibloader_wrapper_pulse)(const pa_sample_spec*); +extern size_t (*pa_sample_size_dylibloader_wrapper_pulse)(const pa_sample_spec*); +extern size_t (*pa_sample_size_of_format_dylibloader_wrapper_pulse)( pa_sample_format_t); +extern pa_usec_t (*pa_bytes_to_usec_dylibloader_wrapper_pulse)( uint64_t,const pa_sample_spec*); +extern size_t (*pa_usec_to_bytes_dylibloader_wrapper_pulse)( pa_usec_t,const pa_sample_spec*); +extern pa_sample_spec* (*pa_sample_spec_init_dylibloader_wrapper_pulse)( pa_sample_spec*); +extern int (*pa_sample_format_valid_dylibloader_wrapper_pulse)( unsigned); +extern int (*pa_sample_rate_valid_dylibloader_wrapper_pulse)( uint32_t); +extern int (*pa_channels_valid_dylibloader_wrapper_pulse)( uint8_t); +extern int (*pa_sample_spec_valid_dylibloader_wrapper_pulse)(const pa_sample_spec*); +extern int (*pa_sample_spec_equal_dylibloader_wrapper_pulse)(const pa_sample_spec*,const pa_sample_spec*); +extern const char* (*pa_sample_format_to_string_dylibloader_wrapper_pulse)( pa_sample_format_t); +extern pa_sample_format_t (*pa_parse_sample_format_dylibloader_wrapper_pulse)(const char*); +extern char* (*pa_sample_spec_snprint_dylibloader_wrapper_pulse)( char*, size_t,const pa_sample_spec*); +extern char* (*pa_bytes_snprint_dylibloader_wrapper_pulse)( char*, size_t, unsigned); +extern int (*pa_sample_format_is_le_dylibloader_wrapper_pulse)( pa_sample_format_t); +extern int (*pa_sample_format_is_be_dylibloader_wrapper_pulse)( pa_sample_format_t); +extern int (*pa_direction_valid_dylibloader_wrapper_pulse)( pa_direction_t); +extern const char* (*pa_direction_to_string_dylibloader_wrapper_pulse)( pa_direction_t); +extern void (*pa_mainloop_api_once_dylibloader_wrapper_pulse)( pa_mainloop_api*, void*, void*); +extern pa_proplist* (*pa_proplist_new_dylibloader_wrapper_pulse)( void); +extern void (*pa_proplist_free_dylibloader_wrapper_pulse)( pa_proplist*); +extern int (*pa_proplist_key_valid_dylibloader_wrapper_pulse)(const char*); +extern int (*pa_proplist_sets_dylibloader_wrapper_pulse)( pa_proplist*,const char*,const char*); +extern int (*pa_proplist_setp_dylibloader_wrapper_pulse)( pa_proplist*,const char*); +extern int (*pa_proplist_setf_dylibloader_wrapper_pulse)( pa_proplist*,const char*,const char*,...); +extern int (*pa_proplist_set_dylibloader_wrapper_pulse)( pa_proplist*,const char*,const void*, size_t); +extern const char* (*pa_proplist_gets_dylibloader_wrapper_pulse)(const pa_proplist*,const char*); +extern int (*pa_proplist_get_dylibloader_wrapper_pulse)(const pa_proplist*,const char*,const void**, size_t*); +extern void (*pa_proplist_update_dylibloader_wrapper_pulse)( pa_proplist*, pa_update_mode_t,const pa_proplist*); +extern int (*pa_proplist_unset_dylibloader_wrapper_pulse)( pa_proplist*,const char*); +extern int (*pa_proplist_unset_many_dylibloader_wrapper_pulse)( pa_proplist*,const char* []); +extern const char* (*pa_proplist_iterate_dylibloader_wrapper_pulse)(const pa_proplist*, void**); +extern char* (*pa_proplist_to_string_dylibloader_wrapper_pulse)(const pa_proplist*); +extern char* (*pa_proplist_to_string_sep_dylibloader_wrapper_pulse)(const pa_proplist*,const char*); +extern pa_proplist* (*pa_proplist_from_string_dylibloader_wrapper_pulse)(const char*); +extern int (*pa_proplist_contains_dylibloader_wrapper_pulse)(const pa_proplist*,const char*); +extern void (*pa_proplist_clear_dylibloader_wrapper_pulse)( pa_proplist*); +extern pa_proplist* (*pa_proplist_copy_dylibloader_wrapper_pulse)(const pa_proplist*); +extern unsigned (*pa_proplist_size_dylibloader_wrapper_pulse)(const pa_proplist*); +extern int (*pa_proplist_isempty_dylibloader_wrapper_pulse)(const pa_proplist*); +extern int (*pa_proplist_equal_dylibloader_wrapper_pulse)(const pa_proplist*,const pa_proplist*); +extern pa_channel_map* (*pa_channel_map_init_dylibloader_wrapper_pulse)( pa_channel_map*); +extern pa_channel_map* (*pa_channel_map_init_mono_dylibloader_wrapper_pulse)( pa_channel_map*); +extern pa_channel_map* (*pa_channel_map_init_stereo_dylibloader_wrapper_pulse)( pa_channel_map*); +extern pa_channel_map* (*pa_channel_map_init_auto_dylibloader_wrapper_pulse)( pa_channel_map*, unsigned, pa_channel_map_def_t); +extern pa_channel_map* (*pa_channel_map_init_extend_dylibloader_wrapper_pulse)( pa_channel_map*, unsigned, pa_channel_map_def_t); +extern const char* (*pa_channel_position_to_string_dylibloader_wrapper_pulse)( pa_channel_position_t); +extern pa_channel_position_t (*pa_channel_position_from_string_dylibloader_wrapper_pulse)(const char*); +extern const char* (*pa_channel_position_to_pretty_string_dylibloader_wrapper_pulse)( pa_channel_position_t); +extern char* (*pa_channel_map_snprint_dylibloader_wrapper_pulse)( char*, size_t,const pa_channel_map*); +extern pa_channel_map* (*pa_channel_map_parse_dylibloader_wrapper_pulse)( pa_channel_map*,const char*); +extern int (*pa_channel_map_equal_dylibloader_wrapper_pulse)(const pa_channel_map*,const pa_channel_map*); +extern int (*pa_channel_map_valid_dylibloader_wrapper_pulse)(const pa_channel_map*); +extern int (*pa_channel_map_compatible_dylibloader_wrapper_pulse)(const pa_channel_map*,const pa_sample_spec*); +extern int (*pa_channel_map_superset_dylibloader_wrapper_pulse)(const pa_channel_map*,const pa_channel_map*); +extern int (*pa_channel_map_can_balance_dylibloader_wrapper_pulse)(const pa_channel_map*); +extern int (*pa_channel_map_can_fade_dylibloader_wrapper_pulse)(const pa_channel_map*); +extern int (*pa_channel_map_can_lfe_balance_dylibloader_wrapper_pulse)(const pa_channel_map*); +extern const char* (*pa_channel_map_to_name_dylibloader_wrapper_pulse)(const pa_channel_map*); +extern const char* (*pa_channel_map_to_pretty_name_dylibloader_wrapper_pulse)(const pa_channel_map*); +extern int (*pa_channel_map_has_position_dylibloader_wrapper_pulse)(const pa_channel_map*, pa_channel_position_t); +extern pa_channel_position_mask_t (*pa_channel_map_mask_dylibloader_wrapper_pulse)(const pa_channel_map*); +extern const char* (*pa_encoding_to_string_dylibloader_wrapper_pulse)( pa_encoding_t); +extern pa_encoding_t (*pa_encoding_from_string_dylibloader_wrapper_pulse)(const char*); +extern pa_format_info* (*pa_format_info_new_dylibloader_wrapper_pulse)( void); +extern pa_format_info* (*pa_format_info_copy_dylibloader_wrapper_pulse)(const pa_format_info*); +extern void (*pa_format_info_free_dylibloader_wrapper_pulse)( pa_format_info*); +extern int (*pa_format_info_valid_dylibloader_wrapper_pulse)(const pa_format_info*); +extern int (*pa_format_info_is_pcm_dylibloader_wrapper_pulse)(const pa_format_info*); +extern int (*pa_format_info_is_compatible_dylibloader_wrapper_pulse)(const pa_format_info*,const pa_format_info*); +extern char* (*pa_format_info_snprint_dylibloader_wrapper_pulse)( char*, size_t,const pa_format_info*); +extern pa_format_info* (*pa_format_info_from_string_dylibloader_wrapper_pulse)(const char*); +extern pa_format_info* (*pa_format_info_from_sample_spec_dylibloader_wrapper_pulse)(const pa_sample_spec*,const pa_channel_map*); +extern int (*pa_format_info_to_sample_spec_dylibloader_wrapper_pulse)(const pa_format_info*, pa_sample_spec*, pa_channel_map*); +extern pa_prop_type_t (*pa_format_info_get_prop_type_dylibloader_wrapper_pulse)(const pa_format_info*,const char*); +extern int (*pa_format_info_get_prop_int_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, int*); +extern int (*pa_format_info_get_prop_int_range_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, int*, int*); +extern int (*pa_format_info_get_prop_int_array_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, int**, int*); +extern int (*pa_format_info_get_prop_string_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, char**); +extern int (*pa_format_info_get_prop_string_array_dylibloader_wrapper_pulse)(const pa_format_info*,const char*, char***, int*); +extern void (*pa_format_info_free_string_array_dylibloader_wrapper_pulse)( char**, int); +extern int (*pa_format_info_get_sample_format_dylibloader_wrapper_pulse)(const pa_format_info*, pa_sample_format_t*); +extern int (*pa_format_info_get_rate_dylibloader_wrapper_pulse)(const pa_format_info*, uint32_t*); +extern int (*pa_format_info_get_channels_dylibloader_wrapper_pulse)(const pa_format_info*, uint8_t*); +extern int (*pa_format_info_get_channel_map_dylibloader_wrapper_pulse)(const pa_format_info*, pa_channel_map*); +extern void (*pa_format_info_set_prop_int_dylibloader_wrapper_pulse)( pa_format_info*,const char*, int); +extern void (*pa_format_info_set_prop_int_array_dylibloader_wrapper_pulse)( pa_format_info*,const char*,const int*, int); +extern void (*pa_format_info_set_prop_int_range_dylibloader_wrapper_pulse)( pa_format_info*,const char*, int, int); +extern void (*pa_format_info_set_prop_string_dylibloader_wrapper_pulse)( pa_format_info*,const char*,const char*); +extern void (*pa_format_info_set_prop_string_array_dylibloader_wrapper_pulse)( pa_format_info*,const char*,const char**, int); +extern void (*pa_format_info_set_sample_format_dylibloader_wrapper_pulse)( pa_format_info*, pa_sample_format_t); +extern void (*pa_format_info_set_rate_dylibloader_wrapper_pulse)( pa_format_info*, int); +extern void (*pa_format_info_set_channels_dylibloader_wrapper_pulse)( pa_format_info*, int); +extern void (*pa_format_info_set_channel_map_dylibloader_wrapper_pulse)( pa_format_info*,const pa_channel_map*); +extern pa_operation* (*pa_operation_ref_dylibloader_wrapper_pulse)( pa_operation*); +extern void (*pa_operation_unref_dylibloader_wrapper_pulse)( pa_operation*); +extern void (*pa_operation_cancel_dylibloader_wrapper_pulse)( pa_operation*); +extern pa_operation_state_t (*pa_operation_get_state_dylibloader_wrapper_pulse)(const pa_operation*); +extern void (*pa_operation_set_state_callback_dylibloader_wrapper_pulse)( pa_operation*, pa_operation_notify_cb_t, void*); +extern pa_context* (*pa_context_new_dylibloader_wrapper_pulse)( pa_mainloop_api*,const char*); +extern pa_context* (*pa_context_new_with_proplist_dylibloader_wrapper_pulse)( pa_mainloop_api*,const char*,const pa_proplist*); +extern void (*pa_context_unref_dylibloader_wrapper_pulse)( pa_context*); +extern pa_context* (*pa_context_ref_dylibloader_wrapper_pulse)( pa_context*); +extern void (*pa_context_set_state_callback_dylibloader_wrapper_pulse)( pa_context*, pa_context_notify_cb_t, void*); +extern void (*pa_context_set_event_callback_dylibloader_wrapper_pulse)( pa_context*, pa_context_event_cb_t, void*); +extern int (*pa_context_errno_dylibloader_wrapper_pulse)(const pa_context*); +extern int (*pa_context_is_pending_dylibloader_wrapper_pulse)(const pa_context*); +extern pa_context_state_t (*pa_context_get_state_dylibloader_wrapper_pulse)(const pa_context*); +extern int (*pa_context_connect_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_flags_t,const pa_spawn_api*); +extern void (*pa_context_disconnect_dylibloader_wrapper_pulse)( pa_context*); +extern pa_operation* (*pa_context_drain_dylibloader_wrapper_pulse)( pa_context*, pa_context_notify_cb_t, void*); +extern pa_operation* (*pa_context_exit_daemon_dylibloader_wrapper_pulse)( pa_context*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_default_sink_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_default_source_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_success_cb_t, void*); +extern int (*pa_context_is_local_dylibloader_wrapper_pulse)(const pa_context*); +extern pa_operation* (*pa_context_set_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_success_cb_t, void*); +extern const char* (*pa_context_get_server_dylibloader_wrapper_pulse)(const pa_context*); +extern uint32_t (*pa_context_get_protocol_version_dylibloader_wrapper_pulse)(const pa_context*); +extern uint32_t (*pa_context_get_server_protocol_version_dylibloader_wrapper_pulse)(const pa_context*); +extern pa_operation* (*pa_context_proplist_update_dylibloader_wrapper_pulse)( pa_context*, pa_update_mode_t,const pa_proplist*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_proplist_remove_dylibloader_wrapper_pulse)( pa_context*,const char* [], pa_context_success_cb_t, void*); +extern uint32_t (*pa_context_get_index_dylibloader_wrapper_pulse)(const pa_context*); +extern pa_time_event* (*pa_context_rttime_new_dylibloader_wrapper_pulse)(const pa_context*, pa_usec_t, pa_time_event_cb_t, void*); +extern void (*pa_context_rttime_restart_dylibloader_wrapper_pulse)(const pa_context*, pa_time_event*, pa_usec_t); +extern size_t (*pa_context_get_tile_size_dylibloader_wrapper_pulse)(const pa_context*,const pa_sample_spec*); +extern int (*pa_context_load_cookie_from_file_dylibloader_wrapper_pulse)( pa_context*,const char*); +extern int (*pa_cvolume_equal_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_cvolume*); +extern pa_cvolume* (*pa_cvolume_init_dylibloader_wrapper_pulse)( pa_cvolume*); +extern pa_cvolume* (*pa_cvolume_set_dylibloader_wrapper_pulse)( pa_cvolume*, unsigned, pa_volume_t); +extern char* (*pa_cvolume_snprint_dylibloader_wrapper_pulse)( char*, size_t,const pa_cvolume*); +extern char* (*pa_sw_cvolume_snprint_dB_dylibloader_wrapper_pulse)( char*, size_t,const pa_cvolume*); +extern char* (*pa_cvolume_snprint_verbose_dylibloader_wrapper_pulse)( char*, size_t,const pa_cvolume*,const pa_channel_map*, int); +extern char* (*pa_volume_snprint_dylibloader_wrapper_pulse)( char*, size_t, pa_volume_t); +extern char* (*pa_sw_volume_snprint_dB_dylibloader_wrapper_pulse)( char*, size_t, pa_volume_t); +extern char* (*pa_volume_snprint_verbose_dylibloader_wrapper_pulse)( char*, size_t, pa_volume_t, int); +extern pa_volume_t (*pa_cvolume_avg_dylibloader_wrapper_pulse)(const pa_cvolume*); +extern pa_volume_t (*pa_cvolume_avg_mask_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t); +extern pa_volume_t (*pa_cvolume_max_dylibloader_wrapper_pulse)(const pa_cvolume*); +extern pa_volume_t (*pa_cvolume_max_mask_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t); +extern pa_volume_t (*pa_cvolume_min_dylibloader_wrapper_pulse)(const pa_cvolume*); +extern pa_volume_t (*pa_cvolume_min_mask_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_mask_t); +extern int (*pa_cvolume_valid_dylibloader_wrapper_pulse)(const pa_cvolume*); +extern int (*pa_cvolume_channels_equal_to_dylibloader_wrapper_pulse)(const pa_cvolume*, pa_volume_t); +extern pa_volume_t (*pa_sw_volume_multiply_dylibloader_wrapper_pulse)( pa_volume_t, pa_volume_t); +extern pa_cvolume* (*pa_sw_cvolume_multiply_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*); +extern pa_cvolume* (*pa_sw_cvolume_multiply_scalar_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*, pa_volume_t); +extern pa_volume_t (*pa_sw_volume_divide_dylibloader_wrapper_pulse)( pa_volume_t, pa_volume_t); +extern pa_cvolume* (*pa_sw_cvolume_divide_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*); +extern pa_cvolume* (*pa_sw_cvolume_divide_scalar_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*, pa_volume_t); +extern pa_volume_t (*pa_sw_volume_from_dB_dylibloader_wrapper_pulse)( double); +extern double (*pa_sw_volume_to_dB_dylibloader_wrapper_pulse)( pa_volume_t); +extern pa_volume_t (*pa_sw_volume_from_linear_dylibloader_wrapper_pulse)( double); +extern double (*pa_sw_volume_to_linear_dylibloader_wrapper_pulse)( pa_volume_t); +extern pa_cvolume* (*pa_cvolume_remap_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*,const pa_channel_map*); +extern int (*pa_cvolume_compatible_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_sample_spec*); +extern int (*pa_cvolume_compatible_with_channel_map_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*); +extern float (*pa_cvolume_get_balance_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*); +extern pa_cvolume* (*pa_cvolume_set_balance_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*, float); +extern float (*pa_cvolume_get_fade_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*); +extern pa_cvolume* (*pa_cvolume_set_fade_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*, float); +extern float (*pa_cvolume_get_lfe_balance_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*); +extern pa_cvolume* (*pa_cvolume_set_lfe_balance_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*, float); +extern pa_cvolume* (*pa_cvolume_scale_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t); +extern pa_cvolume* (*pa_cvolume_scale_mask_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t,const pa_channel_map*, pa_channel_position_mask_t); +extern pa_cvolume* (*pa_cvolume_set_position_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_channel_map*, pa_channel_position_t, pa_volume_t); +extern pa_volume_t (*pa_cvolume_get_position_dylibloader_wrapper_pulse)(const pa_cvolume*,const pa_channel_map*, pa_channel_position_t); +extern pa_cvolume* (*pa_cvolume_merge_dylibloader_wrapper_pulse)( pa_cvolume*,const pa_cvolume*,const pa_cvolume*); +extern pa_cvolume* (*pa_cvolume_inc_clamp_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t, pa_volume_t); +extern pa_cvolume* (*pa_cvolume_inc_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t); +extern pa_cvolume* (*pa_cvolume_dec_dylibloader_wrapper_pulse)( pa_cvolume*, pa_volume_t); +extern pa_stream* (*pa_stream_new_dylibloader_wrapper_pulse)( pa_context*,const char*,const pa_sample_spec*,const pa_channel_map*); +extern pa_stream* (*pa_stream_new_with_proplist_dylibloader_wrapper_pulse)( pa_context*,const char*,const pa_sample_spec*,const pa_channel_map*, pa_proplist*); +extern pa_stream* (*pa_stream_new_extended_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_format_info**, unsigned int, pa_proplist*); +extern void (*pa_stream_unref_dylibloader_wrapper_pulse)( pa_stream*); +extern pa_stream* (*pa_stream_ref_dylibloader_wrapper_pulse)( pa_stream*); +extern pa_stream_state_t (*pa_stream_get_state_dylibloader_wrapper_pulse)(const pa_stream*); +extern pa_context* (*pa_stream_get_context_dylibloader_wrapper_pulse)(const pa_stream*); +extern uint32_t (*pa_stream_get_index_dylibloader_wrapper_pulse)(const pa_stream*); +extern uint32_t (*pa_stream_get_device_index_dylibloader_wrapper_pulse)(const pa_stream*); +extern const char* (*pa_stream_get_device_name_dylibloader_wrapper_pulse)(const pa_stream*); +extern int (*pa_stream_is_suspended_dylibloader_wrapper_pulse)(const pa_stream*); +extern int (*pa_stream_is_corked_dylibloader_wrapper_pulse)(const pa_stream*); +extern int (*pa_stream_connect_playback_dylibloader_wrapper_pulse)( pa_stream*,const char*,const pa_buffer_attr*, pa_stream_flags_t,const pa_cvolume*, pa_stream*); +extern int (*pa_stream_connect_record_dylibloader_wrapper_pulse)( pa_stream*,const char*,const pa_buffer_attr*, pa_stream_flags_t); +extern int (*pa_stream_disconnect_dylibloader_wrapper_pulse)( pa_stream*); +extern int (*pa_stream_begin_write_dylibloader_wrapper_pulse)( pa_stream*, void**, size_t*); +extern int (*pa_stream_cancel_write_dylibloader_wrapper_pulse)( pa_stream*); +extern int (*pa_stream_write_dylibloader_wrapper_pulse)( pa_stream*,const void*, size_t, pa_free_cb_t, int64_t, pa_seek_mode_t); +extern int (*pa_stream_write_ext_free_dylibloader_wrapper_pulse)( pa_stream*,const void*, size_t, pa_free_cb_t, void*, int64_t, pa_seek_mode_t); +extern int (*pa_stream_peek_dylibloader_wrapper_pulse)( pa_stream*,const void**, size_t*); +extern int (*pa_stream_drop_dylibloader_wrapper_pulse)( pa_stream*); +extern size_t (*pa_stream_writable_size_dylibloader_wrapper_pulse)(const pa_stream*); +extern size_t (*pa_stream_readable_size_dylibloader_wrapper_pulse)(const pa_stream*); +extern pa_operation* (*pa_stream_drain_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +extern pa_operation* (*pa_stream_update_timing_info_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +extern void (*pa_stream_set_state_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +extern void (*pa_stream_set_write_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_request_cb_t, void*); +extern void (*pa_stream_set_read_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_request_cb_t, void*); +extern void (*pa_stream_set_overflow_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +extern int64_t (*pa_stream_get_underflow_index_dylibloader_wrapper_pulse)(const pa_stream*); +extern void (*pa_stream_set_underflow_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +extern void (*pa_stream_set_started_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +extern void (*pa_stream_set_latency_update_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +extern void (*pa_stream_set_moved_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +extern void (*pa_stream_set_suspended_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +extern void (*pa_stream_set_event_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_event_cb_t, void*); +extern void (*pa_stream_set_buffer_attr_callback_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_notify_cb_t, void*); +extern pa_operation* (*pa_stream_cork_dylibloader_wrapper_pulse)( pa_stream*, int, pa_stream_success_cb_t, void*); +extern pa_operation* (*pa_stream_flush_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +extern pa_operation* (*pa_stream_prebuf_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +extern pa_operation* (*pa_stream_trigger_dylibloader_wrapper_pulse)( pa_stream*, pa_stream_success_cb_t, void*); +extern pa_operation* (*pa_stream_set_name_dylibloader_wrapper_pulse)( pa_stream*,const char*, pa_stream_success_cb_t, void*); +extern int (*pa_stream_get_time_dylibloader_wrapper_pulse)( pa_stream*, pa_usec_t*); +extern int (*pa_stream_get_latency_dylibloader_wrapper_pulse)( pa_stream*, pa_usec_t*, int*); +extern const pa_timing_info* (*pa_stream_get_timing_info_dylibloader_wrapper_pulse)( pa_stream*); +extern const pa_sample_spec* (*pa_stream_get_sample_spec_dylibloader_wrapper_pulse)( pa_stream*); +extern const pa_channel_map* (*pa_stream_get_channel_map_dylibloader_wrapper_pulse)( pa_stream*); +extern const pa_format_info* (*pa_stream_get_format_info_dylibloader_wrapper_pulse)(const pa_stream*); +extern const pa_buffer_attr* (*pa_stream_get_buffer_attr_dylibloader_wrapper_pulse)( pa_stream*); +extern pa_operation* (*pa_stream_set_buffer_attr_dylibloader_wrapper_pulse)( pa_stream*,const pa_buffer_attr*, pa_stream_success_cb_t, void*); +extern pa_operation* (*pa_stream_update_sample_rate_dylibloader_wrapper_pulse)( pa_stream*, uint32_t, pa_stream_success_cb_t, void*); +extern pa_operation* (*pa_stream_proplist_update_dylibloader_wrapper_pulse)( pa_stream*, pa_update_mode_t, pa_proplist*, pa_stream_success_cb_t, void*); +extern pa_operation* (*pa_stream_proplist_remove_dylibloader_wrapper_pulse)( pa_stream*,const char* [], pa_stream_success_cb_t, void*); +extern int (*pa_stream_set_monitor_stream_dylibloader_wrapper_pulse)( pa_stream*, uint32_t); +extern uint32_t (*pa_stream_get_monitor_stream_dylibloader_wrapper_pulse)(const pa_stream*); +extern pa_operation* (*pa_context_get_sink_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_sink_info_cb_t, void*); +extern pa_operation* (*pa_context_get_sink_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_sink_info_cb_t, void*); +extern pa_operation* (*pa_context_get_sink_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_sink_info_cb_t, void*); +extern pa_operation* (*pa_context_set_sink_volume_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_sink_volume_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const pa_cvolume*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_sink_mute_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_sink_mute_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_suspend_sink_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_suspend_sink_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_sink_port_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_sink_port_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_get_source_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_source_info_cb_t, void*); +extern pa_operation* (*pa_context_get_source_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_source_info_cb_t, void*); +extern pa_operation* (*pa_context_get_source_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_source_info_cb_t, void*); +extern pa_operation* (*pa_context_set_source_volume_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_source_volume_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const pa_cvolume*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_source_mute_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_source_mute_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_suspend_source_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_suspend_source_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_source_port_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_source_port_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_get_server_info_dylibloader_wrapper_pulse)( pa_context*, pa_server_info_cb_t, void*); +extern pa_operation* (*pa_context_get_module_info_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_module_info_cb_t, void*); +extern pa_operation* (*pa_context_get_module_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_module_info_cb_t, void*); +extern pa_operation* (*pa_context_load_module_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_context_index_cb_t, void*); +extern pa_operation* (*pa_context_unload_module_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_get_client_info_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_client_info_cb_t, void*); +extern pa_operation* (*pa_context_get_client_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_client_info_cb_t, void*); +extern pa_operation* (*pa_context_kill_client_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_get_card_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_card_info_cb_t, void*); +extern pa_operation* (*pa_context_get_card_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_card_info_cb_t, void*); +extern pa_operation* (*pa_context_get_card_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_card_info_cb_t, void*); +extern pa_operation* (*pa_context_set_card_profile_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_card_profile_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_port_latency_offset_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, int64_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_get_sink_input_info_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_sink_input_info_cb_t, void*); +extern pa_operation* (*pa_context_get_sink_input_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_sink_input_info_cb_t, void*); +extern pa_operation* (*pa_context_move_sink_input_by_name_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_move_sink_input_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, uint32_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_sink_input_volume_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_sink_input_mute_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_kill_sink_input_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_get_source_output_info_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_source_output_info_cb_t, void*); +extern pa_operation* (*pa_context_get_source_output_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_source_output_info_cb_t, void*); +extern pa_operation* (*pa_context_move_source_output_by_name_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_move_source_output_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, uint32_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_source_output_volume_dylibloader_wrapper_pulse)( pa_context*, uint32_t,const pa_cvolume*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_set_source_output_mute_dylibloader_wrapper_pulse)( pa_context*, uint32_t, int, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_kill_source_output_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_stat_dylibloader_wrapper_pulse)( pa_context*, pa_stat_info_cb_t, void*); +extern pa_operation* (*pa_context_get_sample_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_sample_info_cb_t, void*); +extern pa_operation* (*pa_context_get_sample_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_sample_info_cb_t, void*); +extern pa_operation* (*pa_context_get_sample_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_sample_info_cb_t, void*); +extern pa_operation* (*pa_context_get_autoload_info_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_autoload_type_t, pa_autoload_info_cb_t, void*); +extern pa_operation* (*pa_context_get_autoload_info_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_autoload_info_cb_t, void*); +extern pa_operation* (*pa_context_get_autoload_info_list_dylibloader_wrapper_pulse)( pa_context*, pa_autoload_info_cb_t, void*); +extern pa_operation* (*pa_context_add_autoload_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_autoload_type_t,const char*,const char*, pa_context_index_cb_t, void*); +extern pa_operation* (*pa_context_remove_autoload_by_name_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_autoload_type_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_remove_autoload_by_index_dylibloader_wrapper_pulse)( pa_context*, uint32_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_subscribe_dylibloader_wrapper_pulse)( pa_context*, pa_subscription_mask_t, pa_context_success_cb_t, void*); +extern void (*pa_context_set_subscribe_callback_dylibloader_wrapper_pulse)( pa_context*, pa_context_subscribe_cb_t, void*); +extern int (*pa_stream_connect_upload_dylibloader_wrapper_pulse)( pa_stream*, size_t); +extern int (*pa_stream_finish_upload_dylibloader_wrapper_pulse)( pa_stream*); +extern pa_operation* (*pa_context_remove_sample_dylibloader_wrapper_pulse)( pa_context*,const char*, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_play_sample_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_volume_t, pa_context_success_cb_t, void*); +extern pa_operation* (*pa_context_play_sample_with_proplist_dylibloader_wrapper_pulse)( pa_context*,const char*,const char*, pa_volume_t,const pa_proplist*, pa_context_play_sample_cb_t, void*); +extern const char* (*pa_strerror_dylibloader_wrapper_pulse)( int); +extern void* (*pa_xmalloc_dylibloader_wrapper_pulse)( size_t); +extern void* (*pa_xmalloc0_dylibloader_wrapper_pulse)( size_t); +extern void* (*pa_xrealloc_dylibloader_wrapper_pulse)( void*, size_t); +extern void (*pa_xfree_dylibloader_wrapper_pulse)( void*); +extern char* (*pa_xstrdup_dylibloader_wrapper_pulse)(const char*); +extern char* (*pa_xstrndup_dylibloader_wrapper_pulse)(const char*, size_t); +extern void* (*pa_xmemdup_dylibloader_wrapper_pulse)(const void*, size_t); +extern char* (*pa_utf8_valid_dylibloader_wrapper_pulse)(const char*); +extern char* (*pa_ascii_valid_dylibloader_wrapper_pulse)(const char*); +extern char* (*pa_utf8_filter_dylibloader_wrapper_pulse)(const char*); +extern char* (*pa_ascii_filter_dylibloader_wrapper_pulse)(const char*); +extern char* (*pa_utf8_to_locale_dylibloader_wrapper_pulse)(const char*); +extern char* (*pa_locale_to_utf8_dylibloader_wrapper_pulse)(const char*); +extern pa_threaded_mainloop* (*pa_threaded_mainloop_new_dylibloader_wrapper_pulse)( void); +extern void (*pa_threaded_mainloop_free_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern int (*pa_threaded_mainloop_start_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern void (*pa_threaded_mainloop_stop_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern void (*pa_threaded_mainloop_lock_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern void (*pa_threaded_mainloop_unlock_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern void (*pa_threaded_mainloop_wait_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern void (*pa_threaded_mainloop_signal_dylibloader_wrapper_pulse)( pa_threaded_mainloop*, int); +extern void (*pa_threaded_mainloop_accept_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern int (*pa_threaded_mainloop_get_retval_dylibloader_wrapper_pulse)(const pa_threaded_mainloop*); +extern pa_mainloop_api* (*pa_threaded_mainloop_get_api_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern int (*pa_threaded_mainloop_in_thread_dylibloader_wrapper_pulse)( pa_threaded_mainloop*); +extern void (*pa_threaded_mainloop_set_name_dylibloader_wrapper_pulse)( pa_threaded_mainloop*,const char*); +extern void (*pa_threaded_mainloop_once_unlocked_dylibloader_wrapper_pulse)( pa_threaded_mainloop*, void*, void*); +extern pa_mainloop* (*pa_mainloop_new_dylibloader_wrapper_pulse)( void); +extern void (*pa_mainloop_free_dylibloader_wrapper_pulse)( pa_mainloop*); +extern int (*pa_mainloop_prepare_dylibloader_wrapper_pulse)( pa_mainloop*, int); +extern int (*pa_mainloop_poll_dylibloader_wrapper_pulse)( pa_mainloop*); +extern int (*pa_mainloop_dispatch_dylibloader_wrapper_pulse)( pa_mainloop*); +extern int (*pa_mainloop_get_retval_dylibloader_wrapper_pulse)(const pa_mainloop*); +extern int (*pa_mainloop_iterate_dylibloader_wrapper_pulse)( pa_mainloop*, int, int*); +extern int (*pa_mainloop_run_dylibloader_wrapper_pulse)( pa_mainloop*, int*); +extern pa_mainloop_api* (*pa_mainloop_get_api_dylibloader_wrapper_pulse)( pa_mainloop*); +extern void (*pa_mainloop_quit_dylibloader_wrapper_pulse)( pa_mainloop*, int); +extern void (*pa_mainloop_wakeup_dylibloader_wrapper_pulse)( pa_mainloop*); +extern void (*pa_mainloop_set_poll_func_dylibloader_wrapper_pulse)( pa_mainloop*, pa_poll_func, void*); +extern int (*pa_signal_init_dylibloader_wrapper_pulse)( pa_mainloop_api*); +extern void (*pa_signal_done_dylibloader_wrapper_pulse)( void); +extern pa_signal_event* (*pa_signal_new_dylibloader_wrapper_pulse)( int, pa_signal_cb_t, void*); +extern void (*pa_signal_free_dylibloader_wrapper_pulse)( pa_signal_event*); +extern void (*pa_signal_set_destroy_dylibloader_wrapper_pulse)( pa_signal_event*, pa_signal_destroy_cb_t); +extern char* (*pa_get_user_name_dylibloader_wrapper_pulse)( char*, size_t); +extern char* (*pa_get_host_name_dylibloader_wrapper_pulse)( char*, size_t); +extern char* (*pa_get_fqdn_dylibloader_wrapper_pulse)( char*, size_t); +extern char* (*pa_get_home_dir_dylibloader_wrapper_pulse)( char*, size_t); +extern char* (*pa_get_binary_name_dylibloader_wrapper_pulse)( char*, size_t); +extern char* (*pa_path_get_filename_dylibloader_wrapper_pulse)(const char*); +extern int (*pa_msleep_dylibloader_wrapper_pulse)( unsigned long); +extern int (*pa_thread_make_realtime_dylibloader_wrapper_pulse)( int); +extern struct timeval* (*pa_gettimeofday_dylibloader_wrapper_pulse)(struct timeval*); +extern pa_usec_t (*pa_timeval_diff_dylibloader_wrapper_pulse)(struct timeval*,struct timeval*); +extern int (*pa_timeval_cmp_dylibloader_wrapper_pulse)(struct timeval*,struct timeval*); +extern pa_usec_t (*pa_timeval_age_dylibloader_wrapper_pulse)(struct timeval*); +extern struct timeval* (*pa_timeval_add_dylibloader_wrapper_pulse)(struct timeval*, pa_usec_t); +extern struct timeval* (*pa_timeval_sub_dylibloader_wrapper_pulse)(struct timeval*, pa_usec_t); +extern struct timeval* (*pa_timeval_store_dylibloader_wrapper_pulse)(struct timeval*, pa_usec_t); +extern pa_usec_t (*pa_timeval_load_dylibloader_wrapper_pulse)(struct timeval*); +extern pa_usec_t (*pa_rtclock_now_dylibloader_wrapper_pulse)( void); +int initialize_pulse(int verbose); +#ifdef __cplusplus +} +#endif +#endif diff --git a/drivers/register_driver_types.cpp b/drivers/register_driver_types.cpp index f0deabec21..18262c74c4 100644 --- a/drivers/register_driver_types.cpp +++ b/drivers/register_driver_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/register_driver_types.h b/drivers/register_driver_types.h index c8dbdbb22d..607aa91cb8 100644 --- a/drivers/register_driver_types.h +++ b/drivers/register_driver_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/spirv-reflect/SCsub b/drivers/spirv-reflect/SCsub index d0ffaf068d..1e7b3de0e6 100644 --- a/drivers/spirv-reflect/SCsub +++ b/drivers/spirv-reflect/SCsub @@ -2,8 +2,7 @@ Import("env") -env_spirv_reflect = env.Clone() -env_spirv_reflect.disable_warnings() +# Thirdparty source files thirdparty_dir = "#thirdparty/spirv-reflect/" thirdparty_sources = [ @@ -12,6 +11,7 @@ thirdparty_sources = [ thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources] -env_spirv_reflect.add_source_files(env.drivers_sources, thirdparty_sources) +env_thirdparty = env.Clone() +env_thirdparty.disable_warnings() -Export("env") +env_thirdparty.add_source_files(env.drivers_sources, thirdparty_sources) diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp index 63fa143a03..34ef6f3ce6 100644 --- a/drivers/unix/dir_access_unix.cpp +++ b/drivers/unix/dir_access_unix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -102,6 +102,28 @@ bool DirAccessUnix::dir_exists(String p_dir) { return (success && S_ISDIR(flags.st_mode)); } +bool DirAccessUnix::is_readable(String p_dir) { + GLOBAL_LOCK_FUNCTION + + if (p_dir.is_rel_path()) { + p_dir = get_current_dir().plus_file(p_dir); + } + + p_dir = fix_path(p_dir); + return (access(p_dir.utf8().get_data(), R_OK) == 0); +} + +bool DirAccessUnix::is_writable(String p_dir) { + GLOBAL_LOCK_FUNCTION + + if (p_dir.is_rel_path()) { + p_dir = get_current_dir().plus_file(p_dir); + } + + p_dir = fix_path(p_dir); + return (access(p_dir.utf8().get_data(), W_OK) == 0); +} + uint64_t DirAccessUnix::get_modified_time(String p_file) { if (p_file.is_rel_path()) { p_file = current_dir.plus_file(p_file); @@ -232,7 +254,7 @@ static void _get_drives(List<String> *list) { // Parse only file:// links if (strncmp(string, "file://", 7) == 0) { // Strip any unwanted edges on the strings and push_back if it's not a duplicate - String fpath = String(string + 7).strip_edges().split_spaces()[0].percent_decode(); + String fpath = String(string + 7).strip_edges().split_spaces()[0].uri_decode(); if (!list->find(fpath)) { list->push_back(fpath); } diff --git a/drivers/unix/dir_access_unix.h b/drivers/unix/dir_access_unix.h index 90f98d4705..54f4a5c312 100644 --- a/drivers/unix/dir_access_unix.h +++ b/drivers/unix/dir_access_unix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -71,6 +71,8 @@ public: virtual bool file_exists(String p_file); virtual bool dir_exists(String p_dir); + virtual bool is_readable(String p_dir); + virtual bool is_writable(String p_dir); virtual uint64_t get_modified_time(String p_file); diff --git a/drivers/unix/file_access_unix.cpp b/drivers/unix/file_access_unix.cpp index ce1e135fe0..4c08380dd0 100644 --- a/drivers/unix/file_access_unix.cpp +++ b/drivers/unix/file_access_unix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -240,6 +240,8 @@ uint8_t FileAccessUnix::get_8() const { } int FileAccessUnix::get_buffer(uint8_t *p_dst, int p_length) const { + ERR_FAIL_COND_V(!p_dst && p_length > 0, -1); + ERR_FAIL_COND_V(p_length < 0, -1); ERR_FAIL_COND_V_MSG(!f, -1, "File must be opened before use."); int read = fread(p_dst, 1, p_length, f); check_errors(); diff --git a/drivers/unix/file_access_unix.h b/drivers/unix/file_access_unix.h index 9fe43a2554..998fad7909 100644 --- a/drivers/unix/file_access_unix.h +++ b/drivers/unix/file_access_unix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp index 05eedccc1d..8ec1de4386 100644 --- a/drivers/unix/ip_unix.cpp +++ b/drivers/unix/ip_unix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -91,7 +91,7 @@ static IP_Address _sockaddr2ip(struct sockaddr *p_addr) { IP_Address IP_Unix::_resolve_hostname(const String &p_hostname, Type p_type) { struct addrinfo hints; - struct addrinfo *result; + struct addrinfo *result = nullptr; memset(&hints, 0, sizeof(struct addrinfo)); if (p_type == TYPE_IPV4) { diff --git a/drivers/unix/ip_unix.h b/drivers/unix/ip_unix.h index 7497f64a53..ca2ee17f4e 100644 --- a/drivers/unix/ip_unix.h +++ b/drivers/unix/ip_unix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/net_socket_posix.cpp b/drivers/unix/net_socket_posix.cpp index 186804dbb1..19753943c8 100644 --- a/drivers/unix/net_socket_posix.cpp +++ b/drivers/unix/net_socket_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -348,11 +348,11 @@ Error NetSocketPosix::open(Type p_sock_type, IP::Type &ip_type) { // recv/recvfrom and an ICMP reply was received from a previous send/sendto. unsigned long disable = 0; if (ioctlsocket(_sock, SIO_UDP_CONNRESET, &disable) == SOCKET_ERROR) { - print_verbose("Unable to turn off UDP WSAECONNRESET behaviour on Windows"); + print_verbose("Unable to turn off UDP WSAECONNRESET behavior on Windows"); } if (ioctlsocket(_sock, SIO_UDP_NETRESET, &disable) == SOCKET_ERROR) { // This feature seems not to be supported on wine. - print_verbose("Unable to turn off UDP WSAENETRESET behaviour on Windows"); + print_verbose("Unable to turn off UDP WSAENETRESET behavior on Windows"); } } #endif diff --git a/drivers/unix/net_socket_posix.h b/drivers/unix/net_socket_posix.h index 8cefb6544e..cc6af661c8 100644 --- a/drivers/unix/net_socket_posix.h +++ b/drivers/unix/net_socket_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index 318638e5d0..b9bd773c2e 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -35,11 +35,9 @@ #include "core/config/project_settings.h" #include "core/debugger/engine_debugger.h" #include "core/debugger/script_debugger.h" -#include "core/os/thread_dummy.h" #include "drivers/unix/dir_access_unix.h" #include "drivers/unix/file_access_unix.h" #include "drivers/unix/net_socket_posix.h" -#include "drivers/unix/rw_lock_posix.h" #include "drivers/unix/thread_posix.h" #include "servers/rendering_server.h" @@ -64,6 +62,7 @@ #include <string.h> #include <sys/time.h> #include <sys/wait.h> +#include <time.h> #include <unistd.h> /// Clock Setup function (used by get_ticks_usec) @@ -117,17 +116,13 @@ int OS_Unix::unix_initialize_audio(int p_audio_driver) { } void OS_Unix::initialize_core() { -#ifdef NO_THREADS - ThreadDummy::make_default(); - RWLockDummy::make_default(); -#else - ThreadPosix::make_default(); - RWLockPosix::make_default(); +#if !defined(NO_THREADS) + init_thread_posix(); #endif + FileAccess::make_default<FileAccessUnix>(FileAccess::ACCESS_RESOURCES); FileAccess::make_default<FileAccessUnix>(FileAccess::ACCESS_USERDATA); FileAccess::make_default<FileAccessUnix>(FileAccess::ACCESS_FILESYSTEM); - //FileAccessBufferedFA<FileAccessUnix>::make_default(); DirAccess::make_default<DirAccessUnix>(DirAccess::ACCESS_RESOURCES); DirAccess::make_default<DirAccessUnix>(DirAccess::ACCESS_USERDATA); DirAccess::make_default<DirAccessUnix>(DirAccess::ACCESS_FILESYSTEM); @@ -235,8 +230,11 @@ OS::TimeZoneInfo OS_Unix::get_time_zone_info() const { } void OS_Unix::delay_usec(uint32_t p_usec) const { - struct timespec rem = { static_cast<time_t>(p_usec / 1000000), (static_cast<long>(p_usec) % 1000000) * 1000 }; - while (nanosleep(&rem, &rem) == EINTR) { + struct timespec requested = { static_cast<time_t>(p_usec / 1000000), (static_cast<long>(p_usec) % 1000000) * 1000 }; + struct timespec remaining; + while (nanosleep(&requested, &remaining) == -1 && errno == EINTR) { + requested.tv_sec = remaining.tv_sec; + requested.tv_nsec = remaining.tv_nsec; } } @@ -255,31 +253,26 @@ uint64_t OS_Unix::get_ticks_usec() const { return longtime; } -Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, bool p_blocking, ProcessID *r_child_id, String *r_pipe, int *r_exitcode, bool read_stderr, Mutex *p_pipe_mutex) { +Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, String *r_pipe, int *r_exitcode, bool read_stderr, Mutex *p_pipe_mutex) { #ifdef __EMSCRIPTEN__ // Don't compile this code at all to avoid undefined references. // Actual virtual call goes to OS_JavaScript. ERR_FAIL_V(ERR_BUG); #else - if (p_blocking && r_pipe) { - String argss; - argss = "\"" + p_path + "\""; - + if (r_pipe) { + String command = "\"" + p_path + "\""; for (int i = 0; i < p_arguments.size(); i++) { - argss += String(" \"") + p_arguments[i] + "\""; + command += String(" \"") + p_arguments[i] + "\""; } - if (read_stderr) { - argss += " 2>&1"; // Read stderr too + command += " 2>&1"; // Include stderr } else { - argss += " 2>/dev/null"; //silence stderr + command += " 2>/dev/null"; // Silence stderr } - FILE *f = popen(argss.utf8().get_data(), "r"); - - ERR_FAIL_COND_V_MSG(!f, ERR_CANT_OPEN, "Cannot pipe stream from process running with following arguments '" + argss + "'."); + FILE *f = popen(command.utf8().get_data(), "r"); + ERR_FAIL_COND_V_MSG(!f, ERR_CANT_OPEN, "Cannot create pipe from command: " + command); char buf[65535]; - while (fgets(buf, 65535, f)) { if (p_pipe_mutex) { p_pipe_mutex->lock(); @@ -290,10 +283,10 @@ Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, bo } } int rv = pclose(f); + if (r_exitcode) { *r_exitcode = WEXITSTATUS(rv); } - return OK; } @@ -301,14 +294,7 @@ Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, bo ERR_FAIL_COND_V(pid < 0, ERR_CANT_FORK); if (pid == 0) { - // is child - - if (!p_blocking) { - // For non blocking calls, create a new session-ID so parent won't wait for it. - // This ensures the process won't go zombie at end. - setsid(); - } - + // The child process Vector<CharString> cs; cs.push_back(p_path.utf8()); for (int i = 0; i < p_arguments.size(); i++) { @@ -322,24 +308,56 @@ Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, bo args.push_back(0); execvp(p_path.utf8().get_data(), &args[0]); - // still alive? something failed.. - fprintf(stderr, "**ERROR** OS_Unix::execute - Could not create child process while executing: %s\n", p_path.utf8().get_data()); + // The execvp() function only returns if an error occurs. + ERR_PRINT("Could not create child process: " + p_path); raise(SIGKILL); } - if (p_blocking) { - int status; - waitpid(pid, &status, 0); - if (r_exitcode) { - *r_exitcode = WIFEXITED(status) ? WEXITSTATUS(status) : status; + int status; + waitpid(pid, &status, 0); + if (r_exitcode) { + *r_exitcode = WIFEXITED(status) ? WEXITSTATUS(status) : status; + } + return OK; +#endif +} + +Error OS_Unix::create_process(const String &p_path, const List<String> &p_arguments, ProcessID *r_child_id) { +#ifdef __EMSCRIPTEN__ + // Don't compile this code at all to avoid undefined references. + // Actual virtual call goes to OS_JavaScript. + ERR_FAIL_V(ERR_BUG); +#else + pid_t pid = fork(); + ERR_FAIL_COND_V(pid < 0, ERR_CANT_FORK); + + if (pid == 0) { + // The new process + // Create a new session-ID so parent won't wait for it. + // This ensures the process won't go zombie at the end. + setsid(); + + Vector<CharString> cs; + cs.push_back(p_path.utf8()); + for (int i = 0; i < p_arguments.size(); i++) { + cs.push_back(p_arguments[i].utf8()); } - } else { - if (r_child_id) { - *r_child_id = pid; + Vector<char *> args; + for (int i = 0; i < cs.size(); i++) { + args.push_back((char *)cs[i].get_data()); } + args.push_back(0); + + execvp(p_path.utf8().get_data(), &args[0]); + // The execvp() function only returns if an error occurs. + ERR_PRINT("Could not create child process: " + p_path); + raise(SIGKILL); } + if (r_child_id) { + *r_child_id = pid; + } return OK; #endif } diff --git a/drivers/unix/os_unix.h b/drivers/unix/os_unix.h index 2982e0c55c..6c79d984e9 100644 --- a/drivers/unix/os_unix.h +++ b/drivers/unix/os_unix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -45,7 +45,7 @@ protected: virtual int unix_initialize_audio(int p_audio_driver); //virtual Error initialize(int p_video_driver,int p_audio_driver); - virtual void finalize_core(); + virtual void finalize_core() override; String stdin_buf; @@ -53,7 +53,7 @@ public: OS_Unix(); virtual void alert(const String &p_alert, const String &p_title = "ALERT!"); - virtual String get_stdin_string(bool p_block); + virtual String get_stdin_string(bool p_block) override; //virtual void set_mouse_show(bool p_show); //virtual void set_mouse_grab(bool p_grab); @@ -65,39 +65,40 @@ public: //virtual VideoMode get_video_mode() const; //virtual void get_fullscreen_mode_list(List<VideoMode> *p_list) const; - virtual Error open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path = false); - virtual Error close_dynamic_library(void *p_library_handle); - virtual Error get_dynamic_library_symbol_handle(void *p_library_handle, const String p_name, void *&p_symbol_handle, bool p_optional = false); + virtual Error open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path = false) override; + virtual Error close_dynamic_library(void *p_library_handle) override; + virtual Error get_dynamic_library_symbol_handle(void *p_library_handle, const String p_name, void *&p_symbol_handle, bool p_optional = false) override; - virtual Error set_cwd(const String &p_cwd); + virtual Error set_cwd(const String &p_cwd) override; - virtual String get_name() const; + virtual String get_name() const override; - virtual Date get_date(bool utc) const; - virtual Time get_time(bool utc) const; - virtual TimeZoneInfo get_time_zone_info() const; + virtual Date get_date(bool utc) const override; + virtual Time get_time(bool utc) const override; + virtual TimeZoneInfo get_time_zone_info() const override; - virtual double get_unix_time() const; + virtual double get_unix_time() const override; - virtual void delay_usec(uint32_t p_usec) const; - virtual uint64_t get_ticks_usec() const; + virtual void delay_usec(uint32_t p_usec) const override; + virtual uint64_t get_ticks_usec() const override; - virtual Error execute(const String &p_path, const List<String> &p_arguments, bool p_blocking = true, ProcessID *r_child_id = nullptr, String *r_pipe = nullptr, int *r_exitcode = nullptr, bool read_stderr = false, Mutex *p_pipe_mutex = nullptr); - virtual Error kill(const ProcessID &p_pid); - virtual int get_process_id() const; + virtual Error execute(const String &p_path, const List<String> &p_arguments, String *r_pipe = nullptr, int *r_exitcode = nullptr, bool read_stderr = false, Mutex *p_pipe_mutex = nullptr) override; + virtual Error create_process(const String &p_path, const List<String> &p_arguments, ProcessID *r_child_id = nullptr) override; + virtual Error kill(const ProcessID &p_pid) override; + virtual int get_process_id() const override; - virtual bool has_environment(const String &p_var) const; - virtual String get_environment(const String &p_var) const; - virtual bool set_environment(const String &p_var, const String &p_value) const; - virtual String get_locale() const; + virtual bool has_environment(const String &p_var) const override; + virtual String get_environment(const String &p_var) const override; + virtual bool set_environment(const String &p_var, const String &p_value) const override; + virtual String get_locale() const override; - virtual int get_processor_count() const; + virtual int get_processor_count() const override; - virtual void debug_break(); - virtual void initialize_debugging(); + virtual void debug_break() override; + virtual void initialize_debugging() override; - virtual String get_executable_path() const; - virtual String get_user_data_dir() const; + virtual String get_executable_path() const override; + virtual String get_user_data_dir() const override; }; class UnixTerminalLogger : public StdLogger { diff --git a/drivers/unix/rw_lock_posix.cpp b/drivers/unix/rw_lock_posix.cpp deleted file mode 100644 index cf24d54c50..0000000000 --- a/drivers/unix/rw_lock_posix.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/*************************************************************************/ -/* rw_lock_posix.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#if defined(UNIX_ENABLED) || defined(PTHREAD_ENABLED) - -#include "rw_lock_posix.h" - -#include "core/error/error_macros.h" -#include "core/os/memory.h" -#include <stdio.h> - -void RWLockPosix::read_lock() { - int err = pthread_rwlock_rdlock(&rwlock); - if (err != 0) { - perror("Acquiring lock failed"); - } - ERR_FAIL_COND(err != 0); -} - -void RWLockPosix::read_unlock() { - pthread_rwlock_unlock(&rwlock); -} - -Error RWLockPosix::read_try_lock() { - if (pthread_rwlock_tryrdlock(&rwlock) != 0) { - return ERR_BUSY; - } else { - return OK; - } -} - -void RWLockPosix::write_lock() { - int err = pthread_rwlock_wrlock(&rwlock); - ERR_FAIL_COND(err != 0); -} - -void RWLockPosix::write_unlock() { - pthread_rwlock_unlock(&rwlock); -} - -Error RWLockPosix::write_try_lock() { - if (pthread_rwlock_trywrlock(&rwlock) != 0) { - return ERR_BUSY; - } else { - return OK; - } -} - -RWLock *RWLockPosix::create_func_posix() { - return memnew(RWLockPosix); -} - -void RWLockPosix::make_default() { - create_func = create_func_posix; -} - -RWLockPosix::RWLockPosix() { - //rwlock=PTHREAD_RWLOCK_INITIALIZER; fails on OSX - pthread_rwlock_init(&rwlock, nullptr); -} - -RWLockPosix::~RWLockPosix() { - pthread_rwlock_destroy(&rwlock); -} - -#endif diff --git a/drivers/unix/rw_lock_posix.h b/drivers/unix/rw_lock_posix.h deleted file mode 100644 index 056fcaea1c..0000000000 --- a/drivers/unix/rw_lock_posix.h +++ /dev/null @@ -1,62 +0,0 @@ -/*************************************************************************/ -/* rw_lock_posix.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef RWLOCKPOSIX_H -#define RWLOCKPOSIX_H - -#if defined(UNIX_ENABLED) || defined(PTHREAD_ENABLED) - -#include "core/os/rw_lock.h" -#include <pthread.h> - -class RWLockPosix : public RWLock { - pthread_rwlock_t rwlock; - - static RWLock *create_func_posix(); - -public: - virtual void read_lock(); - virtual void read_unlock(); - virtual Error read_try_lock(); - - virtual void write_lock(); - virtual void write_unlock(); - virtual Error write_try_lock(); - - static void make_default(); - - RWLockPosix(); - - ~RWLockPosix(); -}; - -#endif - -#endif // RWLOCKPOSIX_H diff --git a/drivers/unix/syslog_logger.cpp b/drivers/unix/syslog_logger.cpp index b29d1ec541..423ddac793 100644 --- a/drivers/unix/syslog_logger.cpp +++ b/drivers/unix/syslog_logger.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/syslog_logger.h b/drivers/unix/syslog_logger.h index 52da12481f..d9f7f2ff99 100644 --- a/drivers/unix/syslog_logger.h +++ b/drivers/unix/syslog_logger.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/thread_posix.cpp b/drivers/unix/thread_posix.cpp index f4e3de7646..e47046e3ae 100644 --- a/drivers/unix/thread_posix.cpp +++ b/drivers/unix/thread_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,88 +28,18 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "thread_posix.h" - #if (defined(UNIX_ENABLED) || defined(PTHREAD_ENABLED)) && !defined(NO_THREADS) -#include "core/object/script_language.h" -#include "core/os/memory.h" -#include "core/templates/safe_refcount.h" +#include "thread_posix.h" + +#include "core/os/thread.h" +#include "core/string/ustring.h" #ifdef PTHREAD_BSD_SET_NAME #include <pthread_np.h> #endif -static void _thread_id_key_destr_callback(void *p_value) { - memdelete(static_cast<Thread::ID *>(p_value)); -} - -static pthread_key_t _create_thread_id_key() { - pthread_key_t key; - pthread_key_create(&key, &_thread_id_key_destr_callback); - return key; -} - -pthread_key_t ThreadPosix::thread_id_key = _create_thread_id_key(); -Thread::ID ThreadPosix::next_thread_id = 0; - -Thread::ID ThreadPosix::get_id() const { - return id; -} - -Thread *ThreadPosix::create_thread_posix() { - return memnew(ThreadPosix); -} - -void *ThreadPosix::thread_callback(void *userdata) { - ThreadPosix *t = reinterpret_cast<ThreadPosix *>(userdata); - t->id = atomic_increment(&next_thread_id); - pthread_setspecific(thread_id_key, (void *)memnew(ID(t->id))); - - ScriptServer::thread_enter(); //scripts may need to attach a stack - - t->callback(t->user); - - ScriptServer::thread_exit(); - - return nullptr; -} - -Thread *ThreadPosix::create_func_posix(ThreadCreateCallback p_callback, void *p_user, const Settings &) { - ThreadPosix *tr = memnew(ThreadPosix); - tr->callback = p_callback; - tr->user = p_user; - pthread_attr_init(&tr->pthread_attr); - pthread_attr_setdetachstate(&tr->pthread_attr, PTHREAD_CREATE_JOINABLE); - pthread_attr_setstacksize(&tr->pthread_attr, 256 * 1024); - - pthread_create(&tr->pthread, &tr->pthread_attr, thread_callback, tr); - - return tr; -} - -Thread::ID ThreadPosix::get_thread_id_func_posix() { - void *value = pthread_getspecific(thread_id_key); - - if (value) { - return *static_cast<ID *>(value); - } - - ID new_id = atomic_increment(&next_thread_id); - pthread_setspecific(thread_id_key, (void *)memnew(ID(new_id))); - return new_id; -} - -void ThreadPosix::wait_to_finish_func_posix(Thread *p_thread) { - ThreadPosix *tp = static_cast<ThreadPosix *>(p_thread); - ERR_FAIL_COND(!tp); - ERR_FAIL_COND(tp->pthread == 0); - - pthread_join(tp->pthread, nullptr); - tp->pthread = 0; -} - -Error ThreadPosix::set_name_func_posix(const String &p_name) { +static Error set_name(const String &p_name) { #ifdef PTHREAD_NO_RENAME return ERR_UNAVAILABLE; @@ -137,20 +67,10 @@ Error ThreadPosix::set_name_func_posix(const String &p_name) { return err == 0 ? OK : ERR_INVALID_PARAMETER; #endif // PTHREAD_NO_RENAME -}; - -void ThreadPosix::make_default() { - create_func = create_func_posix; - get_thread_id_func = get_thread_id_func_posix; - wait_to_finish_func = wait_to_finish_func_posix; - set_name_func = set_name_func_posix; -} - -ThreadPosix::ThreadPosix() { - pthread = 0; } -ThreadPosix::~ThreadPosix() { +void init_thread_posix() { + Thread::_set_platform_funcs(&set_name, nullptr); } #endif diff --git a/drivers/unix/thread_posix.h b/drivers/unix/thread_posix.h index 6607dbd111..8b8a736bf0 100644 --- a/drivers/unix/thread_posix.h +++ b/drivers/unix/thread_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,42 +31,8 @@ #ifndef THREAD_POSIX_H #define THREAD_POSIX_H -#if (defined(UNIX_ENABLED) || defined(PTHREAD_ENABLED)) && !defined(NO_THREADS) - -#include "core/os/thread.h" -#include <pthread.h> -#include <sys/types.h> - -class ThreadPosix : public Thread { - static pthread_key_t thread_id_key; - static ID next_thread_id; - - pthread_t pthread; - pthread_attr_t pthread_attr; - ThreadCreateCallback callback; - void *user; - ID id; - - static Thread *create_thread_posix(); - - static void *thread_callback(void *userdata); - - static Thread *create_func_posix(ThreadCreateCallback p_callback, void *, const Settings &); - static ID get_thread_id_func_posix(); - static void wait_to_finish_func_posix(Thread *p_thread); - - static Error set_name_func_posix(const String &p_name); - - ThreadPosix(); - -public: - virtual ID get_id() const; - - static void make_default(); - - ~ThreadPosix(); -}; - +#if !defined(NO_THREADS) +void init_thread_posix(); #endif #endif diff --git a/drivers/vulkan/SCsub b/drivers/vulkan/SCsub index 13fcaf16d2..14b9d63204 100644 --- a/drivers/vulkan/SCsub +++ b/drivers/vulkan/SCsub @@ -2,7 +2,7 @@ Import("env") -env.add_source_files(env.drivers_sources, "*.cpp") +thirdparty_obj = [] # FIXME: Refactor all this to reduce code duplication. if env["platform"] == "android": @@ -22,7 +22,8 @@ if env["platform"] == "android": thirdparty_dir = "#thirdparty/vulkan" vma_sources = [thirdparty_dir + "/android/vk_mem_alloc.cpp"] - env_thirdparty.add_source_files(env.drivers_sources, vma_sources) + env_thirdparty.add_source_files(thirdparty_obj, vma_sources) + elif env["platform"] == "iphone": # Use bundled Vulkan headers thirdparty_dir = "#thirdparty/vulkan" @@ -33,7 +34,8 @@ elif env["platform"] == "iphone": env_thirdparty.disable_warnings() vma_sources = [thirdparty_dir + "/vk_mem_alloc.cpp"] - env_thirdparty.add_source_files(env.drivers_sources, vma_sources) + env_thirdparty.add_source_files(thirdparty_obj, vma_sources) + elif env["builtin_vulkan"]: # Use bundled Vulkan headers thirdparty_dir = "#thirdparty/vulkan" @@ -98,8 +100,9 @@ elif env["builtin_vulkan"]: env_thirdparty.AppendUnique(CPPDEFINES=["HAVE_SECURE_GETENV"]) loader_sources = [thirdparty_dir + "/loader/" + file for file in loader_sources] - env_thirdparty.add_source_files(env.drivers_sources, loader_sources) - env_thirdparty.add_source_files(env.drivers_sources, vma_sources) + env_thirdparty.add_source_files(thirdparty_obj, loader_sources) + env_thirdparty.add_source_files(thirdparty_obj, vma_sources) + else: # Always build VMA. thirdparty_dir = "#thirdparty/vulkan" env.Prepend(CPPPATH=[thirdparty_dir]) @@ -109,4 +112,18 @@ else: # Always build VMA. env_thirdparty.disable_warnings() vma_sources = [thirdparty_dir + "/vk_mem_alloc.cpp"] - env_thirdparty.add_source_files(env.drivers_sources, vma_sources) + env_thirdparty.add_source_files(thirdparty_obj, vma_sources) + + +env.drivers_sources += thirdparty_obj + + +# Godot source files + +driver_obj = [] + +env.add_source_files(driver_obj, "*.cpp") +env.drivers_sources += driver_obj + +# Needed to force rebuilding the driver files when the thirdparty code is updated. +env.Depends(driver_obj, thirdparty_obj) diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index 902876616b..09e2b4546a 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -41,28 +41,62 @@ //#define FORCE_FULL_BARRIER // Get the Vulkan object information and possible stage access types (bitwise OR'd with incoming values) -RenderingDeviceVulkan::Buffer *RenderingDeviceVulkan::_get_buffer_from_owner(RID p_buffer, VkPipelineStageFlags &stage_mask, VkAccessFlags &access_mask) { +RenderingDeviceVulkan::Buffer *RenderingDeviceVulkan::_get_buffer_from_owner(RID p_buffer, VkPipelineStageFlags &r_stage_mask, VkAccessFlags &r_access_mask, uint32_t p_post_barrier) { Buffer *buffer = nullptr; if (vertex_buffer_owner.owns(p_buffer)) { - stage_mask |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT; - access_mask |= VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT; buffer = vertex_buffer_owner.getornull(p_buffer); + + r_stage_mask |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT; + r_access_mask |= VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT; + if (buffer->usage & VK_BUFFER_USAGE_STORAGE_BUFFER_BIT) { + if (p_post_barrier & BARRIER_MASK_RASTER) { + r_access_mask |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + r_stage_mask |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + } + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + r_access_mask |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + r_stage_mask |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + } + } } else if (index_buffer_owner.owns(p_buffer)) { - stage_mask |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT; - access_mask |= VK_ACCESS_INDEX_READ_BIT; + r_stage_mask |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT; + r_access_mask |= VK_ACCESS_INDEX_READ_BIT; buffer = index_buffer_owner.getornull(p_buffer); } else if (uniform_buffer_owner.owns(p_buffer)) { - stage_mask |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; - access_mask |= VK_ACCESS_UNIFORM_READ_BIT; + if (p_post_barrier & BARRIER_MASK_RASTER) { + r_stage_mask |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + } + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + r_stage_mask |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + } + r_access_mask |= VK_ACCESS_UNIFORM_READ_BIT; buffer = uniform_buffer_owner.getornull(p_buffer); } else if (texture_buffer_owner.owns(p_buffer)) { - stage_mask |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; - access_mask |= VK_ACCESS_SHADER_READ_BIT; + if (p_post_barrier & BARRIER_MASK_RASTER) { + r_stage_mask |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + r_access_mask |= VK_ACCESS_SHADER_READ_BIT; + } + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + r_stage_mask |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + r_access_mask |= VK_ACCESS_SHADER_READ_BIT; + } + buffer = &texture_buffer_owner.getornull(p_buffer)->buffer; } else if (storage_buffer_owner.owns(p_buffer)) { - stage_mask |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; - access_mask |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; buffer = storage_buffer_owner.getornull(p_buffer); + if (p_post_barrier & BARRIER_MASK_RASTER) { + r_stage_mask |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + r_access_mask |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + r_stage_mask |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + r_access_mask |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + + if (buffer->usage & VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT) { + r_stage_mask |= VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT; + r_access_mask |= VK_ACCESS_INDIRECT_COMMAND_READ_BIT; + } } return buffer; } @@ -85,7 +119,7 @@ static void update_external_dependency_for_store(VkSubpassDependency &dependency } if (is_depth) { - // Depth resources have addtional stages that may be interested in them + // Depth resources have additional stages that may be interested in them dependency.dstStageMask |= VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT; dependency.dstAccessMask |= VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; } @@ -615,6 +649,7 @@ int RenderingDeviceVulkan::get_format_vertex_size(DataFormat p_format) { case DATA_FORMAT_B8G8R8A8_SNORM: case DATA_FORMAT_B8G8R8A8_UINT: case DATA_FORMAT_B8G8R8A8_SINT: + case DATA_FORMAT_A2B10G10R10_UNORM_PACK32: return 4; case DATA_FORMAT_R16_UNORM: case DATA_FORMAT_R16_SNORM: @@ -1361,6 +1396,7 @@ Error RenderingDeviceVulkan::_buffer_allocate(Buffer *p_buffer, uint32_t p_size, p_buffer->buffer_info.buffer = p_buffer->buffer; p_buffer->buffer_info.offset = 0; p_buffer->buffer_info.range = p_size; + p_buffer->usage = p_usage; return OK; } @@ -1450,7 +1486,7 @@ Error RenderingDeviceVulkan::_staging_buffer_allocate(uint32_t p_amount, uint32_ // possible in a single frame if (staging_buffer_blocks[staging_buffer_current].frame_used == frames_drawn) { //guess we did.. ok, let's see if we can insert a new block.. - if (staging_buffer_blocks.size() * staging_buffer_block_size < staging_buffer_max_size) { + if ((uint64_t)staging_buffer_blocks.size() * staging_buffer_block_size < staging_buffer_max_size) { //we can, so we are safe Error err = _insert_staging_block(); if (err) { @@ -1494,7 +1530,7 @@ Error RenderingDeviceVulkan::_staging_buffer_allocate(uint32_t p_amount, uint32_ staging_buffer_blocks.write[staging_buffer_current].fill_amount = 0; } else if (staging_buffer_blocks[staging_buffer_current].frame_used > frames_drawn - frame_count) { //this block may still be in use, let's not touch it unless we have to, so.. can we create a new one? - if (staging_buffer_blocks.size() * staging_buffer_block_size < staging_buffer_max_size) { + if ((uint64_t)staging_buffer_blocks.size() * staging_buffer_block_size < staging_buffer_max_size) { //we are still allowed to create a new block, so let's do that and insert it for current pos Error err = _insert_staging_block(); if (err) { @@ -1593,6 +1629,9 @@ void RenderingDeviceVulkan::_memory_barrier(VkPipelineStageFlags p_src_stage_mas mem_barrier.srcAccessMask = p_src_access; mem_barrier.dstAccessMask = p_dst_sccess; + if (p_src_stage_mask == 0 || p_dst_stage_mask == 0) { + return; //no barrier, since this is invalid + } vkCmdPipelineBarrier(p_sync_with_draw ? frames[frame].draw_command_buffer : frames[frame].setup_command_buffer, p_src_stage_mask, p_dst_stage_mask, 0, 1, &mem_barrier, 0, nullptr, 0, nullptr); } @@ -1691,16 +1730,16 @@ RID RenderingDeviceVulkan::texture_create(const TextureFormat &p_format, const T #endif } - if (p_format.type == TEXTURE_TYPE_CUBE || p_format.type == TEXTURE_TYPE_CUBE_ARRAY) { + if (p_format.texture_type == TEXTURE_TYPE_CUBE || p_format.texture_type == TEXTURE_TYPE_CUBE_ARRAY) { image_create_info.flags |= VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT; } /*if (p_format.type == TEXTURE_TYPE_2D || p_format.type == TEXTURE_TYPE_2D_ARRAY) { image_create_info.flags |= VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT; }*/ - ERR_FAIL_INDEX_V(p_format.type, TEXTURE_TYPE_MAX, RID()); + ERR_FAIL_INDEX_V(p_format.texture_type, TEXTURE_TYPE_MAX, RID()); - image_create_info.imageType = vulkan_image_type[p_format.type]; + image_create_info.imageType = vulkan_image_type[p_format.texture_type]; ERR_FAIL_COND_V_MSG(p_format.width < 1, RID(), "Width must be equal or greater than 1 for all textures"); @@ -1725,10 +1764,10 @@ RID RenderingDeviceVulkan::texture_create(const TextureFormat &p_format, const T image_create_info.mipLevels = p_format.mipmaps; - if (p_format.type == TEXTURE_TYPE_1D_ARRAY || p_format.type == TEXTURE_TYPE_2D_ARRAY || p_format.type == TEXTURE_TYPE_CUBE_ARRAY || p_format.type == TEXTURE_TYPE_CUBE) { + if (p_format.texture_type == TEXTURE_TYPE_1D_ARRAY || p_format.texture_type == TEXTURE_TYPE_2D_ARRAY || p_format.texture_type == TEXTURE_TYPE_CUBE_ARRAY || p_format.texture_type == TEXTURE_TYPE_CUBE) { ERR_FAIL_COND_V_MSG(p_format.array_layers < 1, RID(), "Amount of layers must be equal or greater than 1 for arrays and cubemaps."); - ERR_FAIL_COND_V_MSG((p_format.type == TEXTURE_TYPE_CUBE_ARRAY || p_format.type == TEXTURE_TYPE_CUBE) && (p_format.array_layers % 6) != 0, RID(), + ERR_FAIL_COND_V_MSG((p_format.texture_type == TEXTURE_TYPE_CUBE_ARRAY || p_format.texture_type == TEXTURE_TYPE_CUBE) && (p_format.array_layers % 6) != 0, RID(), "Cubemap and cubemap array textures must provide a layer number that is multiple of 6"); image_create_info.arrayLayers = p_format.array_layers; } else { @@ -1858,7 +1897,7 @@ RID RenderingDeviceVulkan::texture_create(const TextureFormat &p_format, const T VkResult err = vmaCreateImage(allocator, &image_create_info, &allocInfo, &texture.image, &texture.allocation, &texture.allocation_info); ERR_FAIL_COND_V_MSG(err, RID(), "vmaCreateImage failed with error " + itos(err) + "."); - texture.type = p_format.type; + texture.type = p_format.texture_type; texture.format = p_format.format; texture.width = image_create_info.extent.width; texture.height = image_create_info.extent.height; @@ -1926,7 +1965,7 @@ RID RenderingDeviceVulkan::texture_create(const TextureFormat &p_format, const T VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, }; - image_view_create_info.viewType = view_types[p_format.type]; + image_view_create_info.viewType = view_types[p_format.texture_type]; if (p_view.format_override == DATA_FORMAT_MAX) { image_view_create_info.format = image_create_info.format; } else { @@ -2065,6 +2104,48 @@ RID RenderingDeviceVulkan::texture_create_shared(const TextureView &p_view, RID image_view_create_info.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; } + VkImageViewUsageCreateInfo usage_info; + usage_info.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO; + usage_info.pNext = nullptr; + if (p_view.format_override != DATA_FORMAT_MAX) { + //need to validate usage with vulkan + + usage_info.usage = 0; + + if (texture.usage_flags & TEXTURE_USAGE_SAMPLING_BIT) { + usage_info.usage |= VK_IMAGE_USAGE_SAMPLED_BIT; + } + + if (texture.usage_flags & TEXTURE_USAGE_STORAGE_BIT) { + if (texture_is_format_supported_for_usage(p_view.format_override, TEXTURE_USAGE_STORAGE_BIT)) { + usage_info.usage |= VK_IMAGE_USAGE_STORAGE_BIT; + } + } + + if (texture.usage_flags & TEXTURE_USAGE_COLOR_ATTACHMENT_BIT) { + if (texture_is_format_supported_for_usage(p_view.format_override, TEXTURE_USAGE_COLOR_ATTACHMENT_BIT)) { + usage_info.usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + } + } + + if (texture.usage_flags & TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) { + usage_info.usage |= VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT; + } + + if (texture.usage_flags & TEXTURE_USAGE_CAN_UPDATE_BIT) { + usage_info.usage |= VK_IMAGE_USAGE_TRANSFER_DST_BIT; + } + if (texture.usage_flags & TEXTURE_USAGE_CAN_COPY_FROM_BIT) { + usage_info.usage |= VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + } + + if (texture.usage_flags & TEXTURE_USAGE_CAN_COPY_TO_BIT) { + usage_info.usage |= VK_IMAGE_USAGE_TRANSFER_DST_BIT; + } + + image_view_create_info.pNext = &usage_info; + } + VkResult err = vkCreateImageView(device, &image_view_create_info, nullptr, &texture.view); ERR_FAIL_COND_V_MSG(err, RID(), "vkCreateImageView failed with error " + itos(err) + "."); @@ -2093,15 +2174,26 @@ RID RenderingDeviceVulkan::texture_create_shared_from_slice(const TextureView &p ERR_FAIL_COND_V_MSG(p_slice_type == TEXTURE_SLICE_3D && src_texture->type != TEXTURE_TYPE_3D, RID(), "Can only create a 3D slice from a 3D texture"); + ERR_FAIL_COND_V_MSG(p_slice_type == TEXTURE_SLICE_2D_ARRAY && (src_texture->type != TEXTURE_TYPE_2D_ARRAY), RID(), + "Can only create an array slice from a 2D array mipmap"); + //create view ERR_FAIL_UNSIGNED_INDEX_V(p_mipmap, src_texture->mipmaps, RID()); ERR_FAIL_UNSIGNED_INDEX_V(p_layer, src_texture->layers, RID()); + int slice_layers = 1; + if (p_slice_type == TEXTURE_SLICE_2D_ARRAY) { + ERR_FAIL_COND_V_MSG(p_layer != 0, RID(), "layer must be 0 when obtaining a 2D array mipmap slice"); + slice_layers = src_texture->layers; + } else if (p_slice_type == TEXTURE_SLICE_CUBEMAP) { + slice_layers = 6; + } + Texture texture = *src_texture; get_image_format_required_size(texture.format, texture.width, texture.height, texture.depth, p_mipmap + 1, &texture.width, &texture.height); texture.mipmaps = 1; - texture.layers = p_slice_type == TEXTURE_SLICE_CUBEMAP ? 6 : 1; + texture.layers = slice_layers; texture.base_mipmap = p_mipmap; texture.base_layer = p_layer; @@ -2121,7 +2213,16 @@ RID RenderingDeviceVulkan::texture_create_shared_from_slice(const TextureView &p VK_IMAGE_VIEW_TYPE_2D, }; - image_view_create_info.viewType = p_slice_type == TEXTURE_SLICE_CUBEMAP ? VK_IMAGE_VIEW_TYPE_CUBE : (p_slice_type == TEXTURE_SLICE_3D ? VK_IMAGE_VIEW_TYPE_3D : view_types[texture.type]); + image_view_create_info.viewType = view_types[texture.type]; + + if (p_slice_type == TEXTURE_SLICE_CUBEMAP) { + image_view_create_info.viewType = VK_IMAGE_VIEW_TYPE_CUBE; + } else if (p_slice_type == TEXTURE_SLICE_3D) { + image_view_create_info.viewType = VK_IMAGE_VIEW_TYPE_3D; + } else if (p_slice_type == TEXTURE_SLICE_2D_ARRAY) { + image_view_create_info.viewType = VK_IMAGE_VIEW_TYPE_2D_ARRAY; + } + if (p_view.format_override == DATA_FORMAT_MAX || p_view.format_override == texture.format) { image_view_create_info.format = vulkan_formats[texture.format]; } else { @@ -2155,7 +2256,7 @@ RID RenderingDeviceVulkan::texture_create_shared_from_slice(const TextureView &p } image_view_create_info.subresourceRange.baseMipLevel = p_mipmap; image_view_create_info.subresourceRange.levelCount = 1; - image_view_create_info.subresourceRange.layerCount = p_slice_type == TEXTURE_SLICE_CUBEMAP ? 6 : 1; + image_view_create_info.subresourceRange.layerCount = slice_layers; image_view_create_info.subresourceRange.baseArrayLayer = p_layer; if (texture.usage_flags & TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) { @@ -2174,11 +2275,11 @@ RID RenderingDeviceVulkan::texture_create_shared_from_slice(const TextureView &p return id; } -Error RenderingDeviceVulkan::texture_update(RID p_texture, uint32_t p_layer, const Vector<uint8_t> &p_data, bool p_sync_with_draw) { +Error RenderingDeviceVulkan::texture_update(RID p_texture, uint32_t p_layer, const Vector<uint8_t> &p_data, uint32_t p_post_barrier) { _THREAD_SAFE_METHOD_ - ERR_FAIL_COND_V_MSG(draw_list && p_sync_with_draw, ERR_INVALID_PARAMETER, - "Updating textures in 'sync to draw' mode is forbidden during creation of a draw list"); + ERR_FAIL_COND_V_MSG(draw_list || compute_list, ERR_INVALID_PARAMETER, + "Updating textures in is forbidden during creation of a draw or compute list"); Texture *texture = texture_owner.getornull(p_texture); ERR_FAIL_COND_V(!texture, ERR_INVALID_PARAMETER); @@ -2219,7 +2320,7 @@ Error RenderingDeviceVulkan::texture_update(RID p_texture, uint32_t p_layer, con const uint8_t *r = p_data.ptr(); - VkCommandBuffer command_buffer = p_sync_with_draw ? frames[frame].draw_command_buffer : frames[frame].setup_command_buffer; + VkCommandBuffer command_buffer = p_post_barrier ? frames[frame].draw_command_buffer : frames[frame].setup_command_buffer; //barrier to transfer { @@ -2244,6 +2345,10 @@ Error RenderingDeviceVulkan::texture_update(RID p_texture, uint32_t p_layer, con } uint32_t mipmap_offset = 0; + + uint32_t logic_width = texture->width; + uint32_t logic_height = texture->height; + for (uint32_t mm_i = 0; mm_i < texture->mipmaps; mm_i++) { uint32_t depth; uint32_t image_total = get_image_format_required_size(texture->format, texture->width, texture->height, texture->depth, mm_i + 1, &width, &height, &depth); @@ -2260,12 +2365,15 @@ Error RenderingDeviceVulkan::texture_update(RID p_texture, uint32_t p_layer, con uint32_t region_w = MIN(region_size, width - x); uint32_t region_h = MIN(region_size, height - y); + uint32_t region_logic_w = MIN(region_size, logic_width - x); + uint32_t region_logic_h = MIN(region_size, logic_height - y); + uint32_t pixel_size = get_image_format_pixel_size(texture->format); uint32_t to_allocate = region_w * region_h * pixel_size; to_allocate >>= get_compressed_image_format_pixel_rshift(texture->format); uint32_t alloc_offset, alloc_size; - Error err = _staging_buffer_allocate(to_allocate, required_align, alloc_offset, alloc_size, false, p_sync_with_draw); + Error err = _staging_buffer_allocate(to_allocate, required_align, alloc_offset, alloc_size, false, p_post_barrier); ERR_FAIL_COND_V(err, ERR_CANT_CREATE); uint8_t *write_ptr; @@ -2341,8 +2449,8 @@ Error RenderingDeviceVulkan::texture_update(RID p_texture, uint32_t p_layer, con buffer_image_copy.imageOffset.y = y; buffer_image_copy.imageOffset.z = z; - buffer_image_copy.imageExtent.width = region_w; - buffer_image_copy.imageExtent.height = region_h; + buffer_image_copy.imageExtent.width = region_logic_w; + buffer_image_copy.imageExtent.height = region_logic_h; buffer_image_copy.imageExtent.depth = 1; vkCmdCopyBufferToImage(command_buffer, staging_buffer_blocks[staging_buffer_current].buffer, texture->image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &buffer_image_copy); @@ -2353,15 +2461,36 @@ Error RenderingDeviceVulkan::texture_update(RID p_texture, uint32_t p_layer, con } mipmap_offset = image_total; + logic_width = MAX(1, logic_width >> 1); + logic_height = MAX(1, logic_height >> 1); } //barrier to restore layout { + uint32_t barrier_flags = 0; + uint32_t access_flags = 0; + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + barrier_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT; + } + if (p_post_barrier & BARRIER_MASK_RASTER) { + barrier_flags |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT; + } + if (p_post_barrier & BARRIER_MASK_TRANSFER) { + barrier_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT; + } + + if (barrier_flags == 0) { + barrier_flags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + VkImageMemoryBarrier image_memory_barrier; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; - image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + image_memory_barrier.dstAccessMask = access_flags; image_memory_barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; image_memory_barrier.newLayout = texture->layout; image_memory_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; @@ -2373,8 +2502,15 @@ Error RenderingDeviceVulkan::texture_update(RID p_texture, uint32_t p_layer, con image_memory_barrier.subresourceRange.baseArrayLayer = p_layer; image_memory_barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer, VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + vkCmdPipelineBarrier(command_buffer, VK_ACCESS_TRANSFER_WRITE_BIT, barrier_flags, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + } + + if (texture->used_in_frame != frames_drawn) { + texture->used_in_raster = false; + texture->used_in_compute = false; + texture->used_in_frame = frames_drawn; } + texture->used_in_transfer = true; return OK; } @@ -2430,7 +2566,7 @@ Vector<uint8_t> RenderingDeviceVulkan::_texture_get_data_from_image(Texture *tex for (uint32_t y = 0; y < height; y++) { const uint8_t *rptr = slice_read_ptr + y * layout.rowPitch; uint8_t *wptr = write_ptr + y * pixel_size * width; - copymem(wptr, rptr, pixel_size * width); + copymem(wptr, rptr, (uint64_t)pixel_size * width); } } } @@ -2586,13 +2722,13 @@ bool RenderingDeviceVulkan::texture_is_valid(RID p_texture) { return texture_owner.owns(p_texture); } -Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, const Vector3 &p_from, const Vector3 &p_to, const Vector3 &p_size, uint32_t p_src_mipmap, uint32_t p_dst_mipmap, uint32_t p_src_layer, uint32_t p_dst_layer, bool p_sync_with_draw) { +Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, const Vector3 &p_from, const Vector3 &p_to, const Vector3 &p_size, uint32_t p_src_mipmap, uint32_t p_dst_mipmap, uint32_t p_src_layer, uint32_t p_dst_layer, uint32_t p_post_barrier) { _THREAD_SAFE_METHOD_ Texture *src_tex = texture_owner.getornull(p_from_texture); ERR_FAIL_COND_V(!src_tex, ERR_INVALID_PARAMETER); - ERR_FAIL_COND_V_MSG(p_sync_with_draw && src_tex->bound, ERR_INVALID_PARAMETER, + ERR_FAIL_COND_V_MSG(src_tex->bound, ERR_INVALID_PARAMETER, "Source texture can't be copied while a render pass that uses it is being created. Ensure render pass is finalized (and that it was created with RENDER_PASS_CONTENTS_FINISH) to unbind this texture."); ERR_FAIL_COND_V_MSG(!(src_tex->usage_flags & TEXTURE_USAGE_CAN_COPY_FROM_BIT), ERR_INVALID_PARAMETER, "Source texture requires the TEXTURE_USAGE_CAN_COPY_FROM_BIT in order to be retrieved."); @@ -2613,7 +2749,7 @@ Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, Texture *dst_tex = texture_owner.getornull(p_to_texture); ERR_FAIL_COND_V(!dst_tex, ERR_INVALID_PARAMETER); - ERR_FAIL_COND_V_MSG(p_sync_with_draw && dst_tex->bound, ERR_INVALID_PARAMETER, + ERR_FAIL_COND_V_MSG(dst_tex->bound, ERR_INVALID_PARAMETER, "Destination texture can't be copied while a render pass that uses it is being created. Ensure render pass is finalized (and that it was created with RENDER_PASS_CONTENTS_FINISH) to unbind this texture."); ERR_FAIL_COND_V_MSG(!(dst_tex->usage_flags & TEXTURE_USAGE_CAN_COPY_TO_BIT), ERR_INVALID_PARAMETER, "Destination texture requires the TEXTURE_USAGE_CAN_COPY_TO_BIT in order to be retrieved."); @@ -2634,7 +2770,7 @@ Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, ERR_FAIL_COND_V_MSG(src_tex->read_aspect_mask != dst_tex->read_aspect_mask, ERR_INVALID_PARAMETER, "Source and destination texture must be of the same type (color or depth)."); - VkCommandBuffer command_buffer = p_sync_with_draw ? frames[frame].draw_command_buffer : frames[frame].setup_command_buffer; + VkCommandBuffer command_buffer = frames[frame].draw_command_buffer; { //PRE Copy the image @@ -2709,12 +2845,31 @@ Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, // RESTORE LAYOUT for SRC and DST + uint32_t barrier_flags = 0; + uint32_t access_flags = 0; + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + barrier_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_RASTER) { + barrier_flags |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_TRANSFER) { + barrier_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT; + } + + if (barrier_flags == 0) { + barrier_flags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + { //restore src VkImageMemoryBarrier image_memory_barrier; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_TRANSFER_READ_BIT; - image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + image_memory_barrier.dstAccessMask = access_flags; image_memory_barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; image_memory_barrier.newLayout = src_tex->layout; image_memory_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; @@ -2726,7 +2881,7 @@ Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, image_memory_barrier.subresourceRange.baseArrayLayer = p_src_layer; image_memory_barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer, VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + vkCmdPipelineBarrier(command_buffer, VK_ACCESS_TRANSFER_WRITE_BIT, barrier_flags, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); } { //make dst readable @@ -2735,7 +2890,7 @@ Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; - image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + image_memory_barrier.dstAccessMask = access_flags; image_memory_barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; image_memory_barrier.newLayout = dst_tex->layout; @@ -2748,20 +2903,20 @@ Error RenderingDeviceVulkan::texture_copy(RID p_from_texture, RID p_to_texture, image_memory_barrier.subresourceRange.baseArrayLayer = p_src_layer; image_memory_barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + vkCmdPipelineBarrier(command_buffer, VK_PIPELINE_STAGE_TRANSFER_BIT, barrier_flags, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); } } return OK; } -Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID p_to_texture, bool p_sync_with_draw) { +Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID p_to_texture, uint32_t p_post_barrier) { _THREAD_SAFE_METHOD_ Texture *src_tex = texture_owner.getornull(p_from_texture); ERR_FAIL_COND_V(!src_tex, ERR_INVALID_PARAMETER); - ERR_FAIL_COND_V_MSG(p_sync_with_draw && src_tex->bound, ERR_INVALID_PARAMETER, + ERR_FAIL_COND_V_MSG(src_tex->bound, ERR_INVALID_PARAMETER, "Source texture can't be copied while a render pass that uses it is being created. Ensure render pass is finalized (and that it was created with RENDER_PASS_CONTENTS_FINISH) to unbind this texture."); ERR_FAIL_COND_V_MSG(!(src_tex->usage_flags & TEXTURE_USAGE_CAN_COPY_FROM_BIT), ERR_INVALID_PARAMETER, "Source texture requires the TEXTURE_USAGE_CAN_COPY_FROM_BIT in order to be retrieved."); @@ -2772,7 +2927,7 @@ Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID Texture *dst_tex = texture_owner.getornull(p_to_texture); ERR_FAIL_COND_V(!dst_tex, ERR_INVALID_PARAMETER); - ERR_FAIL_COND_V_MSG(p_sync_with_draw && dst_tex->bound, ERR_INVALID_PARAMETER, + ERR_FAIL_COND_V_MSG(dst_tex->bound, ERR_INVALID_PARAMETER, "Destination texture can't be copied while a render pass that uses it is being created. Ensure render pass is finalized (and that it was created with RENDER_PASS_CONTENTS_FINISH) to unbind this texture."); ERR_FAIL_COND_V_MSG(!(dst_tex->usage_flags & TEXTURE_USAGE_CAN_COPY_TO_BIT), ERR_INVALID_PARAMETER, "Destination texture requires the TEXTURE_USAGE_CAN_COPY_TO_BIT in order to be retrieved."); @@ -2786,7 +2941,7 @@ Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID ERR_FAIL_COND_V_MSG(src_tex->read_aspect_mask != dst_tex->read_aspect_mask, ERR_INVALID_PARAMETER, "Source and destination texture must be of the same type (color or depth)."); - VkCommandBuffer command_buffer = p_sync_with_draw ? frames[frame].draw_command_buffer : frames[frame].setup_command_buffer; + VkCommandBuffer command_buffer = frames[frame].draw_command_buffer; { //PRE Copy the image @@ -2861,12 +3016,31 @@ Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID // RESTORE LAYOUT for SRC and DST + uint32_t barrier_flags = 0; + uint32_t access_flags = 0; + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + barrier_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_RASTER) { + barrier_flags |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_TRANSFER) { + barrier_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT; + } + + if (barrier_flags == 0) { + barrier_flags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + { //restore src VkImageMemoryBarrier image_memory_barrier; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_TRANSFER_READ_BIT; - image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + image_memory_barrier.dstAccessMask = access_flags; image_memory_barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; image_memory_barrier.newLayout = src_tex->layout; image_memory_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; @@ -2878,7 +3052,7 @@ Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID image_memory_barrier.subresourceRange.baseArrayLayer = src_tex->base_layer; image_memory_barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer, VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + vkCmdPipelineBarrier(command_buffer, VK_ACCESS_TRANSFER_WRITE_BIT, barrier_flags, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); } { //make dst readable @@ -2887,7 +3061,7 @@ Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; - image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + image_memory_barrier.dstAccessMask = access_flags; image_memory_barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; image_memory_barrier.newLayout = dst_tex->layout; @@ -2900,20 +3074,20 @@ Error RenderingDeviceVulkan::texture_resolve_multisample(RID p_from_texture, RID image_memory_barrier.subresourceRange.baseArrayLayer = dst_tex->base_layer; image_memory_barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + vkCmdPipelineBarrier(command_buffer, VK_PIPELINE_STAGE_TRANSFER_BIT, barrier_flags, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); } } return OK; } -Error RenderingDeviceVulkan::texture_clear(RID p_texture, const Color &p_color, uint32_t p_base_mipmap, uint32_t p_mipmaps, uint32_t p_base_layer, uint32_t p_layers, bool p_sync_with_draw) { +Error RenderingDeviceVulkan::texture_clear(RID p_texture, const Color &p_color, uint32_t p_base_mipmap, uint32_t p_mipmaps, uint32_t p_base_layer, uint32_t p_layers, uint32_t p_post_barrier) { _THREAD_SAFE_METHOD_ Texture *src_tex = texture_owner.getornull(p_texture); ERR_FAIL_COND_V(!src_tex, ERR_INVALID_PARAMETER); - ERR_FAIL_COND_V_MSG(p_sync_with_draw && src_tex->bound, ERR_INVALID_PARAMETER, + ERR_FAIL_COND_V_MSG(src_tex->bound, ERR_INVALID_PARAMETER, "Source texture can't be cleared while a render pass that uses it is being created. Ensure render pass is finalized (and that it was created with RENDER_PASS_CONTENTS_FINISH) to unbind this texture."); ERR_FAIL_COND_V(p_layers == 0, ERR_INVALID_PARAMETER); @@ -2930,11 +3104,11 @@ Error RenderingDeviceVulkan::texture_clear(RID p_texture, const Color &p_color, ERR_FAIL_COND_V(p_base_mipmap + p_mipmaps > src_tex->mipmaps, ERR_INVALID_PARAMETER); ERR_FAIL_COND_V(p_base_layer + p_layers > src_layer_count, ERR_INVALID_PARAMETER); - VkCommandBuffer command_buffer = p_sync_with_draw ? frames[frame].draw_command_buffer : frames[frame].setup_command_buffer; + VkCommandBuffer command_buffer = frames[frame].draw_command_buffer; VkImageLayout clear_layout = (src_tex->layout == VK_IMAGE_LAYOUT_GENERAL) ? VK_IMAGE_LAYOUT_GENERAL : VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; - // NOTE: Perhaps the valid stages/accesses for a given onwner should be a property of the owner. (Here and places like _get_buffer_from_owner) + // NOTE: Perhaps the valid stages/accesses for a given owner should be a property of the owner. (Here and places like _get_buffer_from_owner) const VkPipelineStageFlags valid_texture_stages = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; constexpr VkAccessFlags read_access = VK_ACCESS_SHADER_READ_BIT; constexpr VkAccessFlags read_write_access = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; @@ -2977,11 +3151,31 @@ Error RenderingDeviceVulkan::texture_clear(RID p_texture, const Color &p_color, vkCmdClearColorImage(command_buffer, src_tex->image, clear_layout, &clear_color, 1, &range); { // Barrier to post clear accesses (changing back the layout if needed) + + uint32_t barrier_flags = 0; + uint32_t access_flags = 0; + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + barrier_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_RASTER) { + barrier_flags |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_TRANSFER) { + barrier_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT; + } + + if (barrier_flags == 0) { + barrier_flags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + VkImageMemoryBarrier image_memory_barrier; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; - image_memory_barrier.dstAccessMask = valid_texture_access; + image_memory_barrier.dstAccessMask = access_flags; image_memory_barrier.oldLayout = clear_layout; image_memory_barrier.newLayout = src_tex->layout; @@ -2994,8 +3188,15 @@ Error RenderingDeviceVulkan::texture_clear(RID p_texture, const Color &p_color, image_memory_barrier.subresourceRange.baseArrayLayer = src_tex->base_layer + p_base_layer; image_memory_barrier.subresourceRange.layerCount = p_layers; - vkCmdPipelineBarrier(command_buffer, VK_PIPELINE_STAGE_TRANSFER_BIT, valid_texture_stages, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + vkCmdPipelineBarrier(command_buffer, VK_PIPELINE_STAGE_TRANSFER_BIT, barrier_flags, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + } + + if (src_tex->used_in_frame != frames_drawn) { + src_tex->used_in_raster = false; + src_tex->used_in_compute = false; + src_tex->used_in_frame = frames_drawn; } + src_tex->used_in_transfer = true; return OK; } @@ -3049,7 +3250,7 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF Vector<VkAttachmentReference> depth_stencil_references; Vector<VkAttachmentReference> resolve_references; - // Set up a dependencies from/to external equivalent to the default (implicit) one, and then amend them + // Set up dependencies from/to external equivalent to the default (implicit) one, and then amend them const VkPipelineStageFlags default_access_mask = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | @@ -3078,10 +3279,11 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF bool is_storage = p_format[i].usage_flags & TEXTURE_USAGE_STORAGE_BIT; // For each UNDEFINED, assume the prior use was a *read*, as we'd be discarding the output of a write - // Also, each UNDEFINED will do an immediate layout transition (write), s.t. we must ensure execution syncronization vs. + // Also, each UNDEFINED will do an immediate layout transition (write), s.t. we must ensure execution synchronization vs. // the read. If this is a performance issue, one could track the actual last accessor of each resource, adding only that // stage switch (is_depth_stencil ? p_initial_depth_action : p_initial_color_action) { + case INITIAL_ACTION_CLEAR_REGION: case INITIAL_ACTION_CLEAR: { description.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; description.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; @@ -3094,9 +3296,9 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF description.initialLayout = is_sampled ? VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL : (is_storage ? VK_IMAGE_LAYOUT_GENERAL : VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL); description.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; } else if (p_format[i].usage_flags & TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) { - description.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; - description.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; //don't care what is there - description.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; + description.loadOp = VK_ATTACHMENT_LOAD_OP_LOAD; + description.initialLayout = is_sampled ? VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL : (is_storage ? VK_IMAGE_LAYOUT_GENERAL : VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL); + description.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_LOAD; dependency_from_external.srcStageMask |= reading_stages; } else { description.loadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; @@ -3122,6 +3324,7 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF dependency_from_external.srcStageMask |= reading_stages; } } break; + case INITIAL_ACTION_CLEAR_REGION_CONTINUE: case INITIAL_ACTION_CONTINUE: { if (p_format[i].usage_flags & TEXTURE_USAGE_COLOR_ATTACHMENT_BIT) { description.loadOp = VK_ATTACHMENT_LOAD_OP_LOAD; @@ -3129,7 +3332,7 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF description.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; } else if (p_format[i].usage_flags & TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) { description.loadOp = VK_ATTACHMENT_LOAD_OP_LOAD; - description.initialLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; //don't care what is there + description.initialLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; description.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_LOAD; } else { description.loadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; @@ -3221,12 +3424,12 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF // NOTE: Big Mallet Approach -- any layout transition causes a full barrier if (reference.layout != description.initialLayout) { - // NOTE: this should be smarter based on the textures knowledge of it's previous role + // NOTE: this should be smarter based on the texture's knowledge of its previous role dependency_from_external.srcStageMask |= VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; dependency_from_external.srcAccessMask |= VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT; } if (reference.layout != description.finalLayout) { - // NOTE: this should be smarter based on the textures knowledge of it's subsequent role + // NOTE: this should be smarter based on the texture's knowledge of its subsequent role dependency_to_external.dstStageMask |= VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; dependency_to_external.dstAccessMask |= VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT; } @@ -3258,8 +3461,13 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF render_pass_create_info.pAttachments = attachments.ptr(); render_pass_create_info.subpassCount = 1; render_pass_create_info.pSubpasses = &subpass; - render_pass_create_info.dependencyCount = 2; - render_pass_create_info.pDependencies = dependencies; + // Commenting this because it seems it just avoids raster and compute to work at the same time. + // Other barriers seem to be protecting the render pass fine. + // render_pass_create_info.dependencyCount = 2; + // render_pass_create_info.pDependencies = dependencies; + + render_pass_create_info.dependencyCount = 0; + render_pass_create_info.pDependencies = nullptr; VkRenderPass render_pass; VkResult res = vkCreateRenderPass(device, &render_pass_create_info, nullptr, &render_pass); @@ -3301,11 +3509,8 @@ RenderingDevice::FramebufferFormatID RenderingDeviceVulkan::framebuffer_format_c return id; } -RenderingDevice::FramebufferFormatID RenderingDeviceVulkan::framebuffer_format_create_empty(const Size2i &p_size) { - ERR_FAIL_COND_V(p_size.width <= 0 || p_size.height <= 0, INVALID_FORMAT_ID); - +RenderingDevice::FramebufferFormatID RenderingDeviceVulkan::framebuffer_format_create_empty(TextureSamples p_samples) { FramebufferFormatKey key; - key.empty_size = p_size; const Map<FramebufferFormatKey, FramebufferFormatID>::Element *E = framebuffer_format_cache.find(key); if (E) { @@ -3353,7 +3558,7 @@ RenderingDevice::FramebufferFormatID RenderingDeviceVulkan::framebuffer_format_c fb_format.E = E; fb_format.color_attachments = 0; fb_format.render_pass = render_pass; - fb_format.samples = TEXTURE_SAMPLES_1; + fb_format.samples = p_samples; framebuffer_formats[id] = fb_format; return id; } @@ -3369,10 +3574,10 @@ RenderingDevice::TextureSamples RenderingDeviceVulkan::framebuffer_format_get_te /**** RENDER TARGET ****/ /***********************/ -RID RenderingDeviceVulkan::framebuffer_create_empty(const Size2i &p_size, FramebufferFormatID p_format_check) { +RID RenderingDeviceVulkan::framebuffer_create_empty(const Size2i &p_size, TextureSamples p_samples, FramebufferFormatID p_format_check) { _THREAD_SAFE_METHOD_ Framebuffer framebuffer; - framebuffer.format_id = framebuffer_format_create_empty(p_size); + framebuffer.format_id = framebuffer_format_create_empty(p_samples); ERR_FAIL_COND_V(p_format_check != INVALID_FORMAT_ID && framebuffer.format_id != p_format_check, RID()); framebuffer.size = p_size; @@ -3484,7 +3689,7 @@ RID RenderingDeviceVulkan::sampler_create(const SamplerState &p_state) { /**** VERTEX ARRAY ****/ /**********************/ -RID RenderingDeviceVulkan::vertex_buffer_create(uint32_t p_size_bytes, const Vector<uint8_t> &p_data) { +RID RenderingDeviceVulkan::vertex_buffer_create(uint32_t p_size_bytes, const Vector<uint8_t> &p_data, bool p_use_as_storage) { _THREAD_SAFE_METHOD_ ERR_FAIL_COND_V(p_data.size() && (uint32_t)p_data.size() != p_size_bytes, RID()); @@ -3493,8 +3698,12 @@ RID RenderingDeviceVulkan::vertex_buffer_create(uint32_t p_size_bytes, const Vec ERR_FAIL_COND_V_MSG(compute_list != nullptr && p_data.size(), RID(), "Creating buffers with data is forbidden during creation of a draw list"); + uint32_t usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT; + if (p_use_as_storage) { + usage |= VK_BUFFER_USAGE_STORAGE_BUFFER_BIT; + } Buffer buffer; - _buffer_allocate(&buffer, p_size_bytes, VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, VMA_MEMORY_USAGE_GPU_ONLY); + _buffer_allocate(&buffer, p_size_bytes, usage, VMA_MEMORY_USAGE_GPU_ONLY); if (p_data.size()) { uint64_t data_size = p_data.size(); const uint8_t *r = p_data.ptr(); @@ -3528,7 +3737,7 @@ RenderingDevice::VertexFormatID RenderingDeviceVulkan::vertex_format_create(cons ERR_FAIL_COND_V(used_locations.has(p_vertex_formats[i].location), INVALID_ID); ERR_FAIL_COND_V_MSG(get_format_vertex_size(p_vertex_formats[i].format) == 0, INVALID_ID, - "Data format for attachment (" + itos(i) + ") is not valid for a vertex array."); + "Data format for attachment (" + itos(i) + "), '" + named_formats[p_vertex_formats[i].format] + "', is not valid for a vertex array."); vdcache.bindings[i].binding = i; vdcache.bindings[i].stride = p_vertex_formats[i].stride; @@ -3733,13 +3942,11 @@ String RenderingDeviceVulkan::_shader_uniform_debug(RID p_shader, int p_set) { } #if 0 bool RenderingDeviceVulkan::_uniform_add_binding(Vector<Vector<VkDescriptorSetLayoutBinding> > &bindings, Vector<Vector<UniformInfo> > &uniform_infos, const glslang::TObjectReflection &reflection, RenderingDevice::ShaderStage p_stage, Shader::PushConstant &push_constant, String *r_error) { - VkDescriptorSetLayoutBinding layout_binding; UniformInfo info; switch (reflection.getType()->getBasicType()) { case glslang::EbtSampler: { - //print_line("DEBUG: IsSampler"); if (reflection.getType()->getSampler().dim == glslang::EsdBuffer) { //texture buffers @@ -3837,13 +4044,10 @@ bool RenderingDeviceVulkan::_uniform_add_binding(Vector<Vector<VkDescriptorSetLa } break; /*case glslang::EbtReference: { - } break;*/ /*case glslang::EbtAtomicUint: { - } break;*/ default: { - if (reflection.getType()->getQualifier().hasOffset() || reflection.name.find(".") != std::string::npos) { //member of uniform block? return true; @@ -3945,6 +4149,8 @@ RID RenderingDeviceVulkan::shader_create(const Vector<ShaderStageData> &p_stages bool is_compute = false; + uint32_t compute_local_size[3] = { 0, 0, 0 }; + for (int i = 0; i < p_stages.size(); i++) { if (p_stages[i].shader_stage == SHADER_STAGE_COMPUTE) { is_compute = true; @@ -3961,6 +4167,11 @@ RID RenderingDeviceVulkan::shader_create(const Vector<ShaderStageData> &p_stages ERR_FAIL_COND_V_MSG(result != SPV_REFLECT_RESULT_SUCCESS, RID(), "Reflection of SPIR-V shader stage '" + String(shader_stage_names[p_stages[i].shader_stage]) + "' failed parsing shader."); + if (is_compute) { + compute_local_size[0] = module.entry_points->local_size.x; + compute_local_size[1] = module.entry_points->local_size.y; + compute_local_size[2] = module.entry_points->local_size.z; + } uint32_t binding_count = 0; result = spvReflectEnumerateDescriptorBindings(&module, &binding_count, nullptr); ERR_FAIL_COND_V_MSG(result != SPV_REFLECT_RESULT_SUCCESS, RID(), @@ -4040,6 +4251,10 @@ RID RenderingDeviceVulkan::shader_create(const Vector<ShaderStageData> &p_stages layout_binding.descriptorType = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT; info.type = UNIFORM_TYPE_INPUT_ATTACHMENT; } break; + case SPV_REFLECT_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: { + ERR_PRINT("Acceleration structure not supported."); + continue; + } break; } if (need_array_dimensions) { @@ -4161,6 +4376,7 @@ RID RenderingDeviceVulkan::shader_create(const Vector<ShaderStageData> &p_stages } } } + uint32_t pc_count = 0; result = spvReflectEnumeratePushConstantBlocks(&module, &pc_count, nullptr); ERR_FAIL_COND_V_MSG(result != SPV_REFLECT_RESULT_SUCCESS, RID(), @@ -4209,6 +4425,9 @@ RID RenderingDeviceVulkan::shader_create(const Vector<ShaderStageData> &p_stages shader.fragment_outputs = fragment_outputs; shader.push_constant = push_constant; shader.is_compute = is_compute; + shader.compute_local_size[0] = compute_local_size[0]; + shader.compute_local_size[1] = compute_local_size[1]; + shader.compute_local_size[2] = compute_local_size[2]; String error_text; @@ -4565,7 +4784,7 @@ void RenderingDeviceVulkan::_descriptor_pool_free(const DescriptorPoolKey &p_key vkDestroyDescriptorPool(device, p_pool->pool, nullptr); descriptor_pools[p_key].erase(p_pool); memdelete(p_pool); - if (descriptor_pools[p_key].empty()) { + if (descriptor_pools[p_key].is_empty()) { descriptor_pools.erase(p_key); } } @@ -4599,7 +4818,7 @@ RID RenderingDeviceVulkan::uniform_set_create(const Vector<Uniform> &p_uniforms, List<Vector<VkBufferView>> buffer_views; List<Vector<VkDescriptorImageInfo>> image_infos; //used for verification to make sure a uniform set does not use a framebuffer bound texture - Vector<RID> attachable_textures; + LocalVector<UniformSet::AttachableTexture> attachable_textures; Vector<Texture *> mutable_sampled_textures; Vector<Texture *> mutable_storage_textures; @@ -4616,8 +4835,8 @@ RID RenderingDeviceVulkan::uniform_set_create(const Vector<Uniform> &p_uniforms, const Uniform &uniform = uniforms[uniform_idx]; - ERR_FAIL_COND_V_MSG(uniform.type != set_uniform.type, RID(), - "Mismatch uniform type for binding (" + itos(set_uniform.binding) + "), set (" + itos(p_shader_set) + "). Expected '" + shader_uniform_names[set_uniform.type] + "', supplied: '" + shader_uniform_names[uniform.type] + "'."); + ERR_FAIL_COND_V_MSG(uniform.uniform_type != set_uniform.type, RID(), + "Mismatch uniform type for binding (" + itos(set_uniform.binding) + "), set (" + itos(p_shader_set) + "). Expected '" + shader_uniform_names[set_uniform.type] + "', supplied: '" + shader_uniform_names[uniform.uniform_type] + "'."); VkWriteDescriptorSet write; //common header write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; @@ -4632,7 +4851,7 @@ RID RenderingDeviceVulkan::uniform_set_create(const Vector<Uniform> &p_uniforms, write.pTexelBufferView = nullptr; uint32_t type_size = 1; - switch (uniform.type) { + switch (uniform.uniform_type) { case UNIFORM_TYPE_SAMPLER: { if (uniform.ids.size() != set_uniform.length) { if (set_uniform.length > 1) { @@ -4692,7 +4911,10 @@ RID RenderingDeviceVulkan::uniform_set_create(const Vector<Uniform> &p_uniforms, img_info.imageView = texture->view; if (texture->usage_flags & (TEXTURE_USAGE_COLOR_ATTACHMENT_BIT | TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | TEXTURE_USAGE_RESOLVE_ATTACHMENT_BIT)) { - attachable_textures.push_back(texture->owner.is_valid() ? texture->owner : uniform.ids[j + 1]); + UniformSet::AttachableTexture attachable_texture; + attachable_texture.bind = set_uniform.binding; + attachable_texture.texture = texture->owner.is_valid() ? texture->owner : uniform.ids[j + 1]; + attachable_textures.push_back(attachable_texture); } if (texture->usage_flags & TEXTURE_USAGE_STORAGE_BIT) { @@ -4742,7 +4964,10 @@ RID RenderingDeviceVulkan::uniform_set_create(const Vector<Uniform> &p_uniforms, img_info.imageView = texture->view; if (texture->usage_flags & (TEXTURE_USAGE_COLOR_ATTACHMENT_BIT | TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | TEXTURE_USAGE_RESOLVE_ATTACHMENT_BIT)) { - attachable_textures.push_back(texture->owner.is_valid() ? texture->owner : uniform.ids[j]); + UniformSet::AttachableTexture attachable_texture; + attachable_texture.bind = set_uniform.binding; + attachable_texture.texture = texture->owner.is_valid() ? texture->owner : uniform.ids[j]; + attachable_textures.push_back(attachable_texture); } if (texture->usage_flags & TEXTURE_USAGE_STORAGE_BIT) { @@ -4915,10 +5140,18 @@ RID RenderingDeviceVulkan::uniform_set_create(const Vector<Uniform> &p_uniforms, ERR_FAIL_COND_V_MSG(uniform.ids.size() != 1, RID(), "Storage buffer supplied (binding: " + itos(uniform.binding) + ") must provide one ID (" + itos(uniform.ids.size()) + " provided)."); - Buffer *buffer = storage_buffer_owner.getornull(uniform.ids[0]); + Buffer *buffer = nullptr; + + if (storage_buffer_owner.owns(uniform.ids[0])) { + buffer = storage_buffer_owner.getornull(uniform.ids[0]); + } else if (vertex_buffer_owner.owns(uniform.ids[0])) { + buffer = vertex_buffer_owner.getornull(uniform.ids[0]); + + ERR_FAIL_COND_V_MSG(!(buffer->usage & VK_BUFFER_USAGE_STORAGE_BUFFER_BIT), RID(), "Vertex buffer supplied (binding: " + itos(uniform.binding) + ") was not created with storage flag."); + } ERR_FAIL_COND_V_MSG(!buffer, RID(), "Storage buffer supplied (binding: " + itos(uniform.binding) + ") is invalid."); - //if 0, then its sized on link time + //if 0, then it's sized on link time ERR_FAIL_COND_V_MSG(set_uniform.length > 0 && buffer->size != (uint32_t)set_uniform.length, RID(), "Storage buffer supplied (binding: " + itos(uniform.binding) + ") size (" + itos(buffer->size) + " does not match size of shader uniform: (" + itos(set_uniform.length) + ")."); @@ -5001,19 +5234,22 @@ bool RenderingDeviceVulkan::uniform_set_is_valid(RID p_uniform_set) { return uniform_set_owner.owns(p_uniform_set); } -Error RenderingDeviceVulkan::buffer_update(RID p_buffer, uint32_t p_offset, uint32_t p_size, const void *p_data, bool p_sync_with_draw) { +Error RenderingDeviceVulkan::buffer_update(RID p_buffer, uint32_t p_offset, uint32_t p_size, const void *p_data, uint32_t p_post_barrier) { _THREAD_SAFE_METHOD_ - ERR_FAIL_COND_V_MSG(draw_list && p_sync_with_draw, ERR_INVALID_PARAMETER, - "Updating buffers in 'sync to draw' mode is forbidden during creation of a draw list"); - ERR_FAIL_COND_V_MSG(compute_list && p_sync_with_draw, ERR_INVALID_PARAMETER, - "Updating buffers in 'sync to draw' mode is forbidden during creation of a compute list"); - - // Protect subsequent updates... - VkPipelineStageFlags dst_stage_mask = VK_PIPELINE_STAGE_TRANSFER_BIT; - VkAccessFlags dst_access = VK_ACCESS_TRANSFER_WRITE_BIT; + ERR_FAIL_COND_V_MSG(draw_list, ERR_INVALID_PARAMETER, + "Updating buffers is forbidden during creation of a draw list"); + ERR_FAIL_COND_V_MSG(compute_list, ERR_INVALID_PARAMETER, + "Updating buffers is forbidden during creation of a compute list"); - Buffer *buffer = _get_buffer_from_owner(p_buffer, dst_stage_mask, dst_access); + VkPipelineStageFlags dst_stage_mask = 0; + VkAccessFlags dst_access = 0; + if (p_post_barrier & BARRIER_MASK_TRANSFER) { + // Protect subsequent updates... + dst_stage_mask = VK_PIPELINE_STAGE_TRANSFER_BIT; + dst_access = VK_ACCESS_TRANSFER_WRITE_BIT; + } + Buffer *buffer = _get_buffer_from_owner(p_buffer, dst_stage_mask, dst_access, p_post_barrier); if (!buffer) { ERR_FAIL_V_MSG(ERR_INVALID_PARAMETER, "Buffer argument is not a valid buffer of any type."); } @@ -5021,20 +5257,73 @@ Error RenderingDeviceVulkan::buffer_update(RID p_buffer, uint32_t p_offset, uint ERR_FAIL_COND_V_MSG(p_offset + p_size > buffer->size, ERR_INVALID_PARAMETER, "Attempted to write buffer (" + itos((p_offset + p_size) - buffer->size) + " bytes) past the end."); - _buffer_memory_barrier(buffer->buffer, p_offset, p_size, dst_stage_mask, VK_PIPELINE_STAGE_TRANSFER_BIT, dst_access, VK_ACCESS_TRANSFER_WRITE_BIT, p_sync_with_draw); - Error err = _buffer_update(buffer, p_offset, (uint8_t *)p_data, p_size, p_sync_with_draw); + // no barrier should be needed here + // _buffer_memory_barrier(buffer->buffer, p_offset, p_size, dst_stage_mask, VK_PIPELINE_STAGE_TRANSFER_BIT, dst_access, VK_ACCESS_TRANSFER_WRITE_BIT, true); + + Error err = _buffer_update(buffer, p_offset, (uint8_t *)p_data, p_size, p_post_barrier); if (err) { return err; } #ifdef FORCE_FULL_BARRIER - _full_barrier(p_sync_with_draw); + _full_barrier(true); #else - _buffer_memory_barrier(buffer->buffer, p_offset, p_size, VK_PIPELINE_STAGE_TRANSFER_BIT, dst_stage_mask, VK_ACCESS_TRANSFER_WRITE_BIT, dst_access, p_sync_with_draw); + if (dst_stage_mask == 0) { + dst_stage_mask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + + if (p_post_barrier != RD::BARRIER_MASK_NO_BARRIER) { + _buffer_memory_barrier(buffer->buffer, p_offset, p_size, VK_PIPELINE_STAGE_TRANSFER_BIT, dst_stage_mask, VK_ACCESS_TRANSFER_WRITE_BIT, dst_access, true); + } + #endif return err; } +Error RenderingDeviceVulkan::buffer_clear(RID p_buffer, uint32_t p_offset, uint32_t p_size, uint32_t p_post_barrier) { + _THREAD_SAFE_METHOD_ + + ERR_FAIL_COND_V_MSG((p_size % 4) != 0, ERR_INVALID_PARAMETER, + "Size must be a multiple of four"); + ERR_FAIL_COND_V_MSG(draw_list, ERR_INVALID_PARAMETER, + "Updating buffers in is forbidden during creation of a draw list"); + ERR_FAIL_COND_V_MSG(compute_list, ERR_INVALID_PARAMETER, + "Updating buffers is forbidden during creation of a compute list"); + + VkPipelineStageFlags dst_stage_mask = 0; + VkAccessFlags dst_access = 0; + if (p_post_barrier & BARRIER_MASK_TRANSFER) { + // Protect subsequent updates... + dst_stage_mask = VK_PIPELINE_STAGE_TRANSFER_BIT; + dst_access = VK_ACCESS_TRANSFER_WRITE_BIT; + } + + Buffer *buffer = _get_buffer_from_owner(p_buffer, dst_stage_mask, dst_access, p_post_barrier); + if (!buffer) { + ERR_FAIL_V_MSG(ERR_INVALID_PARAMETER, "Buffer argument is not a valid buffer of any type."); + } + + ERR_FAIL_COND_V_MSG(p_offset + p_size > buffer->size, ERR_INVALID_PARAMETER, + "Attempted to write buffer (" + itos((p_offset + p_size) - buffer->size) + " bytes) past the end."); + + // should not be needed + // _buffer_memory_barrier(buffer->buffer, p_offset, p_size, dst_stage_mask, VK_PIPELINE_STAGE_TRANSFER_BIT, dst_access, VK_ACCESS_TRANSFER_WRITE_BIT, p_post_barrier); + + vkCmdFillBuffer(frames[frame].draw_command_buffer, buffer->buffer, p_offset, p_size, 0); + +#ifdef FORCE_FULL_BARRIER + _full_barrier(true); +#else + if (dst_stage_mask == 0) { + dst_stage_mask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + + _buffer_memory_barrier(buffer->buffer, p_offset, p_size, VK_PIPELINE_STAGE_TRANSFER_BIT, dst_stage_mask, VK_ACCESS_TRANSFER_WRITE_BIT, dst_access, dst_stage_mask); + +#endif + return OK; +} + Vector<uint8_t> RenderingDeviceVulkan::buffer_get_data(RID p_buffer) { _THREAD_SAFE_METHOD_ @@ -5042,12 +5331,12 @@ Vector<uint8_t> RenderingDeviceVulkan::buffer_get_data(RID p_buffer) { VkPipelineShaderStageCreateFlags src_stage_mask = VK_PIPELINE_STAGE_TRANSFER_BIT; VkAccessFlags src_access_mask = VK_ACCESS_TRANSFER_WRITE_BIT; // Get the vulkan buffer and the potential stage/access possible - Buffer *buffer = _get_buffer_from_owner(p_buffer, src_stage_mask, src_access_mask); + Buffer *buffer = _get_buffer_from_owner(p_buffer, src_stage_mask, src_access_mask, BARRIER_MASK_ALL); if (!buffer) { ERR_FAIL_V_MSG(Vector<uint8_t>(), "Buffer is either invalid or this type of buffer can't be retrieved. Only Index and Vertex buffers allow retrieving."); } - // Make sure no one is using the buffer -- the "false" gets us to the same command buffer as below. + // Make sure no one is using the buffer -- the "false" gets us to the same command buffer as below. _buffer_memory_barrier(buffer->buffer, 0, buffer->size, src_stage_mask, src_access_mask, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_ACCESS_TRANSFER_READ_BIT, false); VkCommandBuffer command_buffer = frames[frame].setup_command_buffer; @@ -5440,7 +5729,7 @@ RID RenderingDeviceVulkan::render_pipeline_create(RID p_shader, FramebufferForma #endif //create ID to associate with this pipeline RID id = render_pipeline_owner.make_rid(pipeline); - //now add aall the dependencies + //now add all the dependencies _add_dependency(id, p_shader); return id; } @@ -5485,10 +5774,13 @@ RID RenderingDeviceVulkan::compute_pipeline_create(RID p_shader) { pipeline.pipeline_layout = shader->pipeline_layout; pipeline.shader = p_shader; pipeline.push_constant_size = shader->push_constant.push_constant_size; + pipeline.local_group_size[0] = shader->compute_local_size[0]; + pipeline.local_group_size[1] = shader->compute_local_size[1]; + pipeline.local_group_size[2] = shader->compute_local_size[2]; //create ID to associate with this pipeline RID id = compute_pipeline_owner.make_rid(pipeline); - //now add aall the dependencies + //now add all the dependencies _add_dependency(id, p_shader); return id; } @@ -5603,7 +5895,7 @@ RenderingDevice::DrawListID RenderingDeviceVulkan::draw_list_begin_for_screen(Di vkCmdSetScissor(command_buffer, 0, 1, &scissor); - return ID_TYPE_DRAW_LIST; + return int64_t(ID_TYPE_DRAW_LIST) << ID_BASE_SHIFT; } Error RenderingDeviceVulkan::_draw_list_setup_framebuffer(Framebuffer *p_framebuffer, InitialAction p_initial_color_action, FinalAction p_final_color_action, InitialAction p_initial_depth_action, FinalAction p_final_depth_action, VkFramebuffer *r_framebuffer, VkRenderPass *r_render_pass) { @@ -5656,11 +5948,18 @@ Error RenderingDeviceVulkan::_draw_list_render_pass_begin(Framebuffer *framebuff render_pass_begin.pNext = nullptr; render_pass_begin.renderPass = render_pass; render_pass_begin.framebuffer = vkframebuffer; - + /* + * Given how API works, it makes sense to always fully operate on the whole framebuffer. + * This allows better continue operations for operations like shadowmapping. render_pass_begin.renderArea.extent.width = viewport_size.width; render_pass_begin.renderArea.extent.height = viewport_size.height; render_pass_begin.renderArea.offset.x = viewport_offset.x; render_pass_begin.renderArea.offset.y = viewport_offset.y; + */ + render_pass_begin.renderArea.extent.width = framebuffer->size.width; + render_pass_begin.renderArea.extent.height = framebuffer->size.height; + render_pass_begin.renderArea.offset.x = 0; + render_pass_begin.renderArea.offset.y = 0; Vector<VkClearValue> clear_values; clear_values.resize(framebuffer->texture_ids.size()); @@ -5787,7 +6086,7 @@ RenderingDevice::DrawListID RenderingDeviceVulkan::draw_list_begin(RID p_framebu _THREAD_SAFE_METHOD_ ERR_FAIL_COND_V_MSG(draw_list != nullptr, INVALID_ID, "Only one draw list can be active at the same time."); - ERR_FAIL_COND_V_MSG(compute_list != nullptr, INVALID_ID, "Only one draw/compute list can be active at the same time."); + ERR_FAIL_COND_V_MSG(compute_list != nullptr && !compute_list->state.allow_draw_overlap, INVALID_ID, "Only one draw/compute list can be active at the same time."); Framebuffer *framebuffer = framebuffer_owner.getornull(p_framebuffer); ERR_FAIL_COND_V(!framebuffer, INVALID_ID); @@ -5808,12 +6107,19 @@ RenderingDevice::DrawListID RenderingDeviceVulkan::draw_list_begin(RID p_framebu viewport_offset = regioni.position; viewport_size = regioni.size; - - if (p_initial_color_action == INITIAL_ACTION_CLEAR) { + if (p_initial_color_action == INITIAL_ACTION_CLEAR_REGION_CONTINUE) { + needs_clear_color = true; + p_initial_color_action = INITIAL_ACTION_CONTINUE; + } + if (p_initial_depth_action == INITIAL_ACTION_CLEAR_REGION_CONTINUE) { + needs_clear_depth = true; + p_initial_depth_action = INITIAL_ACTION_CONTINUE; + } + if (p_initial_color_action == INITIAL_ACTION_CLEAR_REGION) { needs_clear_color = true; p_initial_color_action = INITIAL_ACTION_KEEP; } - if (p_initial_depth_action == INITIAL_ACTION_CLEAR) { + if (p_initial_depth_action == INITIAL_ACTION_CLEAR_REGION) { needs_clear_depth = true; p_initial_depth_action = INITIAL_ACTION_KEEP; } @@ -5870,7 +6176,7 @@ RenderingDevice::DrawListID RenderingDeviceVulkan::draw_list_begin(RID p_framebu vkCmdSetScissor(command_buffer, 0, 1, &scissor); draw_list->viewport = Rect2i(viewport_offset, viewport_size); - return ID_TYPE_DRAW_LIST; + return int64_t(ID_TYPE_DRAW_LIST) << ID_BASE_SHIFT; } Error RenderingDeviceVulkan::draw_list_begin_split(RID p_framebuffer, uint32_t p_splits, DrawListID *r_split_ids, InitialAction p_initial_color_action, FinalAction p_final_color_action, InitialAction p_initial_depth_action, FinalAction p_final_depth_action, const Vector<Color> &p_clear_color_values, float p_clear_depth, uint32_t p_clear_stencil, const Rect2 &p_region, const Vector<RID> &p_storage_textures) { @@ -5899,11 +6205,11 @@ Error RenderingDeviceVulkan::draw_list_begin_split(RID p_framebuffer, uint32_t p viewport_offset = regioni.position; viewport_size = regioni.size; - if (p_initial_color_action == INITIAL_ACTION_CLEAR) { + if (p_initial_color_action == INITIAL_ACTION_CLEAR_REGION) { needs_clear_color = true; p_initial_color_action = INITIAL_ACTION_KEEP; } - if (p_initial_depth_action == INITIAL_ACTION_CLEAR) { + if (p_initial_depth_action == INITIAL_ACTION_CLEAR_REGION) { needs_clear_depth = true; p_initial_depth_action = INITIAL_ACTION_KEEP; } @@ -5967,7 +6273,7 @@ Error RenderingDeviceVulkan::draw_list_begin_split(RID p_framebuffer, uint32_t p for (uint32_t i = 0; i < p_splits; i++) { //take a command buffer and initialize it - VkCommandBuffer command_buffer = split_draw_list_allocators[p_splits].command_buffers[frame]; + VkCommandBuffer command_buffer = split_draw_list_allocators[i].command_buffers[frame]; VkCommandBufferInheritanceInfo inheritance_info; inheritance_info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO; @@ -6025,7 +6331,7 @@ Error RenderingDeviceVulkan::draw_list_begin_split(RID p_framebuffer, uint32_t p scissor.extent.height = viewport_size.height; vkCmdSetScissor(command_buffer, 0, 1, &scissor); - r_split_ids[i] = (DrawListID(1) << DrawListID(ID_TYPE_SPLIT_DRAW_LIST)) + i; + r_split_ids[i] = (int64_t(ID_TYPE_SPLIT_DRAW_LIST) << ID_BASE_SHIFT) + i; draw_list[i].viewport = Rect2i(viewport_offset, viewport_size); } @@ -6040,7 +6346,7 @@ RenderingDeviceVulkan::DrawList *RenderingDeviceVulkan::_get_draw_list_ptr(DrawL if (!draw_list) { return nullptr; - } else if (p_id == ID_TYPE_DRAW_LIST) { + } else if (p_id == (int64_t(ID_TYPE_DRAW_LIST) << ID_BASE_SHIFT)) { if (draw_list_split) { return nullptr; } @@ -6134,7 +6440,7 @@ void RenderingDeviceVulkan::draw_list_bind_render_pipeline(DrawListID p_list, RI void RenderingDeviceVulkan::draw_list_bind_uniform_set(DrawListID p_list, RID p_uniform_set, uint32_t p_index) { #ifdef DEBUG_ENABLED - ERR_FAIL_COND_MSG(p_index >= limits.maxBoundDescriptorSets || p_index > MAX_UNIFORM_SETS, + ERR_FAIL_COND_MSG(p_index >= limits.maxBoundDescriptorSets || p_index >= MAX_UNIFORM_SETS, "Attempting to bind a descriptor set (" + itos(p_index) + ") greater than what the hardware supports (" + itos(limits.maxBoundDescriptorSets) + ")."); #endif DrawList *dl = _get_draw_list_ptr(p_list); @@ -6156,16 +6462,29 @@ void RenderingDeviceVulkan::draw_list_bind_uniform_set(DrawListID p_list, RID p_ dl->state.sets[p_index].uniform_set_format = uniform_set->format; dl->state.sets[p_index].uniform_set = p_uniform_set; + uint32_t mst_count = uniform_set->mutable_storage_textures.size(); + if (mst_count) { + Texture **mst_textures = const_cast<UniformSet *>(uniform_set)->mutable_storage_textures.ptrw(); + for (uint32_t i = 0; i < mst_count; i++) { + if (mst_textures[i]->used_in_frame != frames_drawn) { + mst_textures[i]->used_in_frame = frames_drawn; + mst_textures[i]->used_in_transfer = false; + mst_textures[i]->used_in_compute = false; + } + mst_textures[i]->used_in_raster = true; + } + } + #ifdef DEBUG_ENABLED { //validate that textures bound are not attached as framebuffer bindings uint32_t attachable_count = uniform_set->attachable_textures.size(); - const RID *attachable_ptr = uniform_set->attachable_textures.ptr(); + const UniformSet::AttachableTexture *attachable_ptr = uniform_set->attachable_textures.ptr(); uint32_t bound_count = draw_list_bound_textures.size(); const RID *bound_ptr = draw_list_bound_textures.ptr(); for (uint32_t i = 0; i < attachable_count; i++) { for (uint32_t j = 0; j < bound_count; j++) { - ERR_FAIL_COND_MSG(attachable_ptr[i] == bound_ptr[j], - "Attempted to use the same texture in framebuffer attachment and a uniform set, this is not allowed."); + ERR_FAIL_COND_MSG(attachable_ptr[i].texture == bound_ptr[j], + "Attempted to use the same texture in framebuffer attachment and a uniform (set: " + itos(p_index) + ", binding: " + itos(attachable_ptr[i].bind) + "), this is not allowed."); } } } @@ -6369,7 +6688,7 @@ void RenderingDeviceVulkan::draw_list_enable_scissor(DrawListID p_list, const Re Rect2i rect = p_rect; rect.position += dl->viewport.position; - rect = dl->viewport.clip(rect); + rect = dl->viewport.intersection(rect); if (rect.get_area() == 0) { return; @@ -6398,7 +6717,7 @@ void RenderingDeviceVulkan::draw_list_disable_scissor(DrawListID p_list) { vkCmdSetScissor(dl->command_buffer, 0, 1, &scissor); } -void RenderingDeviceVulkan::draw_list_end() { +void RenderingDeviceVulkan::draw_list_end(uint32_t p_post_barrier) { _THREAD_SAFE_METHOD_ ERR_FAIL_COND_MSG(!draw_list, "Immediate draw list is already inactive."); @@ -6407,8 +6726,8 @@ void RenderingDeviceVulkan::draw_list_end() { //send all command buffers VkCommandBuffer *command_buffers = (VkCommandBuffer *)alloca(sizeof(VkCommandBuffer) * draw_list_count); for (uint32_t i = 0; i < draw_list_count; i++) { - vkEndCommandBuffer(draw_list->command_buffer); - command_buffers[i] = draw_list->command_buffer; + vkEndCommandBuffer(draw_list[i].command_buffer); + command_buffers[i] = draw_list[i].command_buffer; } vkCmdExecuteCommands(frames[frame].draw_command_buffer, draw_list_count, command_buffers); @@ -6434,16 +6753,51 @@ void RenderingDeviceVulkan::draw_list_end() { } } + uint32_t barrier_flags = 0; + uint32_t access_flags = 0; + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + barrier_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_RASTER) { + barrier_flags |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT | VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT /*| VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT*/; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT | VK_ACCESS_INDEX_READ_BIT | VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT /*| VK_ACCESS_INDIRECT_COMMAND_READ_BIT*/; + } + if (p_post_barrier & BARRIER_MASK_TRANSFER) { + barrier_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_TRANSFER_READ_BIT; + } + + if (barrier_flags == 0) { + barrier_flags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + draw_list_bound_textures.clear(); - for (int i = 0; i < draw_list_storage_textures.size(); i++) { + VkImageMemoryBarrier *image_barriers = nullptr; + + uint32_t image_barrier_count = draw_list_storage_textures.size(); + + if (image_barrier_count) { + image_barriers = (VkImageMemoryBarrier *)alloca(sizeof(VkImageMemoryBarrier) * draw_list_storage_textures.size()); + } + + uint32_t src_stage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT; + uint32_t src_access = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; + + if (image_barrier_count) { + src_stage |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + src_access |= VK_ACCESS_SHADER_WRITE_BIT; + } + + for (uint32_t i = 0; i < image_barrier_count; i++) { Texture *texture = texture_owner.getornull(draw_list_storage_textures[i]); - VkImageMemoryBarrier image_memory_barrier; + VkImageMemoryBarrier &image_memory_barrier = image_barriers[i]; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; - image_memory_barrier.srcAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; - image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + image_memory_barrier.srcAccessMask = src_access; + image_memory_barrier.dstAccessMask = access_flags; image_memory_barrier.oldLayout = texture->layout; image_memory_barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; @@ -6456,8 +6810,6 @@ void RenderingDeviceVulkan::draw_list_end() { image_memory_barrier.subresourceRange.baseArrayLayer = texture->base_layer; image_memory_barrier.subresourceRange.layerCount = texture->layers; - vkCmdPipelineBarrier(frames[frame].draw_command_buffer, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); - texture->layout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; } @@ -6465,12 +6817,22 @@ void RenderingDeviceVulkan::draw_list_end() { // To ensure proper synchronization, we must make sure rendering is done before: // * Some buffer is copied - // * Another render pass happens (since we may be done + // * Another render pass happens (since we may be done) #ifdef FORCE_FULL_BARRIER _full_barrier(true); #else - _memory_barrier(VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, VK_PIPELINE_STAGE_VERTEX_INPUT_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT, VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_INDEX_READ_BIT | VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT, true); + + VkMemoryBarrier mem_barrier; + mem_barrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER; + mem_barrier.pNext = nullptr; + mem_barrier.srcAccessMask = src_access; + mem_barrier.dstAccessMask = access_flags; + + if (image_barrier_count > 0 || p_post_barrier != BARRIER_MASK_NO_BARRIER) { + vkCmdPipelineBarrier(frames[frame].draw_command_buffer, src_stage, barrier_flags, 0, 1, &mem_barrier, 0, nullptr, image_barrier_count, image_barriers); + } + #endif } @@ -6478,12 +6840,13 @@ void RenderingDeviceVulkan::draw_list_end() { /**** COMPUTE LISTS ****/ /***********************/ -RenderingDevice::ComputeListID RenderingDeviceVulkan::compute_list_begin() { - ERR_FAIL_COND_V_MSG(draw_list != nullptr, INVALID_ID, "Only one draw list can be active at the same time."); +RenderingDevice::ComputeListID RenderingDeviceVulkan::compute_list_begin(bool p_allow_draw_overlap) { + ERR_FAIL_COND_V_MSG(!p_allow_draw_overlap && draw_list != nullptr, INVALID_ID, "Only one draw list can be active at the same time."); ERR_FAIL_COND_V_MSG(compute_list != nullptr, INVALID_ID, "Only one draw/compute list can be active at the same time."); compute_list = memnew(ComputeList); compute_list->command_buffer = frames[frame].draw_command_buffer; + compute_list->state.allow_draw_overlap = p_allow_draw_overlap; return ID_TYPE_COMPUTE_LIST; } @@ -6540,6 +6903,9 @@ void RenderingDeviceVulkan::compute_list_bind_compute_pipeline(ComputeListID p_l } cl->state.pipeline_shader = pipeline->shader; + cl->state.local_group_size[0] = pipeline->local_group_size[0]; + cl->state.local_group_size[1] = pipeline->local_group_size[1]; + cl->state.local_group_size[2] = pipeline->local_group_size[2]; } #ifdef DEBUG_ENABLED @@ -6556,7 +6922,7 @@ void RenderingDeviceVulkan::compute_list_bind_uniform_set(ComputeListID p_list, ComputeList *cl = compute_list; #ifdef DEBUG_ENABLED - ERR_FAIL_COND_MSG(p_index >= limits.maxBoundDescriptorSets || p_index > MAX_UNIFORM_SETS, + ERR_FAIL_COND_MSG(p_index >= limits.maxBoundDescriptorSets || p_index >= MAX_UNIFORM_SETS, "Attempting to bind a descriptor set (" + itos(p_index) + ") greater than what the hardware supports (" + itos(limits.maxBoundDescriptorSets) + ")."); #endif @@ -6577,11 +6943,24 @@ void RenderingDeviceVulkan::compute_list_bind_uniform_set(ComputeListID p_list, cl->state.sets[p_index].uniform_set = p_uniform_set; uint32_t textures_to_sampled_count = uniform_set->mutable_sampled_textures.size(); + uint32_t textures_to_storage_count = uniform_set->mutable_storage_textures.size(); + Texture **textures_to_sampled = uniform_set->mutable_sampled_textures.ptrw(); + VkImageMemoryBarrier *texture_barriers = nullptr; + + if (textures_to_sampled_count + textures_to_storage_count) { + texture_barriers = (VkImageMemoryBarrier *)alloca(sizeof(VkImageMemoryBarrier) * (textures_to_sampled_count + textures_to_storage_count)); + } + uint32_t texture_barrier_count = 0; + + uint32_t src_stage_flags = 0; + for (uint32_t i = 0; i < textures_to_sampled_count; i++) { if (textures_to_sampled[i]->layout != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) { - VkImageMemoryBarrier image_memory_barrier; + src_stage_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + + VkImageMemoryBarrier &image_memory_barrier = texture_barriers[texture_barrier_count++]; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; @@ -6598,23 +6977,55 @@ void RenderingDeviceVulkan::compute_list_bind_uniform_set(ComputeListID p_list, image_memory_barrier.subresourceRange.baseArrayLayer = textures_to_sampled[i]->base_layer; image_memory_barrier.subresourceRange.layerCount = textures_to_sampled[i]->layers; - vkCmdPipelineBarrier(cl->command_buffer, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); - textures_to_sampled[i]->layout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; cl->state.textures_to_sampled_layout.erase(textures_to_sampled[i]); } + + if (textures_to_sampled[i]->used_in_frame != frames_drawn) { + textures_to_sampled[i]->used_in_frame = frames_drawn; + textures_to_sampled[i]->used_in_transfer = false; + textures_to_sampled[i]->used_in_raster = false; + } + textures_to_sampled[i]->used_in_compute = true; } - uint32_t textures_to_storage_count = uniform_set->mutable_storage_textures.size(); Texture **textures_to_storage = uniform_set->mutable_storage_textures.ptrw(); for (uint32_t i = 0; i < textures_to_storage_count; i++) { if (textures_to_storage[i]->layout != VK_IMAGE_LAYOUT_GENERAL) { - VkImageMemoryBarrier image_memory_barrier; + uint32_t src_access_flags = 0; + + if (textures_to_storage[i]->used_in_frame == frames_drawn) { + if (textures_to_storage[i]->used_in_compute) { + src_stage_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + src_access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (textures_to_storage[i]->used_in_raster) { + src_stage_flags |= VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_VERTEX_SHADER_BIT; + src_access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (textures_to_storage[i]->used_in_transfer) { + src_stage_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + src_access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_TRANSFER_READ_BIT; + } + + textures_to_storage[i]->used_in_compute = false; + textures_to_storage[i]->used_in_raster = false; + textures_to_storage[i]->used_in_compute = false; + + } else { + src_access_flags = 0; + textures_to_storage[i]->used_in_compute = false; + textures_to_storage[i]->used_in_raster = false; + textures_to_storage[i]->used_in_compute = false; + textures_to_storage[i]->used_in_frame = frames_drawn; + } + + VkImageMemoryBarrier &image_memory_barrier = texture_barriers[texture_barrier_count++]; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; - image_memory_barrier.srcAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + image_memory_barrier.srcAccessMask = src_access_flags; image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; image_memory_barrier.oldLayout = textures_to_storage[i]->layout; image_memory_barrier.newLayout = VK_IMAGE_LAYOUT_GENERAL; @@ -6628,14 +7039,20 @@ void RenderingDeviceVulkan::compute_list_bind_uniform_set(ComputeListID p_list, image_memory_barrier.subresourceRange.baseArrayLayer = textures_to_storage[i]->base_layer; image_memory_barrier.subresourceRange.layerCount = textures_to_storage[i]->layers; - vkCmdPipelineBarrier(cl->command_buffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); - textures_to_storage[i]->layout = VK_IMAGE_LAYOUT_GENERAL; cl->state.textures_to_sampled_layout.insert(textures_to_storage[i]); //needs to go back to sampled layout afterwards } } + if (texture_barrier_count) { + if (src_stage_flags == 0) { + src_stage_flags = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + } + + vkCmdPipelineBarrier(cl->command_buffer, src_stage_flags, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, nullptr, 0, nullptr, texture_barrier_count, texture_barriers); + } + #if 0 { //validate that textures bound are not attached as framebuffer bindings uint32_t attachable_count = uniform_set->attachable_textures.size(); @@ -6729,6 +7146,27 @@ void RenderingDeviceVulkan::compute_list_dispatch(ComputeListID p_list, uint32_t vkCmdDispatch(cl->command_buffer, p_x_groups, p_y_groups, p_z_groups); } +void RenderingDeviceVulkan::compute_list_dispatch_threads(ComputeListID p_list, uint32_t p_x_threads, uint32_t p_y_threads, uint32_t p_z_threads) { + ERR_FAIL_COND(p_list != ID_TYPE_COMPUTE_LIST); + ERR_FAIL_COND(!compute_list); + + ComputeList *cl = compute_list; + +#ifdef DEBUG_ENABLED + + ERR_FAIL_COND_MSG(!cl->validation.pipeline_active, "No compute pipeline was set before attempting to draw."); + + if (cl->validation.pipeline_push_constant_size > 0) { + //using push constants, check that they were supplied + ERR_FAIL_COND_MSG(!cl->validation.pipeline_push_constant_supplied, + "The shader in this pipeline requires a push constant to be set before drawing, but it's not present."); + } + +#endif + + compute_list_dispatch(p_list, (p_x_threads - 1) / cl->state.local_group_size[0] + 1, (p_y_threads - 1) / cl->state.local_group_size[1] + 1, (p_z_threads - 1) / cl->state.local_group_size[2] + 1); +} + void RenderingDeviceVulkan::compute_list_dispatch_indirect(ComputeListID p_list, RID p_buffer, uint32_t p_offset) { ERR_FAIL_COND(p_list != ID_TYPE_COMPUTE_LIST); ERR_FAIL_COND(!compute_list); @@ -6793,14 +7231,44 @@ void RenderingDeviceVulkan::compute_list_add_barrier(ComputeListID p_list) { #endif } -void RenderingDeviceVulkan::compute_list_end() { +void RenderingDeviceVulkan::compute_list_end(uint32_t p_post_barrier) { ERR_FAIL_COND(!compute_list); + + uint32_t barrier_flags = 0; + uint32_t access_flags = 0; + if (p_post_barrier & BARRIER_MASK_COMPUTE) { + barrier_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_post_barrier & BARRIER_MASK_RASTER) { + barrier_flags |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT | VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT; + access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT | VK_ACCESS_INDEX_READ_BIT | VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | VK_ACCESS_INDIRECT_COMMAND_READ_BIT; + } + if (p_post_barrier & BARRIER_MASK_TRANSFER) { + barrier_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_TRANSFER_READ_BIT; + } + + if (barrier_flags == 0) { + barrier_flags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + + VkImageMemoryBarrier *image_barriers = nullptr; + + uint32_t image_barrier_count = compute_list->state.textures_to_sampled_layout.size(); + + if (image_barrier_count) { + image_barriers = (VkImageMemoryBarrier *)alloca(sizeof(VkImageMemoryBarrier) * image_barrier_count); + } + + uint32_t barrier_idx = 0; + for (Set<Texture *>::Element *E = compute_list->state.textures_to_sampled_layout.front(); E; E = E->next()) { - VkImageMemoryBarrier image_memory_barrier; + VkImageMemoryBarrier &image_memory_barrier = image_barriers[barrier_idx++]; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; - image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_TRANSFER_READ_BIT; + image_memory_barrier.dstAccessMask = access_flags; image_memory_barrier.oldLayout = E->get()->layout; image_memory_barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; @@ -6813,19 +7281,75 @@ void RenderingDeviceVulkan::compute_list_end() { image_memory_barrier.subresourceRange.baseArrayLayer = E->get()->base_layer; image_memory_barrier.subresourceRange.layerCount = E->get()->layers; - // TODO: Look at the usages in the compute list and determine tighter dst stage and access masks based on some "final" usage equivalent - vkCmdPipelineBarrier(compute_list->command_buffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); - E->get()->layout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + + if (E->get()->used_in_frame != frames_drawn) { + E->get()->used_in_transfer = false; + E->get()->used_in_raster = false; + E->get()->used_in_compute = false; + E->get()->used_in_frame = frames_drawn; + } } - memdelete(compute_list); - compute_list = nullptr; #ifdef FORCE_FULL_BARRIER _full_barrier(true); #else - _memory_barrier(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_VERTEX_INPUT_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT | VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_INDEX_READ_BIT | VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INDIRECT_COMMAND_READ_BIT, true); + VkMemoryBarrier mem_barrier; + mem_barrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER; + mem_barrier.pNext = nullptr; + mem_barrier.srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT; + mem_barrier.dstAccessMask = access_flags; + + if (image_barrier_count > 0 || p_post_barrier != BARRIER_MASK_NO_BARRIER) { + vkCmdPipelineBarrier(compute_list->command_buffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, barrier_flags, 0, 1, &mem_barrier, 0, nullptr, image_barrier_count, image_barriers); + } + #endif + + memdelete(compute_list); + compute_list = nullptr; +} + +void RenderingDeviceVulkan::barrier(uint32_t p_from, uint32_t p_to) { + uint32_t src_barrier_flags = 0; + uint32_t src_access_flags = 0; + if (p_from & BARRIER_MASK_COMPUTE) { + src_barrier_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + src_access_flags |= VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_from & BARRIER_MASK_RASTER) { + src_barrier_flags |= VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT; + src_access_flags |= VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; + } + if (p_from & BARRIER_MASK_TRANSFER) { + src_barrier_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + src_access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT; + } + + if (p_from == 0) { + src_barrier_flags = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + } + + uint32_t dst_barrier_flags = 0; + uint32_t dst_access_flags = 0; + if (p_to & BARRIER_MASK_COMPUTE) { + dst_barrier_flags |= VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + dst_access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + } + if (p_to & BARRIER_MASK_RASTER) { + dst_barrier_flags |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT | VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT; + dst_access_flags |= VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT | VK_ACCESS_INDEX_READ_BIT | VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | VK_ACCESS_INDIRECT_COMMAND_READ_BIT; + } + if (p_to & BARRIER_MASK_TRANSFER) { + dst_barrier_flags |= VK_PIPELINE_STAGE_TRANSFER_BIT; + dst_access_flags |= VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_TRANSFER_READ_BIT; + } + + if (p_to == 0) { + dst_barrier_flags = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + } + + _memory_barrier(src_barrier_flags, dst_barrier_flags, src_access_flags, dst_access_flags, true); } void RenderingDeviceVulkan::full_barrier() { @@ -6837,7 +7361,6 @@ void RenderingDeviceVulkan::full_barrier() { #if 0 void RenderingDeviceVulkan::draw_list_render_secondary_to_framebuffer(ID p_framebuffer, ID *p_draw_lists, uint32_t p_draw_list_count, InitialAction p_initial_action, FinalAction p_final_action, const Vector<Variant> &p_clear_colors) { - VkCommandBuffer frame_cmdbuf = frames[frame].frame_buffer; ERR_FAIL_COND(!frame_cmdbuf); @@ -6866,7 +7389,6 @@ void RenderingDeviceVulkan::draw_list_render_secondary_to_framebuffer(ID p_frame ID screen_format = screen_get_framebuffer_format(); { - VkCommandBuffer *command_buffers = (VkCommandBuffer *)alloca(sizeof(VkCommandBuffer) * p_draw_list_count); uint32_t command_buffer_count = 0; @@ -6890,7 +7412,6 @@ void RenderingDeviceVulkan::draw_list_render_secondary_to_framebuffer(ID p_frame } vkCmdEndRenderPass(frame_cmdbuf); - } #endif @@ -6965,6 +7486,82 @@ void RenderingDeviceVulkan::free(RID p_id) { _free_internal(p_id); } +// The full list of resources that can be named is in the VkObjectType enum +// We just expose the resources that are owned and can be accessed easily. +void RenderingDeviceVulkan::set_resource_name(RID p_id, const String p_name) { + if (texture_owner.owns(p_id)) { + Texture *texture = texture_owner.getornull(p_id); + if (texture->owner.is_null()) { + // Don't set the source texture's name when calling on a texture view + context->set_object_name(VK_OBJECT_TYPE_IMAGE, uint64_t(texture->image), p_name); + } + context->set_object_name(VK_OBJECT_TYPE_IMAGE_VIEW, uint64_t(texture->view), p_name + " View"); + } else if (framebuffer_owner.owns(p_id)) { + //Framebuffer *framebuffer = framebuffer_owner.getornull(p_id); + // Not implemented for now as the relationship between Framebuffer and RenderPass is very complex + } else if (sampler_owner.owns(p_id)) { + VkSampler *sampler = sampler_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_SAMPLER, uint64_t(*sampler), p_name); + } else if (vertex_buffer_owner.owns(p_id)) { + Buffer *vertex_buffer = vertex_buffer_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_BUFFER, uint64_t(vertex_buffer->buffer), p_name); + } else if (index_buffer_owner.owns(p_id)) { + IndexBuffer *index_buffer = index_buffer_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_BUFFER, uint64_t(index_buffer->buffer), p_name); + } else if (shader_owner.owns(p_id)) { + Shader *shader = shader_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_PIPELINE_LAYOUT, uint64_t(shader->pipeline_layout), p_name + " Pipeline Layout"); + for (int i = 0; i < shader->sets.size(); i++) { + context->set_object_name(VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, uint64_t(shader->sets[i].descriptor_set_layout), p_name); + } + } else if (uniform_buffer_owner.owns(p_id)) { + Buffer *uniform_buffer = uniform_buffer_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_BUFFER, uint64_t(uniform_buffer->buffer), p_name); + } else if (texture_buffer_owner.owns(p_id)) { + TextureBuffer *texture_buffer = texture_buffer_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_BUFFER, uint64_t(texture_buffer->buffer.buffer), p_name); + context->set_object_name(VK_OBJECT_TYPE_BUFFER_VIEW, uint64_t(texture_buffer->view), p_name + " View"); + } else if (storage_buffer_owner.owns(p_id)) { + Buffer *storage_buffer = storage_buffer_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_BUFFER, uint64_t(storage_buffer->buffer), p_name); + } else if (uniform_set_owner.owns(p_id)) { + UniformSet *uniform_set = uniform_set_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_DESCRIPTOR_SET, uint64_t(uniform_set->descriptor_set), p_name); + } else if (render_pipeline_owner.owns(p_id)) { + RenderPipeline *pipeline = render_pipeline_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_PIPELINE, uint64_t(pipeline->pipeline), p_name); + context->set_object_name(VK_OBJECT_TYPE_PIPELINE_LAYOUT, uint64_t(pipeline->pipeline_layout), p_name + " Layout"); + } else if (compute_pipeline_owner.owns(p_id)) { + ComputePipeline *pipeline = compute_pipeline_owner.getornull(p_id); + context->set_object_name(VK_OBJECT_TYPE_PIPELINE, uint64_t(pipeline->pipeline), p_name); + context->set_object_name(VK_OBJECT_TYPE_PIPELINE_LAYOUT, uint64_t(pipeline->pipeline_layout), p_name + " Layout"); + } else { + ERR_PRINT("Attempted to name invalid ID: " + itos(p_id.get_id())); + } +} + +void RenderingDeviceVulkan::draw_command_begin_label(String p_label_name, const Color p_color) { + context->command_begin_label(frames[frame].draw_command_buffer, p_label_name, p_color); +} + +void RenderingDeviceVulkan::draw_command_insert_label(String p_label_name, const Color p_color) { + context->command_insert_label(frames[frame].draw_command_buffer, p_label_name, p_color); +} + +void RenderingDeviceVulkan::draw_command_end_label() { + context->command_end_label(frames[frame].draw_command_buffer); +} + +String RenderingDeviceVulkan::get_device_vendor_name() const { + return context->get_device_vendor_name(); +} +String RenderingDeviceVulkan::get_device_name() const { + return context->get_device_name(); +} +String RenderingDeviceVulkan::get_device_pipeline_cache_uuid() const { + return context->get_device_pipeline_cache_uuid(); +} + void RenderingDeviceVulkan::_finalize_command_bufers() { if (draw_list) { ERR_PRINT("Found open draw list at the end of the frame, this should never happen (further drawing will likely not work)."); @@ -7017,6 +7614,7 @@ void RenderingDeviceVulkan::_begin_frame() { if (frames[frame].timestamp_count) { vkGetQueryPoolResults(device, frames[frame].timestamp_pool, 0, frames[frame].timestamp_count, sizeof(uint64_t) * max_timestamp_query_elements, frames[frame].timestamp_result_values, sizeof(uint64_t), VK_QUERY_RESULT_64_BIT); + vkCmdResetQueryPool(frames[frame].setup_command_buffer, frames[frame].timestamp_pool, 0, frames[frame].timestamp_count); SWAP(frames[frame].timestamp_names, frames[frame].timestamp_result_names); SWAP(frames[frame].timestamp_cpu_values, frames[frame].timestamp_cpu_result_values); } @@ -7182,7 +7780,7 @@ uint64_t RenderingDeviceVulkan::get_memory_usage() const { void RenderingDeviceVulkan::_flush(bool p_current_frame) { if (local_device.is_valid() && !p_current_frame) { - return; //flushign previous frames has no effect with local device + return; //flushing previous frames has no effect with local device } //not doing this crashes RADV (undefined behavior) if (p_current_frame) { @@ -7236,6 +7834,18 @@ void RenderingDeviceVulkan::_flush(bool p_current_frame) { } void RenderingDeviceVulkan::initialize(VulkanContext *p_context, bool p_local_device) { + // get our device capabilities + { + device_capabilities.version_major = p_context->get_vulkan_major(); + device_capabilities.version_minor = p_context->get_vulkan_minor(); + + // get info about subgroups + VulkanContext::SubgroupCapabilities subgroup_capabilities = p_context->get_subgroup_capabilities(); + device_capabilities.subgroup_size = subgroup_capabilities.size; + device_capabilities.subgroup_in_shaders = subgroup_capabilities.supported_stages_flags_rd(); + device_capabilities.subgroup_operations = subgroup_capabilities.supported_operations_flags_rd(); + } + context = p_context; device = p_context->get_device(); if (p_local_device) { @@ -7383,9 +7993,10 @@ void RenderingDeviceVulkan::_free_rids(T &p_owner, const char *p_type) { } } -void RenderingDeviceVulkan::capture_timestamp(const String &p_name, bool p_sync_to_draw) { +void RenderingDeviceVulkan::capture_timestamp(const String &p_name) { ERR_FAIL_COND(frames[frame].timestamp_count >= max_timestamp_query_elements); + //this should be optional for profiling, else it will slow things down { VkMemoryBarrier memoryBarrier; @@ -7422,9 +8033,10 @@ void RenderingDeviceVulkan::capture_timestamp(const String &p_name, bool p_sync_ VK_ACCESS_HOST_READ_BIT | VK_ACCESS_HOST_WRITE_BIT; - vkCmdPipelineBarrier(p_sync_to_draw ? frames[frame].draw_command_buffer : frames[frame].setup_command_buffer, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 1, &memoryBarrier, 0, nullptr, 0, nullptr); + vkCmdPipelineBarrier(frames[frame].draw_command_buffer, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 1, &memoryBarrier, 0, nullptr, 0, nullptr); } - vkCmdWriteTimestamp(p_sync_to_draw ? frames[frame].draw_command_buffer : frames[frame].setup_command_buffer, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, frames[frame].timestamp_pool, frames[frame].timestamp_count); + + vkCmdWriteTimestamp(frames[frame].draw_command_buffer, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, frames[frame].timestamp_pool, frames[frame].timestamp_count); frames[frame].timestamp_names[frames[frame].timestamp_count] = p_name; frames[frame].timestamp_cpu_values[frames[frame].timestamp_count] = OS::get_singleton()->get_ticks_usec(); frames[frame].timestamp_count++; @@ -7653,7 +8265,7 @@ RenderingDevice *RenderingDeviceVulkan::create_local_device() { } RenderingDeviceVulkan::RenderingDeviceVulkan() { - screen_prepared = false; + device_capabilities.device_family = DEVICE_VULKAN; } RenderingDeviceVulkan::~RenderingDeviceVulkan() { diff --git a/drivers/vulkan/rendering_device_vulkan.h b/drivers/vulkan/rendering_device_vulkan.h index 6463078d0a..a2527d5c33 100644 --- a/drivers/vulkan/rendering_device_vulkan.h +++ b/drivers/vulkan/rendering_device_vulkan.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -32,6 +32,7 @@ #define RENDERING_DEVICE_VULKAN_H #include "core/os/thread_safe.h" +#include "core/templates/local_vector.h" #include "core/templates/oa_hash_map.h" #include "core/templates/rid_owner.h" #include "servers/rendering/rendering_device.h" @@ -45,11 +46,6 @@ #include <vulkan/vulkan.h> -//todo: -//compute -//push constants -//views of texture slices - class VulkanContext; class RenderingDeviceVulkan : public RenderingDevice { @@ -99,7 +95,7 @@ class RenderingDeviceVulkan : public RenderingDevice { ID_BASE_SHIFT = 58 //5 bits for ID types }; - VkDevice device; + VkDevice device = VK_NULL_HANDLE; Map<RID, Set<RID>> dependency_map; //IDs to IDs that depend on it Map<RID, Set<RID>> reverse_dependency_map; //same as above, but in reverse @@ -124,35 +120,40 @@ class RenderingDeviceVulkan : public RenderingDevice { // for a framebuffer to render into it. struct Texture { - VkImage image; - VmaAllocation allocation; + VkImage image = VK_NULL_HANDLE; + VmaAllocation allocation = nullptr; VmaAllocationInfo allocation_info; - VkImageView view; + VkImageView view = VK_NULL_HANDLE; TextureType type; DataFormat format; TextureSamples samples; - uint32_t width; - uint32_t height; - uint32_t depth; - uint32_t layers; - uint32_t mipmaps; - uint32_t usage_flags; - uint32_t base_mipmap; - uint32_t base_layer; + uint32_t width = 0; + uint32_t height = 0; + uint32_t depth = 0; + uint32_t layers = 0; + uint32_t mipmaps = 0; + uint32_t usage_flags = 0; + uint32_t base_mipmap = 0; + uint32_t base_layer = 0; Vector<DataFormat> allowed_shared_formats; VkImageLayout layout; - uint32_t read_aspect_mask; - uint32_t barrier_aspect_mask; - bool bound; //bound to framebffer + uint64_t used_in_frame = 0; + bool used_in_transfer = false; + bool used_in_raster = false; + bool used_in_compute = false; + + uint32_t read_aspect_mask = 0; + uint32_t barrier_aspect_mask = 0; + bool bound = false; //bound to framebffer RID owner; }; RID_Owner<Texture, true> texture_owner; - uint32_t texture_upload_region_size_px; + uint32_t texture_upload_region_size_px = 0; Vector<uint8_t> _texture_get_data_from_image(Texture *tex, VkImage p_image, VmaAllocation p_allocation, uint32_t p_layer, bool p_2d = false); @@ -188,32 +189,28 @@ class RenderingDeviceVulkan : public RenderingDevice { // See the comments in the code to understand better how it works. struct StagingBufferBlock { - VkBuffer buffer; - VmaAllocation allocation; - uint64_t frame_used; - uint32_t fill_amount; + VkBuffer buffer = VK_NULL_HANDLE; + VmaAllocation allocation = nullptr; + uint64_t frame_used = 0; + uint32_t fill_amount = 0; }; Vector<StagingBufferBlock> staging_buffer_blocks; - int staging_buffer_current; - uint32_t staging_buffer_block_size; - uint64_t staging_buffer_max_size; - bool staging_buffer_used; + int staging_buffer_current = 0; + uint32_t staging_buffer_block_size = 0; + uint64_t staging_buffer_max_size = 0; + bool staging_buffer_used = false; Error _staging_buffer_allocate(uint32_t p_amount, uint32_t p_required_align, uint32_t &r_alloc_offset, uint32_t &r_alloc_size, bool p_can_segment = true, bool p_on_draw_command_buffer = false); Error _insert_staging_block(); struct Buffer { - uint32_t size; - uint32_t usage; - VkBuffer buffer; - VmaAllocation allocation; + uint32_t size = 0; + uint32_t usage = 0; + VkBuffer buffer = VK_NULL_HANDLE; + VmaAllocation allocation = nullptr; VkDescriptorBufferInfo buffer_info; //used for binding Buffer() { - size = 0; - usage = 0; - buffer = VK_NULL_HANDLE; - allocation = nullptr; } }; @@ -236,13 +233,8 @@ class RenderingDeviceVulkan : public RenderingDevice { // used for the render pipelines. struct FramebufferFormatKey { - Size2i empty_size; Vector<AttachmentFormat> attachments; bool operator<(const FramebufferFormatKey &p_key) const { - if (empty_size != p_key.empty_size) { - return empty_size < p_key.empty_size; - } - int as = attachments.size(); int bs = p_key.attachments.size(); if (as != bs) { @@ -276,15 +268,15 @@ class RenderingDeviceVulkan : public RenderingDevice { Map<FramebufferFormatKey, FramebufferFormatID> framebuffer_format_cache; struct FramebufferFormat { const Map<FramebufferFormatKey, FramebufferFormatID>::Element *E; - VkRenderPass render_pass; //here for constructing shaders, never used, see section (7.2. Render Pass Compatibility from Vulkan spec) - int color_attachments; //used for pipeline validation + VkRenderPass render_pass = VK_NULL_HANDLE; //here for constructing shaders, never used, see section (7.2. Render Pass Compatibility from Vulkan spec) + int color_attachments = 0; //used for pipeline validation TextureSamples samples; }; Map<FramebufferFormatID, FramebufferFormat> framebuffer_formats; struct Framebuffer { - FramebufferFormatID format_id; + FramebufferFormatID format_id = 0; struct VersionKey { InitialAction initial_color_action; FinalAction final_color_action; @@ -307,12 +299,12 @@ class RenderingDeviceVulkan : public RenderingDevice { } }; - uint32_t storage_mask; + uint32_t storage_mask = 0; Vector<RID> texture_ids; struct Version { - VkFramebuffer framebuffer; - VkRenderPass render_pass; //this one is owned + VkFramebuffer framebuffer = VK_NULL_HANDLE; + VkRenderPass render_pass = VK_NULL_HANDLE; //this one is owned }; Map<VersionKey, Version> framebuffers; @@ -399,8 +391,8 @@ class RenderingDeviceVulkan : public RenderingDevice { struct VertexDescriptionCache { Vector<VertexAttribute> vertex_formats; - VkVertexInputBindingDescription *bindings; - VkVertexInputAttributeDescription *attributes; + VkVertexInputBindingDescription *bindings = nullptr; + VkVertexInputAttributeDescription *attributes = nullptr; VkPipelineVertexInputStateCreateInfo create_info; }; @@ -408,9 +400,9 @@ class RenderingDeviceVulkan : public RenderingDevice { struct VertexArray { RID buffer; - VertexFormatID description; - int vertex_count; - uint32_t max_instances_allowed; + VertexFormatID description = 0; + int vertex_count = 0; + uint32_t max_instances_allowed = 0; Vector<VkBuffer> buffers; //not owned, just referenced Vector<VkDeviceSize> offsets; @@ -419,21 +411,21 @@ class RenderingDeviceVulkan : public RenderingDevice { RID_Owner<VertexArray, true> vertex_array_owner; struct IndexBuffer : public Buffer { - uint32_t max_index; //used for validation - uint32_t index_count; - VkIndexType index_type; - bool supports_restart_indices; + uint32_t max_index = 0; //used for validation + uint32_t index_count = 0; + VkIndexType index_type = VK_INDEX_TYPE_NONE_NV; + bool supports_restart_indices = false; }; RID_Owner<IndexBuffer, true> index_buffer_owner; struct IndexArray { - uint32_t max_index; //remember the maximum index here too, for validation + uint32_t max_index = 0; //remember the maximum index here too, for validation VkBuffer buffer; //not owned, inherited from index buffer - uint32_t offset; - uint32_t indices; - VkIndexType index_type; - bool supports_restart_indices; + uint32_t offset = 0; + uint32_t indices = 0; + VkIndexType index_type = VK_INDEX_TYPE_NONE_NV; + bool supports_restart_indices = false; }; RID_Owner<IndexArray, true> index_array_owner; @@ -459,10 +451,10 @@ class RenderingDeviceVulkan : public RenderingDevice { }; struct UniformInfo { - UniformType type; - int binding; - uint32_t stages; - int length; //size of arrays (in total elements), or ubos (in bytes * total elements) + UniformType type = UniformType::UNIFORM_TYPE_MAX; + int binding = 0; + uint32_t stages = 0; + int length = 0; //size of arrays (in total elements), or ubos (in bytes * total elements) bool operator!=(const UniformInfo &p_info) const { return (binding != p_info.binding || type != p_info.type || stages != p_info.stages || length != p_info.length); @@ -528,25 +520,27 @@ class RenderingDeviceVulkan : public RenderingDevice { struct Shader { struct Set { Vector<UniformInfo> uniform_info; - VkDescriptorSetLayout descriptor_set_layout; + VkDescriptorSetLayout descriptor_set_layout = VK_NULL_HANDLE; }; - uint32_t vertex_input_mask; //inputs used, this is mostly for validation - int fragment_outputs; + uint32_t vertex_input_mask = 0; //inputs used, this is mostly for validation + int fragment_outputs = 0; struct PushConstant { - uint32_t push_constant_size; - uint32_t push_constants_vk_stage; + uint32_t push_constant_size = 0; + uint32_t push_constants_vk_stage = 0; }; PushConstant push_constant; + uint32_t compute_local_size[3] = { 0, 0, 0 }; + bool is_compute = false; - int max_output; + int max_output = 0; Vector<Set> sets; Vector<uint32_t> set_formats; Vector<VkPipelineShaderStageCreateInfo> pipeline_stages; - VkPipelineLayout pipeline_layout; + VkPipelineLayout pipeline_layout = VK_NULL_HANDLE; }; String _shader_uniform_debug(RID p_shader, int p_set = -1); @@ -610,7 +604,7 @@ class RenderingDeviceVulkan : public RenderingDevice { }; Map<DescriptorPoolKey, Set<DescriptorPool *>> descriptor_pools; - uint32_t max_descriptors_per_pool; + uint32_t max_descriptors_per_pool = 0; DescriptorPool *_descriptor_pool_allocate(const DescriptorPoolKey &p_key); void _descriptor_pool_free(const DescriptorPoolKey &p_key, DescriptorPool *p_pool); @@ -621,7 +615,7 @@ class RenderingDeviceVulkan : public RenderingDevice { //texture buffer needs a view struct TextureBuffer { Buffer buffer; - VkBufferView view; + VkBufferView view = VK_NULL_HANDLE; }; RID_Owner<TextureBuffer, true> texture_buffer_owner; @@ -635,14 +629,19 @@ class RenderingDeviceVulkan : public RenderingDevice { // the above restriction is not too serious. struct UniformSet { - uint32_t format; + uint32_t format = 0; RID shader_id; - uint32_t shader_set; - DescriptorPool *pool; + uint32_t shader_set = 0; + DescriptorPool *pool = nullptr; DescriptorPoolKey pool_key; - VkDescriptorSet descriptor_set; + VkDescriptorSet descriptor_set = VK_NULL_HANDLE; //VkPipelineLayout pipeline_layout; //not owned, inherited from shader - Vector<RID> attachable_textures; //used for validation + struct AttachableTexture { + uint32_t bind; + RID texture; + }; + + LocalVector<AttachableTexture> attachable_textures; //used for validation Vector<Texture *> mutable_sampled_textures; //used for layout change Vector<Texture *> mutable_storage_textures; //used for layout change }; @@ -668,21 +667,21 @@ class RenderingDeviceVulkan : public RenderingDevice { //Cached values for validation #ifdef DEBUG_ENABLED struct Validation { - FramebufferFormatID framebuffer_format; - uint32_t dynamic_state; - VertexFormatID vertex_format; - bool uses_restart_indices; - uint32_t primitive_minimum; - uint32_t primitive_divisor; + FramebufferFormatID framebuffer_format = 0; + uint32_t dynamic_state = 0; + VertexFormatID vertex_format = 0; + bool uses_restart_indices = false; + uint32_t primitive_minimum = 0; + uint32_t primitive_divisor = 0; } validation; #endif //Actual pipeline RID shader; Vector<uint32_t> set_formats; - VkPipelineLayout pipeline_layout; // not owned, needed for push constants - VkPipeline pipeline; - uint32_t push_constant_size; - uint32_t push_constant_stages; + VkPipelineLayout pipeline_layout = VK_NULL_HANDLE; // not owned, needed for push constants + VkPipeline pipeline = VK_NULL_HANDLE; + uint32_t push_constant_size = 0; + uint32_t push_constant_stages = 0; }; RID_Owner<RenderPipeline, true> render_pipeline_owner; @@ -690,10 +689,11 @@ class RenderingDeviceVulkan : public RenderingDevice { struct ComputePipeline { RID shader; Vector<uint32_t> set_formats; - VkPipelineLayout pipeline_layout; // not owned, needed for push constants - VkPipeline pipeline; - uint32_t push_constant_size; - uint32_t push_constant_stages; + VkPipelineLayout pipeline_layout = VK_NULL_HANDLE; // not owned, needed for push constants + VkPipeline pipeline = VK_NULL_HANDLE; + uint32_t push_constant_size = 0; + uint32_t push_constant_stages = 0; + uint32_t local_group_size[3] = { 0, 0, 0 }; }; RID_Owner<ComputePipeline, true> compute_pipeline_owner; @@ -714,14 +714,14 @@ class RenderingDeviceVulkan : public RenderingDevice { // each needs it's own command pool. struct SplitDrawListAllocator { - VkCommandPool command_pool; + VkCommandPool command_pool = VK_NULL_HANDLE; Vector<VkCommandBuffer> command_buffers; //one for each frame }; Vector<SplitDrawListAllocator> split_draw_list_allocators; struct DrawList { - VkCommandBuffer command_buffer; // If persistent, this is owned, otherwise it's shared with the ringbuffer. + VkCommandBuffer command_buffer = VK_NULL_HANDLE; // If persistent, this is owned, otherwise it's shared with the ringbuffer. Rect2i viewport; struct SetState { @@ -755,7 +755,7 @@ class RenderingDeviceVulkan : public RenderingDevice { bool index_buffer_uses_restart_indices = false; uint32_t index_array_size = 0; uint32_t index_array_max_index = 0; - uint32_t index_array_offset; + uint32_t index_array_offset = 0; Vector<uint32_t> set_formats; Vector<bool> set_bound; Vector<RID> set_rids; @@ -766,8 +766,8 @@ class RenderingDeviceVulkan : public RenderingDevice { RID pipeline_shader; uint32_t invalid_set_from = 0; bool pipeline_uses_restart_indices = false; - uint32_t pipeline_primitive_divisor; - uint32_t pipeline_primitive_minimum; + uint32_t pipeline_primitive_divisor = 0; + uint32_t pipeline_primitive_minimum = 0; Vector<uint32_t> pipeline_set_formats; uint32_t pipeline_push_constant_size = 0; bool pipeline_push_constant_supplied = false; @@ -781,26 +781,26 @@ class RenderingDeviceVulkan : public RenderingDevice { #endif }; - DrawList *draw_list; // One for regular draw lists, multiple for split. - uint32_t draw_list_count; - bool draw_list_split; + DrawList *draw_list = nullptr; // One for regular draw lists, multiple for split. + uint32_t draw_list_count = 0; + bool draw_list_split = false; Vector<RID> draw_list_bound_textures; Vector<RID> draw_list_storage_textures; - bool draw_list_unbind_color_textures; - bool draw_list_unbind_depth_textures; + bool draw_list_unbind_color_textures = false; + bool draw_list_unbind_depth_textures = false; void _draw_list_insert_clear_region(DrawList *draw_list, Framebuffer *framebuffer, Point2i viewport_offset, Point2i viewport_size, bool p_clear_color, const Vector<Color> &p_clear_colors, bool p_clear_depth, float p_depth, uint32_t p_stencil); Error _draw_list_setup_framebuffer(Framebuffer *p_framebuffer, InitialAction p_initial_color_action, FinalAction p_final_color_action, InitialAction p_initial_depth_action, FinalAction p_final_depth_action, VkFramebuffer *r_framebuffer, VkRenderPass *r_render_pass); Error _draw_list_render_pass_begin(Framebuffer *framebuffer, InitialAction p_initial_color_action, FinalAction p_final_color_action, InitialAction p_initial_depth_action, FinalAction p_final_depth_action, const Vector<Color> &p_clear_colors, float p_clear_depth, uint32_t p_clear_stencil, Point2i viewport_offset, Point2i viewport_size, VkFramebuffer vkframebuffer, VkRenderPass render_pass, VkCommandBuffer command_buffer, VkSubpassContents subpass_contents, const Vector<RID> &p_storage_textures); _FORCE_INLINE_ DrawList *_get_draw_list_ptr(DrawListID p_id); - Buffer *_get_buffer_from_owner(RID p_buffer, VkPipelineStageFlags &dst_stage_mask, VkAccessFlags &dst_access); + Buffer *_get_buffer_from_owner(RID p_buffer, VkPipelineStageFlags &dst_stage_mask, VkAccessFlags &dst_access, uint32_t p_post_barrier); /**********************/ /**** COMPUTE LIST ****/ /**********************/ struct ComputeList { - VkCommandBuffer command_buffer; // If persistent, this is owned, otherwise it's shared with the ringbuffer. + VkCommandBuffer command_buffer = VK_NULL_HANDLE; // If persistent, this is owned, otherwise it's shared with the ringbuffer. struct SetState { uint32_t pipeline_expected_format = 0; @@ -816,8 +816,10 @@ class RenderingDeviceVulkan : public RenderingDevice { uint32_t set_count = 0; RID pipeline; RID pipeline_shader; + uint32_t local_group_size[3] = { 0, 0, 0 }; VkPipelineLayout pipeline_layout = VK_NULL_HANDLE; uint32_t pipeline_push_constant_stages = 0; + bool allow_draw_overlap; } state; #ifdef DEBUG_ENABLED @@ -837,7 +839,7 @@ class RenderingDeviceVulkan : public RenderingDevice { #endif }; - ComputeList *compute_list; + ComputeList *compute_list = nullptr; /**************************/ /**** FRAME MANAGEMENT ****/ @@ -869,46 +871,46 @@ class RenderingDeviceVulkan : public RenderingDevice { List<RenderPipeline> render_pipelines_to_dispose_of; List<ComputePipeline> compute_pipelines_to_dispose_of; - VkCommandPool command_pool; - VkCommandBuffer setup_command_buffer; //used at the beginning of every frame for set-up - VkCommandBuffer draw_command_buffer; //used at the beginning of every frame for set-up + VkCommandPool command_pool = VK_NULL_HANDLE; + VkCommandBuffer setup_command_buffer = VK_NULL_HANDLE; //used at the beginning of every frame for set-up + VkCommandBuffer draw_command_buffer = VK_NULL_HANDLE; //used at the beginning of every frame for set-up struct Timestamp { String description; - uint64_t value; + uint64_t value = 0; }; VkQueryPool timestamp_pool; - String *timestamp_names; - uint64_t *timestamp_cpu_values; - uint32_t timestamp_count; - String *timestamp_result_names; - uint64_t *timestamp_cpu_result_values; - uint64_t *timestamp_result_values; - uint32_t timestamp_result_count; - uint64_t index; + String *timestamp_names = nullptr; + uint64_t *timestamp_cpu_values = nullptr; + uint32_t timestamp_count = 0; + String *timestamp_result_names = nullptr; + uint64_t *timestamp_cpu_result_values = nullptr; + uint64_t *timestamp_result_values = nullptr; + uint32_t timestamp_result_count = 0; + uint64_t index = 0; }; - uint32_t max_timestamp_query_elements; + uint32_t max_timestamp_query_elements = 0; - Frame *frames; //frames available, for main device they are cycled (usually 3), for local devices only 1 - int frame; //current frame - int frame_count; //total amount of frames - uint64_t frames_drawn; + Frame *frames = nullptr; //frames available, for main device they are cycled (usually 3), for local devices only 1 + int frame = 0; //current frame + int frame_count = 0; //total amount of frames + uint64_t frames_drawn = 0; RID local_device; bool local_device_processing = false; void _free_pending_resources(int p_frame); - VmaAllocator allocator; + VmaAllocator allocator = nullptr; - VulkanContext *context; + VulkanContext *context = nullptr; void _free_internal(RID p_id); void _flush(bool p_current_frame); - bool screen_prepared; + bool screen_prepared = false; template <class T> void _free_rids(T &p_owner, const char *p_type); @@ -921,27 +923,27 @@ public: virtual RID texture_create_shared(const TextureView &p_view, RID p_with_texture); virtual RID texture_create_shared_from_slice(const TextureView &p_view, RID p_with_texture, uint32_t p_layer, uint32_t p_mipmap, TextureSliceType p_slice_type = TEXTURE_SLICE_2D); - virtual Error texture_update(RID p_texture, uint32_t p_layer, const Vector<uint8_t> &p_data, bool p_sync_with_draw = false); + virtual Error texture_update(RID p_texture, uint32_t p_layer, const Vector<uint8_t> &p_data, uint32_t p_post_barrier = BARRIER_MASK_ALL); virtual Vector<uint8_t> texture_get_data(RID p_texture, uint32_t p_layer); virtual bool texture_is_format_supported_for_usage(DataFormat p_format, uint32_t p_usage) const; virtual bool texture_is_shared(RID p_texture); virtual bool texture_is_valid(RID p_texture); - virtual Error texture_copy(RID p_from_texture, RID p_to_texture, const Vector3 &p_from, const Vector3 &p_to, const Vector3 &p_size, uint32_t p_src_mipmap, uint32_t p_dst_mipmap, uint32_t p_src_layer, uint32_t p_dst_layer, bool p_sync_with_draw = false); - virtual Error texture_clear(RID p_texture, const Color &p_color, uint32_t p_base_mipmap, uint32_t p_mipmaps, uint32_t p_base_layer, uint32_t p_layers, bool p_sync_with_draw = false); - virtual Error texture_resolve_multisample(RID p_from_texture, RID p_to_texture, bool p_sync_with_draw = false); + virtual Error texture_copy(RID p_from_texture, RID p_to_texture, const Vector3 &p_from, const Vector3 &p_to, const Vector3 &p_size, uint32_t p_src_mipmap, uint32_t p_dst_mipmap, uint32_t p_src_layer, uint32_t p_dst_layer, uint32_t p_post_barrier = BARRIER_MASK_ALL); + virtual Error texture_clear(RID p_texture, const Color &p_color, uint32_t p_base_mipmap, uint32_t p_mipmaps, uint32_t p_base_layer, uint32_t p_layers, uint32_t p_post_barrier = BARRIER_MASK_ALL); + virtual Error texture_resolve_multisample(RID p_from_texture, RID p_to_texture, uint32_t p_post_barrier = BARRIER_MASK_ALL); /*********************/ /**** FRAMEBUFFER ****/ /*********************/ virtual FramebufferFormatID framebuffer_format_create(const Vector<AttachmentFormat> &p_format); - virtual FramebufferFormatID framebuffer_format_create_empty(const Size2i &p_size); + virtual FramebufferFormatID framebuffer_format_create_empty(TextureSamples p_samples = TEXTURE_SAMPLES_1); virtual TextureSamples framebuffer_format_get_texture_samples(FramebufferFormatID p_format); virtual RID framebuffer_create(const Vector<RID> &p_texture_attachments, FramebufferFormatID p_format_check = INVALID_ID); - virtual RID framebuffer_create_empty(const Size2i &p_size, FramebufferFormatID p_format_check = INVALID_ID); + virtual RID framebuffer_create_empty(const Size2i &p_size, TextureSamples p_samples = TEXTURE_SAMPLES_1, FramebufferFormatID p_format_check = INVALID_ID); virtual FramebufferFormatID framebuffer_get_format(RID p_framebuffer); @@ -955,7 +957,7 @@ public: /**** VERTEX ARRAY ****/ /**********************/ - virtual RID vertex_buffer_create(uint32_t p_size_bytes, const Vector<uint8_t> &p_data = Vector<uint8_t>()); + virtual RID vertex_buffer_create(uint32_t p_size_bytes, const Vector<uint8_t> &p_data = Vector<uint8_t>(), bool p_use_as_storage = false); // Internally reference counted, this ID is warranted to be unique for the same description, but needs to be freed as many times as it was allocated virtual VertexFormatID vertex_format_create(const Vector<VertexAttribute> &p_vertex_formats); @@ -983,7 +985,8 @@ public: virtual RID uniform_set_create(const Vector<Uniform> &p_uniforms, RID p_shader, uint32_t p_shader_set); virtual bool uniform_set_is_valid(RID p_uniform_set); - virtual Error buffer_update(RID p_buffer, uint32_t p_offset, uint32_t p_size, const void *p_data, bool p_sync_with_draw = false); //works for any buffer + virtual Error buffer_update(RID p_buffer, uint32_t p_offset, uint32_t p_size, const void *p_data, uint32_t p_post_barrier = BARRIER_MASK_ALL); //works for any buffer + virtual Error buffer_clear(RID p_buffer, uint32_t p_offset, uint32_t p_size, uint32_t p_post_barrier = BARRIER_MASK_ALL); virtual Vector<uint8_t> buffer_get_data(RID p_buffer); /*************************/ @@ -1029,22 +1032,24 @@ public: virtual void draw_list_enable_scissor(DrawListID p_list, const Rect2 &p_rect); virtual void draw_list_disable_scissor(DrawListID p_list); - virtual void draw_list_end(); + virtual void draw_list_end(uint32_t p_post_barrier = BARRIER_MASK_ALL); /***********************/ /**** COMPUTE LISTS ****/ /***********************/ - virtual ComputeListID compute_list_begin(); + virtual ComputeListID compute_list_begin(bool p_allow_draw_overlap = false); virtual void compute_list_bind_compute_pipeline(ComputeListID p_list, RID p_compute_pipeline); virtual void compute_list_bind_uniform_set(ComputeListID p_list, RID p_uniform_set, uint32_t p_index); virtual void compute_list_set_push_constant(ComputeListID p_list, const void *p_data, uint32_t p_data_size); virtual void compute_list_add_barrier(ComputeListID p_list); virtual void compute_list_dispatch(ComputeListID p_list, uint32_t p_x_groups, uint32_t p_y_groups, uint32_t p_z_groups); + virtual void compute_list_dispatch_threads(ComputeListID p_list, uint32_t p_x_threads, uint32_t p_y_threads, uint32_t p_z_threads); virtual void compute_list_dispatch_indirect(ComputeListID p_list, RID p_buffer, uint32_t p_offset); - virtual void compute_list_end(); + virtual void compute_list_end(uint32_t p_post_barrier = BARRIER_MASK_ALL); + virtual void barrier(uint32_t p_from = BARRIER_MASK_ALL, uint32_t p_to = BARRIER_MASK_ALL); virtual void full_barrier(); /**************/ @@ -1057,7 +1062,7 @@ public: /**** Timing ****/ /****************/ - virtual void capture_timestamp(const String &p_name, bool p_sync_to_draw); + virtual void capture_timestamp(const String &p_name); virtual uint32_t get_captured_timestamps_count() const; virtual uint64_t get_captured_timestamps_frame() const; virtual uint64_t get_captured_timestamp_gpu_time(uint32_t p_index) const; @@ -1085,6 +1090,16 @@ public: virtual uint64_t get_memory_usage() const; + virtual void set_resource_name(RID p_id, const String p_name); + + virtual void draw_command_begin_label(String p_label_name, const Color p_color = Color(1, 1, 1, 1)); + virtual void draw_command_insert_label(String p_label_name, const Color p_color = Color(1, 1, 1, 1)); + virtual void draw_command_end_label(); + + virtual String get_device_vendor_name() const; + virtual String get_device_name() const; + virtual String get_device_pipeline_cache_uuid() const; + RenderingDeviceVulkan(); ~RenderingDeviceVulkan(); }; diff --git a/drivers/vulkan/vulkan_context.cpp b/drivers/vulkan/vulkan_context.cpp index 28634d5e70..36db7c56f0 100644 --- a/drivers/vulkan/vulkan_context.cpp +++ b/drivers/vulkan/vulkan_context.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -34,6 +34,7 @@ #include "core/config/project_settings.h" #include "core/string/ustring.h" #include "core/version.h" +#include "servers/rendering/rendering_device.h" #include "vk_enum_string_helper.h" @@ -55,10 +56,29 @@ VKAPI_ATTR VkBool32 VKAPI_CALL VulkanContext::_debug_messenger_callback( return VK_FALSE; } // This needs to be ignored because Validator is wrong here. + if (strstr(pCallbackData->pMessage, "Invalid SPIR-V binary version 1.3") != nullptr) { + return VK_FALSE; + } + // This needs to be ignored because Validator is wrong here. + if (strstr(pCallbackData->pMessage, "Shader requires flag") != nullptr) { + return VK_FALSE; + } + + // This needs to be ignored because Validator is wrong here. if (strstr(pCallbackData->pMessage, "SPIR-V module not valid: Pointer operand") != nullptr && strstr(pCallbackData->pMessage, "must be a memory object") != nullptr) { return VK_FALSE; } + /* + // This is a valid warning because its illegal in Vulkan, but in practice it should work according to VK_KHR_maintenance2 + if (strstr(pCallbackData->pMessage, "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 with tiling VK_IMAGE_TILING_OPTIMAL does not support usage that includes VK_IMAGE_USAGE_STORAGE_BIT") != nullptr) { + return VK_FALSE; + } + + if (strstr(pCallbackData->pMessage, "VK_FORMAT_R4G4B4A4_UNORM_PACK16 with tiling VK_IMAGE_TILING_OPTIMAL does not support usage that includes VK_IMAGE_USAGE_STORAGE_BIT") != nullptr) { + return VK_FALSE; + } +*/ // Workaround for Vulkan-Loader usability bug: https://github.com/KhronosGroup/Vulkan-Loader/issues/262. if (strstr(pCallbackData->pMessage, "wrong ELF class: ELFCLASS32") != nullptr) { return VK_FALSE; @@ -144,6 +164,35 @@ VKAPI_ATTR VkBool32 VKAPI_CALL VulkanContext::_debug_messenger_callback( return VK_FALSE; } +VKAPI_ATTR VkBool32 VKAPI_CALL VulkanContext::_debug_report_callback( + VkDebugReportFlagsEXT flags, + VkDebugReportObjectTypeEXT objectType, + uint64_t object, + size_t location, + int32_t messageCode, + const char *pLayerPrefix, + const char *pMessage, + void *pUserData) { + String debugMessage = String("Vulkan Debug Report: object - ") + + String::num_int64(object) + "\n" + pMessage; + + switch (flags) { + case VK_DEBUG_REPORT_DEBUG_BIT_EXT: + case VK_DEBUG_REPORT_INFORMATION_BIT_EXT: + print_line(debugMessage); + break; + case VK_DEBUG_REPORT_WARNING_BIT_EXT: + case VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT: + WARN_PRINT(debugMessage); + break; + case VK_DEBUG_REPORT_ERROR_BIT_EXT: + ERR_PRINT(debugMessage); + break; + } + + return VK_FALSE; +} + VkBool32 VulkanContext::_check_layers(uint32_t check_count, const char **check_names, uint32_t layer_count, VkLayerProperties *layers) { for (uint32_t i = 0; i < check_count; i++) { VkBool32 found = 0; @@ -215,24 +264,58 @@ Error VulkanContext::_create_validation_layers() { return OK; } +typedef VkResult(VKAPI_PTR *_vkEnumerateInstanceVersion)(uint32_t *); + +Error VulkanContext::_obtain_vulkan_version() { + // https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkApplicationInfo.html#_description + // for Vulkan 1.0 vkEnumerateInstanceVersion is not available, including not in the loader we compile against on Android. + _vkEnumerateInstanceVersion func = (_vkEnumerateInstanceVersion)vkGetInstanceProcAddr(nullptr, "vkEnumerateInstanceVersion"); + if (func != nullptr) { + uint32_t api_version; + VkResult res = func(&api_version); + if (res == VK_SUCCESS) { + vulkan_major = VK_VERSION_MAJOR(api_version); + vulkan_minor = VK_VERSION_MINOR(api_version); + uint32_t vulkan_patch = VK_VERSION_PATCH(api_version); + + print_line("Vulkan API " + itos(vulkan_major) + "." + itos(vulkan_minor) + "." + itos(vulkan_patch)); + } else { + // according to the documentation this shouldn't fail with anything except a memory allocation error + // in which case we're in deep trouble anyway + ERR_FAIL_V(ERR_CANT_CREATE); + } + } else { + print_line("vkEnumerateInstanceVersion not available, assuming Vulkan 1.0"); + } + + // we don't go above 1.2 + if ((vulkan_major > 1) || (vulkan_major == 1 && vulkan_minor > 2)) { + vulkan_major = 1; + vulkan_minor = 2; + } + + return OK; +} + Error VulkanContext::_initialize_extensions() { - VkResult err; uint32_t instance_extension_count = 0; enabled_extension_count = 0; enabled_layer_count = 0; + enabled_debug_utils = false; + enabled_debug_report = false; /* Look for instance extensions */ VkBool32 surfaceExtFound = 0; VkBool32 platformSurfaceExtFound = 0; memset(extension_names, 0, sizeof(extension_names)); - err = vkEnumerateInstanceExtensionProperties(nullptr, &instance_extension_count, nullptr); - ERR_FAIL_COND_V(err, ERR_CANT_CREATE); + VkResult err = vkEnumerateInstanceExtensionProperties(nullptr, &instance_extension_count, nullptr); + ERR_FAIL_COND_V(err != VK_SUCCESS && err != VK_INCOMPLETE, ERR_CANT_CREATE); if (instance_extension_count > 0) { VkExtensionProperties *instance_extensions = (VkExtensionProperties *)malloc(sizeof(VkExtensionProperties) * instance_extension_count); err = vkEnumerateInstanceExtensionProperties(nullptr, &instance_extension_count, instance_extensions); - if (err) { + if (err != VK_SUCCESS && err != VK_INCOMPLETE) { free(instance_extensions); ERR_FAIL_V(ERR_CANT_CREATE); } @@ -249,12 +332,12 @@ Error VulkanContext::_initialize_extensions() { if (!strcmp(VK_EXT_DEBUG_REPORT_EXTENSION_NAME, instance_extensions[i].extensionName)) { if (use_validation_layers) { extension_names[enabled_extension_count++] = VK_EXT_DEBUG_REPORT_EXTENSION_NAME; + enabled_debug_report = true; } } if (!strcmp(VK_EXT_DEBUG_UTILS_EXTENSION_NAME, instance_extensions[i].extensionName)) { - if (use_validation_layers) { - extension_names[enabled_extension_count++] = VK_EXT_DEBUG_UTILS_EXTENSION_NAME; - } + extension_names[enabled_extension_count++] = VK_EXT_DEBUG_UTILS_EXTENSION_NAME; + enabled_debug_utils = true; } if (enabled_extension_count >= MAX_EXTENSIONS) { free(instance_extensions); @@ -271,12 +354,200 @@ Error VulkanContext::_initialize_extensions() { return OK; } +typedef void(VKAPI_PTR *_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice, VkPhysicalDeviceProperties2 *); + +uint32_t VulkanContext::SubgroupCapabilities::supported_stages_flags_rd() const { + uint32_t flags = 0; + + if (supportedStages & VK_SHADER_STAGE_VERTEX_BIT) { + flags += RenderingDevice::ShaderStage::SHADER_STAGE_VERTEX_BIT; + } + if (supportedStages & VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) { + flags += RenderingDevice::ShaderStage::SHADER_STAGE_TESSELATION_CONTROL_BIT; + } + if (supportedStages & VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) { + flags += RenderingDevice::ShaderStage::SHADER_STAGE_TESSELATION_EVALUATION_BIT; + } + // if (supportedStages & VK_SHADER_STAGE_GEOMETRY_BIT) { + // flags += RenderingDevice::ShaderStage::SHADER_STAGE_GEOMETRY_BIT; + // } + if (supportedStages & VK_SHADER_STAGE_FRAGMENT_BIT) { + flags += RenderingDevice::ShaderStage::SHADER_STAGE_FRAGMENT_BIT; + } + if (supportedStages & VK_SHADER_STAGE_COMPUTE_BIT) { + flags += RenderingDevice::ShaderStage::SHADER_STAGE_COMPUTE_BIT; + } + + return flags; +} + +String VulkanContext::SubgroupCapabilities::supported_stages_desc() const { + String res; + + if (supportedStages & VK_SHADER_STAGE_VERTEX_BIT) { + res += ", STAGE_VERTEX"; + } + if (supportedStages & VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) { + res += ", STAGE_TESSELLATION_CONTROL"; + } + if (supportedStages & VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) { + res += ", STAGE_TESSELLATION_EVALUATION"; + } + if (supportedStages & VK_SHADER_STAGE_GEOMETRY_BIT) { + res += ", STAGE_GEOMETRY"; + } + if (supportedStages & VK_SHADER_STAGE_FRAGMENT_BIT) { + res += ", STAGE_FRAGMENT"; + } + if (supportedStages & VK_SHADER_STAGE_COMPUTE_BIT) { + res += ", STAGE_COMPUTE"; + } + + /* these are not defined on Android GRMBL */ + if (supportedStages & 0x00000100 /* VK_SHADER_STAGE_RAYGEN_BIT_KHR */) { + res += ", STAGE_RAYGEN_KHR"; + } + if (supportedStages & 0x00000200 /* VK_SHADER_STAGE_ANY_HIT_BIT_KHR */) { + res += ", STAGE_ANY_HIT_KHR"; + } + if (supportedStages & 0x00000400 /* VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR */) { + res += ", STAGE_CLOSEST_HIT_KHR"; + } + if (supportedStages & 0x00000800 /* VK_SHADER_STAGE_MISS_BIT_KHR */) { + res += ", STAGE_MISS_KHR"; + } + if (supportedStages & 0x00001000 /* VK_SHADER_STAGE_INTERSECTION_BIT_KHR */) { + res += ", STAGE_INTERSECTION_KHR"; + } + if (supportedStages & 0x00002000 /* VK_SHADER_STAGE_CALLABLE_BIT_KHR */) { + res += ", STAGE_CALLABLE_KHR"; + } + if (supportedStages & 0x00000040 /* VK_SHADER_STAGE_TASK_BIT_NV */) { + res += ", STAGE_TASK_NV"; + } + if (supportedStages & 0x00000080 /* VK_SHADER_STAGE_MESH_BIT_NV */) { + res += ", STAGE_MESH_NV"; + } + + return res.substr(2); // remove first ", " +} + +uint32_t VulkanContext::SubgroupCapabilities::supported_operations_flags_rd() const { + uint32_t flags = 0; + + if (supportedOperations & VK_SUBGROUP_FEATURE_BASIC_BIT) { + flags += RenderingDevice::SubgroupOperations::SUBGROUP_BASIC_BIT; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_VOTE_BIT) { + flags += RenderingDevice::SubgroupOperations::SUBGROUP_VOTE_BIT; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_ARITHMETIC_BIT) { + flags += RenderingDevice::SubgroupOperations::SUBGROUP_ARITHMETIC_BIT; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_BALLOT_BIT) { + flags += RenderingDevice::SubgroupOperations::SUBGROUP_BALLOT_BIT; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_SHUFFLE_BIT) { + flags += RenderingDevice::SubgroupOperations::SUBGROUP_SHUFFLE_BIT; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT) { + flags += RenderingDevice::SubgroupOperations::SUBGROUP_SHUFFLE_RELATIVE_BIT; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_CLUSTERED_BIT) { + flags += RenderingDevice::SubgroupOperations::SUBGROUP_CLUSTERED_BIT; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_QUAD_BIT) { + flags += RenderingDevice::SubgroupOperations::SUBGROUP_QUAD_BIT; + } + + return flags; +} + +String VulkanContext::SubgroupCapabilities::supported_operations_desc() const { + String res; + + if (supportedOperations & VK_SUBGROUP_FEATURE_BASIC_BIT) { + res += ", FEATURE_BASIC"; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_VOTE_BIT) { + res += ", FEATURE_VOTE"; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_ARITHMETIC_BIT) { + res += ", FEATURE_ARITHMETIC"; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_BALLOT_BIT) { + res += ", FEATURE_BALLOT"; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_SHUFFLE_BIT) { + res += ", FEATURE_SHUFFLE"; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT) { + res += ", FEATURE_SHUFFLE_RELATIVE"; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_CLUSTERED_BIT) { + res += ", FEATURE_CLUSTERED"; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_QUAD_BIT) { + res += ", FEATURE_QUAD"; + } + if (supportedOperations & VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV) { + res += ", FEATURE_PARTITIONED_NV"; + } + + return res.substr(2); // remove first ", " +} + +Error VulkanContext::_check_capabilities() { + // check subgroups + // https://www.khronos.org/blog/vulkan-subgroup-tutorial + // for Vulkan 1.0 vkGetPhysicalDeviceProperties2 is not available, including not in the loader we compile against on Android. + _vkGetPhysicalDeviceProperties2 func = (_vkGetPhysicalDeviceProperties2)vkGetInstanceProcAddr(inst, "vkGetPhysicalDeviceProperties2"); + if (func != nullptr) { + VkPhysicalDeviceSubgroupProperties subgroupProperties; + subgroupProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; + subgroupProperties.pNext = NULL; + + VkPhysicalDeviceProperties2 physicalDeviceProperties; + physicalDeviceProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + physicalDeviceProperties.pNext = &subgroupProperties; + + func(gpu, &physicalDeviceProperties); + + subgroup_capabilities.size = subgroupProperties.subgroupSize; + subgroup_capabilities.supportedStages = subgroupProperties.supportedStages; + subgroup_capabilities.supportedOperations = subgroupProperties.supportedOperations; + // Note: quadOperationsInAllStages will be true if: + // - supportedStages has VK_SHADER_STAGE_ALL_GRAPHICS + VK_SHADER_STAGE_COMPUTE_BIT + // - supportedOperations has VK_SUBGROUP_FEATURE_QUAD_BIT + subgroup_capabilities.quadOperationsInAllStages = subgroupProperties.quadOperationsInAllStages; + + // only output this when debugging? + print_line("- Vulkan subgroup size " + itos(subgroup_capabilities.size)); + print_line("- Vulkan subgroup stages " + subgroup_capabilities.supported_stages_desc()); + print_line("- Vulkan subgroup supported ops " + subgroup_capabilities.supported_operations_desc()); + if (subgroup_capabilities.quadOperationsInAllStages) { + print_line("- Vulkan subgroup quad operations in all stages"); + } + } else { + subgroup_capabilities.size = 0; + subgroup_capabilities.supportedStages = 0; + subgroup_capabilities.supportedOperations = 0; + subgroup_capabilities.quadOperationsInAllStages = false; + } + + return OK; +} + Error VulkanContext::_create_physical_device() { + /* obtain version */ + _obtain_vulkan_version(); + /* Look for validation layers */ if (use_validation_layers) { _create_validation_layers(); } + /* initialise extensions */ { Error err = _initialize_extensions(); if (err != OK) { @@ -294,7 +565,7 @@ Error VulkanContext::_create_physical_device() { /*applicationVersion*/ 0, /*pEngineName*/ namecs.get_data(), /*engineVersion*/ 0, - /*apiVersion*/ VK_API_VERSION_1_0, + /*apiVersion*/ VK_MAKE_VERSION(vulkan_major, vulkan_minor, 0) }; VkInstanceCreateInfo inst_info = { /*sType*/ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, @@ -302,7 +573,7 @@ Error VulkanContext::_create_physical_device() { /*flags*/ 0, /*pApplicationInfo*/ &app, /*enabledLayerCount*/ enabled_layer_count, - /*ppEnabledLayerNames*/ (const char *const *)instance_validation_layers, + /*ppEnabledLayerNames*/ (const char *const *)enabled_layers, /*enabledExtensionCount*/ enabled_extension_count, /*ppEnabledExtensionNames*/ (const char *const *)extension_names, }; @@ -313,7 +584,8 @@ Error VulkanContext::_create_physical_device() { * function to register the final callback. */ VkDebugUtilsMessengerCreateInfoEXT dbg_messenger_create_info; - if (use_validation_layers) { + VkDebugReportCallbackCreateInfoEXT dbg_report_callback_create_info{}; + if (enabled_debug_utils) { // VK_EXT_debug_utils style dbg_messenger_create_info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT; dbg_messenger_create_info.pNext = nullptr; @@ -326,6 +598,16 @@ Error VulkanContext::_create_physical_device() { dbg_messenger_create_info.pfnUserCallback = _debug_messenger_callback; dbg_messenger_create_info.pUserData = this; inst_info.pNext = &dbg_messenger_create_info; + } else if (enabled_debug_report) { + dbg_report_callback_create_info.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT; + dbg_report_callback_create_info.flags = VK_DEBUG_REPORT_INFORMATION_BIT_EXT | + VK_DEBUG_REPORT_WARNING_BIT_EXT | + VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT | + VK_DEBUG_REPORT_ERROR_BIT_EXT | + VK_DEBUG_REPORT_DEBUG_BIT_EXT; + dbg_report_callback_create_info.pfnCallback = _debug_report_callback; + dbg_report_callback_create_info.pUserData = this; + inst_info.pNext = &dbg_report_callback_create_info; } uint32_t gpu_count; @@ -362,7 +644,8 @@ Error VulkanContext::_create_physical_device() { ERR_FAIL_V(ERR_CANT_CREATE); } /* for now, just grab the first physical device */ - gpu = physical_devices[0]; + uint32_t device_index = 0; + gpu = physical_devices[device_index]; free(physical_devices); /* Look for device extensions */ @@ -371,6 +654,40 @@ Error VulkanContext::_create_physical_device() { enabled_extension_count = 0; memset(extension_names, 0, sizeof(extension_names)); + /* Get identifier properties */ + vkGetPhysicalDeviceProperties(gpu, &gpu_props); + + static const struct { + uint32_t id; + const char *name; + } vendor_names[] = { + { 0x1002, "AMD" }, + { 0x1010, "ImgTec" }, + { 0x10DE, "NVIDIA" }, + { 0x13B5, "ARM" }, + { 0x5143, "Qualcomm" }, + { 0x8086, "INTEL" }, + { 0, nullptr }, + }; + device_name = gpu_props.deviceName; + pipeline_cache_id = String::hex_encode_buffer(gpu_props.pipelineCacheUUID, VK_UUID_SIZE); + pipeline_cache_id += "-driver-" + itos(gpu_props.driverVersion); + { + device_vendor = "Unknown"; + uint32_t vendor_idx = 0; + while (vendor_names[vendor_idx].name != nullptr) { + if (gpu_props.vendorID == vendor_names[vendor_idx].id) { + device_vendor = vendor_names[vendor_idx].name; + break; + } + vendor_idx++; + } + } +#ifdef DEBUG_ENABLED + print_line("Using Vulkan Device #" + itos(device_index) + ": " + device_vendor + " - " + device_name); +#endif + device_api_version = gpu_props.apiVersion; + err = vkEnumerateDeviceExtensionProperties(gpu, nullptr, &device_extension_count, nullptr); ERR_FAIL_COND_V(err, ERR_CANT_CREATE); @@ -437,7 +754,7 @@ Error VulkanContext::_create_physical_device() { " extension.\n\nDo you have a compatible Vulkan installable client driver (ICD) installed?\n" "vkCreateInstance Failure"); - if (use_validation_layers) { + if (enabled_debug_utils) { // Setup VK_EXT_debug_utils function pointers always (we use them for // debug labels and names). CreateDebugUtilsMessengerEXT = @@ -479,8 +796,34 @@ Error VulkanContext::_create_physical_device() { ERR_FAIL_V(ERR_CANT_CREATE); break; } + } else if (enabled_debug_report) { + CreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(inst, "vkCreateDebugReportCallbackEXT"); + DebugReportMessageEXT = (PFN_vkDebugReportMessageEXT)vkGetInstanceProcAddr(inst, "vkDebugReportMessageEXT"); + DestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)vkGetInstanceProcAddr(inst, "vkDestroyDebugReportCallbackEXT"); + + if (nullptr == CreateDebugReportCallbackEXT || nullptr == DebugReportMessageEXT || nullptr == DestroyDebugReportCallbackEXT) { + ERR_FAIL_V_MSG(ERR_CANT_CREATE, + "GetProcAddr: Failed to init VK_EXT_debug_report\n" + "GetProcAddr: Failure"); + } + + err = CreateDebugReportCallbackEXT(inst, &dbg_report_callback_create_info, nullptr, &dbg_debug_report); + switch (err) { + case VK_SUCCESS: + break; + case VK_ERROR_OUT_OF_HOST_MEMORY: + ERR_FAIL_V_MSG(ERR_CANT_CREATE, + "CreateDebugReportCallbackEXT: out of host memory\n" + "CreateDebugReportCallbackEXT Failure"); + break; + default: + ERR_FAIL_V_MSG(ERR_CANT_CREATE, + "CreateDebugReportCallbackEXT: unknown failure\n" + "CreateDebugReportCallbackEXT Failure"); + ERR_FAIL_V(ERR_CANT_CREATE); + break; + } } - vkGetPhysicalDeviceProperties(gpu, &gpu_props); /* Call with NULL data to get count */ vkGetPhysicalDeviceQueueFamilyProperties(gpu, &queue_family_count, nullptr); @@ -494,6 +837,8 @@ Error VulkanContext::_create_physical_device() { // features based on this query vkGetPhysicalDeviceFeatures(gpu, &physical_device_features); + physical_device_features.robustBufferAccess = false; //turn off robust buffer access, which can hamper performance on some hardware + #define GET_INSTANCE_PROC_ADDR(inst, entrypoint) \ { \ fp##entrypoint = (PFN_vk##entrypoint)vkGetInstanceProcAddr(inst, "vk" #entrypoint); \ @@ -507,6 +852,14 @@ Error VulkanContext::_create_physical_device() { GET_INSTANCE_PROC_ADDR(inst, GetPhysicalDeviceSurfacePresentModesKHR); GET_INSTANCE_PROC_ADDR(inst, GetSwapchainImagesKHR); + // get info about what our vulkan driver is capable off + { + Error res = _check_capabilities(); + if (res != OK) { + return res; + } + } + return OK; } @@ -545,6 +898,7 @@ Error VulkanContext::_create_device() { } err = vkCreateDevice(gpu, &sdevice, nullptr, &device); ERR_FAIL_COND_V(err, ERR_CANT_CREATE); + return OK; } @@ -1010,7 +1364,6 @@ Error VulkanContext::_update_swap_chain(Window *window) { { const VkAttachmentDescription attachment = { - /*flags*/ 0, /*format*/ format, /*samples*/ VK_SAMPLE_COUNT_1_BIT, @@ -1259,13 +1612,13 @@ Error VulkanContext::swap_buffers() { DemoUpdateTargetIPD(demo); // Note: a real application would position its geometry to that it's in - // the correct locatoin for when the next image is presented. It might + // the correct location for when the next image is presented. It might // also wait, so that there's less latency between any input and when // the next image is rendered/presented. This demo program is so // simple that it doesn't do either of those. } #endif - // Wait for the image acquired semaphore to be signaled to ensure + // Wait for the image acquired semaphore to be signalled to ensure // that the image won't be rendered to until the presentation // engine has fully released ownership to the application, and it is // okay to render to the image. @@ -1331,7 +1684,7 @@ Error VulkanContext::swap_buffers() { ERR_FAIL_COND_V(err, ERR_CANT_CREATE); } - // If we are using separate queues we have to wait for image ownership, + // If we are using separate queues, we have to wait for image ownership, // otherwise wait for draw complete VkPresentInfoKHR present = { /*sType*/ VK_STRUCTURE_TYPE_PRESENT_INFO_KHR, @@ -1567,6 +1920,70 @@ void VulkanContext::local_device_free(RID p_local_device) { local_device_owner.free(p_local_device); } +void VulkanContext::command_begin_label(VkCommandBuffer p_command_buffer, String p_label_name, const Color p_color) { + if (!enabled_debug_utils) { + return; + } + + CharString cs = p_label_name.utf8().get_data(); + VkDebugUtilsLabelEXT label; + label.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT; + label.pNext = nullptr; + label.pLabelName = cs.get_data(); + label.color[0] = p_color[0]; + label.color[1] = p_color[1]; + label.color[2] = p_color[2]; + label.color[3] = p_color[3]; + CmdBeginDebugUtilsLabelEXT(p_command_buffer, &label); +} + +void VulkanContext::command_insert_label(VkCommandBuffer p_command_buffer, String p_label_name, const Color p_color) { + if (!enabled_debug_utils) { + return; + } + CharString cs = p_label_name.utf8().get_data(); + VkDebugUtilsLabelEXT label; + label.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT; + label.pNext = nullptr; + label.pLabelName = cs.get_data(); + label.color[0] = p_color[0]; + label.color[1] = p_color[1]; + label.color[2] = p_color[2]; + label.color[3] = p_color[3]; + CmdInsertDebugUtilsLabelEXT(p_command_buffer, &label); +} + +void VulkanContext::command_end_label(VkCommandBuffer p_command_buffer) { + if (!enabled_debug_utils) { + return; + } + CmdEndDebugUtilsLabelEXT(p_command_buffer); +} + +void VulkanContext::set_object_name(VkObjectType p_object_type, uint64_t p_object_handle, String p_object_name) { + if (!enabled_debug_utils) { + return; + } + CharString obj_data = p_object_name.utf8(); + VkDebugUtilsObjectNameInfoEXT name_info; + name_info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT; + name_info.pNext = nullptr; + name_info.objectType = p_object_type; + name_info.objectHandle = p_object_handle; + name_info.pObjectName = obj_data.get_data(); + SetDebugUtilsObjectNameEXT(device, &name_info); +} + +String VulkanContext::get_device_vendor_name() const { + return device_vendor; +} +String VulkanContext::get_device_name() const { + return device_name; +} +String VulkanContext::get_device_pipeline_cache_uuid() const { + return pipeline_cache_id; +} + VulkanContext::VulkanContext() { use_validation_layers = Engine::get_singleton()->is_validation_layers_enabled(); @@ -1587,9 +2004,12 @@ VulkanContext::~VulkanContext() { vkDestroySemaphore(device, image_ownership_semaphores[i], nullptr); } } - if (inst_initialized && use_validation_layers) { + if (inst_initialized && enabled_debug_utils) { DestroyDebugUtilsMessengerEXT(inst, dbg_messenger, nullptr); } + if (inst_initialized && dbg_debug_report != VK_NULL_HANDLE) { + DestroyDebugReportCallbackEXT(inst, dbg_debug_report, nullptr); + } vkDestroyDevice(device, nullptr); } if (inst_initialized) { diff --git a/drivers/vulkan/vulkan_context.h b/drivers/vulkan/vulkan_context.h index 26d4b76e86..b788181ab9 100644 --- a/drivers/vulkan/vulkan_context.h +++ b/drivers/vulkan/vulkan_context.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -41,37 +41,61 @@ #include <vulkan/vulkan.h> class VulkanContext { +public: + struct SubgroupCapabilities { + uint32_t size; + VkShaderStageFlags supportedStages; + VkSubgroupFeatureFlags supportedOperations; + VkBool32 quadOperationsInAllStages; + + uint32_t supported_stages_flags_rd() const; + String supported_stages_desc() const; + uint32_t supported_operations_flags_rd() const; + String supported_operations_desc() const; + }; + +private: enum { MAX_EXTENSIONS = 128, MAX_LAYERS = 64, FRAME_LAG = 2 }; - VkInstance inst; - VkSurfaceKHR surface; - VkPhysicalDevice gpu; + VkInstance inst = VK_NULL_HANDLE; + VkSurfaceKHR surface = VK_NULL_HANDLE; + VkPhysicalDevice gpu = VK_NULL_HANDLE; VkPhysicalDeviceProperties gpu_props; - uint32_t queue_family_count; + uint32_t queue_family_count = 0; VkQueueFamilyProperties *queue_props = nullptr; - VkDevice device; + VkDevice device = VK_NULL_HANDLE; bool device_initialized = false; bool inst_initialized = false; + // Vulkan 1.0 doesn't return version info so we assume this by default until we know otherwise + uint32_t vulkan_major = 1; + uint32_t vulkan_minor = 0; + SubgroupCapabilities subgroup_capabilities; + + String device_vendor; + String device_name; + String pipeline_cache_id; + uint32_t device_api_version = 0; + bool buffers_prepared = false; // Present queue. bool queues_initialized = false; - uint32_t graphics_queue_family_index; - uint32_t present_queue_family_index; - bool separate_present_queue; - VkQueue graphics_queue; - VkQueue present_queue; + uint32_t graphics_queue_family_index = 0; + uint32_t present_queue_family_index = 0; + bool separate_present_queue = false; + VkQueue graphics_queue = VK_NULL_HANDLE; + VkQueue present_queue = VK_NULL_HANDLE; VkColorSpaceKHR color_space; VkFormat format; VkSemaphore image_acquired_semaphores[FRAME_LAG]; VkSemaphore draw_complete_semaphores[FRAME_LAG]; VkSemaphore image_ownership_semaphores[FRAME_LAG]; - int frame_index; + int frame_index = 0; VkFence fences[FRAME_LAG]; VkPhysicalDeviceMemoryProperties memory_properties; VkPhysicalDeviceFeatures physical_device_features; @@ -91,14 +115,14 @@ class VulkanContext { uint32_t current_buffer = 0; int width = 0; int height = 0; - VkCommandPool present_cmd_pool; // For separate present queue. + VkCommandPool present_cmd_pool = VK_NULL_HANDLE; // For separate present queue. VkRenderPass render_pass = VK_NULL_HANDLE; }; struct LocalDevice { bool waiting = false; - VkDevice device; - VkQueue queue; + VkDevice device = VK_NULL_HANDLE; + VkQueue queue = VK_NULL_HANDLE; }; RID_Owner<LocalDevice, true> local_device_owner; @@ -108,7 +132,7 @@ class VulkanContext { // Commands. - bool prepared; + bool prepared = false; Vector<VkCommandBuffer> command_buffer_queue; int command_buffer_count = 1; @@ -119,8 +143,14 @@ class VulkanContext { bool VK_GOOGLE_display_timing_enabled = true; uint32_t enabled_extension_count = 0; const char *extension_names[MAX_EXTENSIONS]; + bool enabled_debug_utils = false; + + /** + * True if VK_EXT_debug_report extension is used. VK_EXT_debug_report is deprecated but it is + * still used if VK_EXT_debug_utils is not available. + */ + bool enabled_debug_report = false; - const char **instance_validation_layers = nullptr; uint32_t enabled_layer_count = 0; const char *enabled_layers[MAX_LAYERS]; @@ -131,6 +161,9 @@ class VulkanContext { PFN_vkCmdEndDebugUtilsLabelEXT CmdEndDebugUtilsLabelEXT; PFN_vkCmdInsertDebugUtilsLabelEXT CmdInsertDebugUtilsLabelEXT; PFN_vkSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT; + PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT; + PFN_vkDebugReportMessageEXT DebugReportMessageEXT; + PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT; PFN_vkGetPhysicalDeviceSurfaceSupportKHR fpGetPhysicalDeviceSurfaceSupportKHR; PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR fpGetPhysicalDeviceSurfaceCapabilitiesKHR; PFN_vkGetPhysicalDeviceSurfaceFormatsKHR fpGetPhysicalDeviceSurfaceFormatsKHR; @@ -143,10 +176,13 @@ class VulkanContext { PFN_vkGetRefreshCycleDurationGOOGLE fpGetRefreshCycleDurationGOOGLE; PFN_vkGetPastPresentationTimingGOOGLE fpGetPastPresentationTimingGOOGLE; - VkDebugUtilsMessengerEXT dbg_messenger; + VkDebugUtilsMessengerEXT dbg_messenger = VK_NULL_HANDLE; + VkDebugReportCallbackEXT dbg_debug_report = VK_NULL_HANDLE; + Error _obtain_vulkan_version(); Error _create_validation_layers(); Error _initialize_extensions(); + Error _check_capabilities(); VkBool32 _check_layers(uint32_t check_count, const char **check_names, uint32_t layer_count, VkLayerProperties *layers); static VKAPI_ATTR VkBool32 VKAPI_CALL _debug_messenger_callback( @@ -155,6 +191,16 @@ class VulkanContext { const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData); + static VKAPI_ATTR VkBool32 VKAPI_CALL _debug_report_callback( + VkDebugReportFlagsEXT flags, + VkDebugReportObjectTypeEXT objectType, + uint64_t object, + size_t location, + int32_t messageCode, + const char *pLayerPrefix, + const char *pMessage, + void *pUserData); + Error _create_physical_device(); Error _initialize_queues(VkSurfaceKHR surface); @@ -181,6 +227,10 @@ protected: } public: + uint32_t get_vulkan_major() const { return vulkan_major; }; + uint32_t get_vulkan_minor() const { return vulkan_minor; }; + SubgroupCapabilities get_subgroup_capabilities() const { return subgroup_capabilities; }; + VkDevice get_device(); VkPhysicalDevice get_physical_device(); int get_swapchain_image_count() const; @@ -210,6 +260,15 @@ public: Error swap_buffers(); Error initialize(); + void command_begin_label(VkCommandBuffer p_command_buffer, String p_label_name, const Color p_color); + void command_insert_label(VkCommandBuffer p_command_buffer, String p_label_name, const Color p_color); + void command_end_label(VkCommandBuffer p_command_buffer); + void set_object_name(VkObjectType p_object_type, uint64_t p_object_handle, String p_object_name); + + String get_device_vendor_name() const; + String get_device_name() const; + String get_device_pipeline_cache_uuid() const; + VulkanContext(); virtual ~VulkanContext(); }; diff --git a/drivers/wasapi/audio_driver_wasapi.cpp b/drivers/wasapi/audio_driver_wasapi.cpp index 67e175d8d1..43c8722b06 100644 --- a/drivers/wasapi/audio_driver_wasapi.cpp +++ b/drivers/wasapi/audio_driver_wasapi.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -387,7 +387,7 @@ Error AudioDriverWASAPI::finish_capture_device() { } Error AudioDriverWASAPI::init() { - mix_rate = GLOBAL_GET("audio/mix_rate"); + mix_rate = GLOBAL_GET("audio/driver/mix_rate"); Error err = init_render_device(); if (err != OK) { @@ -397,7 +397,7 @@ Error AudioDriverWASAPI::init() { exit_thread = false; thread_exited = false; - thread = Thread::create(thread_func, this); + thread.start(thread_func, this); return OK; } @@ -767,13 +767,8 @@ void AudioDriverWASAPI::unlock() { } void AudioDriverWASAPI::finish() { - if (thread) { - exit_thread = true; - Thread::wait_to_finish(thread); - - memdelete(thread); - thread = nullptr; - } + exit_thread = true; + thread.wait_to_finish(); finish_capture_device(); finish_render_device(); diff --git a/drivers/wasapi/audio_driver_wasapi.h b/drivers/wasapi/audio_driver_wasapi.h index 41ff7c9895..b9b325f0fb 100644 --- a/drivers/wasapi/audio_driver_wasapi.h +++ b/drivers/wasapi/audio_driver_wasapi.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -64,7 +64,7 @@ class AudioDriverWASAPI : public AudioDriver { AudioDeviceWASAPI audio_output; Mutex mutex; - Thread *thread = nullptr; + Thread thread; Vector<int32_t> samples_in; diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp index 3c61aa7289..2c9f28717d 100644 --- a/drivers/windows/dir_access_windows.cpp +++ b/drivers/windows/dir_access_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -367,8 +367,6 @@ DirAccessWindows::DirAccessWindows() { p->h = INVALID_HANDLE_VALUE; current_dir = "."; - drive_count = 0; - #ifdef UWP_ENABLED Windows::Storage::StorageFolder ^ install_folder = Windows::ApplicationModel::Package::Current->InstalledLocation; change_dir(install_folder->Path->Data()); diff --git a/drivers/windows/dir_access_windows.h b/drivers/windows/dir_access_windows.h index 47aedfecf5..7f10023470 100644 --- a/drivers/windows/dir_access_windows.h +++ b/drivers/windows/dir_access_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -46,16 +46,16 @@ class DirAccessWindows : public DirAccess { MAX_DRIVES = 26 }; - DirAccessWindowsPrivate *p; + DirAccessWindowsPrivate *p = nullptr; /* Windows stuff */ - char drives[MAX_DRIVES]; // a-z: - int drive_count; + char drives[MAX_DRIVES] = { 0 }; // a-z: + int drive_count = 0; String current_dir; - bool _cisdir; - bool _cishidden; + bool _cisdir = false; + bool _cishidden = false; public: virtual Error list_dir_begin(); ///< This starts dir listing diff --git a/drivers/windows/file_access_windows.cpp b/drivers/windows/file_access_windows.cpp index ec393c98ba..b1b3fc9092 100644 --- a/drivers/windows/file_access_windows.cpp +++ b/drivers/windows/file_access_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -253,6 +253,8 @@ uint8_t FileAccessWindows::get_8() const { } int FileAccessWindows::get_buffer(uint8_t *p_dst, int p_length) const { + ERR_FAIL_COND_V(!p_dst && p_length > 0, -1); + ERR_FAIL_COND_V(p_length < 0, -1); ERR_FAIL_COND_V(!f, -1); if (flags == READ_WRITE || flags == WRITE_READ) { if (prev_op == WRITE) { diff --git a/drivers/windows/file_access_windows.h b/drivers/windows/file_access_windows.h index 98c0efe576..507e0b2c20 100644 --- a/drivers/windows/file_access_windows.h +++ b/drivers/windows/file_access_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/rw_lock_windows.cpp b/drivers/windows/rw_lock_windows.cpp deleted file mode 100644 index 1007689728..0000000000 --- a/drivers/windows/rw_lock_windows.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/*************************************************************************/ -/* rw_lock_windows.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#if defined(WINDOWS_ENABLED) - -#include "rw_lock_windows.h" - -#include "core/error/error_macros.h" -#include "core/os/memory.h" - -#include <stdio.h> - -void RWLockWindows::read_lock() { - AcquireSRWLockShared(&lock); -} - -void RWLockWindows::read_unlock() { - ReleaseSRWLockShared(&lock); -} - -Error RWLockWindows::read_try_lock() { - if (TryAcquireSRWLockShared(&lock) == 0) { - return ERR_BUSY; - } else { - return OK; - } -} - -void RWLockWindows::write_lock() { - AcquireSRWLockExclusive(&lock); -} - -void RWLockWindows::write_unlock() { - ReleaseSRWLockExclusive(&lock); -} - -Error RWLockWindows::write_try_lock() { - if (TryAcquireSRWLockExclusive(&lock) == 0) { - return ERR_BUSY; - } else { - return OK; - } -} - -RWLock *RWLockWindows::create_func_windows() { - return memnew(RWLockWindows); -} - -void RWLockWindows::make_default() { - create_func = create_func_windows; -} - -RWLockWindows::RWLockWindows() { - InitializeSRWLock(&lock); -} - -RWLockWindows::~RWLockWindows() { -} - -#endif diff --git a/drivers/windows/rw_lock_windows.h b/drivers/windows/rw_lock_windows.h deleted file mode 100644 index 61dd679d32..0000000000 --- a/drivers/windows/rw_lock_windows.h +++ /dev/null @@ -1,63 +0,0 @@ -/*************************************************************************/ -/* rw_lock_windows.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef RWLOCKWINDOWS_H -#define RWLOCKWINDOWS_H - -#if defined(WINDOWS_ENABLED) - -#include "core/os/rw_lock.h" - -#include <windows.h> - -class RWLockWindows : public RWLock { - SRWLOCK lock; - - static RWLock *create_func_windows(); - -public: - virtual void read_lock(); - virtual void read_unlock(); - virtual Error read_try_lock(); - - virtual void write_lock(); - virtual void write_unlock(); - virtual Error write_try_lock(); - - static void make_default(); - - RWLockWindows(); - - ~RWLockWindows(); -}; - -#endif - -#endif // RWLOCKWINDOWS_H diff --git a/drivers/windows/thread_windows.cpp b/drivers/windows/thread_windows.cpp deleted file mode 100644 index ca7d936fac..0000000000 --- a/drivers/windows/thread_windows.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/*************************************************************************/ -/* thread_windows.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#include "thread_windows.h" - -#if defined(WINDOWS_ENABLED) && !defined(UWP_ENABLED) - -#include "core/os/memory.h" - -Thread::ID ThreadWindows::get_id() const { - return id; -} - -Thread *ThreadWindows::create_thread_windows() { - return memnew(ThreadWindows); -} - -DWORD ThreadWindows::thread_callback(LPVOID userdata) { - ThreadWindows *t = reinterpret_cast<ThreadWindows *>(userdata); - - ScriptServer::thread_enter(); //scripts may need to attach a stack - - t->id = (ID)GetCurrentThreadId(); // must implement - t->callback(t->user); - SetEvent(t->handle); - - ScriptServer::thread_exit(); - - return 0; -} - -Thread *ThreadWindows::create_func_windows(ThreadCreateCallback p_callback, void *p_user, const Settings &) { - ThreadWindows *tr = memnew(ThreadWindows); - tr->callback = p_callback; - tr->user = p_user; - tr->handle = CreateEvent(nullptr, TRUE, FALSE, nullptr); - - QueueUserWorkItem(thread_callback, tr, WT_EXECUTELONGFUNCTION); - - return tr; -} - -Thread::ID ThreadWindows::get_thread_id_func_windows() { - return (ID)GetCurrentThreadId(); //must implement -} - -void ThreadWindows::wait_to_finish_func_windows(Thread *p_thread) { - ThreadWindows *tp = static_cast<ThreadWindows *>(p_thread); - ERR_FAIL_COND(!tp); - WaitForSingleObject(tp->handle, INFINITE); - CloseHandle(tp->handle); - //`memdelete(tp); -} - -void ThreadWindows::make_default() { - create_func = create_func_windows; - get_thread_id_func = get_thread_id_func_windows; - wait_to_finish_func = wait_to_finish_func_windows; -} - -#endif diff --git a/drivers/windows/thread_windows.h b/drivers/windows/thread_windows.h deleted file mode 100644 index 939f487fc1..0000000000 --- a/drivers/windows/thread_windows.h +++ /dev/null @@ -1,67 +0,0 @@ -/*************************************************************************/ -/* thread_windows.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef THREAD_WINDOWS_H -#define THREAD_WINDOWS_H - -#ifdef WINDOWS_ENABLED - -#include "core/object/script_language.h" -#include "core/os/thread.h" - -#include <windows.h> - -class ThreadWindows : public Thread { - ThreadCreateCallback callback; - void *user; - ID id; - HANDLE handle = nullptr; - - static Thread *create_thread_windows(); - - static DWORD WINAPI thread_callback(LPVOID userdata); - - static Thread *create_func_windows(ThreadCreateCallback p_callback, void *, const Settings &); - static ID get_thread_id_func_windows(); - static void wait_to_finish_func_windows(Thread *p_thread); - - ThreadWindows() {} - -public: - virtual ID get_id() const; - - static void make_default(); - - ~ThreadWindows() {} -}; - -#endif - -#endif diff --git a/drivers/winmidi/midi_driver_winmidi.cpp b/drivers/winmidi/midi_driver_winmidi.cpp index 75f57b3bb9..730d608bbf 100644 --- a/drivers/winmidi/midi_driver_winmidi.cpp +++ b/drivers/winmidi/midi_driver_winmidi.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/winmidi/midi_driver_winmidi.h b/drivers/winmidi/midi_driver_winmidi.h index 9ed3fc2faa..bb9a87d610 100644 --- a/drivers/winmidi/midi_driver_winmidi.h +++ b/drivers/winmidi/midi_driver_winmidi.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/xaudio2/audio_driver_xaudio2.cpp b/drivers/xaudio2/audio_driver_xaudio2.cpp index c9ad054089..1c7bf5d6c6 100644 --- a/drivers/xaudio2/audio_driver_xaudio2.cpp +++ b/drivers/xaudio2/audio_driver_xaudio2.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -44,12 +44,12 @@ Error AudioDriverXAudio2::init() { pcm_open = false; samples_in = nullptr; - mix_rate = GLOBAL_GET("audio/mix_rate"); + mix_rate = GLOBAL_GET("audio/driver/mix_rate"); // FIXME: speaker_mode seems unused in the Xaudio2 driver so far speaker_mode = SPEAKER_MODE_STEREO; channels = 2; - int latency = GLOBAL_GET("audio/output_latency"); + int latency = GLOBAL_GET("audio/driver/output_latency"); buffer_size = closest_power_of_2(latency * mix_rate / 1000); samples_in = memnew_arr(int32_t, buffer_size * channels); @@ -78,7 +78,7 @@ Error AudioDriverXAudio2::init() { hr = xaudio->CreateSourceVoice(&source_voice, &wave_format, 0, XAUDIO2_MAX_FREQ_RATIO, &voice_callback); ERR_FAIL_COND_V_MSG(hr != S_OK, ERR_UNAVAILABLE, "Error creating XAudio2 source voice. Error code: " + itos(hr) + "."); - thread = Thread::create(AudioDriverXAudio2::thread_func, this); + thread.start(AudioDriverXAudio2::thread_func, this); return OK; } @@ -146,23 +146,16 @@ float AudioDriverXAudio2::get_latency() { } void AudioDriverXAudio2::lock() { - if (!thread) - return; mutex.lock(); } void AudioDriverXAudio2::unlock() { - if (!thread) - return; mutex.unlock(); } void AudioDriverXAudio2::finish() { - if (!thread) - return; - exit_thread = true; - Thread::wait_to_finish(thread); + thread.wait_to_finish(); if (source_voice) { source_voice->Stop(0); @@ -179,9 +172,6 @@ void AudioDriverXAudio2::finish() { } mastering_voice->DestroyVoice(); - - memdelete(thread); - thread = nullptr; } AudioDriverXAudio2::AudioDriverXAudio2() { diff --git a/drivers/xaudio2/audio_driver_xaudio2.h b/drivers/xaudio2/audio_driver_xaudio2.h index 7fc1bb428d..d3938a19d0 100644 --- a/drivers/xaudio2/audio_driver_xaudio2.h +++ b/drivers/xaudio2/audio_driver_xaudio2.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -62,31 +62,31 @@ class AudioDriverXAudio2 : public AudioDriver { void STDMETHODCALLTYPE OnVoiceError(void *pBufferContext, HRESULT Error) {} }; - Thread *thread = nullptr; + Thread thread; Mutex mutex; - int32_t *samples_in; + int32_t *samples_in = nullptr; int16_t *samples_out[AUDIO_BUFFERS]; static void thread_func(void *p_udata); - int buffer_size; + int buffer_size = 0; - unsigned int mix_rate; - SpeakerMode speaker_mode; + unsigned int mix_rate = 0; + SpeakerMode speaker_mode = SpeakerMode::SPEAKER_MODE_STEREO; - int channels; + int channels = 0; - bool active; - bool thread_exited; - mutable bool exit_thread; - bool pcm_open; + bool active = false; + bool thread_exited = false; + mutable bool exit_thread = false; + bool pcm_open = false; WAVEFORMATEX wave_format = { 0 }; Microsoft::WRL::ComPtr<IXAudio2> xaudio; int current_buffer = 0; - IXAudio2MasteringVoice *mastering_voice; + IXAudio2MasteringVoice *mastering_voice = nullptr; XAUDIO2_BUFFER xaudio_buffer[AUDIO_BUFFERS]; - IXAudio2SourceVoice *source_voice; + IXAudio2SourceVoice *source_voice = nullptr; XAudio2DriverVoiceCallback voice_callback; public: |