Register (or unregister) as a slow-sync client, one that cannot
respond immediately to transport position changes.
The @a sync_callback will be invoked at the first available
opportunity after its registration is complete. If the client is
currently active this will be the following process cycle,
otherwise it will be the first cycle after calling jack_activate().
After that, it runs according to the ::JackSyncCallback rules.
Clients that don't set a @a sync_callback are assumed to be ready
immediately any time the transport wants to start.
@param client the JACK client structure.
@param sync_callback is a realtime function that returns TRUE when
the client is ready. Setting @a sync_callback to NULL declares that
this client no longer requires slow-sync processing.
@param arg an argument for the @a sync_callback function.
@return 0 on success, otherwise a non-zero error code.
Register (or unregister) as a slow-sync client, one that cannot respond immediately to transport position changes.
The @a sync_callback will be invoked at the first available opportunity after its registration is complete. If the client is currently active this will be the following process cycle, otherwise it will be the first cycle after calling jack_activate(). After that, it runs according to the ::JackSyncCallback rules. Clients that don't set a @a sync_callback are assumed to be ready immediately any time the transport wants to start.
@param client the JACK client structure. @param sync_callback is a realtime function that returns TRUE when the client is ready. Setting @a sync_callback to NULL declares that this client no longer requires slow-sync processing. @param arg an argument for the @a sync_callback function.
@return 0 on success, otherwise a non-zero error code.