00001 /* 00002 Copyright (C) 2002 Paul Davis 00003 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU Lesser General Public License as published by 00006 the Free Software Foundation; either version 2.1 of the License, or 00007 (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU Lesser General Public License for more details. 00013 00014 You should have received a copy of the GNU Lesser General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 00018 $Id: transport.h,v 1.2 2002/05/12 17:23:03 wingo Exp $ 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 00030 typedef enum { 00031 00032 JackTransportStopped, 00033 JackTransportRolling, 00034 JackTransportLooping 00035 00036 } jack_transport_state_t; 00037 00038 typedef enum { 00039 00040 JackTransportState = 0x1, 00041 JackTransportPosition = 0x2, 00042 JackTransportLoop = 0x4 00043 00044 } jack_transport_bits_t; 00045 00046 typedef struct { 00047 00048 jack_transport_bits_t valid; 00049 jack_transport_state_t state; 00050 jack_nframes_t position; 00051 jack_nframes_t loop_start; 00052 jack_nframes_t loop_end; 00053 00054 } jack_transport_info_t; 00055 00056 int jack_set_transport_info (jack_client_t *client, 00057 jack_transport_info_t *); 00058 int jack_get_transport_info (jack_client_t *client, 00059 jack_transport_info_t *); 00060 00061 #ifdef __cplusplus 00062 } 00063 #endif 00064 00065 #endif /* __jack_transport_h__ */