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 #ifndef PRIu32
00027 #define        PRIi32          "i"     /* int32_t */
00028 #define        PRIu32          "u"     /* uint32_t */
00029 #define        PRIu64          "llu"    /* uint64_t */
00030 #define        SCNu64          "llu"    /* uint64_t */
00031 #define        PRId32          "d"     /* int32_t */
00032 #define        PRIx64          "llx"    /* uint64_t */
00033 #endif
00034 
00035 typedef int32_t jack_shmsize_t;
00036 
00040 typedef uint32_t             jack_nframes_t;
00041 
00045 #define JACK_MAX_FRAMES (4294967295U)   /* This should be UINT32_MAX, but
00046                                            C++ has a problem with that. */
00047 
00052 typedef uint64_t jack_time_t;
00053 
00058 #define JACK_LOAD_INIT_LIMIT 1024
00059 
00065 typedef uint64_t jack_intclient_t;
00066 
00071 typedef struct _jack_port    jack_port_t;
00072 
00077 typedef struct _jack_client  jack_client_t;
00078 
00083 typedef uint32_t             jack_port_id_t;
00084 
00097 typedef int  (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00098 
00111 typedef void  (*JackThreadInitCallback)(void *arg);
00112 
00121 typedef int  (*JackGraphOrderCallback)(void *arg);
00122 
00133 typedef int  (*JackXRunCallback)(void *arg);
00134 
00149 typedef int  (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00150 
00160 typedef int  (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00161 
00168 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int, void *arg);
00169 
00177 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00178 
00183 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00184 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"
00185 
00191 typedef float jack_default_audio_sample_t;
00192 
00199 enum JackPortFlags {
00200 
00205      JackPortIsInput = 0x1,
00206 
00211      JackPortIsOutput = 0x2,
00212 
00217      JackPortIsPhysical = 0x4, 
00218 
00232      JackPortCanMonitor = 0x8,
00233 
00248      JackPortIsTerminal = 0x10
00249 };          
00250 
00254 enum JackOptions {
00255 
00259      JackNullOption = 0x00,
00260 
00267      JackNoStartServer = 0x01,
00268 
00273      JackUseExactName = 0x02,
00274 
00278      JackServerName = 0x04,
00279 
00284      JackLoadName = 0x08,
00285 
00290      JackLoadInit = 0x10
00291 };
00292 
00294 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
00295 
00297 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
00298 
00303 typedef enum JackOptions jack_options_t;
00304 
00308 enum JackStatus {
00309 
00313      JackFailure = 0x01,
00314 
00318      JackInvalidOption = 0x02,
00319 
00329      JackNameNotUnique = 0x04,
00330 
00337      JackServerStarted = 0x08,
00338 
00342      JackServerFailed = 0x10,
00343 
00347      JackServerError = 0x20,
00348 
00352      JackNoSuchClient = 0x40,
00353 
00357      JackLoadFailure = 0x80,
00358 
00362      JackInitFailure = 0x100,
00363 
00367      JackShmFailure = 0x200,
00368 
00372      JackVersionError = 0x400
00373 };
00374 
00379 typedef enum JackStatus jack_status_t;
00380 
00381 #endif /* __jack_types_h__ */

Generated on Thu Feb 14 07:25:40 2008 for JACK-AUDIO-CONNECTION-KIT by  doxygen 1.5.2