midiport.h   midiport.h 
skipping to change at line 29 skipping to change at line 29
#ifndef __JACK_MIDIPORT_H #ifndef __JACK_MIDIPORT_H
#define __JACK_MIDIPORT_H #define __JACK_MIDIPORT_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <jack/types.h> #include <jack/types.h>
#include <stdlib.h> #include <stdlib.h>
#include <jack/weakmacros.h>
/** Type for raw event data contained in @ref jack_midi_event_t. */ /** Type for raw event data contained in @ref jack_midi_event_t. */
typedef unsigned char jack_midi_data_t; typedef unsigned char jack_midi_data_t;
/** A Jack MIDI event. */ /** A Jack MIDI event. */
typedef struct _jack_midi_event typedef struct _jack_midi_event
{ {
jack_nframes_t time; /**< Sample index at which event is valid */ jack_nframes_t time; /**< Sample index at which event is valid */
size_t size; /**< Number of bytes of data in \a buffer */ size_t size; /**< Number of bytes of data in \a buffer */
jack_midi_data_t *buffer; /**< Raw MIDI data */ jack_midi_data_t *buffer; /**< Raw MIDI data */
skipping to change at line 52 skipping to change at line 53
* @defgroup MIDIAPI Reading and writing MIDI data * @defgroup MIDIAPI Reading and writing MIDI data
* @{ * @{
*/ */
/** Get number of events in a port buffer. /** Get number of events in a port buffer.
* *
* @param port_buffer Port buffer from which to retrieve event. * @param port_buffer Port buffer from which to retrieve event.
* @return number of events inside @a port_buffer * @return number of events inside @a port_buffer
*/ */
jack_nframes_t jack_nframes_t
jack_midi_get_event_count(void* port_buffer); jack_midi_get_event_count(void* port_buffer) JACK_OPTIONAL_WEAK_EXPORT;
/** Get a MIDI event from an event port buffer. /** Get a MIDI event from an event port buffer.
* *
* Jack MIDI is normalised, the MIDI event returned by this function is * Jack MIDI is normalised, the MIDI event returned by this function is
* guaranteed to be a complete MIDI event (the status byte will always be * guaranteed to be a complete MIDI event (the status byte will always be
* present, and no realtime events will interspered with the event). * present, and no realtime events will interspered with the event).
* *
* @param event Event structure to store retrieved event in. * @param event Event structure to store retrieved event in.
* @param port_buffer Port buffer from which to retrieve event. * @param port_buffer Port buffer from which to retrieve event.
* @param event_index Index of event to retrieve. * @param event_index Index of event to retrieve.
* @return 0 on success, ENODATA if buffer is empty. * @return 0 on success, ENODATA if buffer is empty.
*/ */
int int
jack_midi_event_get(jack_midi_event_t *event, jack_midi_event_get(jack_midi_event_t *event,
void *port_buffer, void *port_buffer,
jack_nframes_t event_index); jack_nframes_t event_index) JACK_OPTIONAL_WEAK_EXPO RT;
/** Clear an event buffer. /** Clear an event buffer.
* *
* This should be called at the beginning of each process cycle before call ing * This should be called at the beginning of each process cycle before call ing
* @ref jack_midi_event_reserve or @ref jack_midi_event_write. This * @ref jack_midi_event_reserve or @ref jack_midi_event_write. This
* function may not be called on an input port's buffer. * function may not be called on an input port's buffer.
* *
* @param port_buffer Port buffer to clear (must be an output port buffer). * @param port_buffer Port buffer to clear (must be an output port buffer).
*/ */
void void
jack_midi_clear_buffer(void *port_buffer); jack_midi_clear_buffer(void *port_buffer) JACK_OPTIONAL_WEAK_EXPORT;
/** Get the size of the largest event that can be stored by the port. /** Get the size of the largest event that can be stored by the port.
* *
* This function returns the current space available, taking into account * This function returns the current space available, taking into account
* events already stored in the port. * events already stored in the port.
* *
* @param port_buffer Port buffer to check size of. * @param port_buffer Port buffer to check size of.
*/ */
size_t size_t
jack_midi_max_event_size(void* port_buffer); jack_midi_max_event_size(void* port_buffer) JACK_OPTIONAL_WEAK_EXPORT;
/** Allocate space for an event to be written to an event port buffer. /** Allocate space for an event to be written to an event port buffer.
* *
* Clients are to write the actual event data to be written starting at the * Clients are to write the actual event data to be written starting at the
* pointer returned by this function. Clients must not write more than * pointer returned by this function. Clients must not write more than
* @a data_size bytes into this buffer. Clients must write normalised * @a data_size bytes into this buffer. Clients must write normalised
* MIDI data to the port - no running status and no (1-byte) realtime * MIDI data to the port - no running status and no (1-byte) realtime
* messages interspersed with other messages (realtime messages are fine * messages interspersed with other messages (realtime messages are fine
* when they occur on their own, like other messages). * when they occur on their own, like other messages).
* *
* @param port_buffer Buffer to write event to. * @param port_buffer Buffer to write event to.
* @param time Sample offset of event. * @param time Sample offset of event.
* @param data_size Length of event's raw data in bytes. * @param data_size Length of event's raw data in bytes.
* @return Pointer to the beginning of the reserved event's data buffer, or * @return Pointer to the beginning of the reserved event's data buffer, or
* NULL on error (ie not enough space). * NULL on error (ie not enough space).
*/ */
jack_midi_data_t* jack_midi_data_t*
jack_midi_event_reserve(void *port_buffer, jack_midi_event_reserve(void *port_buffer,
jack_nframes_t time, jack_nframes_t time,
size_t data_size); size_t data_size) JACK_OPTIONAL_WEAK_EXPORT;
/** Write an event into an event port buffer. /** Write an event into an event port buffer.
* *
* This function is simply a wrapper for @ref jack_midi_event_reserve * This function is simply a wrapper for @ref jack_midi_event_reserve
* which writes the event data into the space reserved in the buffer. * which writes the event data into the space reserved in the buffer.
* The same restrictions on the MIDI data apply. * The same restrictions on the MIDI data apply.
* *
* @param port_buffer Buffer to write event to. * @param port_buffer Buffer to write event to.
* @param time Sample offset of event. * @param time Sample offset of event.
* @param data Message data to be written. * @param data Message data to be written.
* @param data_size Length of @a data in bytes. * @param data_size Length of @a data in bytes.
* @return 0 on success, ENOBUFS if there's not enough space in buffer for event. * @return 0 on success, ENOBUFS if there's not enough space in buffer for event.
*/ */
int int
jack_midi_event_write(void *port_buffer, jack_midi_event_write(void *port_buffer,
jack_nframes_t time, jack_nframes_t time,
const jack_midi_data_t *data, const jack_midi_data_t *data,
size_t data_size); size_t data_size) JACK_OPTIONAL_WEAK_EXPORT;
/** Get the number of events that could not be written to @a port_buffer. /** Get the number of events that could not be written to @a port_buffer.
* *
* This function returning a non-zero value implies @a port_buffer is full. * This function returning a non-zero value implies @a port_buffer is full.
* Currently the only way this can happen is if events are lost on port mix down. * Currently the only way this can happen is if events are lost on port mix down.
* *
* @param port_buffer Port to receive count for. * @param port_buffer Port to receive count for.
* @returns Number of events that could not be written to @a port_buffer. * @returns Number of events that could not be written to @a port_buffer.
*/ */
jack_nframes_t jack_nframes_t
jack_midi_get_lost_event_count(void *port_buffer); jack_midi_get_lost_event_count(void *port_buffer) JACK_OPTIONAL_WEAK_EXPORT ;
/*@}*/ /*@}*/
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* __JACK_MIDIPORT_H */ #endif /* __JACK_MIDIPORT_H */
 End of changes. 10 change blocks. 
10 lines changed or deleted 11 lines changed or added


 thread.h   thread.h 
skipping to change at line 29 skipping to change at line 29
#ifndef __jack_thread_h__ #ifndef __jack_thread_h__
#define __jack_thread_h__ #define __jack_thread_h__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
#endif #endif
#include <jack/systemdeps.h> #include <jack/systemdeps.h>
#include <jack/weakmacros.h>
/** @file thread.h /** @file thread.h
* *
* Library functions to standardize thread creation for JACK and its * Library functions to standardize thread creation for JACK and its
* clients. These interfaces hide some system variations in the * clients. These interfaces hide some system variations in the
* handling of realtime scheduling and associated privileges. * handling of realtime scheduling and associated privileges.
*/ */
/** /**
* @defgroup ClientThreads Creating and managing client threads * @defgroup ClientThreads Creating and managing client threads
* @{ * @{
*/ */
/** /**
* @returns if JACK is running with realtime scheduling, this returns * @returns if JACK is running with realtime scheduling, this returns
* the priority that any JACK-created client threads will run at. * the priority that any JACK-created client threads will run at.
* Otherwise returns -1. * Otherwise returns -1.
*/ */
int jack_client_real_time_priority (jack_client_t*); int jack_client_real_time_priority (jack_client_t*) JACK_OPTIONAL_WEAK_EXPO RT;
/** /**
* @returns if JACK is running with realtime scheduling, this returns * @returns if JACK is running with realtime scheduling, this returns
* the maximum priority that a JACK client thread should use if the thread * the maximum priority that a JACK client thread should use if the thread
* is subject to realtime scheduling. Otherwise returns -1. * is subject to realtime scheduling. Otherwise returns -1.
*/ */
int jack_client_max_real_time_priority (jack_client_t*); int jack_client_max_real_time_priority (jack_client_t*) JACK_OPTIONAL_WEAK_ EXPORT;
/** /**
* Attempt to enable realtime scheduling for a thread. On some * Attempt to enable realtime scheduling for a thread. On some
* systems that may require special privileges. * systems that may require special privileges.
* *
* @param thread POSIX thread ID. * @param thread POSIX thread ID.
* @param priority requested thread priority. * @param priority requested thread priority.
* *
* @returns 0, if successful; EPERM, if the calling process lacks * @returns 0, if successful; EPERM, if the calling process lacks
* required realtime privileges; otherwise some other error number. * required realtime privileges; otherwise some other error number.
*/ */
int jack_acquire_real_time_scheduling (pthread_t thread, int priority); int jack_acquire_real_time_scheduling (pthread_t thread, int priority) JACK _OPTIONAL_WEAK_EXPORT;
/** /**
* Create a thread for JACK or one of its clients. The thread is * Create a thread for JACK or one of its clients. The thread is
* created executing @a start_routine with @a arg as its sole * created executing @a start_routine with @a arg as its sole
* argument. * argument.
* *
* @param client the JACK client for whom the thread is being created. May be * @param client the JACK client for whom the thread is being created. May be
* NULL if the client is being created within the JACK server. * NULL if the client is being created within the JACK server.
* @param thread place to return POSIX thread ID. * @param thread place to return POSIX thread ID.
* @param priority thread priority, if realtime. * @param priority thread priority, if realtime.
skipping to change at line 91 skipping to change at line 92
* @param start_routine function the thread calls when it starts. * @param start_routine function the thread calls when it starts.
* @param arg parameter passed to the @a start_routine. * @param arg parameter passed to the @a start_routine.
* *
* @returns 0, if successful; otherwise some error number. * @returns 0, if successful; otherwise some error number.
*/ */
int jack_client_create_thread (jack_client_t* client, int jack_client_create_thread (jack_client_t* client,
pthread_t *thread, pthread_t *thread,
int priority, int priority,
int realtime, /* boolean */ int realtime, /* boolean */
void *(*start_routine)(void*), void *(*start_routine)(void*),
void *arg); void *arg) JACK_OPTIONAL_WEAK_EXPORT;
/** /**
* Drop realtime scheduling for a thread. * Drop realtime scheduling for a thread.
* *
* @param thread POSIX thread ID. * @param thread POSIX thread ID.
* *
* @returns 0, if successful; otherwise an error number. * @returns 0, if successful; otherwise an error number.
*/ */
int jack_drop_real_time_scheduling (pthread_t thread); int jack_drop_real_time_scheduling (pthread_t thread) JACK_OPTIONAL_WEAK_EX PORT;
/** /**
* Stop the thread, waiting for the thread handler to terminate. * Stop the thread, waiting for the thread handler to terminate.
* *
* @param thread POSIX thread ID. * @param thread POSIX thread ID.
* *
* @returns 0, if successful; otherwise an error number. * @returns 0, if successful; otherwise an error number.
*/ */
int jack_client_stop_thread(jack_client_t* client, pthread_t thread); int jack_client_stop_thread(jack_client_t* client, pthread_t thread) JACK_O PTIONAL_WEAK_EXPORT;
/** /**
* Cancel the thread then waits for the thread handler to terminate. * Cancel the thread then waits for the thread handler to terminate.
* *
* @param thread POSIX thread ID. * @param thread POSIX thread ID.
* *
* @returns 0, if successful; otherwise an error number. * @returns 0, if successful; otherwise an error number.
*/ */
int jack_client_kill_thread(jack_client_t* client, pthread_t thread); int jack_client_kill_thread(jack_client_t* client, pthread_t thread) JACK_ OPTIONAL_WEAK_EXPORT;
#ifndef WIN32 #ifndef WIN32
typedef int (*jack_thread_creator_t)(pthread_t*, typedef int (*jack_thread_creator_t)(pthread_t*,
const pthread_attr_t*, const pthread_attr_t*,
void* (*function)(void*), void* (*function)(void*),
void* arg); void* arg);
/** /**
* This function can be used in very very specialized cases * This function can be used in very very specialized cases
* where it is necessary that client threads created by JACK * where it is necessary that client threads created by JACK
skipping to change at line 145 skipping to change at line 146
* The specific case for which it was created involves running * The specific case for which it was created involves running
* win32/x86 plugins under Wine on Linux, where it is necessary * win32/x86 plugins under Wine on Linux, where it is necessary
* that all threads that might call win32 functions are known * that all threads that might call win32 functions are known
* to Wine. * to Wine.
* *
* Set it to NULL to restore thread creation function. * Set it to NULL to restore thread creation function.
* *
* @param creator a function that creates a new thread * @param creator a function that creates a new thread
* *
*/ */
void jack_set_thread_creator (jack_thread_creator_t creator); void jack_set_thread_creator (jack_thread_creator_t creator) JACK_OPTIONAL_ WEAK_EXPORT;
#endif #endif
/* @} */ /* @} */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* __jack_thread_h__ */ #endif /* __jack_thread_h__ */
 End of changes. 9 change blocks. 
8 lines changed or deleted 9 lines changed or added


 transport.h   transport.h 
skipping to change at line 29 skipping to change at line 29
*/ */
#ifndef __jack_transport_h__ #ifndef __jack_transport_h__
#define __jack_transport_h__ #define __jack_transport_h__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <jack/types.h> #include <jack/types.h>
#include <jack/weakmacros.h>
/** /**
* @defgroup TransportControl Transport and Timebase control * @defgroup TransportControl Transport and Timebase control
* @{ * @{
*/ */
/** /**
* Called by the timebase master to release itself from that * Called by the timebase master to release itself from that
* responsibility. * responsibility.
* *
skipping to change at line 51 skipping to change at line 52
* the next process cycle. The transport state does not change. If * the next process cycle. The transport state does not change. If
* rolling, it continues to play, with frame numbers as the only * rolling, it continues to play, with frame numbers as the only
* available position information. * available position information.
* *
* @see jack_set_timebase_callback * @see jack_set_timebase_callback
* *
* @param client the JACK client structure. * @param client the JACK client structure.
* *
* @return 0 on success, otherwise a non-zero error code. * @return 0 on success, otherwise a non-zero error code.
*/ */
int jack_release_timebase (jack_client_t *client); int jack_release_timebase (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPOR T;
/** /**
* Register (or unregister) as a slow-sync client, one that cannot * Register (or unregister) as a slow-sync client, one that cannot
* respond immediately to transport position changes. * respond immediately to transport position changes.
* *
* The @a sync_callback will be invoked at the first available * The @a sync_callback will be invoked at the first available
* opportunity after its registration is complete. If the client is * opportunity after its registration is complete. If the client is
* currently active this will be the following process cycle, * currently active this will be the following process cycle,
* otherwise it will be the first cycle after calling jack_activate(). * otherwise it will be the first cycle after calling jack_activate().
* After that, it runs according to the ::JackSyncCallback rules. * After that, it runs according to the ::JackSyncCallback rules.
skipping to change at line 75 skipping to change at line 76
* @param client the JACK client structure. * @param client the JACK client structure.
* @param sync_callback is a realtime function that returns TRUE when * @param sync_callback is a realtime function that returns TRUE when
* the client is ready. Setting @a sync_callback to NULL declares that * the client is ready. Setting @a sync_callback to NULL declares that
* this client no longer requires slow-sync processing. * this client no longer requires slow-sync processing.
* @param arg an argument for the @a sync_callback function. * @param arg an argument for the @a sync_callback function.
* *
* @return 0 on success, otherwise a non-zero error code. * @return 0 on success, otherwise a non-zero error code.
*/ */
int jack_set_sync_callback (jack_client_t *client, int jack_set_sync_callback (jack_client_t *client,
JackSyncCallback sync_callback, JackSyncCallback sync_callback,
void *arg); void *arg) JACK_OPTIONAL_WEAK_EXPORT;
/** /**
* Set the timeout value for slow-sync clients. * Set the timeout value for slow-sync clients.
* *
* This timeout prevents unresponsive slow-sync clients from * This timeout prevents unresponsive slow-sync clients from
* completely halting the transport mechanism. The default is two * completely halting the transport mechanism. The default is two
* seconds. When the timeout expires, the transport starts rolling, * seconds. When the timeout expires, the transport starts rolling,
* even if some slow-sync clients are still unready. The @a * even if some slow-sync clients are still unready. The @a
* sync_callbacks of these clients continue being invoked, giving them * sync_callbacks of these clients continue being invoked, giving them
* a chance to catch up. * a chance to catch up.
* *
* @see jack_set_sync_callback * @see jack_set_sync_callback
* *
* @param client the JACK client structure. * @param client the JACK client structure.
* @param timeout is delay (in microseconds) before the timeout expires. * @param timeout is delay (in microseconds) before the timeout expires.
* *
* @return 0 on success, otherwise a non-zero error code. * @return 0 on success, otherwise a non-zero error code.
*/ */
int jack_set_sync_timeout (jack_client_t *client, int jack_set_sync_timeout (jack_client_t *client,
jack_time_t timeout); jack_time_t timeout) JACK_OPTIONAL_WEAK_EXPORT;
/** /**
* Register as timebase master for the JACK subsystem. * Register as timebase master for the JACK subsystem.
* *
* The timebase master registers a callback that updates extended * The timebase master registers a callback that updates extended
* position information such as beats or timecode whenever necessary. * position information such as beats or timecode whenever necessary.
* Without this extended information, there is no need for this * Without this extended information, there is no need for this
* function. * function.
* *
* There is never more than one master at a time. When a new client * There is never more than one master at a time. When a new client
skipping to change at line 125 skipping to change at line 126
* *
* @return * @return
* - 0 on success; * - 0 on success;
* - EBUSY if a conditional request fails because there was already a * - EBUSY if a conditional request fails because there was already a
* timebase master; * timebase master;
* - other non-zero error code. * - other non-zero error code.
*/ */
int jack_set_timebase_callback (jack_client_t *client, int jack_set_timebase_callback (jack_client_t *client,
int conditional, int conditional,
JackTimebaseCallback timebase_callback, JackTimebaseCallback timebase_callback,
void *arg); void *arg) JACK_OPTIONAL_WEAK_EXPORT;
/** /**
* Reposition the transport to a new frame number. * Reposition the transport to a new frame number.
* *
* May be called at any time by any client. The new position takes * May be called at any time by any client. The new position takes
* effect in two process cycles. If there are slow-sync clients and * effect in two process cycles. If there are slow-sync clients and
* the transport is already rolling, it will enter the * the transport is already rolling, it will enter the
* ::JackTransportStarting state and begin invoking their @a * ::JackTransportStarting state and begin invoking their @a
* sync_callbacks until ready. This function is realtime-safe. * sync_callbacks until ready. This function is realtime-safe.
* *
* @see jack_transport_reposition, jack_set_sync_callback * @see jack_transport_reposition, jack_set_sync_callback
* *
* @param client the JACK client structure. * @param client the JACK client structure.
* @param frame frame number of new transport position. * @param frame frame number of new transport position.
* *
* @return 0 if valid request, non-zero otherwise. * @return 0 if valid request, non-zero otherwise.
*/ */
int jack_transport_locate (jack_client_t *client, int jack_transport_locate (jack_client_t *client,
jack_nframes_t frame); jack_nframes_t frame) JACK_OPTIONAL_WEAK_EXPORT;
/** /**
* Query the current transport state and position. * Query the current transport state and position.
* *
* This function is realtime-safe, and can be called from any thread. * This function is realtime-safe, and can be called from any thread.
* If called from the process thread, @a pos corresponds to the first * If called from the process thread, @a pos corresponds to the first
* frame of the current cycle and the state returned is valid for the * frame of the current cycle and the state returned is valid for the
* entire cycle. * entire cycle.
* *
* @param client the JACK client structure. * @param client the JACK client structure.
* @param pos pointer to structure for returning current transport * @param pos pointer to structure for returning current transport
* position; @a pos->valid will show which fields contain valid data. * position; @a pos->valid will show which fields contain valid data.
* If @a pos is NULL, do not return position information. * If @a pos is NULL, do not return position information.
* *
* @return Current transport state. * @return Current transport state.
*/ */
jack_transport_state_t jack_transport_query (const jack_client_t *client, jack_transport_state_t jack_transport_query (const jack_client_t *client,
jack_position_t *pos); jack_position_t *pos) JACK_OPTI ONAL_WEAK_EXPORT;
/** /**
* Return an estimate of the current transport frame, * Return an estimate of the current transport frame,
* including any time elapsed since the last transport * including any time elapsed since the last transport
* positional update. * positional update.
* *
* @param client the JACK client structure * @param client the JACK client structure
*/ */
jack_nframes_t jack_get_current_transport_frame (const jack_client_t *clien t); jack_nframes_t jack_get_current_transport_frame (const jack_client_t *clien t) JACK_OPTIONAL_WEAK_EXPORT;
/** /**
* Request a new transport position. * Request a new transport position.
* *
* May be called at any time by any client. The new position takes * May be called at any time by any client. The new position takes
* effect in two process cycles. If there are slow-sync clients and * effect in two process cycles. If there are slow-sync clients and
* the transport is already rolling, it will enter the * the transport is already rolling, it will enter the
* ::JackTransportStarting state and begin invoking their @a * ::JackTransportStarting state and begin invoking their @a
* sync_callbacks until ready. This function is realtime-safe. * sync_callbacks until ready. This function is realtime-safe.
* *
* @see jack_transport_locate, jack_set_sync_callback * @see jack_transport_locate, jack_set_sync_callback
* *
* @param client the JACK client structure. * @param client the JACK client structure.
* @param pos requested new transport position. * @param pos requested new transport position.
* *
* @return 0 if valid request, EINVAL if position structure rejected. * @return 0 if valid request, EINVAL if position structure rejected.
*/ */
int jack_transport_reposition (jack_client_t *client, int jack_transport_reposition (jack_client_t *client,
jack_position_t *pos); jack_position_t *pos) JACK_OPTIONAL_WEAK_EXP ORT;
/** /**
* Start the JACK transport rolling. * Start the JACK transport rolling.
* *
* Any client can make this request at any time. It takes effect no * Any client can make this request at any time. It takes effect no
* sooner than the next process cycle, perhaps later if there are * sooner than the next process cycle, perhaps later if there are
* slow-sync clients. This function is realtime-safe. * slow-sync clients. This function is realtime-safe.
* *
* @see jack_set_sync_callback * @see jack_set_sync_callback
* *
* @param client the JACK client structure. * @param client the JACK client structure.
*/ */
void jack_transport_start (jack_client_t *client); void jack_transport_start (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT ;
/** /**
* Stop the JACK transport. * Stop the JACK transport.
* *
* Any client can make this request at any time. It takes effect on * Any client can make this request at any time. It takes effect on
* the next process cycle. This function is realtime-safe. * the next process cycle. This function is realtime-safe.
* *
* @param client the JACK client structure. * @param client the JACK client structure.
*/ */
void jack_transport_stop (jack_client_t *client); void jack_transport_stop (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
/** /**
* Gets the current transport info structure (deprecated). * Gets the current transport info structure (deprecated).
* *
* @param client the JACK client structure. * @param client the JACK client structure.
* @param tinfo current transport info structure. The "valid" field * @param tinfo current transport info structure. The "valid" field
* describes which fields contain valid data. * describes which fields contain valid data.
* *
* @deprecated This is for compatibility with the earlier transport * @deprecated This is for compatibility with the earlier transport
* interface. Use jack_transport_query(), instead. * interface. Use jack_transport_query(), instead.
* *
* @pre Must be called from the process thread. * @pre Must be called from the process thread.
*/ */
void jack_get_transport_info (jack_client_t *client, void jack_get_transport_info (jack_client_t *client,
jack_transport_info_t *tinfo); jack_transport_info_t *tinfo) JACK_OPTIONAL_WE AK_EXPORT;
/** /**
* Set the transport info structure (deprecated). * Set the transport info structure (deprecated).
* *
* @deprecated This function still exists for compatibility with the * @deprecated This function still exists for compatibility with the
* earlier transport interface, but it does nothing. Instead, define * earlier transport interface, but it does nothing. Instead, define
* a ::JackTimebaseCallback. * a ::JackTimebaseCallback.
*/ */
void jack_set_transport_info (jack_client_t *client, void jack_set_transport_info (jack_client_t *client,
jack_transport_info_t *tinfo); jack_transport_info_t *tinfo) JACK_OPTIONAL_WE AK_EXPORT;
/*@}*/ /*@}*/
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* __jack_transport_h__ */ #endif /* __jack_transport_h__ */
 End of changes. 13 change blocks. 
12 lines changed or deleted 13 lines changed or added


 types.h   types.h 
skipping to change at line 204 skipping to change at line 204
/** /**
* Prototype for the client supplied function that is called * Prototype for the client supplied function that is called
* whenever the port name has been changed. * whenever the port name has been changed.
* *
* @param port the port that has been renamed * @param port the port that has been renamed
* @param new_name the new name * @param new_name the new name
* @param arg pointer to a client supplied structure * @param arg pointer to a client supplied structure
* *
* @return zero on success, non-zero on error * @return zero on success, non-zero on error
*/ */
typedef int (*JackPortRenameCallback)(jack_port_id_t port, const char* new_ name, void *arg); typedef int (*JackPortRenameCallback)(jack_port_id_t port, const char* old_ name, const char* new_name, void *arg);
/** /**
* Prototype for the client supplied function that is called * Prototype for the client supplied function that is called
* whenever jackd starts or stops freewheeling. * whenever jackd starts or stops freewheeling.
* *
* @param starting non-zero if we start starting to freewheel, zero otherwi se * @param starting non-zero if we start starting to freewheel, zero otherwi se
* @param arg pointer to a client supplied structure * @param arg pointer to a client supplied structure
*/ */
typedef void (*JackFreewheelCallback)(int starting, void *arg); typedef void (*JackFreewheelCallback)(int starting, void *arg);
skipping to change at line 297 skipping to change at line 297
* will not be passed on or made * will not be passed on or made
* available at any other port * available at any other port
* *
* for an output port: the data available at the port * for an output port: the data available at the port
* does not originate from any other port * does not originate from any other port
* *
* Audio synthesizers, I/O hardware interface clients, HDR * Audio synthesizers, I/O hardware interface clients, HDR
* systems are examples of clients that would set this flag for * systems are examples of clients that would set this flag for
* their ports. * their ports.
*/ */
JackPortIsTerminal = 0x10 JackPortIsTerminal = 0x10,
/**
* JackPortIsActive means the port has been registered and the
* client is "active", that is jack_activate has been called
*
* JackPortIsActive is on between jack_activate and jack_deactivate.
*/
JackPortIsActive = 0x20
}; };
/** /**
* @ref jack_options_t bits * @ref jack_options_t bits
*/ */
enum JackOptions { enum JackOptions {
/** /**
* Null value to use when no option bits are needed. * Null value to use when no option bits are needed.
*/ */
 End of changes. 2 change blocks. 
2 lines changed or deleted 10 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/