Guitarix
engine.h
Go to the documentation of this file.
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
82using 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_