1 /* 2 * Copyright (C) 2009, 2010 Hermann Meyer, James Warden, Andreas Degert 3 * Copyright (C) 2011 Pete Shorthose 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 * -------------------------------------------------------------------------- 19 */ 20 21 #pragma once 22 23 #ifndef SRC_HEADERS_ENGINE_H_ 24 #define SRC_HEADERS_ENGINE_H_ 25 26 /* system header files */ 27 #include <semaphore.h> 28 #include <cmath> 29 #include <ctime> 30 #include <sstream> 31 #include <fstream> 32 #include <iostream> 33 #include <string> 34 #include <list> 35 #include <set> 36 #include <vector> 37 #include <map> 38 #include <algorithm> 39 #include <sys/stat.h> 40 #include <boost/format.hpp> 41 #include <boost/noncopyable.hpp> 42 #include <boost/thread/mutex.hpp> 43 #include <glibmm/i18n.h> // NOLINT 44 #include <glibmm/optioncontext.h> // NOLINT 45 #include <glibmm/dispatcher.h> 46 #include <glibmm/miscutils.h> 47 #include <giomm/file.h> 48 49 /* LV2 header files */ 50 #include <lilv/lilv.h> 51 #include "lv2/lv2plug.in/ns/ext/presets/presets.h" 52 #include "lv2/lv2plug.in/ns/ext/state/state.h" 53 #include "lv2/lv2plug.in/ns/ext/urid/urid.h" 54 #include <lv2/lv2plug.in/ns/ext/atom/atom.h> 55 #include <lv2/lv2plug.in/ns/ext/buf-size/buf-size.h> 56 #include <lv2/lv2plug.in/ns/ext/options/options.h> 57 #include <lv2/lv2plug.in/ns/ext/uri-map/uri-map.h> 58 #include <lv2/lv2plug.in/ns/ext/port-props/port-props.h> 59 60 /* waf generated defines */ 61 #include "../config.h" 62 63 // define USE_MIDI_OUT to create a midi output port and 64 // make the MidiAudioBuffer plugin activatable 65 // for the UI: 66 // - menudef.xml: make action MidiOut visible (its commented out) 67 // - ports.glade: set scrolledwindow5 and label12 to visible 68 // 69 //#define USE_MIDI_OUT 70 71 // use MIDI controll out 72 #define USE_MIDI_CC_OUT 73 74 #ifdef LADSPA_SO 75 #define gettext(x) dgettext(GETTEXT_PACKAGE, x) 76 #endif 77 78 #ifndef LV2_CORE__enabled 79 #define LV2_CORE__enabled LV2_CORE_PREFIX "enabled" 80 #endif 81 82 using namespace std; 83 84 #include "gx_compiler.h" 85 86 /* guitarix declarations */ 87 #include "gx_plugin.h" 88 #include "gx_logging.h" 89 #include "gx_system.h" 90 #include "gx_parameter.h" 91 92 #include "gx_resampler.h" 93 #include "gx_convolver.h" 94 #include "gx_pitch_tracker.h" 95 #include "gx_pluginloader.h" 96 #include "gx_modulesequencer.h" 97 #include "gx_json.h" 98 99 #include "gx_jack.h" 100 #include "gx_internal_plugins.h" 101 #include "gx_preset.h" 102 #include "gx_engine.h" 103 104 #include "tunerswitcher.h" 105 #include "ladspaback.h" 106 107 #endif // SRC_HEADERS_ENGINE_H_ 108