Browse Source

[0.76.4] jack_transport_locate(); sync patches

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@449 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.109.0
joq 22 years ago
parent
commit
1a13c9f556
7 changed files with 13 additions and 14 deletions
  1. +1
    -1
      configure.in
  2. +2
    -2
      doc/transport.dox
  3. +1
    -1
      example-clients/transport.c
  4. +4
    -4
      jack/transport.h
  5. +1
    -0
      jackd/engine.c
  6. +2
    -4
      jackd/transengine.c
  7. +2
    -2
      libjack/transclient.c

+ 1
- 1
configure.in View File

@@ -14,7 +14,7 @@ dnl changes are made
dnl ---
JACK_MAJOR_VERSION=0
JACK_MINOR_VERSION=76
JACK_MICRO_VERSION=3
JACK_MICRO_VERSION=4


dnl ---


+ 2
- 2
doc/transport.dox View File

@@ -158,8 +158,8 @@ an opportunity to catch up.
@code
int jack_transport_reposition (jack_client_t *client,
jack_position_t *pos);
int jack_transport_goto_frame (jack_client_t *client,
jack_nframes_t frame);
int jack_transport_locate (jack_client_t *client,
jack_nframes_t frame);
@endcode

These request a new transport position. They can be called at any


+ 1
- 1
example-clients/transport.c View File

@@ -131,7 +131,7 @@ void com_locate(char *arg)
if (*arg != '\0')
frame = atoi(arg);

jack_transport_goto_frame(client, frame);
jack_transport_locate(client, frame);
}

void com_master(char *arg)


+ 4
- 4
jack/transport.h View File

@@ -191,7 +191,7 @@ int jack_set_sync_timeout (jack_client_t *client,
*
* The timebase master should not use its @a pos argument to set a
* discontinuous position. Use jack_transport_reposition() or
* jack_transport_goto_frame(), instead.
* jack_transport_locate(), instead.
*
* @param state current transport state.
* @param nframes number of frames in current period.
@@ -254,8 +254,8 @@ int jack_set_timebase_callback (jack_client_t *client,
*
* @return 0 if valid request, otherwise a non-zero error code.
*/
int jack_transport_goto_frame (jack_client_t *client,
jack_nframes_t frame);
int jack_transport_locate (jack_client_t *client,
jack_nframes_t frame);

/**
* Query the current transport state and position.
@@ -283,7 +283,7 @@ jack_transport_state_t jack_transport_query (jack_client_t *client,
* rolling, it enters the ::JackTransportStarting state and begins
* invoking their sync_callbacks until they declare themselves ready.
*
* @see jack_transport_goto_frame, jack_set_sync_callback
* @see jack_transport_locate, jack_set_sync_callback
*
* @param client the JACK client structure.
* @param pos requested new transport position.


+ 1
- 0
jackd/engine.c View File

@@ -693,6 +693,7 @@ jack_remove_clients (jack_engine_t* engine)
static void
jack_engine_post_process (jack_engine_t *engine)
{
/* precondition: caller holds the graph lock. */
jack_client_control_t *ctl;
jack_client_internal_t *client;
JSList *node;


+ 2
- 4
jackd/transengine.c View File

@@ -137,12 +137,11 @@ jack_timebase_set (jack_engine_t *engine,
void
jack_start_sync_poll(jack_engine_t *engine)
{
/* precondition: caller holds the graph lock. */
jack_control_t *ectl = engine->control;
JSList *node;
long sync_count = 0; /* number of slow-sync clients */

jack_lock_graph (engine);

for (node = engine->clients; node; node = jack_slist_next (node)) {
jack_client_internal_t *clintl =
(jack_client_internal_t *) node->data;
@@ -154,8 +153,6 @@ jack_start_sync_poll(jack_engine_t *engine)

ectl->sync_remain = ectl->sync_clients = sync_count;
ectl->sync_cycle = 0;

jack_unlock_graph (engine);
}

/* when timebase master exits the graph */
@@ -194,6 +191,7 @@ jack_timebase_init (jack_engine_t *engine)
void
jack_transport_cycle_end (jack_engine_t *engine)
{
/* precondition: caller holds the graph lock. */
jack_control_t *ectl = engine->control;
transport_command_t cmd; /* latest transport command */



+ 2
- 2
libjack/transclient.c View File

@@ -107,7 +107,7 @@ jack_call_sync_client (jack_client_t *client)
control->sync_arg)) {

control->sync_ready = 1;
eng->sync_cycle--;
eng->sync_cycle++;
}
}
}
@@ -268,7 +268,7 @@ jack_set_timebase_callback (jack_client_t *client, int conditional,
}

int
jack_transport_goto_frame (jack_client_t *client, jack_nframes_t frame)
jack_transport_locate (jack_client_t *client, jack_nframes_t frame)
{
jack_position_t pos;



Loading…
Cancel
Save