Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __jack_types_h__
00022 #define __jack_types_h__
00023
00024 #include <inttypes.h>
00025 #ifndef PRIu32
00026 #define PRIi32 "i"
00027 #define PRIu32 "u"
00028 #define PRIu64 "llu"
00029 #define SCNu64 "llu"
00030 #define PRId32 "d"
00031 #define PRIx64 "llx"
00032 #endif
00033
00034 typedef int32_t jack_shmsize_t;
00035
00039 typedef uint32_t jack_nframes_t;
00040
00044 #define JACK_MAX_FRAMES (4294967295U)
00045
00046
00051 typedef uint64_t jack_time_t;
00052
00057 #define JACK_LOAD_INIT_LIMIT 1024
00058
00064 typedef uint64_t jack_intclient_t;
00065
00070 typedef struct _jack_port jack_port_t;
00071
00076 typedef struct _jack_client jack_client_t;
00077
00082 typedef uint32_t jack_port_id_t;
00083
00084
00088 enum JackOptions {
00089
00093 JackNullOption = 0x00,
00094
00101 JackNoStartServer = 0x01,
00102
00107 JackUseExactName = 0x02,
00108
00112 JackServerName = 0x04,
00113
00118 JackLoadName = 0x08,
00119
00124 JackLoadInit = 0x10
00125 };
00126
00128 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
00129
00131 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
00132
00137 typedef enum JackOptions jack_options_t;
00138
00142 enum JackStatus {
00143
00147 JackFailure = 0x01,
00148
00152 JackInvalidOption = 0x02,
00153
00163 JackNameNotUnique = 0x04,
00164
00171 JackServerStarted = 0x08,
00172
00176 JackServerFailed = 0x10,
00177
00181 JackServerError = 0x20,
00182
00186 JackNoSuchClient = 0x40,
00187
00191 JackLoadFailure = 0x80,
00192
00196 JackInitFailure = 0x100,
00197
00201 JackShmFailure = 0x200,
00202
00206 JackVersionError = 0x400,
00207
00208
00209
00210
00211 JackBackendError = 0x800,
00212
00213
00214
00215
00216 JackClientZombie = 0x1000
00217 };
00218
00223 typedef enum JackStatus jack_status_t;
00224
00237 typedef int (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00238
00251 typedef void (*JackThreadInitCallback)(void *arg);
00252
00261 typedef int (*JackGraphOrderCallback)(void *arg);
00262
00273 typedef int (*JackXRunCallback)(void *arg);
00274
00289 typedef int (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00290
00300 typedef int (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00301
00311 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int register, void *arg);
00312
00322 typedef void (*JackClientRegistrationCallback)(const char* name, int register, void *arg);
00323
00334 typedef void (*JackPortConnectCallback)(jack_port_id_t a, jack_port_id_t b, int connect, void* arg);
00335
00343 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00344
00345 typedef void *(*JackThreadCallback)(void* arg);
00346
00358 typedef void (*JackShutdownCallback)(void *arg);
00359
00373 typedef void (*JackInfoShutdownCallback)(jack_status_t code, const char* reason, void *arg);
00374
00379 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00380 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"
00381
00387 typedef float jack_default_audio_sample_t;
00388
00395 enum JackPortFlags {
00396
00401 JackPortIsInput = 0x1,
00402
00407 JackPortIsOutput = 0x2,
00408
00413 JackPortIsPhysical = 0x4,
00414
00428 JackPortCanMonitor = 0x8,
00429
00444 JackPortIsTerminal = 0x10
00445 };
00446
00447
00448 #endif
00449