--- linuxsampler/trunk/configure.in 2008/02/03 00:13:27 1659 +++ linuxsampler/trunk/configure.in 2008/12/07 01:26:46 1800 @@ -5,7 +5,7 @@ LINUXSAMPLER_RELEASE_MAJOR=0 LINUXSAMPLER_RELEASE_MINOR=5 -LINUXSAMPLER_RELEASE_BUILD=1.1cvs +LINUXSAMPLER_RELEASE_BUILD=1.8cvs #------------------------------------------------------------------------------------ # The following is the libtool / shared library version. This doesn't have to @@ -33,11 +33,13 @@ # the LSCP specification version this LinuSampler release complies with: LSCP_RELEASE_MAJOR=1 -LSCP_RELEASE_MINOR=3 +LSCP_RELEASE_MINOR=4 AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.]) AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.]) +AC_PROG_CXX +AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL AC_SUBST(SHLIB_VERSION_ARG) @@ -60,7 +62,7 @@ AC_MSG_CHECKING([whether x86 architecture]) def_arch_x86=0 case $target_cpu in - "i386" | "i486" | "i586" | "i686" | "i786") + "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64") echo "yes" def_arch_x86=1;; *) @@ -72,7 +74,7 @@ # (only if the user did not provide one) CXX_CPU_SWITCH= if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then - if test "$def_arch_x86" = 1; then + if test "$def_arch_x86" = 1 -a "$target_cpu" != "x86_64"; then CXX_CPU_SWITCH="-march=$target_cpu" elif test "$target_cpu" = "ppc"; then CXX_CPU_SWITCH="-arch=$target_cpu" @@ -161,6 +163,11 @@ echo "NPTL glibc bug check disabled" fi +# FIXME: this is actually a dependency of libgig, not of LS directly, why +# isn't it hidden by libgig? +AC_CHECK_HEADERS(uuid/uuid.h) +AC_SEARCH_LIBS(uuid_generate, uuid) + ########################################################################### @@ -264,7 +271,10 @@ if test $have_jack = "1"; then AC_SUBST(JACK_LIBS) AC_SUBST(JACK_CFLAGS) - AC_CHECK_LIB(jack, jack_client_name_size, [AC_DEFINE(HAVE_JACK_CLIENT_NAME_SIZE, 1, [Define to 1 if you have the `jack_client_name_size' function.])], , $JACK_LIBS) + linuxsampler_save_LIBS=$LIBS + LIBS="$JACK_LIBS $LIBS" + AC_CHECK_FUNCS(jack_client_name_size jack_client_open) + LIBS=$linuxsampler_save_LIBS have_audio_output_driver="true"; fi else @@ -427,6 +437,33 @@ AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1") AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.]) + +# DSSI +AC_CHECK_HEADERS(dssi.h, + have_dssi=1, + have_dssi=0) +AM_CONDITIONAL(HAVE_DSSI, test $have_dssi = "1") + +# LV2 +PKG_CHECK_MODULES(LV2, lv2core, have_lv2=1, have_lv2=0) +if test $have_lv2 = "0"; then + AC_CHECK_HEADER(lv2.h, have_lv2=1, have_lv2=0) +fi +AM_CONDITIONAL(HAVE_LV2, test $have_lv2 = "1") + +# VST +AC_ARG_ENABLE(vstsdk-dir, + [ --enable-vstsdk-dir + Directory where the VST SDK is located. + This automatically enables the compilation + of the VST plugin.], + [VSTSDK_DIR="${enableval}"], + [VSTSDK_DIR=] +) +AC_SUBST(VSTSDK_DIR) +AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x") + + # have we found at least one MIDI input and one audio output driver ? if test "$have_midi_input_driver" = "false"; then echo "No supported MIDI input system found!" @@ -558,7 +595,7 @@ AC_ARG_ENABLE(pthread-testcancel, [ --enable-pthread-testcancel - Enable pthread_testcancel() calls and avoid asynchronous + Enable pthread_testcancel() calls and avoid asynchronous cancel of pthreads (default=no).], [config_pthread_testcancel="$enableval"], [config_pthread_testcancel="no"] @@ -672,23 +709,25 @@ AC_ARG_ENABLE(max-streams, [ --enable-max-streams - Maximum amount of disk streams (default=90). This - value should always be higher than the maximum - amount of voices.], + Initial maximum amount of disk streams + (default=90). This value can be changed at + runtime. It should always be higher than the + maximum amount of voices.], [config_max_streams="${enableval}"], [config_max_streams="90"] ) -AC_DEFINE_UNQUOTED(CONFIG_MAX_STREAMS, $config_max_streams, [Define max. streams.]) +AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_STREAMS, $config_max_streams, [Define initial max. streams.]) AC_ARG_ENABLE(max-voices, [ --enable-max-voices - Maximum amount of voices (default=64). This value - should always be lower than the maximum amount of - disk streams.], + Initial maximum amount of voices (default=64). + This value can be changed at runtime. It should + always be lower than the maximum amount of disk + streams.], [config_max_voices="${enableval}"], [config_max_voices="64"] ) -AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.]) +AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_VOICES, $config_max_voices, [Define initial max. voices.]) AC_ARG_ENABLE(subfragment-size, [ --enable-subfragment-size @@ -990,6 +1029,22 @@ AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.]) fi +AC_ARG_ENABLE(master-volume-sysex-by-port, + [ --enable-master-volume-sysex-by-port + Whether global volume sysex message should be + applied globally to the whole sampler or only to + the sampler channels connected to the same MIDI + input port on which the sysex message arrived on. + By default global volume sysex messages apply + globally to the whole sampler, since many MIDI + devices behave that way.], + [config_master_volume_sysex_by_port="$enableval"], + [config_master_volume_sysex_by_port="no"] +) +if test "$config_master_volume_sysex_by_port" = "yes"; then + AC_DEFINE_UNQUOTED(CONFIG_MASTER_VOLUME_SYSEX_BY_PORT, 1, [Define to 1 if you want global volume sysex message only be applied to the respective MIDI port.]) +fi + AC_ARG_ENABLE(plugin-dir, [ --enable-plugin-dir Directory where the sampler shall look for potential plugins, @@ -1116,7 +1171,6 @@ AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD") AC_LANG_CPLUSPLUS -AC_PROG_CXX # some gcc 4.0 versions need -msse for SSE register allocations if test "$config_asm" = "yes"; then @@ -1139,12 +1193,17 @@ src/engines/Makefile \ src/engines/gig/Makefile \ src/engines/common/Makefile \ + src/effects/Makefile \ src/common/Makefile \ src/testcases/Makefile \ src/drivers/Makefile \ src/drivers/audio/Makefile \ src/drivers/midi/Makefile \ src/plugins/Makefile \ + src/hostplugins/Makefile \ + src/hostplugins/dssi/Makefile \ + src/hostplugins/lv2/Makefile \ + src/hostplugins/vst/Makefile \ linuxsampler.spec \ debian/Makefile \ Artwork/Makefile \ @@ -1185,8 +1244,8 @@ echo "# Minimum Stream Refill Size: ${config_stream_min_refill}" echo "# Maximum Stream Refill Size: ${config_stream_max_refill}" echo "# Stream Size: ${config_stream_size}" -echo "# Maximum Disk Streams: ${config_max_streams}" -echo "# Maximum Voices: ${config_max_voices}" +echo "# Default Maximum Disk Streams: ${config_max_streams}" +echo "# Default Maximum Voices: ${config_max_voices}" echo "# Default Subfragment Size: ${config_subfragment_size}" echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}" echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}" @@ -1205,6 +1264,7 @@ echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}" echo "# Process Muted Channels: ${config_process_muted_channels}" echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}" +echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}" echo "# Interpolate Volume: ${config_interpolate_volume}" echo "# Instruments database support: ${config_instruments_db}" if test "$config_instruments_db" = "yes"; then