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