types.h

Go to the documentation of this file.
00001 /*
00002     Copyright (C) 2001 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: types.h,v 1.19 2003/08/28 20:19:39 joq Exp $
00019 */
00020 
00021 #ifndef __jack_types_h__
00022 #define __jack_types_h__
00023 
00024 #include <inttypes.h>
00025 
00026 typedef char shm_name_t[32];
00027 
00031 typedef uint32_t             jack_nframes_t;
00032 
00036 #define JACK_MAX_FRAMES (4294967295U)   /* This should be UINT32_MAX, but
00037                                            C++ has a problem with that. */
00038 
00044 /* JOQ: this is trouble.  APPLE POWERPC should use a compatible
00045  * typedef, explicitly converting from double, if necessary.
00046  * Otherwise applications cannot safely print a jack_time_t. */
00047 #if defined(__APPLE__) && defined(__POWERPC__) 
00048 typedef double jack_time_t;
00049 #else
00050 typedef uint64_t jack_time_t;
00051 #endif
00052 
00057 typedef struct _jack_port    jack_port_t;
00058 
00063 typedef struct _jack_client  jack_client_t;
00064 
00069 typedef uint32_t             jack_port_id_t;
00070 
00083 typedef int  (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00084 
00093 typedef int  (*JackGraphOrderCallback)(void *arg);
00094 
00103 typedef int  (*JackXRunCallback)(void *arg);
00104 
00116 typedef int  (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00117 
00127 typedef int  (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00128 
00135 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int, void *arg);
00136 
00140 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00141 
00147 typedef float jack_default_audio_sample_t;
00148 
00155 enum JackPortFlags {
00156 
00161      JackPortIsInput = 0x1,
00162 
00167      JackPortIsOutput = 0x2,
00168 
00173      JackPortIsPhysical = 0x4, 
00174 
00188      JackPortCanMonitor = 0x8,
00189 
00204      JackPortIsTerminal = 0x10
00205 };          
00206 
00207 #endif /* __jack_types_h__ */

Generated on Mon Sep 22 20:37:41 2003 for JACK-AUDIO-CONNECTION-KIT by doxygen 1.3.2