types.h

00001 /*
00002   Copyright (C) 2001 Paul Davis
00003   Copyright (C) 2004 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   $Id: types.h,v 1.4.2.8 2006/06/20 14:44:00 letz Exp $
00020 */
00021 
00022 #ifndef __jack_types_h__
00023 #define __jack_types_h__
00024 
00025 #ifdef WIN32
00026         #include <windows.h>
00027 typedef char int8_t;
00028 typedef unsigned char uint8_t;
00029 typedef short int16_t;
00030 typedef unsigned short uint16_t;
00031 typedef long int32_t;
00032 typedef unsigned long uint32_t;
00033 typedef LONGLONG int64_t;
00034 typedef ULONGLONG uint64_t;
00035 #else
00036         #include <inttypes.h>
00037 #endif
00038 
00039 typedef int32_t jack_shmsize_t;
00040 
00044 typedef uint32_t        jack_nframes_t;
00045 
00049 #define JACK_MAX_FRAMES (4294967295U)   /* This should be UINT32_MAX, but C++ has a problem with that. */
00050 
00056 #ifdef WIN32
00057 typedef int64_t jack_time_t;
00058 //typedef double jack_time_t;
00059 //typedef uint64_t jack_time_t;
00060 
00061 #else
00062 typedef uint64_t jack_time_t;
00063 #endif
00064 
00069 #define JACK_LOAD_INIT_LIMIT 1024
00070 
00076 typedef uint64_t jack_intclient_t;
00077 
00082 typedef struct _jack_port jack_port_t;
00083 
00088 typedef struct _jack_client jack_client_t;
00089 
00094 #if defined(__x86_64__)
00095 typedef uint64_t jack_port_id_t;
00096 #else
00097 typedef uint32_t jack_port_id_t;
00098 #endif
00099 
00112 typedef int (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00113 
00126 typedef void (*JackThreadInitCallback)(void *arg);
00127 
00136 typedef int (*JackGraphOrderCallback)(void *arg);
00137 
00148 typedef int (*JackXRunCallback)(void *arg);
00149 
00164 typedef int (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00165 
00175 typedef int (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00176 
00183 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int, void *arg);
00184 
00192 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00193 
00198 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00199 
00205 typedef float jack_default_audio_sample_t;
00206 
00213 enum JackPortFlags {
00214 
00219     JackPortIsInput = 0x1,
00220 
00225     JackPortIsOutput = 0x2,
00226 
00231     JackPortIsPhysical = 0x4,
00232 
00246     JackPortCanMonitor = 0x8,
00247 
00262     JackPortIsTerminal = 0x10
00263 };
00264 
00268 enum JackOptions {
00269 
00273     JackNullOption = 0x00,
00274 
00281     JackNoStartServer = 0x01,
00282 
00287     JackUseExactName = 0x02,
00288 
00292     JackServerName = 0x04,
00293 
00298     JackLoadName = 0x08,
00299 
00304     JackLoadInit = 0x10
00305 };
00306 
00308 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
00309 
00311 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
00312 
00317 typedef enum JackOptions jack_options_t;
00318 
00322 enum JackStatus {
00323 
00327     JackFailure = 0x01,
00328 
00332     JackInvalidOption = 0x02,
00333 
00343     JackNameNotUnique = 0x04,
00344 
00351     JackServerStarted = 0x08,
00352 
00356     JackServerFailed = 0x10,
00357 
00361     JackServerError = 0x20,
00362 
00366     JackNoSuchClient = 0x40,
00367 
00371     JackLoadFailure = 0x80,
00372 
00376     JackInitFailure = 0x100,
00377 
00381     JackShmFailure = 0x200,
00382 
00386     JackVersionError = 0x400
00387 };
00388 
00393 typedef enum JackStatus jack_status_t;
00394 
00395 #endif /* __jack_types_h__ */

Generated on Wed Jan 10 11:42:47 2007 for Jackdmp by  doxygen 1.4.5