|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- /*
- * JackBridge (Part 3, Export)
- * Copyright (C) 2013-2023 Filipe Coelho <falktx@falktx.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any purpose with
- * or without fee is hereby granted, provided that the above copyright notice and this
- * permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
- * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
- * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
- * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
- #include "JackBridgeExport.hpp"
-
- #include "CarlaUtils.hpp"
-
- // --------------------------------------------------------------------------------------------------------------------
-
- #if defined(CARLA_OS_WIN) && ! defined(__WINE__)
- # define JACKBRIDGE_EXPORT extern "C" __declspec (dllexport)
- #else
- # define JACKBRIDGE_EXPORT extern "C" __attribute__ ((visibility("default")))
- #endif
-
- // --------------------------------------------------------------------------------------------------------------------
-
- JACKBRIDGE_EXPORT
- const JackBridgeExportedFunctions* JACKBRIDGE_API jackbridge_get_exported_functions();
-
- JACKBRIDGE_EXPORT
- const JackBridgeExportedFunctions* JACKBRIDGE_API jackbridge_get_exported_functions()
- {
- static JackBridgeExportedFunctions funcs;
- carla_zeroStruct(funcs);
-
- funcs.init_ptr = jackbridge_init;
- funcs.get_version_ptr = jackbridge_get_version;
- funcs.get_version_string_ptr = jackbridge_get_version_string;
- funcs.client_open_ptr = jackbridge_client_open;
- funcs.client_close_ptr = jackbridge_client_close;
- funcs.client_name_size_ptr = jackbridge_client_name_size;
- funcs.get_client_name_ptr = jackbridge_get_client_name;
- funcs.client_get_uuid_ptr = jackbridge_client_get_uuid;
- funcs.get_uuid_for_client_name_ptr = jackbridge_get_uuid_for_client_name;
- funcs.get_client_name_by_uuid_ptr = jackbridge_get_client_name_by_uuid;
- funcs.uuid_parse_ptr = jackbridge_uuid_parse;
- funcs.uuid_unparse_ptr = jackbridge_uuid_unparse;
- funcs.activate_ptr = jackbridge_activate;
- funcs.deactivate_ptr = jackbridge_deactivate;
- funcs.is_realtime_ptr = jackbridge_is_realtime;
- funcs.set_thread_init_callback_ptr = jackbridge_set_thread_init_callback;
- funcs.on_shutdown_ptr = jackbridge_on_shutdown;
- funcs.on_info_shutdown_ptr = jackbridge_on_info_shutdown;
- funcs.set_process_callback_ptr = jackbridge_set_process_callback;
- funcs.set_freewheel_callback_ptr = jackbridge_set_freewheel_callback;
- funcs.set_buffer_size_callback_ptr = jackbridge_set_buffer_size_callback;
- funcs.set_sample_rate_callback_ptr = jackbridge_set_sample_rate_callback;
- funcs.set_client_registration_callback_ptr = jackbridge_set_client_registration_callback;
- funcs.set_port_registration_callback_ptr = jackbridge_set_port_registration_callback;
- funcs.set_port_rename_callback_ptr = jackbridge_set_port_rename_callback;
- funcs.set_port_connect_callback_ptr = jackbridge_set_port_connect_callback;
- funcs.set_graph_order_callback_ptr = jackbridge_set_graph_order_callback;
- funcs.set_xrun_callback_ptr = jackbridge_set_xrun_callback;
- funcs.set_latency_callback_ptr = jackbridge_set_latency_callback;
- funcs.set_freewheel_ptr = jackbridge_set_freewheel;
- funcs.set_buffer_size_ptr = jackbridge_set_buffer_size;
- funcs.get_sample_rate_ptr = jackbridge_get_sample_rate;
- funcs.get_buffer_size_ptr = jackbridge_get_buffer_size;
- funcs.cpu_load_ptr = jackbridge_cpu_load;
- funcs.port_register_ptr = jackbridge_port_register;
- funcs.port_unregister_ptr = jackbridge_port_unregister;
- funcs.port_get_buffer_ptr = jackbridge_port_get_buffer;
- funcs.port_name_ptr = jackbridge_port_name;
- funcs.port_uuid_ptr = jackbridge_port_uuid;
- funcs.port_short_name_ptr = jackbridge_port_short_name;
- funcs.port_flags_ptr = jackbridge_port_flags;
- funcs.port_type_ptr = jackbridge_port_type;
- funcs.port_is_mine_ptr = jackbridge_port_is_mine;
- funcs.port_connected_ptr = jackbridge_port_connected;
- funcs.port_connected_to_ptr = jackbridge_port_connected_to;
- funcs.port_get_connections_ptr = jackbridge_port_get_connections;
- funcs.port_get_all_connections_ptr = jackbridge_port_get_all_connections;
- funcs.port_rename_ptr = jackbridge_port_rename;
- funcs.port_set_alias_ptr = jackbridge_port_set_alias;
- funcs.port_unset_alias_ptr = jackbridge_port_unset_alias;
- funcs.port_get_aliases_ptr = jackbridge_port_get_aliases;
- funcs.port_request_monitor_ptr = jackbridge_port_request_monitor;
- funcs.port_request_monitor_by_name_ptr = jackbridge_port_request_monitor_by_name;
- funcs.port_ensure_monitor_ptr = jackbridge_port_ensure_monitor;
- funcs.port_monitoring_input_ptr = jackbridge_port_monitoring_input;
- funcs.connect_ptr = jackbridge_connect;
- funcs.disconnect_ptr = jackbridge_disconnect;
- funcs.port_disconnect_ptr = jackbridge_port_disconnect;
- funcs.port_name_size_ptr = jackbridge_port_name_size;
- funcs.port_type_size_ptr = jackbridge_port_type_size;
- funcs.port_type_get_buffer_size_ptr = jackbridge_port_type_get_buffer_size;
- funcs.port_get_latency_range_ptr = jackbridge_port_get_latency_range;
- funcs.port_set_latency_range_ptr = jackbridge_port_set_latency_range;
- funcs.recompute_total_latencies_ptr = jackbridge_recompute_total_latencies;
- funcs.get_ports_ptr = jackbridge_get_ports;
- funcs.port_by_name_ptr = jackbridge_port_by_name;
- funcs.port_by_id_ptr = jackbridge_port_by_id;
- funcs.free_ptr = jackbridge_free;
- funcs.midi_get_event_count_ptr = jackbridge_midi_get_event_count;
- funcs.midi_event_get_ptr = jackbridge_midi_event_get;
- funcs.midi_clear_buffer_ptr = jackbridge_midi_clear_buffer;
- funcs.midi_event_write_ptr = jackbridge_midi_event_write;
- funcs.midi_event_reserve_ptr = jackbridge_midi_event_reserve;
- funcs.release_timebase_ptr = jackbridge_release_timebase;
- funcs.set_sync_callback_ptr = jackbridge_set_sync_callback;
- funcs.set_sync_timeout_ptr = jackbridge_set_sync_timeout;
- funcs.set_timebase_callback_ptr = jackbridge_set_timebase_callback;
- funcs.transport_locate_ptr = jackbridge_transport_locate;
- funcs.transport_query_ptr = jackbridge_transport_query;
- funcs.get_current_transport_frame_ptr = jackbridge_get_current_transport_frame;
- funcs.transport_reposition_ptr = jackbridge_transport_reposition;
- funcs.transport_start_ptr = jackbridge_transport_start;
- funcs.transport_stop_ptr = jackbridge_transport_stop;
- funcs.set_property_ptr = jackbridge_set_property;
- funcs.get_property_ptr = jackbridge_get_property;
- funcs.free_description_ptr = jackbridge_free_description;
- funcs.get_properties_ptr = jackbridge_get_properties;
- funcs.get_all_properties_ptr = jackbridge_get_all_properties;
- funcs.remove_property_ptr = jackbridge_remove_property;
- funcs.remove_properties_ptr = jackbridge_remove_properties;
- funcs.remove_all_properties_ptr = jackbridge_remove_all_properties;
- funcs.set_property_change_callback_ptr = jackbridge_set_property_change_callback;
- funcs.sem_init_ptr = jackbridge_sem_init;
- funcs.sem_destroy_ptr = jackbridge_sem_destroy;
- funcs.sem_connect_ptr = jackbridge_sem_connect;
- funcs.sem_post_ptr = jackbridge_sem_post;
- funcs.sem_timedwait_ptr = jackbridge_sem_timedwait;
- funcs.shm_is_valid_ptr = jackbridge_shm_is_valid;
- funcs.shm_init_ptr = jackbridge_shm_init;
- funcs.shm_attach_ptr = jackbridge_shm_attach;
- funcs.shm_close_ptr = jackbridge_shm_close;
- funcs.shm_map_ptr = jackbridge_shm_map;
- funcs.shm_unmap_ptr = jackbridge_shm_unmap;
- funcs.discovery_pipe_create_ptr = jackbridge_discovery_pipe_create;
- funcs.discovery_pipe_message_ptr = jackbridge_discovery_pipe_message;
- funcs.discovery_pipe_destroy_ptr = jackbridge_discovery_pipe_destroy;
- funcs.parent_deathsig_ptr = jackbridge_parent_deathsig;
-
- funcs.unique1 = funcs.unique2 = funcs.unique3 = 0xdeadf00d;
-
- return &funcs;
- }
-
- // --------------------------------------------------------------------------------------------------------------------
|