Jack2 1.9.6

transport.h

00001 /*
00002     Copyright (C) 2002 Paul Davis
00003     Copyright (C) 2003 Jack O'Quin
00004     
00005     This program is free software; you can redistribute it and/or modify
00006     it under the terms of the GNU Lesser General Public License as published by
00007     the Free Software Foundation; either version 2.1 of the License, or
00008     (at your option) any later version.
00009     
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU Lesser General Public License for more details.
00014     
00015     You should have received a copy of the GNU Lesser General Public License
00016     along with this program; if not, write to the Free Software 
00017     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018 
00019 */
00020 
00021 #ifndef __jack_transport_h__
00022 #define __jack_transport_h__
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028 #include <jack/types.h>
00029 #include <jack/weakmacros.h>
00030 
00052 int  jack_release_timebase (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00053 
00074 int  jack_set_sync_callback (jack_client_t *client,
00075                              JackSyncCallback sync_callback,
00076                              void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00077 
00095 int  jack_set_sync_timeout (jack_client_t *client,
00096                             jack_time_t timeout) JACK_OPTIONAL_WEAK_EXPORT;
00097 
00123 int  jack_set_timebase_callback (jack_client_t *client,
00124                                  int conditional,
00125                                  JackTimebaseCallback timebase_callback,
00126                                  void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00127 
00144 int  jack_transport_locate (jack_client_t *client,
00145                             jack_nframes_t frame) JACK_OPTIONAL_WEAK_EXPORT;
00146 
00162 jack_transport_state_t jack_transport_query (const jack_client_t *client,
00163                                              jack_position_t *pos) JACK_OPTIONAL_WEAK_EXPORT;
00164 
00172 jack_nframes_t jack_get_current_transport_frame (const jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00173                                                  
00190 int  jack_transport_reposition (jack_client_t *client,
00191                                 jack_position_t *pos) JACK_OPTIONAL_WEAK_EXPORT;
00192 
00204 void jack_transport_start (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00205 
00214 void jack_transport_stop (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00215 
00228 void jack_get_transport_info (jack_client_t *client,
00229                               jack_transport_info_t *tinfo) JACK_OPTIONAL_WEAK_EXPORT;
00230 
00238 void jack_set_transport_info (jack_client_t *client,
00239                               jack_transport_info_t *tinfo) JACK_OPTIONAL_WEAK_EXPORT;
00240 
00243 #ifdef __cplusplus
00244 }
00245 #endif
00246 
00247 #endif /* __jack_transport_h__ */