JACK API differences - jackaudio/jackaudio.github.com GitHub Wiki
This pages summarizes "changes" in JACK client API between version 1 and 2
"not public" means that symbol is available in library but not declared in public header
Symbols present in jack1 but missing in jack2
B _jack_get_microseconds
- not publicD jack_builtin_NULL_functions
- not publicD jack_builtin_audio_functions
- not publicD jack_builtin_midi_functions
- not publicD jack_builtin_port_types
- not publicD jack_tmpdir
- not publicT cleanup_mlock
- not publicT default_jack_error_callback
- not publicT default_jack_info_callback
- not publicT jack_attach_port_segment
- not publicT jack_attach_shm
- not publicT jack_call_sync_client
- not publicT jack_call_timebase_master
- not publicT jack_cleanup_shm
- not publicT jack_client_alloc
- not publicT jack_client_alloc_internal
- not publicT jack_client_deliver_request
- not publicT jack_client_handle_port_connection
- not publicT jack_client_invalidate_port_buffers
- not publicT jack_clock_source_name
- not publicT jack_default_server_name
- not publicT jack_destroy_shm
- not publicT jack_dump_timestamps
- public in <jack/timestamps.h>T jack_generate_unique_id
- not publicT jack_get_free_shm_info
- not publicT jack_get_mhz
- not publicT jack_get_microseconds_from_cycles
- not publicT jack_get_microseconds_from_system
- not publicT jack_get_port_functions
- not publicT jack_get_process_done_fd
- not publicT jack_hpet_init
- not publicT jack_init_time
- not publicT jack_init_timestamps
- public in <jack/timestamps.h>T jack_initialize_shm
- not publicT jack_messagebuffer_add
- not publicT jack_messagebuffer_exit
- not publicT jack_messagebuffer_init
- not publicT jack_pool_alloc
- not publicT jack_pool_release
- not publicT jack_port_by_id_int
- not publicT jack_port_by_name_int
- not publicT jack_port_name_equals
- not publicT jack_port_new
- not publicT jack_register_server
- not publicT jack_release_shm
- not publicT jack_release_shm_info
- not publicT jack_reset_timestamps
- public in <jack/timestamps.h>T jack_resize_shm
- not publicT jack_server_dir
- not publicT jack_set_clock_source
- not publicT jack_shmalloc
- not publicT jack_start_freewheel
- not publicT jack_stop_freewheel
- not publicT jack_timestamp
- public in <jack/timestamps.h>T jack_transport_copy_position
- not publicT jack_unregister_server
- not publicT jack_user_dir
- not publicT silent_jack_error_callback
- not publicT start_server
- not public
Symbols present in jack2 but missing in jack1
Lot of mangled C++ names
- not publicT jack_client_kill_thread
- new API function, appeared in r2548T jack_client_stop_thread
- new API function, appeared in r2548T jack_get_client_pid
- new API function, appeared in r2299T jack_get_version
- new API function, appered in trunk in r2339, appeared in control branch in r2060T jack_get_version_string
- new API function, appered in trunk in r2339, appeared in control branch in r2060T jack_log
- not publicT jack_port_type_id
- new API function, appered in trunk in r2339, appeared in control branch in r2051T jack_tls_allocate_key(unsigned int*)
- not publicT jack_tls_free_key(unsigned int)
- not publicT jack_tls_get(unsigned int)
- not publicT jack_tls_set(unsigned int, void*)
- not publicT set_threaded_log_function
- not public
Script to create above overview
nm -CDg 1/usr/lib/libjack.so | grep -v ' U '|sed 's/^[0-9a-f]* //'|sort> jack1.syms
nm -CDg 2/usr/lib/libjack.so | grep -v ' U '|sed 's/^[0-9a-f]* //'|sort> jack2.syms
diff -u jack1.syms jack2.syms > jack12.diff
grep '^-[A-Z]' jack12.diff | sed 's/^-//'
grep '^+[A-Z]' jack12.diff | sed 's/^+//'|grep -v ::
for i in `grep '^+[A-Z]' jack12.diff | grep -v :: | sed 's/^+. \([^ (]*\).*/\1/'` ; do echo "searching for $i ..." ; find 2 -type f -exec grep -Hn $i {} \; ; done|grep -v 'Binary file'
for i in `grep '^-[A-Z]' jack12.diff | sed 's/^-. //'` ; do echo "searching for $i ..." ; find 1 -type f -exec grep -Hn $i {} \; ; done|grep -v 'Binary file'