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     $Id: types.h 945 2006-05-04 15:14:45Z pbd $
00020 */
00021 
00022 #ifndef __jack_types_h__
00023 #define __jack_types_h__
00024 
00025 #include <inttypes.h>
00026 
00027 typedef int32_t jack_shmsize_t;
00028 
00032 typedef uint32_t             jack_nframes_t;
00033 
00037 #define JACK_MAX_FRAMES (4294967295U)   /* This should be UINT32_MAX, but
00038                                            C++ has a problem with that. */
00039 
00044 typedef uint64_t jack_time_t;
00045 
00050 #define JACK_LOAD_INIT_LIMIT 1024
00051 
00057 typedef uint64_t jack_intclient_t;
00058 
00063 typedef struct _jack_port    jack_port_t;
00064 
00069 typedef struct _jack_client  jack_client_t;
00070 
00075 typedef uint32_t             jack_port_id_t;
00076 
00089 typedef int  (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00090 
00103 typedef void  (*JackThreadInitCallback)(void *arg);
00104 
00113 typedef int  (*JackGraphOrderCallback)(void *arg);
00114 
00125 typedef int  (*JackXRunCallback)(void *arg);
00126 
00141 typedef int  (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00142 
00152 typedef int  (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00153 
00160 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int, void *arg);
00161 
00169 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00170 
00175 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00176 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"
00177 
00183 typedef float jack_default_audio_sample_t;
00184 
00191 enum JackPortFlags {
00192 
00197      JackPortIsInput = 0x1,
00198 
00203      JackPortIsOutput = 0x2,
00204 
00209      JackPortIsPhysical = 0x4, 
00210 
00224      JackPortCanMonitor = 0x8,
00225 
00240      JackPortIsTerminal = 0x10
00241 };          
00242 
00246 enum JackOptions {
00247 
00251      JackNullOption = 0x00,
00252 
00259      JackNoStartServer = 0x01,
00260 
00265      JackUseExactName = 0x02,
00266 
00270      JackServerName = 0x04,
00271 
00276      JackLoadName = 0x08,
00277 
00282      JackLoadInit = 0x10
00283 };
00284 
00286 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
00287 
00289 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
00290 
00295 typedef enum JackOptions jack_options_t;
00296 
00300 enum JackStatus {
00301 
00305      JackFailure = 0x01,
00306 
00310      JackInvalidOption = 0x02,
00311 
00321      JackNameNotUnique = 0x04,
00322 
00329      JackServerStarted = 0x08,
00330 
00334      JackServerFailed = 0x10,
00335 
00339      JackServerError = 0x20,
00340 
00344      JackNoSuchClient = 0x40,
00345 
00349      JackLoadFailure = 0x80,
00350 
00354      JackInitFailure = 0x100,
00355 
00359      JackShmFailure = 0x200,
00360 
00364      JackVersionError = 0x400
00365 };
00366 
00371 typedef enum JackStatus jack_status_t;
00372 
00373 #endif /* __jack_types_h__ */

Generated on Sun Sep 23 09:46:50 2007 for JACK-AUDIO-CONNECTION-KIT by  doxygen 1.4.7