From cf1c161a0209cdce869a3e8c3b48b1d53c1bab00 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 24 Jul 2007 06:48:02 +0000 Subject: Removed recursive autohell, except for SLv2. Always build against local copies, hopefully fixing broken compilation against outdated system versions. git-svn-id: http://svn.drobilla.net/lad/ingen@610 a436a847-0d15-0410-975c-d299462d15a1 --- autogen.sh | 9 - configure.ac | 385 -------------------------- src/libs/client/Makefile.am | 16 +- src/libs/client/PluginModel.h | 2 +- src/libs/engine/DSSINode.h | 2 +- src/libs/engine/Engine.cpp | 16 +- src/libs/engine/JackAudioDriver.cpp | 11 +- src/libs/engine/JackMidiDriver.cpp | 8 +- src/libs/engine/LashDriver.cpp | 8 +- src/libs/engine/Makefile.am | 22 +- src/libs/engine/OSCDriver.h | 83 ++++++ src/libs/engine/OmInProcess.cpp | 4 +- src/libs/engine/events.h | 4 - src/libs/engine/events/LashRestoreDoneEvent.h | 55 ---- src/libs/engine/tests/Makefile.am | 4 +- src/libs/gui/App.cpp | 6 +- src/libs/gui/ConnectWindow.cpp | 2 +- src/libs/gui/Makefile.am | 13 +- src/libs/module/Makefile.am | 2 +- src/libs/serialisation/Makefile.am | 4 +- src/progs/ingen/Makefile.am | 5 +- 21 files changed, 151 insertions(+), 510 deletions(-) delete mode 100755 autogen.sh delete mode 100644 configure.ac create mode 100644 src/libs/engine/OSCDriver.h delete mode 100644 src/libs/engine/events/LashRestoreDoneEvent.h diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index a232b237..00000000 --- a/autogen.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -echo 'Generating necessary files...' -libtoolize --copy --force -aclocal -autoheader -Wall -automake --gnu --add-missing -autoconf - diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 972117aa..00000000 --- a/configure.ac +++ /dev/null @@ -1,385 +0,0 @@ -AC_PREREQ(2.59) -AC_INIT([ingen],[0.4.0pre],[dave@drobilla.net]) -AC_CONFIG_SRCDIR([src/common/interface/EngineInterface.h]) -AC_CONFIG_SRCDIR([src/common/lv2ext/lv2-miditype.h]) -AC_CONFIG_SRCDIR([src/libs/module/Module.cpp]) -AC_CONFIG_SRCDIR([src/libs/engine/JackAudioDriver.cpp]) -AC_CONFIG_SRCDIR([src/libs/engine/tests/node_tree_test.cpp]) -AC_CONFIG_SRCDIR([src/libs/serialisation/Loader.cpp]) -AC_CONFIG_SRCDIR([src/libs/client/OSCController.cpp]) -AC_CONFIG_SRCDIR([src/libs/gui/App.cpp]) -AC_CONFIG_SRCDIR([src/progs/ingen/main.cpp]) -AC_CONFIG_HEADER([config.h]) -AM_INIT_AUTOMAKE - - -########################################################################## -## Global Checks -########################################################################## - -# Checks for compilers -AC_PROG_CXX -AC_PROG_LIBTOOL - -# Check random other stuff -AC_C_CONST -AC_C_INLINE -AC_FUNC_MALLOC -AC_HEADER_STDC -AC_HEADER_STDBOOL -AC_TYPE_SIZE_T -AC_TYPE_SIGNAL -AC_FUNC_ERROR_AT_LINE -AC_HEADER_DIRENT - -# Check for liblo -PKG_CHECK_MODULES(LOSC, liblo >= 0.22) - -# Check for pthreads -AC_CHECK_LIB(pthread, pthread_create, [], - AC_MSG_ERROR([*** Ingen requires POSIX threads support])) -AC_CHECK_HEADER([pthread.h]) - -PKG_CHECK_MODULES(RAUL, raul >= 0.0.0) - -# Check for LASH -build_lash="no" -AC_ARG_ENABLE(lash, - [AS_HELP_STRING(--enable-lash, [Enable LASH session management support (no)])], - [ if test x$enable_lash = xno ; then build_lash=no ; fi ]) -if test "$build_lash" = "yes"; then - PKG_CHECK_MODULES(LASH, lash-1.0 >= 0.5.0, build_lash="yes", build_lash="no") -fi -if test "$build_lash" = "yes"; then - AC_DEFINE(HAVE_LASH, 1, [Has lash.h]) -else - AC_MSG_WARN([LASH not found, session support will not be built.]) -fi -AC_MSG_WARN([NOTE: LASH support is not available at this time]) - -AM_CONDITIONAL(WITH_LASH, [test "$build_lash" = "yes"]) - - -# Debug stuff - - -debug="no" -debug_symbols="no" -assertions="no" - -AC_ARG_ENABLE(debug, - [AS_HELP_STRING(--enable-debug, [Enable debugging symbols and assertions (no)])], - [debug="$enableval"]) -if test "$debug" = "yes"; then - debug_symbols="yes" - debug_assertions="yes" -fi - -AC_ARG_ENABLE(debug_symbols, - [AS_HELP_STRING(--enable-debug-symbols, [Enable debugging symbols - overrides CXXFLAGS (no)])], - [debug_symbols="$enableval"]) - -AC_ARG_ENABLE(debug_asertions, - [AS_HELP_STRING(--enable-debug-assertions, [Enable debugging assertions (no)])], - [assertions="$enableval"]) - -if test "$debug_symbols" = "yes"; then - CFLAGS="-O0 -g" - CXXFLAGS="$CFLAGS" -fi - -if test "$debug_assertions" = "yes"; then - CFLAGS="$CFLAGS -DDEBUG" - CXXFLAGS="$CXXFLAGS -DDEBUG" -else - CFLAGS="$CFLAGS -DNDEBUG" - CXXFLAGS="$CXXFLAGS -DNDEBUG" -fi - -# Boost shared_ptr debugging -pointer_debug="no" -AC_ARG_ENABLE(pointer_debug, - [AS_HELP_STRING(--enable-pointer-debug, [Enable smart pointer debugging (no)])], - [pointer_debug="$enableval"]) -if test "$pointer_debug" = "yes"; then - CFLAGS+=" -DBOOST_SP_ENABLE_DEBUG_HOOKS" - CXXFLAGS+=" -DBOOST_SP_ENABLE_DEBUG_HOOKS" -fi - -# Use strict flags? -strict="no" -AC_ARG_ENABLE(strict, - [AS_HELP_STRING(--enable-strict, [Enable strict compiler warnings and errors (no)])], - [strict="$enableval"]) -if test "$strict" = "yes"; then - # Stupid Gtkmm won't build with -pedantic - CFLAGS="$CFLAGS -std=c99 -Wall -Wextra -Wno-unused-parameter -Wconversion -Winit-self" - CXXFLAGS="$CXXFLAGS -ansi -Wall -Wextra -Wno-unused-parameter -Wconversion -Winit-self -Woverloaded-virtual -Wsign-promo" -fi - -# Bolt on a few specific flags to CFLAGS that should always be used -CXXFLAGS="$CXXFLAGS -pipe -fmessage-length=999" -CFLAGS="$CFLAGS -pipe -fmessage-length=999" - - - -########################################################################## -## ENGINE (Universal engine options) -########################################################################## - -# Build support for running as an in-process jack client -build_in_process_engine="no" -AC_ARG_ENABLE([in-process-engine], - AS_HELP_STRING(--enable-in-process-engine, Build engine as an in-process Jack client (no)), - [ if test x$enable_in_process_engine = xyes ; then build_in_process_engine=yes ; fi ]) - -# Jack MIDI support -build_jack_midi="yes" -AC_ARG_ENABLE(jack-midi, - [AS_HELP_STRING(--enable-jack-midi, [Enable Jack MIDI support (yes)])], - [ if test x$enable_jack_midi = xyes ; then build_jack_midi=yes ; fi ]) - -# LV2 support -build_lv2="yes" -AC_ARG_ENABLE(lv2, - [AS_HELP_STRING(--enable-lv2, [Enable LV2 plugin support through libslv2 (yes) - Requires: libslv2])], - [ if test x$enable_lv2 = xno ; then build_lv2=no ; fi ]) - -# DSSI support -build_dssi="yes" -AC_ARG_ENABLE(dssi, - [AS_HELP_STRING(--enable-dssi, [Enable DSSI plugin support (yes) - Requires: alsa])], - [ if test x$enable_dssi = xno ; then build_dssi=no ; fi ]) - -# LADSPA support -build_ladspa="yes" -AC_ARG_ENABLE(ladspa, - [AS_HELP_STRING(--enable-ladspa, [Enable LADSPA plugin support (yes)])], - [ if test x$enable_ladspa = xno ; then build_ladspa=no ; fi ]) - - -if test "$build_in_process_engine" = "yes"; then - AC_DEFINE(BUILD_IN_PROCESS_ENGINE, 1, [Whether to support running as a Jack in-process client]) -fi - - - -########################################################################## -## COMPONENTS (options for which components to build) -########################################################################## - -# Build unit tests? -build_unit_tests="no" -AC_ARG_ENABLE(unit-tests, - [AS_HELP_STRING(--enable-unit-tests, [Build unit tests (no) - Developers only])], - [build_unit_tests="$enableval"]) - -# Stand-alone engine (OSC controlled) -build_server="yes" -AC_ARG_ENABLE([server], - AS_HELP_STRING(--enable-server, Build OSC controlled stand-alone engine (yes)), - [ if test x$enable_server = xno ; then build_server=no ; fi ]) - -# Command-line clients -build_console_clients="yes" -AC_ARG_ENABLE([console-clients], - AS_HELP_STRING(--enable-console-clients, [Build command-line clients (yes) - Requires: libxml2, raptor, libsigc++]), - [ if test x$enable_console_clients = xno ; then build_console_clients=no ; fi ]) - -# Gtk client (Ingenuity) -build_gtk_client="yes" -AC_ARG_ENABLE([gtk-client], - AS_HELP_STRING(--enable-gtk-client, [Build GTK client, Ingenuity (true)]), - [ if test x$enable_gtk_client = xno ; then build_gtk_client=no ; fi ]) - - -########################################################################## -## SERVER -########################################################################## - -if test "$build_server" = "yes"; then - # Check for standard lib stuff - AC_CHECK_FUNCS([posix_memalign, fesetround]) - AC_CHECK_HEADERS([float.h stddef.h fenv.h]) - - # Check random other stuff - AC_FUNC_CLOSEDIR_VOID - - # Check for Jack - # (102.20 = MIDI API changes) - PKG_CHECK_MODULES(JACK, jack >= 0.103.0) - - # Check for Jack MIDI - if test "$build_jack_midi" = "yes"; then - AC_CHECK_HEADER([jack/midiport.h], [build_jack_midi="yes"], - [AC_MSG_WARN([You don't seem to build jack/midiport.h, Jack MIDI support will not be built])]) - fi - if test "$build_jack_midi" = "yes"; then - AC_DEFINE(HAVE_JACK_MIDI, 1, [Has Jack MIDI]) - AC_JACK_MIDI_NFRAMES_CHECK() - if test "$jackmidi_nframes" = "yes"; then - AC_DEFINE([JACK_MIDI_NEEDS_NFRAMES], 1, [Defined if we JACK MIDI functions need nframes parameter.]) - fi - fi - - # Check for LADSPA - if test "$build_ladspa" = "yes"; then - build_ladspa="no" - AC_CHECK_HEADER([ladspa.h], [build_ladspa="yes"], - [AC_MSG_WARN([You don't seem to build ladspa.h, Ingen will not be very useful!])]) - fi - if test "$build_ladspa" = "yes"; then - AC_DEFINE(HAVE_LADSPA, 1, [Has ladspa.h]) - fi - - # Check for DSSI - if test "$build_dssi" = "yes"; then - if test "$build_ladspa" = "no"; then - AC_MSG_WARN([DSSI support requires LADSPA. DSSI support will not be built.]) - build_dssi="no" - fi - if test "$build_dssi" = "yes"; then - PKG_CHECK_MODULES(ALSA, alsa >= 1.0.0, [build_dssi="yes"], [build_dssi="no"]) - if test "$build_dssi" = "no"; then - AC_MSG_WARN([DSSI support requires Alsa. DSSI support will not be built.]) - fi - fi - if test "$build_dssi" = "yes"; then - build_dssi="no" - AC_CHECK_HEADER([dssi.h], [build_dssi="yes"], - [AC_MSG_WARN([You do not seem to have dssi.h, DSSI support will not be built.])]) - if test "$build_dssi" = "yes"; then - AC_DEFINE(HAVE_DSSI, 1, [Has dssi.h]) - fi - fi - fi - - # Check for LV2 (libslv2) - if test "$build_lv2" = "yes"; then - build_lv2="no" - PKG_CHECK_MODULES(SLV2, libslv2 >= 0.0.1, [build_lv2="yes"], [build_lv2="no"]) - fi - if test "$build_lv2" = "yes"; then - AC_DEFINE(HAVE_SLV2, 1, [Has libslv2]) - fi - -else - AC_MSG_WARN([Engine will NOT be built! (Nothing you're building produces any sound itself)]) -fi -AM_CONDITIONAL(BUILD_SERVER, [test "$build_server" = "yes"]) -AM_CONDITIONAL(BUILD_IN_PROCESS_ENGINE, [test "$build_in_process_engine" = "yes"]) -AM_CONDITIONAL(BUILD_UNIT_TESTS, [test "$build_unit_tests" = "yes"]) -AM_CONDITIONAL(WITH_JACK_MIDI, [test "$build_jack_midi" = "yes"]) -AM_CONDITIONAL(WITH_LADSPA, [test "$build_ladspa" = "yes"]) -AM_CONDITIONAL(WITH_LV2, [test "$build_lv2" = "yes"]) -AM_CONDITIONAL(WITH_DSSI, [test "$build_dssi" = "yes"]) - - - -########################################################################## -## Console Clients -########################################################################## - -if test "$build_console_clients" = "yes"; then - - # Check for libxml2 # FIXME: deprecated, make optional - PKG_CHECK_MODULES(LXML2, libxml-2.0 >= 2.6.0) - - # Check for glibmm - PKG_CHECK_MODULES(GLIBMM, glibmm-2.4) - - # Check for glib threads - PKG_CHECK_MODULES(GTHREAD, gthread-2.0) - - # Check for raptor (for RDF serialization) - PKG_CHECK_MODULES(RAPTOR, raptor >= 1.4.14, build_raptor="yes", build_raptor="no") - - # Check for rasqal (for RDF querying) - PKG_CHECK_MODULES(RASQAL, rasqal >= 0.9.11, build_rasqal="yes", build_rasqal="no") - - # Check for sigc++ (FIXME: make this only necessary where.. uh.. necessary) - PKG_CHECK_MODULES(LSIGCPP, sigc++-2.0) -else - AC_MSG_WARN([Console clients will be built!]) -fi -AM_CONDITIONAL(BUILD_CONSOLE_CLIENTS, [test "$build_console_clients" = "yes"]) - - - -########################################################################## -## GTK Client (Ingenuity) -########################################################################## - -if test "$build_gtk_client" = "yes"; then - - # Check misc. system stuff - AC_CHECK_HEADERS([string.h sys/time.h unistd.h]) - AC_HEADER_TIME - AC_FUNC_ERROR_AT_LINE - AC_FUNC_FORK - AC_FUNC_MALLOC - AC_FUNC_STAT - AC_CHECK_FUNCS([gettimeofday mkdir strcasecmp strchr strdup strtol]) - - PKG_CHECK_MODULES(GTKMM, gtkmm-2.4) - PKG_CHECK_MODULES(GNOMECANVASMM, libgnomecanvasmm-2.6) - PKG_CHECK_MODULES(LIBGLADEMM, libglademm-2.4) - PKG_CHECK_MODULES(FLOWCANVAS, flowcanvas >= 0.1.0) - PKG_CHECK_MODULES(CURL, libcurl >= 7.15.0, build_curl="yes", build_curl="no") - -else - AC_MSG_WARN([GTK client will NOT be built!]) -fi -AM_CONDITIONAL(BUILD_GTK_CLIENT, [test "$build_gtk_client" = "yes"]) - -# Build client lib if anything above that depends on it is to be built -AM_CONDITIONAL(BUILD_CLIENT_LIB, [test "$build_console_clients" = "yes" -o "$build_gtk_client" = "yes"]) - -# Write Makefiles -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_FILES([src/Makefile]) -AC_CONFIG_FILES([src/common/Makefile]) -AC_CONFIG_FILES([src/common/interface/Makefile]) -AC_CONFIG_FILES([src/common/lv2ext/Makefile]) -AC_CONFIG_FILES([src/libs/Makefile]) -AC_CONFIG_FILES([src/libs/module/Makefile]) -AC_CONFIG_FILES([src/libs/engine/Makefile]) -AC_CONFIG_FILES([src/libs/engine/tests/Makefile]) -AC_CONFIG_FILES([src/libs/engine/events/Makefile]) -AC_CONFIG_FILES([src/libs/serialisation/Makefile]) -AC_CONFIG_FILES([src/libs/client/Makefile]) -AC_CONFIG_FILES([src/libs/gui/Makefile]) -AC_CONFIG_FILES([src/progs/Makefile]) -AC_CONFIG_FILES([src/progs/ingen/Makefile]) -AC_CONFIG_FILES([src/progs/supercollider/Makefile]) -AC_CONFIG_FILES([src/progs/python/Makefile]) -AC_CONFIG_FILES([src/progs/python/scripts/Makefile]) -AC_CONFIG_FILES([src/progs/ingen/ingen.desktop]) -AC_CONFIG_FILES([patches/Makefile]) -AC_CONFIG_FILES([doc/Doxyfile]) -AC_OUTPUT - -AC_MSG_RESULT([]) -AC_MSG_RESULT([**********************************************************************]) -AC_MSG_RESULT([Ingen build configuration:]) -AC_MSG_RESULT([]) -AC_MSG_RESULT([Building engine: $build_engine]) -AC_MSG_RESULT([ JACK in-process support: $build_in_process_engine]) -AC_MSG_RESULT([ Jack MIDI support: $build_jack_midi]) -AC_MSG_RESULT([ LV2 Plugin support: $build_lv2]) -AC_MSG_RESULT([ DSSI Plugin support: $build_dssi]) -AC_MSG_RESULT([ LADSPA Plugin support: $build_ladspa]) -AC_MSG_RESULT([ LASH support: $build_lash]) -AC_MSG_RESULT([]) -AC_MSG_RESULT([Building console clients: $build_console_clients]) -AC_MSG_RESULT([]) -AC_MSG_RESULT([Building GUI: $build_gtk_client]) -AC_MSG_RESULT([]) -AC_MSG_RESULT([AGAIN, LASH SUPPORT IS NOT AVAILABLE.]) -AC_MSG_RESULT([THERE IS NO LASH SUPPORT IN INGEN AT THIS TIME]) -AC_MSG_RESULT([YES IT'S COMING. DO NOT ASK ME ABOUT LASH SUPPORT]) -AC_MSG_RESULT([]) -AC_MSG_RESULT([Building with flags: $CXXFLAGS]) -AC_MSG_RESULT([Please note the above and see README for performance information.]) -AC_MSG_RESULT([**********************************************************************]) -AC_MSG_RESULT([]) diff --git a/src/libs/client/Makefile.am b/src/libs/client/Makefile.am index 7250de36..1c009868 100644 --- a/src/libs/client/Makefile.am +++ b/src/libs/client/Makefile.am @@ -6,14 +6,16 @@ moduledir = $(libdir)/ingen module_LTLIBRARIES = libingen_client.la libingen_client_la_CXXFLAGS = \ - @RAUL_CFLAGS@ @SLV2_CFLAGS@ @LOSC_CFLAGS@ \ + -I$(top_srcdir)/slv2 \ + -I$(top_srcdir)/raul \ + -I$(top_srcdir)/ingen/src/common \ + -DPKGDATADIR=\"$(pkgdatadir)\" \ + @LIBLO_CFLAGS@ \ @LXML2_CFLAGS@ @RASQAL_CFLAGS@ @RAPTOR_CFLAGS@ \ - @LSIGCPP_CFLAGS@ @GLIBMM_CFLAGS@ \ - -I$(top_srcdir)/src/common \ - -DPKGDATADIR=\"$(pkgdatadir)\" + @LSIGCPP_CFLAGS@ @GLIBMM_CFLAGS@ libingen_client_la_LIBADD = \ - @RAUL_LIBS@ @SLV2_LIBS@ @LOSC_LIBS@ \ + @RAUL_LIBS@ @SLV2_LIBS@ @LIBLO_LIBS@ \ @LXML2_LIBS@ @RASQAL_LIBS@ @RAPTOR_LIBS@ \ @LSIGCPP_LIBS@ @GLIBMM_LIBS@ @@ -48,8 +50,8 @@ libingen_client_la_SOURCES = \ ConnectionModel.cpp \ Store.h \ Store.cpp \ - $(top_srcdir)/src/common/interface/ClientInterface.h \ - $(top_srcdir)/src/common/interface/EngineInterface.h + $(top_srcdir)/ingen/src/common/interface/ClientInterface.h \ + $(top_srcdir)/ingen/src/common/interface/EngineInterface.h endif # BUILD_CLIENT_LIB diff --git a/src/libs/client/PluginModel.h b/src/libs/client/PluginModel.h index b7de3101..6da388d6 100644 --- a/src/libs/client/PluginModel.h +++ b/src/libs/client/PluginModel.h @@ -18,7 +18,7 @@ #ifndef PLUGINMODEL_H #define PLUGINMODEL_H -#include "../../../config.h" +#include "../../../../config/config.h" #include #include #include diff --git a/src/libs/engine/DSSINode.h b/src/libs/engine/DSSINode.h index ffe1a641..d569e720 100644 --- a/src/libs/engine/DSSINode.h +++ b/src/libs/engine/DSSINode.h @@ -18,7 +18,7 @@ #ifndef DSSINODE_H #define DSSINODE_H -#include +#include #include #include #include "LADSPANode.h" diff --git a/src/libs/engine/Engine.cpp b/src/libs/engine/Engine.cpp index e80bcafe..a2bfc757 100644 --- a/src/libs/engine/Engine.cpp +++ b/src/libs/engine/Engine.cpp @@ -40,10 +40,10 @@ #ifdef HAVE_JACK_MIDI #include "JackMidiDriver.h" #endif -#ifdef HAVE_LASH +/*#ifdef HAVE_LASH #include "LashDriver.h" -#endif -using std::cout; using std::cerr; using std::endl; +#endif*/ +using namespace std; namespace Ingen { @@ -56,11 +56,11 @@ Engine::Engine() _broadcaster(new ClientBroadcaster()), _object_store(new ObjectStore()), _node_factory(new NodeFactory()), -#ifdef HAVE_LASH +/*#ifdef HAVE_LASH _lash_driver(new LashDriver()), -#else +#else */ _lash_driver(NULL), -#endif +//#endif _quit_flag(false), _activated(false) { @@ -129,11 +129,11 @@ Engine::main() bool Engine::main_iteration() { -#ifdef HAVE_LASH +/*#ifdef HAVE_LASH // Process any pending LASH events if (lash_driver->enabled()) lash_driver->process_events(); -#endif +#endif*/ // Run the maid (garbage collector) _maid->cleanup(); diff --git a/src/libs/engine/JackAudioDriver.cpp b/src/libs/engine/JackAudioDriver.cpp index 45f8616d..3f6f58c0 100644 --- a/src/libs/engine/JackAudioDriver.cpp +++ b/src/libs/engine/JackAudioDriver.cpp @@ -35,12 +35,11 @@ #include "DuplexPort.h" #include "EventSource.h" #include "AudioBuffer.h" -#ifdef HAVE_LASH +/*#ifdef HAVE_LASH #include "LashDriver.h" -#endif - -using std::cout; using std::cerr; using std::endl; +#endif*/ +using namespace std; namespace Ingen { @@ -183,9 +182,9 @@ JackAudioDriver::activate() exit(EXIT_FAILURE); } else { cout << "[JackAudioDriver] Activated Jack client." << endl; -#ifdef HAVE_LASH +/*#ifdef HAVE_LASH _engine.lash_driver()->set_jack_client_name(jack_client_get_name(_client)); -#endif +#endif*/ } } diff --git a/src/libs/engine/JackMidiDriver.cpp b/src/libs/engine/JackMidiDriver.cpp index 0ec2170b..f8ed3064 100644 --- a/src/libs/engine/JackMidiDriver.cpp +++ b/src/libs/engine/JackMidiDriver.cpp @@ -15,22 +15,22 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "JackMidiDriver.h" #include #include #include #include #include #include "types.h" +#include "JackMidiDriver.h" #include "ThreadManager.h" #include "AudioDriver.h" #include "MidiBuffer.h" #include "DuplexPort.h" #include "jack_compat.h" -#ifdef HAVE_LASH +/*#ifdef HAVE_LASH #include "LashDriver.h" -#endif -using std::cout; using std::cerr; using std::endl; +#endif*/ +using namespace std; namespace Ingen { diff --git a/src/libs/engine/LashDriver.cpp b/src/libs/engine/LashDriver.cpp index 72090e70..452af1f0 100644 --- a/src/libs/engine/LashDriver.cpp +++ b/src/libs/engine/LashDriver.cpp @@ -15,14 +15,14 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "LashDriver.h" -#include "config.h" #include #include #include +#include "config/config.h" +#include "LashDriver.h" +#include "App.h" -using std::cerr; using std::cout; using std::endl; -using std::string; +using namespace std; namespace Ingen { diff --git a/src/libs/engine/Makefile.am b/src/libs/engine/Makefile.am index 7b873c93..7ef0bdaf 100644 --- a/src/libs/engine/Makefile.am +++ b/src/libs/engine/Makefile.am @@ -5,9 +5,16 @@ MAINTAINERCLEANFILES = Makefile.in moduledir = $(libdir)/ingen module_LTLIBRARIES = libingen_engine.la -libingen_engine_la_CXXFLAGS = @RAUL_CFLAGS@ @JACK_CFLAGS@ @LOSC_CFLAGS@ @ALSA_CFLAGS@ @LASH_CFLAGS@ @SLV2_CFLAGS@ -I$(top_srcdir)/src/common -I$(top_srcdir)/src/libs/engine/events +libingen_engine_la_CXXFLAGS = \ + -I$(top_srcdir)/slv2 \ + -I$(top_srcdir)/raul \ + -I$(top_srcdir)/ingen/src/common \ + -I$(top_srcdir)/ingen/src/libs \ + -I$(top_srcdir)/ingen/src/libs/engine/events \ + @JACK_CFLAGS@ @LIBLO_CFLAGS@ @ALSA_CFLAGS@ @LASH_CFLAGS@ @GLIBMM_CFLAGS@ + libingen_engine_la_LDFLAGS = -no-undefined -module -avoid-version -libingen_engine_la_LIBADD = @RAUL_LIBS@ @JACK_LIBS@ @LOSC_LIBS@ @ALSA_LIBS@ @LASH_LIBS@ @SLV2_LIBS@ +libingen_engine_la_LIBADD = @RAUL_LIBS@ @JACK_LIBS@ @LIBLO_LIBS@ @ALSA_LIBS@ @LASH_LIBS@ @SLV2_LIBS@ @GLIBMM_LIBS@ AM_CFLAGS=-std=c99 @@ -91,6 +98,7 @@ libingen_engine_la_SOURCES = \ Driver.h \ AudioDriver.h \ MidiDriver.h \ + OSCDriver.h \ instantiations.cpp \ events/RegisterClientEvent.h \ events/RegisterClientEvent.cpp \ @@ -200,9 +208,9 @@ libingen_engine_la_SOURCES += \ LV2Node.cpp endif -if WITH_LASH -libingen_engine_la_SOURCES += \ - LashDriver.h \ - LashDriver.cpp -endif +#if WITH_LASH +#libingen_engine_la_SOURCES += \ +# LashDriver.h \ +# LashDriver.cpp +#endif diff --git a/src/libs/engine/OSCDriver.h b/src/libs/engine/OSCDriver.h new file mode 100644 index 00000000..08294783 --- /dev/null +++ b/src/libs/engine/OSCDriver.h @@ -0,0 +1,83 @@ +/* This file is part of Ingen. + * Copyright (C) 2007 Dave Robillard + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef OSCDRIVER_H +#define OSCDRIVER_H + +#include "types.h" +#include "Driver.h" +#include +#include "OSCBuffer.h" + +namespace Ingen { + + +/** OSC driver abstract base class. + * + * \ingroup engine + */ +class OSCDriver : public Driver +{ +public: + OSCDriver() : Driver(DataType::OSC) {} + + /** Prepare events (however neccessary) for the specified block (realtime safe) */ + virtual void prepare_block(const SampleCount block_start, const SampleCount block_end) = 0; +}; + + + +/** Dummy OSCDriver. + * + * Not abstract, all functions are dummies. One of these will be allocated and + * "used" if no working OSC driver is loaded. (Doing it this way as opposed to + * just making OSCDriver have dummy functions makes sure any existing OSCDriver + * derived class actually implements the required functions). + * + * \ingroup engine + */ +class DummyOSCDriver : public OSCDriver +{ +public: + DummyOSCDriver() { + std::cout << "[DummyOSCDriver] Started Dummy OSC driver." << std::endl; + } + + ~DummyOSCDriver() {} + + void activate() {} + void deactivate() {} + + bool is_activated() const { return false; } + bool is_enabled() const { return false; } + + void enable() {} + void disable() {} + + DriverPort* create_port(DuplexPort* patch_port) { return NULL; } + + void add_port(DriverPort* port) {} + DriverPort* remove_port(const Raul::Path& path) { return NULL; } + + void prepare_block(const SampleCount block_start, const SampleCount block_end) {} +}; + + + +} // namespace Ingen + +#endif // OSCDRIVER_H diff --git a/src/libs/engine/OmInProcess.cpp b/src/libs/engine/OmInProcess.cpp index 2096204e..6893ebe2 100644 --- a/src/libs/engine/OmInProcess.cpp +++ b/src/libs/engine/OmInProcess.cpp @@ -22,9 +22,9 @@ #include "Engine.h" #include "OSCReceiver.h" #include "JackAudioDriver.h" -#ifdef HAVE_LASH +/*#ifdef HAVE_LASH #include "LashDriver.h" -#endif +#endif*/ extern "C" { diff --git a/src/libs/engine/events.h b/src/libs/engine/events.h index f1f4e78b..05b1a148 100644 --- a/src/libs/engine/events.h +++ b/src/libs/engine/events.h @@ -50,10 +50,6 @@ #include "PingQueuedEvent.h" #include "MidiLearnEvent.h" -#ifdef HAVE_LASH -#include "LashRestoreDoneEvent.h" -#endif - #ifdef HAVE_DSSI #include "DSSIUpdateEvent.h" #include "DSSIControlEvent.h" diff --git a/src/libs/engine/events/LashRestoreDoneEvent.h b/src/libs/engine/events/LashRestoreDoneEvent.h deleted file mode 100644 index fd33d813..00000000 --- a/src/libs/engine/events/LashRestoreDoneEvent.h +++ /dev/null @@ -1,55 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2007 Dave Robillard - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LASHRESTOREDONEEVENT_H -#define LASHRESTOREDONEEVENT_H - -#include "QueuedEvent.h" -#include "LashDriver.h" -#include "types.h" - -#include -using std::cerr; - -namespace Ingen { - -class Port; - - -/** Notification from a client that the LASH session is finished restoring. - * - * This is a bit of a hack, but needed to defer notifying LASH of our - * existance until all ports are created. - * - * \ingroup engine - */ -class LashRestoreDoneEvent : public QueuedEvent -{ -public: - LashRestoreDoneEvent(Engine& engine, SharedPtr responder, SampleCount timestamp) : QueuedEvent(engine, responder, timestamp) {} - - void post_process() - { - _responder->respond_ok(); - lash_driver->restore_finished(); - } -}; - - -} // namespace Ingen - -#endif // LASHRESTOREDONEEVENT_H diff --git a/src/libs/engine/tests/Makefile.am b/src/libs/engine/tests/Makefile.am index 6faed130..9363f51f 100644 --- a/src/libs/engine/tests/Makefile.am +++ b/src/libs/engine/tests/Makefile.am @@ -1,7 +1,7 @@ if BUILD_UNIT_TESTS -AM_CXXFLAGS = @JACK_CFLAGS@ @RAUL_CFLAGS@ @LOSC_CFLAGS@ @ALSA_CFLAGS@ -I../../common -common_ldadd = @JACK_LIBS@ @RAUL_LIBS@ @LOSC_LIBS@ @ALSA_LIBS@ -lrt +AM_CXXFLAGS = @JACK_CFLAGS@ @RAUL_CFLAGS@ @LIBLO_CFLAGS@ @ALSA_CFLAGS@ -I../../common +common_ldadd = @JACK_LIBS@ @RAUL_LIBS@ @LIBLO_LIBS@ @ALSA_LIBS@ -lrt node_tree_test_LDADD = $(common_ldadd) noinst_PROGRAMS = node_tree_test diff --git a/src/libs/gui/App.cpp b/src/libs/gui/App.cpp index 7697ca11..7b815db2 100644 --- a/src/libs/gui/App.cpp +++ b/src/libs/gui/App.cpp @@ -15,7 +15,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "config.h" +#include "../../../config/config.h" #include "App.h" #include #include @@ -41,9 +41,9 @@ #include "ConnectWindow.h" #include "ThreadedLoader.h" #include "WindowFactory.h" -#ifdef HAVE_LASH +/*#ifdef HAVE_LASH #include "LashController.h" -#endif +#endif*/ using std::cerr; using std::cout; using std::endl; using std::string; namespace Ingen { namespace Client { class PluginModel; } } diff --git a/src/libs/gui/ConnectWindow.cpp b/src/libs/gui/ConnectWindow.cpp index 0bc24452..ae787c99 100644 --- a/src/libs/gui/ConnectWindow.cpp +++ b/src/libs/gui/ConnectWindow.cpp @@ -22,7 +22,7 @@ #include #include #include -#include "config.h" +#include "../../../../config/config.h" #include "interface/ClientKey.h" #include "interface/EngineInterface.h" #include "engine/tuning.h" diff --git a/src/libs/gui/Makefile.am b/src/libs/gui/Makefile.am index c94ebbb5..13e082b1 100644 --- a/src/libs/gui/Makefile.am +++ b/src/libs/gui/Makefile.am @@ -12,18 +12,21 @@ moduledir = $(libdir)/ingen module_LTLIBRARIES = libingen_gui.la libingen_gui_la_CXXFLAGS = \ + -I$(top_srcdir)/slv2 \ + -I$(top_srcdir)/raul \ + -I$(top_srcdir)/flowcanvas \ + -I$(top_srcdir)/ingen/src/common \ + -I$(top_srcdir)/ingen/src/libs \ -DPKGDATADIR=\"$(pkgdatadir)\" \ -DINGEN_MODULE_DIR=\"$(libdir)/ingen\" \ -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED \ - @RAUL_CFLAGS@ @LOSC_CFLAGS@ @SLV2_CFLAGS@ @CURL_CFLAGS@ \ - @GTKMM_CFLAGS@ @LIBGLADEMM_CFLAGS@ @FLOWCANVAS_CFLAGS@ @GNOMECANVASMM_CFLAGS@ \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/libs + @LIBLO_CFLAGS@ @CURL_CFLAGS@ \ + @GTKMM_CFLAGS@ @LIBGLADEMM_CFLAGS@ @GNOMECANVASMM_CFLAGS@ libingen_gui_la_LDFLAGS = -no-undefined -module -avoid-version libingen_gui_la_LIBADD = \ - @RAUL_LIBS@ @LOSC_LIBS@ @SLV2_LIBS@ @CURL_LIBS@ \ + @RAUL_LIBS@ @LIBLO_LIBS@ @SLV2_LIBS@ @CURL_LIBS@ \ @GTKMM_LIBS@ @LIBGLADEMM_LIBS@ @FLOWCANVAS_LIBS@ @GNOMECANVASMM_LIBS@ \ ../module/libingen_module.la \ ../client/libingen_client.la diff --git a/src/libs/module/Makefile.am b/src/libs/module/Makefile.am index 28cd2822..4d296f44 100644 --- a/src/libs/module/Makefile.am +++ b/src/libs/module/Makefile.am @@ -1,6 +1,6 @@ noinst_LTLIBRARIES = libingen_module.la -libingen_module_la_CXXFLAGS = @RAUL_CFLAGS@ @GLIBMM_CFLAGS@ -DINGEN_MODULE_DIR=\"$(libdir)/ingen\" +libingen_module_la_CXXFLAGS = -I$(top_srcdir)/raul -DINGEN_MODULE_DIR=\"$(libdir)/ingen\" @GLIBMM_CFLAGS@ libingen_module_la_LIBADD = @RAUL_LIBS@ @GLIBMM_LIBS@ diff --git a/src/libs/serialisation/Makefile.am b/src/libs/serialisation/Makefile.am index f1343463..4dbacc5f 100644 --- a/src/libs/serialisation/Makefile.am +++ b/src/libs/serialisation/Makefile.am @@ -4,9 +4,9 @@ moduledir = $(libdir)/ingen module_LTLIBRARIES = libingen_serialisation.la -libingen_serialisation_la_CXXFLAGS = @RAUL_CFLAGS@ -I$(top_srcdir)/src/common +libingen_serialisation_la_CXXFLAGS = -I$(top_srcdir)/ingen/src/common -I$(top_srcdir)/raul @GLIBMM_CFLAGS@ libingen_serialisation_la_LDFLAGS = -no-undefined -module -avoid-version -libingen_serialisation_la_LIBADD = @RAUL_LIBS@ +libingen_serialisation_la_LIBADD = @RAUL_LIBS@ @GLIBMM_LIBS@ libingen_serialisation_la_SOURCES = \ serialisation.h \ diff --git a/src/progs/ingen/Makefile.am b/src/progs/ingen/Makefile.am index 7a500868..7f84191e 100644 --- a/src/progs/ingen/Makefile.am +++ b/src/progs/ingen/Makefile.am @@ -1,13 +1,12 @@ -AM_CXXFLAGS = @RAUL_CFLAGS@ @GTHREAD_CFLAGS@ -I$(top_srcdir)/src/common -I$(top_srcdir)/src/libs -DINGEN_MODULE_DIR=\"$(libdir)/ingen\" +AM_CXXFLAGS = -I$(top_srcdir)/raul -I$(top_srcdir)/ingen/src/common -I$(top_srcdir)/ingen/src/libs -DINGEN_MODULE_DIR=\"$(libdir)/ingen\" @GTHREAD_CFLAGS@ @GLIBMM_CFLAGS@ MAINTAINERCLEANFILES = Makefile.in -EXTRA_DIST = ingen_dev desktopfilesdir = $(datadir)/applications dist_desktopfiles_DATA = ingen.desktop bin_PROGRAMS = ingen -ingen_LDADD = @RAUL_LIBS@ @GTHREAD_LIBS@../../libs/module/libingen_module.la +ingen_LDADD = @RAUL_LIBS@ @GTHREAD_LIBS@ @GLIBMM_LIBS@ ../../libs/module/libingen_module.la ingen_DEPENDENCIES = ../../libs/module/libingen_module.la ingen_SOURCES = \ -- cgit v1.2.1