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.25 2004/04/07 02:32:27 pbd Exp $
00019 */
00020 
00021 #ifndef __jack_types_h__
00022 #define __jack_types_h__
00023 
00024 #include <inttypes.h>
00025 #ifndef PRIu32
00026 #define        PRIi32          "i"     /* int32_t */
00027 #define        PRIu32          "u"     /* uint32_t */
00028 #define        PRIu64          "llu"    /* uint64_t */
00029 #define        SCNu64          "llu"    /* uint64_t */
00030 #define        PRId32          "d"     /* int32_t */
00031 #define        PRIx64          "llx"    /* uint64_t */
00032 #endif
00033 
00034 typedef char    shm_name_t[32];
00035 typedef int32_t jack_shmsize_t;
00036 
00040 typedef uint32_t             jack_nframes_t;
00041 
00045 #define JACK_MAX_FRAMES (4294967295U)   /* This should be UINT32_MAX, but
00046                                            C++ has a problem with that. */
00047 
00052 typedef uint64_t jack_time_t;
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 
00098 typedef void  (*JackThreadInitCallback)(void *arg);
00099 
00108 typedef int  (*JackGraphOrderCallback)(void *arg);
00109 
00118 typedef int  (*JackXRunCallback)(void *arg);
00119 
00134 typedef int  (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00135 
00145 typedef int  (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00146 
00153 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int, void *arg);
00154 
00162 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00163 
00168 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00169 
00175 typedef float jack_default_audio_sample_t;
00176 
00183 enum JackPortFlags {
00184 
00189      JackPortIsInput = 0x1,
00190 
00195      JackPortIsOutput = 0x2,
00196 
00201      JackPortIsPhysical = 0x4, 
00202 
00216      JackPortCanMonitor = 0x8,
00217 
00232      JackPortIsTerminal = 0x10
00233 };          
00234 
00235 #endif /* __jack_types_h__ */

Generated on Sun Apr 3 04:57:46 2005 for JACK-AUDIO-CONNECTION-KIT by  doxygen 1.4.1