fixed CFLAG passing, renamed enable flags to standards.
[jackctlmmc.git] / common.h
blob4f7d58df29ae734c7aa7892281487578346469af
1 /*
2 * Control JACK transport using MMC (MIDI)
4 * Copyright (c) 2006,2007,2008 Nedko Arnaudov <nedko@arnaudov.name>
5 * Copyright (c) 2008 Alex Montgomery <apmontgomery@gmail.com>
7 * This program is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License as published by the Free Software
9 * Foundation; version 2 of the License.
11 * This program is distributed in the hope that it will be useful, but WITHOUT ANY
12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #ifndef COMMON_H
21 #define COMMON_H
23 #include <jack/jack.h>
24 #include <alsa/asoundlib.h>
25 #include "config.h"
27 typedef struct
29 uint32_t frameRate;
30 uint32_t jitterTolerance;
31 int verbose;
32 uint8_t deviceID;
33 } MidiSettings;
35 // globals
36 extern int g_quit;
38 // functions implemented differently by cli and qt frontends
39 extern void printMMCMessage(const char* message, ...);
41 // common functions
42 int init_alsa_sequencer(const char* appName);
43 int init_jack(const char* appName);
44 int activate_jack();
45 uint8_t* get_midi_input ();
46 void cleanup_globals();
47 void handle_midi(uint8_t* midiBuff, MidiSettings* settings);
49 #if LASH_SUPPORT
50 #include <lash/lash.h>
51 extern lash_client_t* g_lashc;
52 void init_lash(int argc, char* argv[]);
53 void process_lash_event(lash_event_t * event_ptr);
54 void process_lash_config(lash_config_t * config_ptr);
55 #endif // LASH_SUPPORT
57 #if JACK_MIDI_SUPPORT
58 #include <jack/midiport.h>
59 int init_jack_midi(MidiSettings* settings); //< returns true when successful
60 #endif // JACK_MIDI_SUPPORT
62 #endif // COMMON_H