00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
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)
00050
00056 #ifdef WIN32
00057 typedef int64_t jack_time_t;
00058
00059
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