types.h

Go to the documentation of this file.
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 */
00020 
00021 #ifndef __jack_types_h__
00022 #define __jack_types_h__
00023 
00024 #include <inttypes.h>
00025 
00026 typedef int32_t jack_shmsize_t;
00027 
00031 typedef uint32_t             jack_nframes_t;
00032 
00036 #define JACK_MAX_FRAMES (4294967295U)   /* This should be UINT32_MAX, but
00037                                            C++ has a problem with that. */
00038 
00043 typedef uint64_t jack_time_t;
00044 
00049 #define JACK_LOAD_INIT_LIMIT 1024
00050 
00056 typedef uint64_t jack_intclient_t;
00057 
00062 typedef struct _jack_port    jack_port_t;
00063 
00068 typedef struct _jack_client  jack_client_t;
00069 
00074 typedef uint32_t             jack_port_id_t;
00075 
00088 typedef int  (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00089 
00102 typedef void  (*JackThreadInitCallback)(void *arg);
00103 
00112 typedef int  (*JackGraphOrderCallback)(void *arg);
00113 
00124 typedef int  (*JackXRunCallback)(void *arg);
00125 
00140 typedef int  (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00141 
00151 typedef int  (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00152 
00162 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int register, void *arg);
00163 
00173 typedef void (*JackClientRegistrationCallback)(const char* name, int register, void *arg);
00174 
00185 typedef void (*JackPortConnectCallback)(jack_port_id_t a, jack_port_id_t b, int connect, void* arg);
00186 
00194 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00195 
00200 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00201 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"
00202 
00208 typedef float jack_default_audio_sample_t;
00209 
00216 enum JackPortFlags {
00217 
00222      JackPortIsInput = 0x1,
00223 
00228      JackPortIsOutput = 0x2,
00229 
00234      JackPortIsPhysical = 0x4, 
00235 
00249      JackPortCanMonitor = 0x8,
00250 
00265      JackPortIsTerminal = 0x10
00266 };          
00267 
00271 enum JackOptions {
00272 
00276      JackNullOption = 0x00,
00277 
00284      JackNoStartServer = 0x01,
00285 
00290      JackUseExactName = 0x02,
00291 
00295      JackServerName = 0x04,
00296 
00301      JackLoadName = 0x08,
00302 
00307      JackLoadInit = 0x10
00308 };
00309 
00311 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
00312 
00314 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
00315 
00320 typedef enum JackOptions jack_options_t;
00321 
00325 enum JackStatus {
00326 
00330      JackFailure = 0x01,
00331 
00335      JackInvalidOption = 0x02,
00336 
00346      JackNameNotUnique = 0x04,
00347 
00354      JackServerStarted = 0x08,
00355 
00359      JackServerFailed = 0x10,
00360 
00364      JackServerError = 0x20,
00365 
00369      JackNoSuchClient = 0x40,
00370 
00374      JackLoadFailure = 0x80,
00375 
00379      JackInitFailure = 0x100,
00380 
00384      JackShmFailure = 0x200,
00385 
00389      JackVersionError = 0x400
00390 };
00391 
00396 typedef enum JackStatus jack_status_t;
00397 
00398 #endif /* __jack_types_h__ */

Generated on Thu Feb 14 05:40:23 2008 for JACK-AUDIO-CONNECTION-KIT by  doxygen 1.5.4