From 30a64aa8da492ada95aff171b745e7b50145f643 Mon Sep 17 00:00:00 2001 From: "Tim E. Real" Date: Sun, 24 Oct 2010 08:21:08 +0000 Subject: See ChangeLog --- muse2/CMakeLists.txt | 20 ++++++++++++++++---- muse2/ChangeLog | 2 ++ muse2/config.h.in | 5 ++++- muse2/muse/CMakeLists.txt | 9 +++++---- muse2/muse/app.cpp | 23 ++++++++++++++++------- muse2/muse/midiedit/pianoroll.cpp | 8 ++++---- muse2/muse/synth.cpp | 23 ++++++++++++----------- muse2/muse/widgets/CMakeLists.txt | 13 +++++-------- muse2/muse/widgets/mtscale.cpp | 1 + muse2/synti/deicsonze/CMakeLists.txt | 2 +- muse2/synti/fluid/CMakeLists.txt | 10 +++++++--- muse2/synti/fluidsynth/CMakeLists.txt | 9 ++++++--- muse2/synti/fluidsynth/fluidsynti.cpp | 1 + muse2/synti/s1/CMakeLists.txt | 2 +- muse2/synti/vam/CMakeLists.txt | 2 +- 15 files changed, 82 insertions(+), 48 deletions(-) diff --git a/muse2/CMakeLists.txt b/muse2/CMakeLists.txt index 0b1d2e09..31e257e5 100644 --- a/muse2/CMakeLists.txt +++ b/muse2/CMakeLists.txt @@ -55,6 +55,10 @@ SET(MusE_VERSION "2.0.1") SET(MusE_VERSION_FULL "2.0.1") SET(MusE_INSTALL_NAME "muse-2.0") +EXEC_PROGRAM( svnversion + ARGS ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE MusE_SVNVER ) + # include ( ${PROJECT_SOURCE_DIR}/cmake/WrapMacros.cmake) option ( ENABLE_LASH "enable LASH Audio Session Handler" ON) @@ -297,11 +301,19 @@ endif (ENABLE_LASH) if ( ENABLE_FLUID ) - PKG_CHECK_MODULES(FLUIDSYNTH fluidsynth>=0.9.0) - if (FLUIDSYNTH_FOUND) - include_directories(${FLUIDSYNTH_INCLUDE_DIRS}) + # Be careful with naming here since we have two shared synth libraries + # to be built later, named 'fluidsynth' and 'fluid' ! + PKG_CHECK_MODULES(FLUIDSYN fluidsynth>=0.9.0) + if (FLUIDSYN_FOUND) + include_directories(${FLUIDSYN_INCLUDE_DIRS}) set(HAVE_FLUIDSYNTH ON) - endif (FLUIDSYNTH_FOUND) + # message("FLUIDSYN_LIBRARIES " ${FLUIDSYN_LIBRARIES} ) # "fluidsynth" + # message("FLUIDSYN_LDFLAGS " ${FLUIDSYN_LDFLAGS} ) # "-lfluidsynth" + # message("FLUIDSYN_LDFLAGS_OTHER " ${FLUIDSYN_LDFLAGS_OTHER} ) # empty + # message("FLUIDSYN_INCLUDE_DIRS " ${FLUIDSYN_INCLUDE_DIRS} ) # empty + # message("FLUIDSYN_CFLAGS " ${FLUIDSYN_CFLAGS} ) # empty + # message("FLUIDSYN_CFLAGS_OTHER " ${FLUIDSYN_CFLAGS_OTHER} ) # empty + endif (FLUIDSYN_FOUND) else ( ENABLE_FLUID ) message("Fluidsynth disabled") endif ( ENABLE_FLUID ) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 49c67abd..207cf58a 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,5 @@ +24.10.2010 + - Finds MESS synths now including fluid/fluidsynth, but all crash except Vam and S1. (Tim.) 22.10.2010 - cmake scripts changes thanks to Orcan Ogetbil oget.fedora > gmail.com (Tim.) 'make uninstall' facility added! diff --git a/muse2/config.h.in b/muse2/config.h.in index 15d78f8e..6d3e678b 100644 --- a/muse2/config.h.in +++ b/muse2/config.h.in @@ -28,5 +28,8 @@ #define INSTALL_NAME "${MusE_INSTALL_NAME}" #define INSTPREFIX "${CMAKE_INSTALL_PREFIX}" +#define LIBINSTPREFIX "${CMAKE_INSTALL_LIBDIR}" +#define SHAREINSTPREFIX "${SHARE_INSTALL_PREFIX}" #define VERSION "${MusE_VERSION_FULL}" -#define PACKAGE_NAME "MusE" \ No newline at end of file +#define SVNVERSION "${MusE_SVNVER}" +#define PACKAGE_NAME "MusE" diff --git a/muse2/muse/CMakeLists.txt b/muse2/muse/CMakeLists.txt index 192dc7e1..124c979c 100644 --- a/muse2/muse/CMakeLists.txt +++ b/muse2/muse/CMakeLists.txt @@ -280,9 +280,9 @@ add_executable ( muse ) # AM_CXXFLAGS +=-DSVNVERSION=\"$(shell svnversion)\" -EXEC_PROGRAM( svnversion - ARGS ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE SVNVER ) +# EXEC_PROGRAM( svnversion +# ARGS ${PROJECT_SOURCE_DIR} +# OUTPUT_VARIABLE SVNVER ) # add_definitions ( -DINSTLIBDIR=${LIBRARY_OUTPUT_DIRECTORY} ) include_directories (midiedit arranger liste widgets mixer driver waveedit mplugins instruments remote) @@ -297,7 +297,8 @@ include_directories( set_target_properties( muse # PROPERTIES COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h" # PROPERTIES COMPILE_FLAGS "-Imidiedit -Iarranger -Iliste -Iwidgets -Imixer -Idriver -Iwaveedit -Implugins -Iinstruments -Iremote ${PYREM_CPP_FLAGS} -DSVNVERSION='\"${SVNVER}\"' -include ${PROJECT_BINARY_DIR}/all.h " - PROPERTIES COMPILE_FLAGS "${PYREM_CPP_FLAGS} -DINSTPREFIX='\"${CMAKE_INSTALL_PREFIX}\"' -DINSTLIBDIR='\"${LIBRARY_OUTPUT_DIRECTORY}\"' -DSVNVERSION='\"${SVNVER}\"' -include ${PROJECT_BINARY_DIR}/all.h " + # PROPERTIES COMPILE_FLAGS "${PYREM_CPP_FLAGS} -DINSTPREFIX='\"${CMAKE_INSTALL_PREFIX}\"' -DINSTLIBDIR='\"${LIBRARY_OUTPUT_DIRECTORY}\"' -DSVNVERSION='\"${SVNVER}\"' -include ${PROJECT_BINARY_DIR}/all.h " + PROPERTIES COMPILE_FLAGS "${PYREM_CPP_FLAGS} -include ${PROJECT_BINARY_DIR}/all.h " OUTPUT_NAME muse2 ) diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp index a4df0d3f..4a3d79a3 100644 --- a/muse2/muse/app.cpp +++ b/muse2/muse/app.cpp @@ -3227,17 +3227,26 @@ int main(int argc, char* argv[]) museGlobal = p; if (museGlobal.isEmpty()) { - QString museGlobal(INSTPREFIX); - QString museGlobalLibDir(INSTLIBDIR); - + //QString museGlobal(INSTPREFIX); + //QString museGlobalLibDir(INSTLIBDIR); + //QString museGlobalLibDir(LIBINSTPREFIX); // This has no prefix. //museGlobalLib = museGlobalLibDir + "/muse"; //museGlobalShare = museGlobal + "/share/muse"; - museGlobalLib = museGlobalLibDir + QString("/") + QString(INSTALL_NAME); // p4.0.2 - museGlobalShare = museGlobal + QString("/share/") + QString(INSTALL_NAME); // + + // p4.0.7 + museGlobalLib = QString(INSTPREFIX) + QString("/") + + QString(LIBINSTPREFIX) + QString("/") + + QString(INSTALL_NAME); + //museGlobalShare = museGlobal + QString("/share/") + QString(INSTALL_NAME); + museGlobalShare = QString(INSTPREFIX) + QString("/") + + QString(SHAREINSTPREFIX) + QString("/") + // This has no prefix. Default is "share", set in top cmake script. + QString(INSTALL_NAME); } else { - museGlobalLib = museGlobal + "/lib"; - museGlobalShare = museGlobal + "/share"; + //museGlobalLib = museGlobal + "/lib"; + //museGlobalShare = museGlobal + "/share"; + museGlobalLib = museGlobal + QString("/") + QString(LIBINSTPREFIX); // p4.0.7 + museGlobalShare = museGlobal + QString("/") + QString(SHAREINSTPREFIX); } museProject = museProjectInitPath; //getcwd(0, 0); configName = QString(getenv("HOME")) + QString("/.MusE"); diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp index 4d2540d7..22d9c55e 100644 --- a/muse2/muse/midiedit/pianoroll.cpp +++ b/muse2/muse/midiedit/pianoroll.cpp @@ -278,7 +278,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i connect(hscroll, SIGNAL(scaleChanged(int)), canvas, SLOT(setXMag(int))); connect(hscroll, SIGNAL(scaleChanged(int)), time, SLOT(setXMag(int))); - connect(canvas, SIGNAL(pitchChanged(int)), piano, SLOT(setPitch(int))); + connect(canvas, SIGNAL(pitchChanged(int)), piano, SLOT(setPitch(int))); connect(canvas, SIGNAL(verticalScroll(unsigned)), vscroll, SLOT(setPos(unsigned))); connect(canvas, SIGNAL(horizontalScroll(unsigned)),hscroll, SLOT(setPos(unsigned))); connect(canvas, SIGNAL(horizontalScrollNoLimit(unsigned)),hscroll, SLOT(setPosNoLimit(unsigned))); @@ -305,7 +305,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i updateHScrollRange(); // connect to toolbar - connect(canvas, SIGNAL(pitchChanged(int)), toolbar, SLOT(setPitch(int))); + connect(canvas, SIGNAL(pitchChanged(int)), toolbar, SLOT(setPitch(int))); connect(canvas, SIGNAL(timeChanged(unsigned)), SLOT(setTime(unsigned))); connect(piano, SIGNAL(pitchChanged(int)), toolbar, SLOT(setPitch(int))); connect(time, SIGNAL(timeChanged(unsigned)), SLOT(setTime(unsigned))); @@ -407,8 +407,8 @@ void PianoRoll::follow(int pos) void PianoRoll::setTime(unsigned tick) { - toolbar->setTime(tick); - time->setPos(3, tick, false); + toolbar->setTime(tick); + time->setPos(3, tick, false); } //--------------------------------------------------------- diff --git a/muse2/muse/synth.cpp b/muse2/muse/synth.cpp index f62a0627..4d377fb4 100644 --- a/muse2/muse/synth.cpp +++ b/muse2/muse/synth.cpp @@ -511,8 +511,7 @@ void initMidiSynth() // load Synti dll void* handle = dlopen(path, RTLD_NOW); if (handle == 0) { - //fprintf(stderr, "initMidiSynth: dlopen(%s) failed: %s\n", - // path, dlerror()); + fprintf(stderr, "initMidiSynth: MESS dlopen(%s) failed: %s\n", path, dlerror()); //undoSetuid(); //return 0; ++it; @@ -522,23 +521,25 @@ void initMidiSynth() MESS_Function msynth = (MESS_Function)dlsym(handle, "mess_descriptor"); if (!msynth) { - //const char *txt = dlerror(); - //if (txt) { - // fprintf(stderr, - // "Unable to find msynth_descriptor() function in plugin " - // "library file \"%s\": %s.\n" - // "Are you sure this is a MESS plugin file?\n", - // info.filePath().ascii(), txt); + #if 1 + const char *txt = dlerror(); + if (txt) { + fprintf(stderr, + "Unable to find msynth_descriptor() function in plugin " + "library file \"%s\": %s.\n" + "Are you sure this is a MESS plugin file?\n", + path, txt); //undoSetuid(); //return 0; - // } + } + #endif dlclose(handle); ++it; continue; } const MESS* descr = msynth(); if (descr == 0) { - //fprintf(stderr, "Synth::instantiate: no MESS descr found\n"); + fprintf(stderr, "initMidiSynth: no MESS descr found in %s\n", path); //undoSetuid(); //return 0; dlclose(handle); diff --git a/muse2/muse/widgets/CMakeLists.txt b/muse2/muse/widgets/CMakeLists.txt index b9ce1e55..e58d8c8e 100644 --- a/muse2/muse/widgets/CMakeLists.txt +++ b/muse2/muse/widgets/CMakeLists.txt @@ -125,9 +125,6 @@ QT4_WRAP_CPP (widget_mocs shortcutcapturedialog.h combobox.h aboutbox_impl.h - # aboutbox.h - # songinfo.h - # didyouknow.h checkbox.h vscale.h action.h @@ -234,19 +231,19 @@ add_library ( widgets STATIC combobox.cpp # combobox.h checkbox.cpp # checkbox.h aboutbox_impl.cpp # aboutbox_impl.h aboutbox.h - # didyouknow.h popupmenu.cpp # popupmenu.h listitem.h menutitleitem.h ) # AM_CXXFLAGS +=-DSVNVERSION=\"$(shell svnversion)\" -EXEC_PROGRAM( svnversion - ARGS ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE SVNVER ) +# EXEC_PROGRAM( svnversion +# ARGS ${PROJECT_SOURCE_DIR} +# OUTPUT_VARIABLE SVNVER ) set_target_properties( widgets - PROPERTIES COMPILE_FLAGS "-DSVNVERSION='\"${SVNVER}\"' -include ${PROJECT_BINARY_DIR}/all.h ${MUSECXXFLAGS} -I../ -I${PROJECT_SOURCE_DIR}/synti " + # PROPERTIES COMPILE_FLAGS "-DSVNVERSION='\"${SVNVER}\"' -include ${PROJECT_BINARY_DIR}/all.h ${MUSECXXFLAGS} -I../ -I${PROJECT_SOURCE_DIR}/synti " + PROPERTIES COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h ${MUSECXXFLAGS} -I../ -I${PROJECT_SOURCE_DIR}/synti " ) diff --git a/muse2/muse/widgets/mtscale.cpp b/muse2/muse/widgets/mtscale.cpp index 42d04275..425c8bf1 100644 --- a/muse2/muse/widgets/mtscale.cpp +++ b/muse2/muse/widgets/mtscale.cpp @@ -155,6 +155,7 @@ void MTScale::viewMouseMoveEvent(QMouseEvent* event) x = sigmap.raster(x, *raster); if (x < 0) x = 0; + //printf("MTScale::viewMouseMoveEvent\n"); emit timeChanged(x); int i; switch (button) { diff --git a/muse2/synti/deicsonze/CMakeLists.txt b/muse2/synti/deicsonze/CMakeLists.txt index e705e0ae..a39b0e14 100644 --- a/muse2/synti/deicsonze/CMakeLists.txt +++ b/muse2/synti/deicsonze/CMakeLists.txt @@ -38,7 +38,7 @@ add_library ( deicsonze SHARED ${deicsonze_uis} ) -target_link_libraries( deicsonze synti ) +# target_link_libraries( deicsonze synti ) # - tell cmake to name target deicsonze.so instead of # libdeicsonze.so diff --git a/muse2/synti/fluid/CMakeLists.txt b/muse2/synti/fluid/CMakeLists.txt index 82bc6e5f..4d7506d2 100644 --- a/muse2/synti/fluid/CMakeLists.txt +++ b/muse2/synti/fluid/CMakeLists.txt @@ -30,7 +30,7 @@ add_library ( fluid SHARED ${fluid_uis} ) -target_link_libraries( fluid synti ) +# target_link_libraries( fluid synti ) # - tell cmake to name target fluid.so instead of # libfluid.so @@ -39,12 +39,16 @@ target_link_libraries( fluid synti ) set_target_properties ( fluid PROPERTIES PREFIX "" COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all-pic.h" - LINK_FLAGS "${FLUID_LIBRARIES}" + LINK_FLAGS "-l${FLUIDSYN_LIBRARIES}" ) target_link_libraries(fluid synti ${QT_LIBRARIES} - ${FLUID_LIBRARIES} + # Can't do this. FLUIDSYN_LIBRARIES = fluidsynth, which is the name of our fluidsynth.so shared synthesizer library. + # This caused ../fluidsynth/fluidsynth.so to appear in the link line. + # ${FLUIDSYN_LIBRARIES} + # Try giving full path: Nope, path is empty! + # ${FLUIDSYN_LIBRARY_DIRS}/${FLUIDSYN_LIBRARIES} ) install_targets ( /${CMAKE_INSTALL_LIBDIR}/${MusE_INSTALL_NAME}/synthi/ fluid ) diff --git a/muse2/synti/fluidsynth/CMakeLists.txt b/muse2/synti/fluidsynth/CMakeLists.txt index 1a10ba06..cdb298e2 100644 --- a/muse2/synti/fluidsynth/CMakeLists.txt +++ b/muse2/synti/fluidsynth/CMakeLists.txt @@ -30,7 +30,7 @@ add_library ( fluidsynth SHARED ${fluidsynth_uis} ) -target_link_libraries( fluidsynth synti ) +# target_link_libraries( fluidsynth synti ) # - tell cmake to name target fluidsynth.so instead of # libfluidsynth.so @@ -39,13 +39,16 @@ target_link_libraries( fluidsynth synti ) set_target_properties ( fluidsynth PROPERTIES PREFIX "" COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all-pic.h" - LINK_FLAGS "${FLUID_LIBRARIES}" + LINK_FLAGS "${FLUIDSYN_LDFLAGS}" # "-lfluidsynth" ) target_link_libraries(fluidsynth synti ${QT_LIBRARIES} - ${FLUID_LIBRARIES} + # Can't do this here, since FLUIDSYN_LIBRARIES evaluates to 'fluidsynth', the same name as our target. + # ${FLUIDSYN_LIBRARIES} + # Try giving full path: Nope, path is empty! + #${FLUIDSYN_LIBRARY_DIRS}/${FLUIDSYN_LIBRARIES} ) install_targets ( /${CMAKE_INSTALL_LIBDIR}/${MusE_INSTALL_NAME}/synthi/ fluidsynth ) diff --git a/muse2/synti/fluidsynth/fluidsynti.cpp b/muse2/synti/fluidsynth/fluidsynti.cpp index d3cd5699..bf27a61c 100644 --- a/muse2/synti/fluidsynth/fluidsynti.cpp +++ b/muse2/synti/fluidsynth/fluidsynti.cpp @@ -516,6 +516,7 @@ bool FluidSynth::sysex(int n, const unsigned char* d) void FluidSynth::sendSysex(int l, const unsigned char* d) { MidiPlayEvent ev(0, 0, ME_SYSEX, d, l); + //printf("FluidSynth::sendSysex gui:%p\n", gui); gui->writeEvent(ev); } diff --git a/muse2/synti/s1/CMakeLists.txt b/muse2/synti/s1/CMakeLists.txt index fe5a3393..890c6b12 100644 --- a/muse2/synti/s1/CMakeLists.txt +++ b/muse2/synti/s1/CMakeLists.txt @@ -20,7 +20,7 @@ add_library ( s1 SHARED s1.cpp ) -target_link_libraries( s1 synti ) +# target_link_libraries( s1 synti ) # tell cmake to name target s1.so instead of # libs1.so diff --git a/muse2/synti/vam/CMakeLists.txt b/muse2/synti/vam/CMakeLists.txt index f707dc43..b93a5c9d 100644 --- a/muse2/synti/vam/CMakeLists.txt +++ b/muse2/synti/vam/CMakeLists.txt @@ -30,7 +30,7 @@ add_library ( vam SHARED ${vam_uis} ) -target_link_libraries( vam synti ) +# target_link_libraries( vam synti ) # - tell cmake to name target vam.so instead of # libvam.so -- cgit v1.2.3