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.22 2003/12/01 19:45:14 pbd 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 typedef int32_t jack_shmsize_t;
00028 
00032 typedef uint32_t             jack_nframes_t;
00033 
00037 #define JACK_MAX_FRAMES (4294967295U)   /* This should be UINT32_MAX, but
00038                                            C++ has a problem with that. */
00039 
00045 /* JOQ: this is trouble.  APPLE POWERPC should use a compatible
00046  * typedef, explicitly converting from double, if necessary.
00047  * Otherwise applications cannot safely print a jack_time_t. */
00048 #if defined(__APPLE__) && defined(__POWERPC__) 
00049 typedef double jack_time_t;
00050 #else
00051 typedef uint64_t jack_time_t;
00052 #endif
00053 
00058 typedef struct _jack_port    jack_port_t;
00059 
00064 typedef struct _jack_client  jack_client_t;
00065 
00070 typedef uint32_t             jack_port_id_t;
00071 
00084 typedef int  (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00085 
00094 typedef int  (*JackGraphOrderCallback)(void *arg);
00095 
00104 typedef int  (*JackXRunCallback)(void *arg);
00105 
00120 typedef int  (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00121 
00131 typedef int  (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00132 
00139 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int, void *arg);
00140 
00148 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00149 
00154 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00155 
00161 typedef float jack_default_audio_sample_t;
00162 
00169 enum JackPortFlags {
00170 
00175      JackPortIsInput = 0x1,
00176 
00181      JackPortIsOutput = 0x2,
00182 
00187      JackPortIsPhysical = 0x4, 
00188 
00202      JackPortCanMonitor = 0x8,
00203 
00218      JackPortIsTerminal = 0x10
00219 };          
00220 
00221 #endif /* __jack_types_h__ */

Generated on Sun Jan 11 14:10:29 2004 for JACK-AUDIO-CONNECTION-KIT by doxygen 1.3.4