| control.h | | control.h | |
| | | | |
| skipping to change at line 34 | | skipping to change at line 34 | |
| * @ingroup publicheader | | * @ingroup publicheader | |
| * @brief JACK control API | | * @brief JACK control API | |
| * | | * | |
| */ | | */ | |
| | | | |
| #ifndef JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED | | #ifndef JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED | |
| #define JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED | | #define JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED | |
| | | | |
| #include <jack/jslist.h> | | #include <jack/jslist.h> | |
| #include <jack/systemdeps.h> | | #include <jack/systemdeps.h> | |
|
| | | #if !defined (__sun__) | |
| #include <stdbool.h> | | #include <stdbool.h> | |
|
| | | #endif | |
| | | | |
| /** Parameter types, intentionally similar to jack_driver_param_type_t */ | | /** Parameter types, intentionally similar to jack_driver_param_type_t */ | |
| typedef enum | | typedef enum | |
| { | | { | |
| JackParamInt = 1, /**< @brief value type is a signed i
nteger */ | | JackParamInt = 1, /**< @brief value type is a signed i
nteger */ | |
| JackParamUInt, /**< @brief value type is an
unsigned integer */ | | JackParamUInt, /**< @brief value type is an
unsigned integer */ | |
| JackParamChar, /**< @brief value type is a
char */ | | JackParamChar, /**< @brief value type is a
char */ | |
| JackParamString, /**< @brief value type is a string w
ith max size of ::JACK_PARAM_STRING_MAX+1 chars */ | | JackParamString, /**< @brief value type is a string w
ith max size of ::JACK_PARAM_STRING_MAX+1 chars */ | |
| JackParamBool, /**< @brief value type is a
boolean */ | | JackParamBool, /**< @brief value type is a
boolean */ | |
| } jackctl_param_type_t; | | } jackctl_param_type_t; | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 2 lines changed or added | |
|
| jack.h | | jack.h | |
| | | | |
| skipping to change at line 37 | | skipping to change at line 37 | |
| #endif | | #endif | |
| | | | |
| #include <jack/systemdeps.h> | | #include <jack/systemdeps.h> | |
| #include <jack/types.h> | | #include <jack/types.h> | |
| #include <jack/transport.h> | | #include <jack/transport.h> | |
| | | | |
| /** | | /** | |
| * Note: More documentation can be found in jack/types.h. | | * Note: More documentation can be found in jack/types.h. | |
| */ | | */ | |
| | | | |
|
| | | /************************************************************* | |
| | | * NOTE: JACK_WEAK_EXPORT ***MUST*** be used on every function | |
| | | * added to the JACK API after the 0.116.2 release. | |
| | | *************************************************************/ | |
| | | | |
| | | #ifndef JACK_WEAK_EXPORT | |
| | | #ifdef __GNUC__ | |
| | | /* JACK_WEAK_EXPORT needs to be a macro which | |
| | | expands into a compiler directive. If non-null, the directive | |
| | | must tell the compiler to arrange for weak linkage of | |
| | | the symbol it used with. For this to work full may | |
| | | require linker arguments in the client as well. | |
| | | */ | |
| | | #define JACK_WEAK_EXPORT __attribute__((weak)) | |
| | | #else | |
| | | /* Add other things here for non-gcc platforms */ | |
| | | #endif | |
| | | #endif | |
| | | | |
| /** | | /** | |
| * @defgroup ClientFunctions Creating & manipulating clients | | * @defgroup ClientFunctions Creating & manipulating clients | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Call this function to get version of the JACK, in form of several number
s | | * Call this function to get version of the JACK, in form of several number
s | |
| * | | * | |
| * @param major_ptr pointer to variable receiving major version of JACK. | | * @param major_ptr pointer to variable receiving major version of JACK. | |
| * | | * | |
| | | | |
| skipping to change at line 297 | | skipping to change at line 316 | |
| * be written as if it were an asynchonrous POSIX signal | | * be written as if it were an asynchonrous POSIX signal | |
| * handler --- use only async-safe functions, and remember that it | | * handler --- use only async-safe functions, and remember that it | |
| * is executed from another thread. A typical function might | | * is executed from another thread. A typical function might | |
| * set a flag or write to a pipe so that the rest of the | | * set a flag or write to a pipe so that the rest of the | |
| * application knows that the JACK client thread has shut | | * application knows that the JACK client thread has shut | |
| * down. | | * down. | |
| * | | * | |
| * NOTE: clients do not need to call this. It exists only | | * NOTE: clients do not need to call this. It exists only | |
| * to help more complex clients understand what is going | | * to help more complex clients understand what is going | |
| * on. It should be called before jack_client_activate(). | | * on. It should be called before jack_client_activate(). | |
|
| | | * | |
| | | * NOTE: if a client calls this AND jack_on_info_shutdown(), then | |
| | | * the event of a client thread shutdown, the callback | |
| | | * passed to this function will not be called, and the one passed to | |
| | | * jack_on_info_shutdown() will. | |
| */ | | */ | |
| void jack_on_shutdown (jack_client_t *client, | | void jack_on_shutdown (jack_client_t *client, | |
|
| JackShutdownCallback shutdown_callback, void *arg); | | JackShutdownCallback shutdown_callback, void *arg) J | |
| | | ACK_WEAK_EXPORT; | |
| | | | |
| | | /** | |
| | | * @param client pointer to JACK client structure. | |
| | | * @param function The jack_info_shutdown function pointer. | |
| | | * @param arg The arguments for the jack_info_shutdown function. | |
| | | * | |
| | | * Register a function (and argument) to be called if and when the | |
| | | * JACK server shuts down the client thread. The function must | |
| | | * be written as if it were an asynchonrous POSIX signal | |
| | | * handler --- use only async-safe functions, and remember that it | |
| | | * is executed from another thread. A typical function might | |
| | | * set a flag or write to a pipe so that the rest of the | |
| | | * application knows that the JACK client thread has shut | |
| | | * down. | |
| | | * | |
| | | * NOTE: clients do not need to call this. It exists only | |
| | | * to help more complex clients understand what is going | |
| | | * on. It should be called before jack_client_activate(). | |
| | | * | |
| | | * NOTE: if a client calls this AND jack_on_info_shutdown(), then | |
| | | * the event of a client thread shutdown, the callback | |
| | | * passed to this function will not be called, and the one passed to | |
| | | * jack_on_info_shutdown() will. | |
| | | */ | |
| | | void jack_on_info_shutdown (jack_client_t *client, | |
| | | JackInfoShutdownCallback shutdown_callback, void *ar | |
| | | g); | |
| | | | |
| /** | | /** | |
| * Tell the Jack server to call @a process_callback whenever there is | | * Tell the Jack server to call @a process_callback whenever there is | |
| * work be done, passing @a arg as the second argument. | | * work be done, passing @a arg as the second argument. | |
| * | | * | |
| * The code in the supplied function must be suitable for real-time | | * The code in the supplied function must be suitable for real-time | |
| * execution. That means that it cannot call functions that might | | * execution. That means that it cannot call functions that might | |
| * block for a long time. This includes malloc, free, printf, | | * block for a long time. This includes malloc, free, printf, | |
| * pthread_mutex_lock, sleep, wait, poll, select, pthread_join, | | * pthread_mutex_lock, sleep, wait, poll, select, pthread_join, | |
| * pthread_cond_wait, etc, etc. See | | * pthread_cond_wait, etc, etc. See | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 53 lines changed or added | |
|
| types.h | | types.h | |
| | | | |
| skipping to change at line 421 | | skipping to change at line 421 | |
| JackInitFailure = 0x100, | | JackInitFailure = 0x100, | |
| | | | |
| /** | | /** | |
| * Unable to access shared memory | | * Unable to access shared memory | |
| */ | | */ | |
| JackShmFailure = 0x200, | | JackShmFailure = 0x200, | |
| | | | |
| /** | | /** | |
| * Client's protocol version does not match | | * Client's protocol version does not match | |
| */ | | */ | |
|
| JackVersionError = 0x400 | | JackVersionError = 0x400, | |
| | | | |
| | | /** | |
| | | * Backend error | |
| | | */ | |
| | | JackBackendError = 0x800, | |
| | | | |
| | | /** | |
| | | * Client zombified failure | |
| | | */ | |
| | | JackClientZombie = 0x1000 | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Status word returned from several JACK operations, formed by | | * Status word returned from several JACK operations, formed by | |
| * OR-ing together the relevant @ref JackStatus bits. | | * OR-ing together the relevant @ref JackStatus bits. | |
| */ | | */ | |
| typedef enum JackStatus jack_status_t; | | typedef enum JackStatus jack_status_t; | |
| | | | |
| /** | | /** | |
| * Transport states. | | * Transport states. | |
| | | | |
| skipping to change at line 645 | | skipping to change at line 655 | |
| int tick; | | int tick; | |
| double bar_start_tick; | | double bar_start_tick; | |
| | | | |
| float beats_per_bar; | | float beats_per_bar; | |
| float beat_type; | | float beat_type; | |
| double ticks_per_beat; | | double ticks_per_beat; | |
| double beats_per_minute; | | double beats_per_minute; | |
| | | | |
| } jack_transport_info_t; | | } jack_transport_info_t; | |
| | | | |
|
| | | /** | |
| | | * Prototype for the client supplied function that is called | |
| | | * whenever jackd is shutdown. Note that after server shutdown, | |
| | | * the client pointer is *not* deallocated by libjack, | |
| | | * the application is responsible to properly use jack_client_close() | |
| | | * to release client ressources. Warning: jack_client_close() cannot be | |
| | | * safely used inside the shutdown callback and has to be called outside of | |
| | | * the callback context. | |
| | | | |
| | | * @param code a status word, formed by OR-ing together the relevant @ref J | |
| | | ackStatus bits. | |
| | | * @param reason a string describing the shutdown reason (backend failure, | |
| | | server crash... etc...) | |
| | | * @param arg pointer to a client supplied structure | |
| | | */ | |
| | | typedef void (*JackInfoShutdownCallback)(jack_status_t code, const char* re | |
| | | ason, void *arg); | |
| | | | |
| #endif /* __jack_types_h__ */ | | #endif /* __jack_types_h__ */ | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 29 lines changed or added | |
|