Compare commits

..

16 Commits

Author SHA1 Message Date
Tobias Doerffel
22f822bf12 made 0.3.1 release
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@593 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-12 22:14:02 +00:00
Tobias Doerffel
b70e210cf1 replaced spaces in filenames with underscores
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@592 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-12 22:10:24 +00:00
Tobias Doerffel
28d8ac4b76 added StereoEnhancer-plugin
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@591 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-12 21:00:30 +00:00
Tobias Doerffel
84e05a7388 Qt3-backport of StereoEnhancer
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@590 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-12 20:59:25 +00:00
Tobias Doerffel
86c781b8b3 removed files not belonging into SVN
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@588 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-12 20:57:17 +00:00
Lou Herard
eb49d6c11d git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@584 0778d3d1-df1d-0410-868b-ea421aaaa00d 2007-11-12 07:13:21 +00:00
Tobias Doerffel
0cd237877a increased alignment-border from 0.8 to 0.9
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@581 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-11 11:37:10 +00:00
Tobias Doerffel
1ce450523f when adding new notes in piano-roll via mouse use alignment-border of 80/20 instead of 50/50 which makes piano-roll more usable
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@580 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-11 11:30:47 +00:00
Tobias Doerffel
9ea778d246 added preset, updated German localization-files, fixed file-filter in sample-selection-dialog
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@578 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-10 17:36:17 +00:00
Tobias Doerffel
337578b1ce fixed crash in case of framesLeft() being less or equal zero while instrument::playNote is being called
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@572 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-10-30 17:56:32 +00:00
Tobias Doerffel
d369b6c0bf moved lvsl_server.c to lvsl_server.cpp
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@571 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-10-08 22:29:59 +00:00
Tobias Doerffel
bb72d54ac3 merged some of Javiers recent changes to trunk
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@570 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-10-08 14:40:05 +00:00
Tobias Doerffel
2b1f2a79a4 fixed potential segfault and small GUI-improvement
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@566 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-09-25 00:04:14 +00:00
Paul Giblock
7941e2f1da Actually added support for drumsynth files and added many ds files
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@550 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-28 04:49:00 +00:00
Paul Giblock
29853b8db6 Added support for drumsynth files and added many ds files
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@549 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-28 04:45:58 +00:00
Tobias Doerffel
a252706ee2 created branch for stable 0.3.x series
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.3@545 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-23 20:46:04 +00:00
3148 changed files with 175504 additions and 840579 deletions

View File

@@ -1,6 +0,0 @@
Makefile.in
*.moc
.libs
embedded_resources.h
.deps
Makefile

22
AUTHORS
View File

@@ -2,10 +2,6 @@ Tobias Doerffel
<tobydox/at/users/dot/sourceforge/dot/net>
Maintainer, main-development, artwork etc.
Paul Giblock
<drfaygo/at/gmail/dot/com>
development
Danny McRae
<khjklujn/at/yahoo.com>
development
@@ -14,17 +10,9 @@ Javier Serrano Polo
<jasp00/at/terra/dot/es>
development
Andrew Kelley
<superjoe30/at/gmail/dot/com>
development
Andreas Brandmaier
<andy/at/brandmaier/dot/de>
BitInvader plugin
Juan Fabián Simón
<treees@gmail.com>
version 4.0 plugin artwork
Zolo
<the-zolo/at/gmx/dot/de>
theme "Blue Scene"
Sebastian Tilsch
<djcompilation/at/gmx/dot/de>
@@ -33,3 +21,7 @@ Sebastian Tilsch
gabriel
<kryos1/at/shaw/dot/ca>
additional artwork
Andreas Brandmaier
<andy/at/brandmaier/dot/de>
BitInvader plugin

View File

@@ -1,705 +0,0 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5)
PROJECT(lmms)
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0005 NEW)
CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND CMAKE_POLICY)
INCLUDE(AddFileDependencies)
INCLUDE(CheckIncludeFiles)
INCLUDE(FindPkgConfig)
SET(VERSION_MAJOR "0")
SET(VERSION_MINOR "4")
SET(VERSION_PATCH "9")
#SET(VERSION_SUFFIX "")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
IF(VERSION_SUFFIX)
SET(VERSION "${VERSION}-${VERSION_SUFFIX}")
ENDIF(VERSION_SUFFIX)
INCLUDE(DetectMachine)
OPTION(WANT_ALSA "Include ALSA (Advanced Linux Sound Architecture) support" ON)
OPTION(WANT_CALF "Include CALF LADSPA plugins" ON)
OPTION(WANT_CAPS "Include C* Audio Plugin Suite (LADSPA plugins)" ON)
OPTION(WANT_CMT "Include Computer Music Toolkit LADSPA plugins" ON)
OPTION(WANT_FFTW3F "Include SpectrumAnalyzer and ZynAddSubFX plugin" ON)
OPTION(WANT_JACK "Include JACK (Jack Audio Connection Kit) support" ON)
OPTION(WANT_OGGVORBIS "Include OGG/Vorbis support" ON)
OPTION(WANT_PULSEAUDIO "Include PulseAudio support" ON)
#OPTION(WANT_PORTAUDIO "Include PortAudio support" ON) # TODO: fix PortAudio support
OPTION(WANT_SDL "Include SDL (Simple DirectMedia Layer) support" ON)
OPTION(WANT_SF2 "Include SoundFont2 player plugin" ON)
OPTION(WANT_STK "Include Stk (Synthesis Toolkit) support" ON)
OPTION(WANT_SYSTEM_SR "Use system's libsamplerate" ON)
OPTION(WANT_SWH "Include Steve Harris's LADSPA plugins" ON)
OPTION(WANT_TAP "Include Tom's Audio Processing LADSPA plugins" ON)
OPTION(WANT_VST "Include VST support" ON)
OPTION(WANT_VST_NOWINE "Include partial VST support (without wine)" OFF)
OPTION(WANT_WINMM "Include WinMM MIDI support" OFF)
IF(LMMS_BUILD_WIN32)
SET(WANT_ALSA OFF)
SET(WANT_JACK OFF)
SET(WANT_PULSEAUDIO OFF)
SET(WANT_SYSTEM_SR OFF)
SET(WANT_WINMM ON)
SET(LMMS_HAVE_WINMM TRUE)
SET(STATUS_ALSA "<not supported on this platform>")
SET(STATUS_JACK "<not supported on this platform>")
SET(STATUS_PULSEAUDIO "<not supported on this platform>")
SET(STATUS_WINMM "OK")
ELSE(LMMS_BUILD_WIN32)
SET(STATUS_WINMM "<not supported on this platform>")
ENDIF(LMMS_BUILD_WIN32)
CHECK_INCLUDE_FILES(stdint.h LMMS_HAVE_STDINT_H)
CHECK_INCLUDE_FILES(stdlib.h LMMS_HAVE_STDLIB_H)
CHECK_INCLUDE_FILES(pthread.h LMMS_HAVE_PTHREAD_H)
CHECK_INCLUDE_FILES(semaphore.h LMMS_HAVE_SEMAPHORE_H)
CHECK_INCLUDE_FILES(unistd.h LMMS_HAVE_UNISTD_H)
CHECK_INCLUDE_FILES(sys/types.h LMMS_HAVE_SYS_TYPES_H)
CHECK_INCLUDE_FILES(sys/ipc.h LMMS_HAVE_SYS_IPC_H)
CHECK_INCLUDE_FILES(sys/shm.h LMMS_HAVE_SYS_SHM_H)
CHECK_INCLUDE_FILES(sys/time.h LMMS_HAVE_SYS_TIME_H)
CHECK_INCLUDE_FILES(sys/wait.h LMMS_HAVE_SYS_WAIT_H)
CHECK_INCLUDE_FILES(sys/select.h LMMS_HAVE_SYS_SELECT_H)
CHECK_INCLUDE_FILES(stdarg.h LMMS_HAVE_STDARG_H)
CHECK_INCLUDE_FILES(signal.h LMMS_HAVE_SIGNAL_H)
CHECK_INCLUDE_FILES(sched.h LMMS_HAVE_SCHED_H)
CHECK_INCLUDE_FILES(sys/soundcard.h LMMS_HAVE_SYS_SOUNDCARD_H)
CHECK_INCLUDE_FILES(soundcard.h LMMS_HAVE_SOUNDCARD_H)
CHECK_INCLUDE_FILES(fcntl.h LMMS_HAVE_FCNTL_H)
CHECK_INCLUDE_FILES(sys/ioctl.h LMMS_HAVE_SYS_IOCTL_H)
CHECK_INCLUDE_FILES(ctype.h LMMS_HAVE_CTYPE_H)
CHECK_INCLUDE_FILES(string.h LMMS_HAVE_STRING_H)
CHECK_INCLUDE_FILES(process.h LMMS_HAVE_PROCESS_H)
CHECK_INCLUDE_FILES(locale.h LMMS_HAVE_LOCALE_H)
# check for Qt4
SET(QT_MIN_VERSION "4.3.0")
FIND_PACKAGE(Qt4 REQUIRED)
SET(QT_USE_QTXML 1)
EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_TRANSLATIONS" OUTPUT_VARIABLE QT_TRANSLATIONS_DIR)
IF(LMMS_BUILD_WIN32)
SET(QT_TRANSLATIONS_DIR "/opt/mingw32/share/qt4/translations/")
# hack to allow making moc.exe a symlink to native moc-binary in compatible version
SET(QT_MOC_EXECUTABLE ${QT_BINARY_DIR}/moc.exe)
ENDIF(LMMS_BUILD_WIN32)
IF(LMMS_BUILD_WIN64)
SET(QT_TRANSLATIONS_DIR "/opt/mingw64/share/qt4/translations/")
ENDIF(LMMS_BUILD_WIN64)
IF(EXISTS "${QT_TRANSLATIONS_DIR}")
MESSAGE("-- Found Qt translations in ${QT_TRANSLATIONS_DIR}")
ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"')
ENDIF(EXISTS "${QT_TRANSLATIONS_DIR}")
IF(NOT WIN32)
STRING(REPLACE "-DQT_DLL" "" QT_DEFINITIONS "${QT_DEFINITIONS}")
ENDIF(NOT WIN32)
INCLUDE(${QT_USE_FILE})
# check for libsndfile
PKG_CHECK_MODULES(SNDFILE REQUIRED sndfile>=1.0.11)
IF(NOT SNDFILE_FOUND)
MESSAGE(FATAL_ERROR "LMMS requires libsndfile1 and libsndfile1-dev >= 1.0.11 - please install, remove CMakeCache.txt and try again!")
ENDIF(NOT SNDFILE_FOUND)
IF(WANT_CALF)
SET(LMMS_HAVE_CALF TRUE)
SET(STATUS_CALF "OK")
ELSE(WANT_CALF)
SET(STATUS_CALF "not built as requested")
ENDIF(WANT_CALF)
IF(WANT_CAPS)
SET(LMMS_HAVE_CAPS TRUE)
SET(STATUS_CAPS "OK")
ELSE(WANT_CAPS)
SET(STATUS_CAPS "not built as requested")
ENDIF(WANT_CAPS)
IF(WANT_CMT)
SET(LMMS_HAVE_CMT TRUE)
SET(STATUS_CMT "OK")
ELSE(WANT_CMT)
SET(STATUS_CMT "not built as requested")
ENDIF(WANT_CMT)
IF(WANT_SWH)
SET(LMMS_HAVE_SWH TRUE)
SET(STATUS_SWH "OK")
ELSE(WANT_SWH)
SET(STATUS_SWH "not built as requested")
ENDIF(WANT_SWH)
IF(WANT_TAP)
SET(LMMS_HAVE_TAP TRUE)
SET(STATUS_TAP "OK")
ELSE(WANT_TAP)
SET(STATUS_TAP "not built as requested")
ENDIF(WANT_TAP)
# check for SDL
IF(WANT_SDL)
SET(SDL_BUILDING_LIBRARY TRUE)
FIND_PACKAGE(SDL)
IF(SDL_FOUND)
SET(LMMS_HAVE_SDL TRUE)
SET(STATUS_SDL "OK")
ELSE(SDL_FOUND)
SET(STATUS_SDL "not found, please install libsdl1.2-dev (or similiar) "
"if you require SDL support")
ENDIF(SDL_FOUND)
ENDIF(WANT_SDL)
IF(NOT LMMS_HAVE_SDL)
SET(SDL_INCLUDE_DIR "")
ELSE(NOT LMMS_HAVE_SDL)
IF(NOT SDL_INCLUDE_DIR)
SET(SDL_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/include)
ENDIF(NOT SDL_INCLUDE_DIR)
ENDIF(NOT LMMS_HAVE_SDL)
# check for Stk
IF(WANT_STK)
FIND_PACKAGE(STK)
IF(STK_FOUND)
SET(LMMS_HAVE_STK TRUE)
SET(STATUS_STK "OK")
ELSE(STK_FOUND)
SET(STK_INCLUDE_DIR "")
SET(STATUS_STK "not found, please install libstk0-dev (or similiar) "
"if you require the Mallets instrument")
ENDIF(STK_FOUND)
ENDIF(WANT_STK)
# check for PortAudio
#IF(WANT_PORTAUDIO)
# FIND_PACKAGE(Portaudio)
# IF(PORTAUDIO_FOUND)
# SET(LMMS_HAVE_PORTAUDIO TRUE)
# SET(STATUS_PORTAUDIO "OK")
# ELSE(PORTAUDIO_FOUND)
# SET(STATUS_PORTAUDIO "not found, please install libportaudio-dev (or similiar, version >= 1.8) "
# "if you require Portaudio support")
# ENDIF(PORTAUDIO_FOUND)
#ENDIF(WANT_PORTAUDIO)
IF(NOT LMMS_HAVE_PORTAUDIO)
SET(PORTAUDIO_INCLUDE_DIR "")
SET(PORTAUDIO_LIBRARIES "")
ENDIF(NOT LMMS_HAVE_PORTAUDIO)
# check for PulseAudio
IF(WANT_PULSEAUDIO)
FIND_PACKAGE(PulseAudio)
IF(PULSEAUDIO_FOUND)
SET(LMMS_HAVE_PULSEAUDIO TRUE)
SET(STATUS_PULSEAUDIO "OK")
ELSE(PULSEAUDIO_FOUND)
SET(STATUS_PULSEAUDIO "not found, please install libpulse-dev (or similiar) "
"if you require PulseAudio support")
ENDIF(PULSEAUDIO_FOUND)
ENDIF(WANT_PULSEAUDIO)
IF(NOT LMMS_HAVE_PULSEAUDIO)
SET(PULSEAUDIO_INCLUDE_DIR "")
SET(PULSEAUDIO_LIBRARIES "")
ENDIF(NOT LMMS_HAVE_PULSEAUDIO)
# check for OGG/Vorbis-libraries
IF(WANT_OGGVORBIS)
FIND_PACKAGE(OggVorbis)
IF(OGGVORBIS_FOUND)
SET(LMMS_HAVE_OGGVORBIS TRUE)
SET(STATUS_OGGVORBIS "OK")
ELSE(OGGVORBIS_FOUND)
SET(STATUS_OGGVORBIS "not found, libogg-dev and libvorbis-dev (or similiar) "
"is highly recommended")
ENDIF(OGGVORBIS_FOUND)
ENDIF(WANT_OGGVORBIS)
# check whether to enable OSS-support
IF(LMMS_HAVE_SOUNDCARD_H OR LMMS_HAVE_SYS_SOUNDCARD_H)
SET(LMMS_HAVE_OSS TRUE)
SET(STATUS_OSS "OK")
ELSE(LMMS_HAVE_SOUNDCARD_H OR LMMS_HAVE_SYS_SOUNDCARD_H)
SET(STATUS_OSS "<not found or not supported on this platform>")
ENDIF(LMMS_HAVE_SOUNDCARD_H OR LMMS_HAVE_SYS_SOUNDCARD_H)
# check for ALSA
IF(WANT_ALSA)
FIND_PACKAGE(Alsa)
IF(ALSA_FOUND)
SET(LMMS_HAVE_ALSA TRUE)
SET(STATUS_ALSA "OK")
ELSE(ALSA_FOUND)
SET(STATUS_ALSA "not found, please install libasound2-dev (or similiar) "
"if you require ALSA support")
ENDIF(ALSA_FOUND)
ENDIF(WANT_ALSA)
IF(NOT LMMS_HAVE_ALSA)
SET(ASOUND_LIBRARY "")
ENDIF(NOT LMMS_HAVE_ALSA)
# check for JACK
IF(WANT_JACK)
PKG_CHECK_MODULES(JACK jack>=0.77)
IF(JACK_FOUND)
SET(LMMS_HAVE_JACK TRUE)
SET(STATUS_JACK "OK")
ELSE(JACK_FOUND)
SET(STATUS_JACK "not found, please install libjack0.100.0-dev (or similiar) "
"if you require JACK support")
ENDIF(JACK_FOUND)
ENDIF(WANT_JACK)
# check for FFTW3F-library
IF(WANT_FFTW3F)
PKG_CHECK_MODULES(FFTW3F fftw3f>=3.0.0)
IF(FFTW3F_FOUND)
SET(LMMS_HAVE_FFTW3F TRUE)
SET(STATUS_FFTW3F "OK")
ELSE(FFTW3F_FOUND)
SET(STATUS_FFTW3F "not found, libfftw3-dev (or similiar) "
"is highly recommended")
ENDIF(FFTW3F_FOUND)
ENDIF(WANT_FFTW3F)
# check for Fluidsynth
IF(WANT_SF2)
PKG_CHECK_MODULES(FLUIDSYNTH fluidsynth>=1.0.7)
IF(FLUIDSYNTH_FOUND)
SET(LMMS_HAVE_FLUIDSYNTH TRUE)
SET(STATUS_FLUIDSYNTH "OK")
ELSE(FLUIDSYNTH_FOUND)
SET(STATUS_FLUIDSYNTH "not found, libfluidsynth-dev (or similiar)"
"is highly recommended")
ENDIF(FLUIDSYNTH_FOUND)
ENDIF(WANT_SF2)
# check for pthreads
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE)
FIND_PACKAGE(Threads)
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE)
# check for WINE
IF(WANT_VST)
INCLUDE(CheckLibraryExists)
INCLUDE(CheckIncludeFileCXX)
SET(CMAKE_REQUIRED_FLAGS_ORIG ${CMAKE_REQUIRED_FLAGS})
SET(CMAKE_REQUIRED_INCLUDES_ORIG ${CMAKE_REQUIRED_INCLUDES})
SET(CMAKE_CXX_COMPILER_ORIG ${CMAKE_CXX_COMPILER})
IF(LMMS_HOST_X86_64)
SET(CMAKE_REQUIRED_FLAGS -m32 ${CMAKE_REQUIRED_FLAGS})
ENDIF(LMMS_HOST_X86_64)
CHECK_LIBRARY_EXISTS(wine wine_init "" HAVE_LIBWINE)
SET(CMAKE_CXX_COMPILER /usr/bin/wineg++)
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${CMAKE_INSTALL_PREFIX}/include/wine/windows /usr/include/wine/windows)
CHECK_INCLUDE_FILE_CXX(windows.h HAVE_WINDOWS_H)
SET(CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER_ORIG})
SET(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_ORIG})
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_ORIG})
IF(HAVE_LIBWINE AND HAVE_WINDOWS_H)
SET(LMMS_SUPPORT_VST TRUE)
SET(STATUS_VST "OK")
ELSE(HAVE_LIBWINE AND HAVE_WINDOWS_H)
SET(STATUS_VST "not found, please install (lib)wine-dev (or similiar) - 64 bit systems additionally need gcc-multilib and g++-multilib")
ENDIF(HAVE_LIBWINE AND HAVE_WINDOWS_H)
ENDIF(WANT_VST)
IF(LMMS_BUILD_WIN32)
SET(LMMS_SUPPORT_VST TRUE)
SET(STATUS_VST "OK")
ENDIF(LMMS_BUILD_WIN32)
# check for libsamplerate
IF(WANT_SYSTEM_SR)
PKG_CHECK_MODULES(SAMPLERATE samplerate>=0.1.7)
IF(SAMPLERATE_FOUND)
SET(LMMS_HAVE_SAMPLERATE TRUE)
ENDIF(SAMPLERATE_FOUND)
ENDIF(WANT_SYSTEM_SR)
IF(NOT LMMS_HAVE_SAMPLERATE)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate)
SET(CMAKE_CROSSCOMPILING_ORIG "${CMAKE_CROSSCOMPILING}")
SET(CMAKE_CROSSCOMPILING "")
INCLUDE(ChecksForLibSamplerate)
SET(LIBSAMPLERATE_SOURCES
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/samplerate.c
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/samplerate.h
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/src_sinc.c
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/high_qual_coeffs.h
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/mid_qual_coeffs.h
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/fastest_coeffs.h
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/common.h
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/src_config.h
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/float_cast.h
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/src_zoh.c
${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/src_linear.c)
SET(CMAKE_CROSSCOMPILING "${CMAKE_CROSSCOMPILING_ORIG}")
ENDIF(NOT LMMS_HAVE_SAMPLERATE)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lmmsconfig.h.in ${CMAKE_BINARY_DIR}/lmmsconfig.h)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lmmsversion.h.in ${CMAKE_BINARY_DIR}/lmmsversion.h)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lmms.rc.in ${CMAKE_BINARY_DIR}/lmms.rc)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc.in ${CMAKE_BINARY_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc)
# set compiler flags
#SET(CMAKE_BUILD_TYPE relwithdebug)
SET(CMAKE_C_FLAGS "-O2 -g -Wall ${CMAKE_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "-O2 -g -fno-exceptions -Wall ${CMAKE_CXX_FLAGS}")
#SET(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_C_FLAGS}")
#SET(CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_CXX_FLAGS}")
# people simply updating SVN will still have this and mess up build with it
FILE(REMOVE include/lmmsconfig.h)
FILE(GLOB lmms_INCLUDES ${CMAKE_SOURCE_DIR}/include/*.h)
FILE(GLOB lmms_UI ${CMAKE_SOURCE_DIR}/src/gui/dialogs/*.ui ${CMAKE_SOURCE_DIR}/src/gui/Forms/*.ui)
FILE(GLOB_RECURSE lmms_SOURCES ${CMAKE_SOURCE_DIR}/src/*.cpp)
SET(lmms_MOC ${lmms_INCLUDES})
SET(lmms_EMBEDDED_RESOURCES ${CMAKE_SOURCE_DIR}/AUTHORS ${CMAKE_SOURCE_DIR}/COPYING)
QT4_WRAP_CPP(lmms_MOC_out ${lmms_MOC} OPTIONS -nw)
QT4_WRAP_UI(lmms_UI_out ${lmms_UI})
# embedded resources stuff
IF(WIN32 OR WIN64)
# compile buildtools native
SET(BIN2RES_CPP ${CMAKE_SOURCE_DIR}/buildtools/bin2res.cpp)
SET(BIN2RES ${CMAKE_BINARY_DIR}/bin2res)
ADD_CUSTOM_COMMAND(OUTPUT ${BIN2RES} COMMAND g++ ARGS ${BIN2RES_CPP} -o ${BIN2RES} DEPENDS ${BIN2RES_CPP})
ELSE(WIN32 OR WIN64)
ADD_EXECUTABLE(bin2res buildtools/bin2res.cpp)
GET_TARGET_PROPERTY(BIN2RES bin2res LOCATION)
ENDIF(WIN32 OR WIN64)
SET(LMMS_ER_H ${CMAKE_CURRENT_BINARY_DIR}/embedded_resources.h)
# we somehow have to make LMMS-binary depend on MOC-files
ADD_FILE_DEPENDENCIES(${CMAKE_BINARY_DIR}/lmmsconfig.h ${lmms_MOC_out})
ADD_CUSTOM_COMMAND(OUTPUT ${LMMS_ER_H} COMMAND ${BIN2RES} ARGS ${lmms_EMBEDDED_RESOURCES} > ${LMMS_ER_H} DEPENDS ${BIN2RES})
IF(WIN32)
SET(WINRC "${CMAKE_BINARY_DIR}/lmmsrc.obj")
ADD_CUSTOM_COMMAND(OUTPUT ${WINRC}
COMMAND ${WINDRES}
-I${CMAKE_SOURCE_DIR}
-o${CMAKE_BINARY_DIR}/lmmsrc.obj
-i${CMAKE_BINARY_DIR}/lmms.rc
DEPENDS ${CMAKE_BINARY_DIR}/lmms.rc)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes")
ELSE(WIN32)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -DPIC")
ENDIF(WIN32)
# make sub-directories
ADD_SUBDIRECTORY(plugins)
ADD_SUBDIRECTORY(data)
#
# build LMMS-binary
#
IF(LMMS_BUILD_WIN32)
SET(EXTRA_LIBRARIES "-lwinmm")
ENDIF()
ADD_DEFINITIONS(-D'LIB_DIR="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}/"' -D'PLUGIN_DIR="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}/lmms/"' ${PULSEAUDIO_DEFINITIONS} ${PORTAUDIO_DEFINITIONS})
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include ${SDL_INCLUDE_DIR} ${PORTAUDIO_INCLUDE_DIR} ${PULSEAUDIO_INCLUDE_DIR} ${JACK_INCLUDE_DIRS} ${OGGVORBIS_INCLUDE_DIR} ${SAMPLERATE_INCLUDE_DIRS} ${SNDFILE_INCLUDE_DIRS})
LINK_DIRECTORIES(${CMAKE_INSTALL_PREFIX}/lib ${ASOUND_LIBRARY_DIR} ${JACK_LIBRARY_DIRS} ${SAMPLERATE_LIBRARY_DIRS} ${SNDFILE_LIBRARY_DIRS})
LINK_LIBRARIES(${CMAKE_THREAD_LIBS_INIT} ${QT_LIBRARIES} ${ASOUND_LIBRARY} ${SDL_LIBRARY} ${PORTAUDIO_LIBRARIES} ${PULSEAUDIO_LIBRARIES} ${JACK_LIBRARIES} ${OGGVORBIS_LIBRARIES} ${SAMPLERATE_LIBRARIES} ${SNDFILE_LIBRARIES} ${EXTRA_LIBRARIES})
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/lmms.1.gz COMMAND gzip -c ${CMAKE_SOURCE_DIR}/lmms.1 > ${CMAKE_BINARY_DIR}/lmms.1.gz DEPENDS ${CMAKE_SOURCE_DIR}/lmms.1 COMMENT "Generating lmms.1.gz")
ADD_EXECUTABLE(lmms ${lmms_SOURCES} ${lmms_INCLUDES} ${LIBSAMPLERATE_SOURCES} ${LMMS_ER_H} ${lmms_UI_out} lmmsconfig.h lmmsversion.h ${WINRC} ${CMAKE_BINARY_DIR}/lmms.1.gz)
IF(LMMS_BUILD_WIN32)
SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -mwindows")
ADD_CUSTOM_COMMAND(TARGET lmms POST_BUILD COMMAND ${STRIP} ${CMAKE_BINARY_DIR}/lmms.exe)
INSTALL(TARGETS lmms RUNTIME DESTINATION .)
INSTALL(FILES
${MINGW_PREFIX}/bin/QtCore4.dll
${MINGW_PREFIX}/bin/QtGui4.dll
${MINGW_PREFIX}/bin/QtXml4.dll
${MINGW_PREFIX}/bin/libsndfile-1.dll
${MINGW_PREFIX}/bin/libvorbis-0.dll
${MINGW_PREFIX}/bin/libvorbisenc-2.dll
${MINGW_PREFIX}/bin/libvorbisfile-3.dll
${MINGW_PREFIX}/bin/libogg-0.dll
${MINGW_PREFIX}/bin/libfluidsynth.dll
${MINGW_PREFIX}/bin/libfftw3f-3.dll
${MINGW_PREFIX}/bin/libFLAC-8.dll
${MINGW_PREFIX}/bin/SDL.dll
${MINGW_PREFIX}/bin/libglib-2.0-0.dll
${MINGW_PREFIX}/bin/libgthread-2.0-0.dll
${MINGW_PREFIX}/bin/zlib1.dll
DESTINATION .)
ELSE(LMMS_BUILD_WIN32)
IF(NOT LMMS_BUILD_APPLE)
SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Wl,-E")
ENDIF(NOT LMMS_BUILD_APPLE)
INSTALL(TARGETS lmms RUNTIME DESTINATION bin)
INSTALL(FILES ${CMAKE_BINARY_DIR}/lmms.1.gz DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1/ PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
ENDIF(LMMS_BUILD_WIN32)
#
# rules for building localizations
#
FILE(GLOB lmms_LOCALES data/locale/*.ts)
SET(ts_targets "")
SET(qm_targets "")
FOREACH(_ts_file ${lmms_LOCALES})
STRING(REPLACE "${CMAKE_SOURCE_DIR}/data/locale/" "" _ts_target "${_ts_file}")
STRING(REPLACE ".ts" ".qm" _qm_file "${_ts_file}")
STRING(REPLACE ".ts" ".qm" _qm_target "${_ts_target}")
ADD_CUSTOM_TARGET(${_ts_target} COMMAND ${QT_LUPDATE_EXECUTABLE} -locations none -no-obsolete ${lmms_SOURCES} ${lmms_UI} `find ${CMAKE_SOURCE_DIR}/plugins/ -type f -name '*.cpp'` -ts ${_ts_file})
ADD_CUSTOM_TARGET(${_qm_target} COMMAND ${QT_LRELEASE_EXECUTABLE} ${_ts_file} -qm ${_qm_file})
LIST(APPEND ts_targets "${_ts_target}")
LIST(APPEND qm_targets "${_qm_target}")
ENDFOREACH(_ts_file ${lmms_LOCALES})
ADD_CUSTOM_TARGET(update-locales)
FOREACH(_item ${ts_targets})
ADD_DEPENDENCIES(update-locales ${_item})
ENDFOREACH(_item ${ts_targets})
ADD_CUSTOM_TARGET(finalize-locales)
FOREACH(_item ${qm_targets})
ADD_DEPENDENCIES(finalize-locales ${_item})
ENDFOREACH(_item ${qm_targets})
# install headers
IF(LMMS_BUILD_LINUX)
INSTALL(FILES ${lmms_INCLUDES} ${CMAKE_BINARY_DIR}/lmmsconfig.h ${CMAKE_BINARY_DIR}/lmmsversion.h ${CMAKE_SOURCE_DIR}/src/gui/embed.cpp DESTINATION ${CMAKE_INSTALL_PREFIX}/include/lmms/)
IF(NOT LMMS_HAVE_SAMPLERATE)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/samplerate.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/lmms/)
ENDIF(NOT LMMS_HAVE_SAMPLERATE)
ENDIF(LMMS_BUILD_LINUX)
# package ZynAddSubFX into win32 build
IF(LMMS_BUILD_WIN32)
IF(EXISTS ${CMAKE_SOURCE_DIR}/extras)
ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/extras/data/presets)
FILE(GLOB ZASF_BINARIES ${CMAKE_SOURCE_DIR}/extras/plugins/zynaddsubfx/zynaddsubfx.dll ${CMAKE_SOURCE_DIR}/extras/plugins/zynaddsubfx/remote_zynaddsubfx.exe)
INSTALL(FILES ${ZASF_BINARIES} DESTINATION ${PLUGIN_DIR})
ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/extras)
ENDIF(LMMS_BUILD_WIN32)
#
# add distclean-target
#
ADD_CUSTOM_TARGET(distclean
COMMAND make clean
COMMAND rm -rf `find -name cmake_install.cmake` `find -name Makefile` `find -type d -name CMakeFiles` CMakeCache.txt lmmsconfig.h lmms.1.gz)
#
# add tarball-target
#
SET(TMP "lmms-${VERSION}")
ADD_CUSTOM_TARGET(dist
COMMAND make clean
COMMAND rm -rf ${TMP}
COMMAND mkdir -p ${TMP}
COMMAND cp AUTHORS build_mingw32 build_mingw64 CMakeLists.txt configure COPYING INSTALL lmms.1 lmms.rc.in lmms.spec.in lmmsconfig.h.in lmmsversion.h.in README TODO ${TMP}
COMMAND cp -r buildtools cmake data include plugins src ${TMP}
COMMAND rm -rf `find ${TMP} -type d -name ".svn"` `find ${TMP} -name cmake_install.cmake` `find ${TMP} -name Makefile` `find ${TMP} -type d -name CMakeFiles` ${TMP}/CMakeCache.txt
COMMAND tar cjf lmms-${VERSION}.tar.bz2 ${TMP}
COMMAND rm -rf ${TMP})
#
# add win32-pkg-target (deprecated - use "package" target instead)
#
ADD_CUSTOM_TARGET(win32-pkg
COMMAND mkdir -p tmp/lmms/data
COMMAND mkdir -p tmp/lmms/plugins/ladspa/
COMMAND cp lmms.exe tmp/lmms
COMMAND find plugins/ -maxdepth 2 -name '*.dll' -exec cp '{}' tmp/lmms/plugins/ "';'"
COMMAND rm tmp/lmms/plugins/caps.dll
COMMAND rm tmp/lmms/plugins/tap*.dll
COMMAND cp plugins/ladspa_effect/caps/caps.dll tmp/lmms/plugins/ladspa/
COMMAND cp plugins/ladspa_effect/tap/tap*.dll tmp/lmms/plugins/ladspa/
COMMAND cd data && make DESTDIR=${CMAKE_BINARY_DIR}/tmp/lmms/ install
COMMAND mv tmp/lmms/opt/mingw32/share/lmms/* tmp/lmms/data/ && rm -rf tmp/lmms/opt
COMMAND cp /opt/mingw32/bin/QtCore4.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/QtGui4.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/QtXml4.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libz.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libsndfile-1.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libvorbis*.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libogg-0.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libfluidsynth-1.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libfftw3f-3.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/SDL.dll tmp/lmms
COMMAND cp /opt/mingw32/i586-mingw32/bin/mingwm10.dll tmp/lmms
COMMAND cp -L ${CMAKE_SOURCE_DIR}/COPYING tmp/lmms/LICENSE.TXT
COMMAND cp -L ${CMAKE_SOURCE_DIR}/README tmp/lmms/README.TXT
COMMAND ${STRIP} tmp/lmms/lmms.exe tmp/lmms/plugins/*.dll tmp/lmms/plugins/ladspa/*.dll
COMMAND mv tmp/lmms tmp/lmms-${VERSION}
COMMAND cd tmp && zip -r -9 ../lmms-${VERSION}-bin-win32.zip lmms-${VERSION}/*
COMMAND rm -rf tmp
)
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LMMS_ER_H} ${lmms_MOC_out} ${lmms_UI_out} lmmsconfig.h lmms.1.gz")
#
# display configuration information
#
MESSAGE("\n"
"Installation Summary\n"
"--------------------\n"
"* Install Directory : ${CMAKE_INSTALL_PREFIX}\n"
#"* Build type : ${CMAKE_BUILD_TYPE}\n"
"* Use system's libsamplerate : ${LMMS_HAVE_SAMPLERATE}\n"
)
MESSAGE(
"Supported audio interfaces\n"
"--------------------------\n"
"* ALSA : ${STATUS_ALSA}\n"
"* JACK : ${STATUS_JACK}\n"
"* OSS : ${STATUS_OSS}\n"
#"* PortAudio : ${STATUS_PORTAUDIO}\n"
"* PulseAudio : ${STATUS_PULSEAUDIO}\n"
"* SDL : ${STATUS_SDL}\n"
)
MESSAGE(
"Supported MIDI interfaces\n"
"-------------------------\n"
"* ALSA : ${STATUS_ALSA}\n"
"* OSS : ${STATUS_OSS}\n"
"* WinMM : ${STATUS_WINMM}\n"
)
MESSAGE(
"Supported file formats for project export\n"
"-----------------------------------------\n"
"* WAVE : OK\n"
"* OGG/VORBIS : ${STATUS_OGGVORBIS}\n"
)
MESSAGE(
"Optional plugins\n"
"----------------\n"
"* SoundFont2 player : ${STATUS_FLUIDSYNTH}\n"
"* Stk Mallets : ${STATUS_STK}\n"
"* VST-instrument hoster : ${STATUS_VST}\n"
"* VST-effect hoster : ${STATUS_VST}\n"
"* SpectrumAnalyzer : ${STATUS_FFTW3F}\n"
"* CALF LADSPA plugins : ${STATUS_CALF}\n"
"* CAPS LADSPA plugins : ${STATUS_CAPS}\n"
"* CMT LADSPA plugins : ${STATUS_CMT}\n"
"* TAP LADSPA plugins : ${STATUS_TAP}\n"
"* SWH LADSPA plugins : ${STATUS_SWH}\n"
"* ZynAddSubFX : ${STATUS_FFTW3F}\n"
)
MESSAGE(
"\n"
"-----------------------------------------------------------------\n"
"IMPORTANT:\n"
"after installing missing packages, remove CMakeCache.txt before\n"
"running cmake again!\n"
"-----------------------------------------------------------------\n"
"\n\n")
INCLUDE(InstallRequiredSystemLibraries)
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Linux MultiMedia Studio - easy music production for everyone!")
SET(CPACK_PACKAGE_VENDOR "LMMS Developers")
IF(LMMS_BUILD_APPLE)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/README ${CMAKE_BINARY_DIR}/README.txt COPYONLY)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/COPYING ${CMAKE_BINARY_DIR}/COPYING.txt COPYONLY)
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_BINARY_DIR}/README.txt")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_BINARY_DIR}/COPYING.txt")
ELSE(LMMS_BUILD_APPLE)
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
ENDIF(LMMS_BUILD_APPLE)
SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
IF(VERSION_SUFFIX)
SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}-${VERSION_SUFFIX}")
ENDIF(VERSION_SUFFIX)
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "LMMS ${VERSION}")
IF(WIN32)
SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/data/nsis_branding.bmp")
SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/data/lmms.ico")
SET(CPACK_NSIS_INSTALLED_ICON_NAME "lmms.exe")
SET(CPACK_NSIS_DISPLAY_NAME "Linux MultiMedia Studio (LMMS)")
SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lmms.sourceforge.net")
SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lmms.sourceforge.net")
SET(CPACK_NSIS_CONTACT "lmms-devel@lists.sourceforge.net")
SET(CPACK_PACKAGE_EXECUTABLES "lmms.exe;Linux MultiMedia Studio")
SET(CPACK_NSIS_MENU_LINKS "lmms.exe;Linux MultiMedia Studio")
SET(CPACK_NSIS_DEFINES "!include ${CMAKE_SOURCE_DIR}/cmake/nsis/FileAssociation.nsh")
SET(CPACK_PACKAGE_FILE_NAME "lmms-${VERSION}-win32")
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
\\\${registerExtension} \\\"$INSTDIR\\\\lmms.exe\\\" \\\".mmp\\\" \\\"LMMS Project\\\"
\\\${registerExtension} \\\"$INSTDIR\\\\lmms.exe\\\" \\\".mmpz\\\" \\\"LMMS Project (compressed)\\\"
")
SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
\\\${unregisterExtension} \\\".mmp\\\" \\\"LMMS Project\\\"
\\\${unregisterExtension} \\\".mmpz\\\" \\\"LMMS Project (compressed)\\\"
")
ELSE(WIN32)
SET(CPACK_STRIP_FILES "bin/lmms;${PLUGIN_DIR}/*.so")
SET(CPACK_PACKAGE_EXECUTABLES "lmms" "LMMS binary")
ENDIF(WIN32)
IF(WIN64)
SET(CPACK_PACKAGE_FILE_NAME "lmms-${VERSION}-win64")
SET(CPACK_NSIS_DEFINES "${CPACK_NSIS_DEFINES}
InstallDir \\\"\\\$PROGRAMFILES64\\\\${CPACK_PACKAGE_INSTALL_DIRECTORY}\\\"")
ENDIF(WIN64)
SET(MACOSX_BUNDLE_ICON_FILE "${CMAKE_SOURCE_DIR}/data/themes/default/icon.png")
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "LMMS")
SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${VERSION}")
SET(MACOSX_BUNDLE_BUNDLE_NAME "Linux MultiMedia Studio")
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}")
SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}")
SET(MACOSX_BUNDLE_COPYRIGHT "Tobias Doerffel, 2008-2010")
SET(CPACK_SOURCE_GENERATOR "TBZ2")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "lmms-${VERSION}")
INCLUDE(CPack)

7576
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

204
INSTALL
View File

@@ -1,30 +1,192 @@
Building LMMS got quite simple since 0.4.0 as everything is managed
by cmake now. Therefore make sure you have CMake (>= 2.6.0 recommended) and
then run
Quick Instructions
==================
Go to the directory containing the package's source code and type:
mkdir build
cd build
cmake ../
make
sudo make install
autoreconf -is
./configure
make install
lmms
This way an out-of-tree build is performed. You can also run "cmake ." directly
in the root of source-tree although this is not recommended. When performing an
out-of-tree build after there's already an in-tree build, make sure to run
"make distclean" before running cmake inside build-directory.
Basic Installation
==================
If you want to use custom compiler flags simply set the environment variables
CFLAGS and CXXFLAGS.
These are generic installation instructions.
After running cmake (the 3rd command above) you can see a summary of things
that are going to be built into LMMS or built as plugins. Install the
according libraries and development files if a certain feature is not enabled.
Then remove CMakeCache.txt and run cmake again.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you want to supply an install prefix to cmake, add the flag:
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
-DCMAKE_INSTALL_PREFIX=<prefix>
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
Where <prefix> can be /usr, /usr/local, /opt, etc. The default is /usr/local.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

430
Makefile.am Normal file
View File

@@ -0,0 +1,430 @@
AUTOMAKE_OPTIONS = foreign 1.4
ACLOCAL_AMFLAGS = -I m4
dist-hook:
rm -rf `find $(distdir) -name \*.moc`
#install-exec-hook:
# cd $(DESTDIR)$(bindir) ; \
# strip lmms
if HAVE_RPM
$(PACKAGE)-$(VERSION).tar.gz: dist
# Rule to build RPM distribution package
rpm: $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE).spec
cp $(PACKAGE)-$(VERSION).tar.gz @RPMSOURCEDIR@
rpmbuild -ba $(PACKAGE).spec
endif
SUBDIRS = buildtools data plugins
INCLUDES = -I$(srcdir)/include -I.
#-I/usr/include/wine -I/usr/include/wine/windows
bin_PROGRAMS = lmms
AM_CXXFLAGS := $(AM_CXXFLAGS) $(QT_CXXFLAGS)
%.moc: $(srcdir)/include/%.h
$(MOC) -o $@ $<
%.ts:
$(LUPDATE) $(lmms_SOURCES) `find plugins/ -type f -name "*.cpp"` -ts data/locale/$@
%.qm: %.ts
$(LRELEASE) $<
man1_MANS = lmms.1
lmms_MOC = \
./about_dialog.moc \
./arp_and_chords_tab_widget.moc \
./automatable_button.moc \
./automatable_slider.moc \
./automation_editor.moc \
./automation_pattern.moc \
./automation_track.moc \
./bb_editor.moc \
./bb_track.moc \
./instrument_track.moc \
./combobox.moc \
./config_mgr.moc \
./cpuload_widget.moc \
./effect_control_dialog.moc \
./effect_label.moc \
./effect_select_dialog.moc \
./effect_tab_widget.moc \
./envelope_and_lfo_widget.moc \
./envelope_tab_widget.moc \
./export_project_dialog.moc \
./fade_button.moc \
./file_browser.moc \
./group_box.moc \
./kmultitabbar.moc \
./kmultitabbar-qt3.moc \
./knob.moc \
./lcd_spinbox.moc \
./led_checkbox.moc \
./main_window.moc \
./mixer.moc \
./name_label.moc \
./nstate_button.moc \
./meter_dialog.moc \
./midi_alsa_seq.moc \
./midi_tab_widget.moc \
./pattern.moc \
./piano_roll.moc \
./piano_widget.moc \
./pixmap_button.moc \
./plugin_browser.moc \
./project_notes.moc \
./rack_plugin.moc \
./rack_view.moc \
./rubberband.moc \
./qxembed.moc \
./rename_dialog.moc \
./sample_buffer.moc \
./sample_play_handle.moc \
./sample_track.moc \
./setup_dialog.moc \
./side_bar.moc \
./side_bar_widget.moc \
./song_editor.moc \
./surround_area.moc \
./tab_bar.moc \
./tab_button.moc \
./tab_widget.moc \
./tempo_sync_knob.moc \
./timeline.moc \
./tool_button.moc \
./track_container.moc \
./track.moc \
./visualization_widget.moc \
./volume_knob.moc
BUILT_SOURCES = $(lmms_MOC)
lmms_EMBEDDED_RESOURCES = $(srcdir)/AUTHORS $(srcdir)/COPYING
./embedded_resources.h: $(lmms_EMBEDDED_RESOURCES)
$(BIN2RES) $(lmms_EMBEDDED_RESOURCES) > $@
./embed.o: ./embedded_resources.h
if USE_3RDPARTY_LIBSRC
LIBSAMPLERATE_SOURCES= $(srcdir)/src/3rdparty/samplerate/samplerate.c \
$(srcdir)/src/3rdparty/samplerate/samplerate.h \
$(srcdir)/src/3rdparty/samplerate/src_sinc.c \
$(srcdir)/src/3rdparty/samplerate/high_qual_coeffs.h \
$(srcdir)/src/3rdparty/samplerate/mid_qual_coeffs.h \
$(srcdir)/src/3rdparty/samplerate/fastest_coeffs.h \
$(srcdir)/src/3rdparty/samplerate/common.h \
$(srcdir)/src/3rdparty/samplerate/float_cast.h \
$(srcdir)/src/3rdparty/samplerate/src_zoh.c \
$(srcdir)/src/3rdparty/samplerate/src_linear.c
endif
THIRD_PARTY_CODE=$(LIBSAMPLERATE_SOURCES)
lmms_SOURCES = \
$(srcdir)/src/audio/audio_alsa.cpp \
$(srcdir)/src/audio/audio_device.cpp \
$(srcdir)/src/audio/audio_file_device.cpp \
$(srcdir)/src/audio/audio_file_ogg.cpp \
$(srcdir)/src/audio/audio_file_wave.cpp \
$(srcdir)/src/audio/audio_jack.cpp \
$(srcdir)/src/audio/audio_oss.cpp \
$(srcdir)/src/audio/audio_port.cpp \
$(srcdir)/src/audio/audio_sample_recorder.cpp \
$(srcdir)/src/audio/audio_sdl.cpp \
$(srcdir)/src/core/about_dialog.cpp \
$(srcdir)/src/core/arp_and_chords_tab_widget.cpp \
$(srcdir)/src/core/automation_editor.cpp \
$(srcdir)/src/core/automation_pattern.cpp \
$(srcdir)/src/core/bb_editor.cpp \
$(srcdir)/src/core/config_mgr.cpp \
$(srcdir)/src/core/effect_chain.cpp \
$(srcdir)/src/core/effect_control_dialog.cpp \
$(srcdir)/src/core/effect_select_dialog.cpp \
$(srcdir)/src/core/effect_tab_widget.cpp \
$(srcdir)/src/core/effect.cpp \
$(srcdir)/src/core/engine.cpp \
$(srcdir)/src/core/envelope_and_lfo_widget.cpp \
$(srcdir)/src/core/envelope_tab_widget.cpp \
$(srcdir)/src/core/export_project_dialog.cpp \
$(srcdir)/src/core/file_browser.cpp \
$(srcdir)/src/core/import_filter.cpp \
$(srcdir)/src/core/instrument.cpp \
$(srcdir)/src/core/main_window.cpp \
$(srcdir)/src/core/main.cpp \
$(srcdir)/src/core/meter_dialog.cpp \
$(srcdir)/src/core/midi_tab_widget.cpp \
$(srcdir)/src/core/mixer.cpp \
$(srcdir)/src/core/name_label.cpp \
$(srcdir)/src/core/note.cpp \
$(srcdir)/src/core/note_play_handle.cpp \
$(srcdir)/src/core/piano_roll.cpp \
$(srcdir)/src/core/piano_widget.cpp \
$(srcdir)/src/core/plugin.cpp \
$(srcdir)/src/core/plugin_browser.cpp \
$(srcdir)/src/core/preset_preview_play_handle.cpp \
$(srcdir)/src/core/sample_play_handle.cpp \
$(srcdir)/src/core/setup_dialog.cpp \
$(srcdir)/src/core/song_editor.cpp \
$(srcdir)/src/core/tool.cpp \
$(srcdir)/src/core/track.cpp \
$(srcdir)/src/core/track_container.cpp \
$(srcdir)/src/core/surround_area.cpp \
$(srcdir)/src/core/timeline.cpp \
$(srcdir)/src/lib/base64.cpp \
$(srcdir)/src/lib/clipboard.cpp \
$(srcdir)/src/lib/journalling_object.cpp \
$(srcdir)/src/lib/project_journal.cpp \
$(srcdir)/src/lib/project_version.cpp \
$(srcdir)/src/lib/embed.cpp \
$(srcdir)/src/lib/mmp.cpp \
$(srcdir)/src/lib/oscillator.cpp \
$(srcdir)/src/lib/drumsynth.cpp \
$(srcdir)/src/lib/sample_buffer.cpp \
$(srcdir)/src/lib/string_pair_drag.cpp \
$(srcdir)/src/midi/midi_alsa_raw.cpp \
$(srcdir)/src/midi/midi_alsa_seq.cpp \
$(srcdir)/src/midi/midi_client.cpp \
$(srcdir)/src/midi/midi_mapper.cpp \
$(srcdir)/src/midi/midi_oss.cpp \
$(srcdir)/src/midi/midi_port.cpp \
$(srcdir)/src/tracks/automation_track.cpp \
$(srcdir)/src/tracks/bb_track.cpp \
$(srcdir)/src/tracks/instrument_track.cpp \
$(srcdir)/src/tracks/pattern.cpp \
$(srcdir)/src/tracks/sample_track.cpp \
$(srcdir)/src/widgets/automatable_button.cpp \
$(srcdir)/src/widgets/automatable_slider.cpp \
$(srcdir)/src/widgets/combobox.cpp \
$(srcdir)/src/widgets/cpuload_widget.cpp \
$(srcdir)/src/widgets/effect_label.cpp \
$(srcdir)/src/widgets/fade_button.cpp \
$(srcdir)/src/widgets/group_box.cpp \
$(srcdir)/src/widgets/kmultitabbar.cpp \
$(srcdir)/src/widgets/knob.cpp \
$(srcdir)/src/widgets/lcd_spinbox.cpp \
$(srcdir)/src/widgets/led_checkbox.cpp \
$(srcdir)/src/widgets/nstate_button.cpp \
$(srcdir)/src/widgets/pixmap_button.cpp \
$(srcdir)/src/widgets/project_notes.cpp \
$(srcdir)/src/widgets/rack_plugin.cpp \
$(srcdir)/src/widgets/rack_view.cpp \
$(srcdir)/src/widgets/rubberband.cpp \
$(srcdir)/src/widgets/qxembed.cpp \
$(srcdir)/src/widgets/rename_dialog.cpp \
$(srcdir)/src/widgets/side_bar_widget.cpp \
$(srcdir)/src/widgets/tab_bar.cpp \
$(srcdir)/src/widgets/tab_widget.cpp \
$(srcdir)/src/widgets/text_float.cpp \
$(srcdir)/src/widgets/tempo_sync_knob.cpp \
$(srcdir)/src/widgets/tool_button.cpp \
$(srcdir)/src/widgets/tooltip.cpp \
$(srcdir)/src/widgets/visualization_widget.cpp \
$(srcdir)/src/widgets/volume_knob.cpp \
$(srcdir)/src/lmms_single_source.cpp \
$(srcdir)/include/aeffectx.h \
$(srcdir)/include/debug.h \
$(srcdir)/include/detuning_helper.h \
$(srcdir)/include/main_window.h \
$(srcdir)/include/audio_alsa.h \
$(srcdir)/include/audio_device.h \
$(srcdir)/include/audio_dummy.h \
$(srcdir)/include/audio_file_device.h \
$(srcdir)/include/audio_file_ogg.h \
$(srcdir)/include/audio_file_wave.h \
$(srcdir)/include/audio_jack.h \
$(srcdir)/include/audio_oss.h \
$(srcdir)/include/audio_sample_recorder.h \
$(srcdir)/include/audio_sdl.h \
$(srcdir)/include/automation_editor.h \
$(srcdir)/include/automation_pattern.h \
$(srcdir)/include/automation_track.h \
$(srcdir)/include/interpolation.h \
$(srcdir)/include/lmms_constants.h \
$(srcdir)/include/lmms_math.h \
$(srcdir)/include/mixer.h \
$(srcdir)/include/pattern.h \
$(srcdir)/include/instrument_track.h \
$(srcdir)/include/note.h \
$(srcdir)/include/volume.h \
$(srcdir)/include/panning.h \
$(srcdir)/include/song_editor.h \
$(srcdir)/include/plugin.h \
$(srcdir)/include/instrument.h \
$(srcdir)/include/bb_editor.h \
$(srcdir)/include/piano_widget.h \
$(srcdir)/include/effect_board.h \
$(srcdir)/include/pixmap_button.h \
$(srcdir)/include/rename_dialog.h \
$(srcdir)/include/export_project_dialog.h \
$(srcdir)/include/note_play_handle.h \
$(srcdir)/include/piano_roll.h \
$(srcdir)/include/basic_filters.h \
$(srcdir)/include/envelope_tab_widget.h \
$(srcdir)/include/envelope_and_lfo_widget.h \
$(srcdir)/include/about_dialog.h \
$(srcdir)/include/oscillator.h \
$(srcdir)/include/arp_and_chords_tab_widget.h \
$(srcdir)/include/export.h \
$(srcdir)/include/group_box.h \
$(srcdir)/include/tab_widget.h \
$(srcdir)/include/knob.h \
$(srcdir)/include/file_browser.h \
$(srcdir)/include/plugin_browser.h \
$(srcdir)/include/templates.h \
$(srcdir)/include/gui_templates.h \
$(srcdir)/include/surround_area.h \
$(srcdir)/include/kmultitabbar.h \
$(srcdir)/include/kmultitabbar-qt3.h \
$(srcdir)/include/side_bar.h \
$(srcdir)/include/side_bar_widget.h \
$(srcdir)/include/track.h \
$(srcdir)/include/track_container.h \
$(srcdir)/include/bb_track.h \
$(srcdir)/include/sample_track.h \
$(srcdir)/include/drumsynth.h \
$(srcdir)/include/sample_buffer.h \
$(srcdir)/include/name_label.h \
$(srcdir)/include/play_handle.h \
$(srcdir)/include/mmp.h \
$(srcdir)/include/midi.h \
$(srcdir)/include/midi_alsa_raw.h \
$(srcdir)/include/midi_client.h \
$(srcdir)/include/midi_event_processor.h \
$(srcdir)/include/midi_oss.h \
$(srcdir)/include/midi_port.h \
$(srcdir)/include/midi_time.h \
$(srcdir)/include/clipboard.h \
$(srcdir)/include/types.h \
$(srcdir)/include/update_event.h \
$(srcdir)/include/qt3support.h \
$(srcdir)/include/embed.h \
$(srcdir)/include/timeline.h \
$(srcdir)/include/config_mgr.h \
$(srcdir)/include/spc_bg_hndl_widget.h \
$(srcdir)/include/tab_bar.h \
$(srcdir)/include/tab_button.h \
$(srcdir)/include/project_notes.h \
$(srcdir)/include/project_version.h \
$(srcdir)/include/visualization_widget.h \
$(srcdir)/include/endian_handling.h \
$(srcdir)/include/preset_preview_play_handle.h \
$(srcdir)/include/sample_play_handle.h \
$(srcdir)/include/nstate_button.h \
$(srcdir)/include/midi_dummy.h \
$(srcdir)/include/midi_mapper.h \
$(srcdir)/include/lcd_spinbox.h \
$(srcdir)/include/tooltip.h \
$(srcdir)/include/automatable_button.h \
$(srcdir)/include/automatable_slider.h \
$(srcdir)/include/led_checkbox.h \
$(srcdir)/include/text_float.h \
$(srcdir)/include/tempo_sync_knob.h \
$(srcdir)/include/volume_knob.h \
$(srcdir)/include/setup_dialog.h \
$(srcdir)/include/dummy_plugin.h \
$(srcdir)/include/dummy_instrument.h \
$(srcdir)/include/instrument_play_handle.h \
$(srcdir)/include/string_pair_drag.h \
$(srcdir)/include/midi_tab_widget.h \
$(srcdir)/include/audio_port.h \
$(srcdir)/include/tool.h \
$(srcdir)/include/tool_button.h \
$(srcdir)/include/cpuload_widget.h \
$(srcdir)/include/custom_events.h \
$(srcdir)/include/midi_alsa_seq.h \
$(srcdir)/include/micro_timer.h \
$(srcdir)/include/fade_button.h \
$(srcdir)/include/fifo_buffer.h \
$(srcdir)/include/combobox.h \
$(srcdir)/include/rubberband.h \
$(srcdir)/include/base64.h \
$(srcdir)/include/automatable_object.h \
$(srcdir)/include/automatable_object_templates.h \
$(srcdir)/include/journalling_object.h \
$(srcdir)/include/level_object.h \
$(srcdir)/include/project_journal.h \
$(srcdir)/include/shared_object.h \
$(srcdir)/include/import_filter.h \
$(srcdir)/include/engine.h \
$(srcdir)/include/effect.h \
$(srcdir)/include/effect_chain.h \
$(srcdir)/include/effect_control_dialog.h \
$(srcdir)/include/effect_label.h \
$(srcdir)/include/effect_tab_widget.h \
$(srcdir)/include/rack_plugin.h \
$(srcdir)/include/rack_view.h \
$(srcdir)/include/effect_select_dialog.h \
$(srcdir)/include/dummy_effect.h \
$(srcdir)/include/ladspa-1.1.h \
$(srcdir)/include/sweep_oscillator.h \
$(srcdir)/include/meter_dialog.h \
$(srcdir)/include/qxembed.h \
$(srcdir)/include/effect_lib.h \
$(srcdir)/include/xqmap.h \
$(THIRD_PARTY_CODE)
EXTRA_DIST = $(lmms_EMBEDDED_RESOURCES) lmms.1
CLEANFILES = $(lmms_MOC) ./embedded_resources.h
if HAVE_LIBSDL
LIB_SDL_LDADD = -lSDL
endif
if HAVE_LIBSDL_SOUND
LIB_SDL_SOUND_LDADD = -lSDL_sound
endif
if HAVE_LIBASOUND
LIB_ASOUND_LDADD = -lasound
endif
if HAVE_LIBJACK
LIB_JACK_LDADD = -ljack
endif
if HAVE_LIBVORBIS
LIB_VORBIS_LDADD = -lvorbis -lvorbisenc -lvorbisfile
endif
if USE_3RDPARTY_LIBSRC
else
LIB_SRC_LDADD = -lsamplerate
endif
if HAVE_LIBSF
LIB_SF_LDADD = -lsndfile
endif
if LADSPA_SUPPORT
LIB_LADSPABASE_LDADD = -Lplugins/ladspa_base -lladspabase
endif
lmms_LDADD = $(QT_LDADD) $(LIB_SDL_LDADD) $(LIB_ASOUND_LDADD) $(LIB_JACK_LDADD) $(LIB_SDL_SOUND_LDADD) $(LIB_VORBIS_LDADD) $(LIB_SRC_LDADD) $(LIB_SF_LDADD) $(LIB_LADSPABASE_LDADD)
if BUILD_LINUX
lmms_LDFLAGS = -rdynamic
endif
#-rpath $(pkglibdir)

22
Makefile.svn Normal file
View File

@@ -0,0 +1,22 @@
all:
@echo
@echo Creating neccessary files for configuring and building LMMS
@echo
@echo \ \* Creating aclocal.m4
@aclocal
@echo \ \* Running libtoolize
@libtoolize -c -f
@echo \ \* Creating config.h.in
@autoheader
@echo \ \* Creating Makefile templates
@automake -ac
@echo \ \* Creating configure
@autoconf
@echo \ \* Cleaning up
@rm -rf autom4te.cache/
@echo
@echo ...done\! If something failed make sure you\'ve installed autoconf,
@echo automake and libtool.
@echo Otherwise you can run now configure \(if you did not so far\) and then make.
@echo

48
README
View File

@@ -1,7 +1,7 @@
Linux MultiMedia Studio 0.4.9
Linux MultiMedia Studio 0.3.0
==============================
Copyright (c) 2004-2010 by LMMS-developers
Copyright (c) 2004-2007 by LMMS-developers
This program is free software; you can redistribute it and/or modify
@@ -20,23 +20,21 @@ with this program; if not, write to the Free Software Foundation, Inc.,
What is LMMS?
What is LMMS??
--------------
LMMS is a free cross-platform alternative to commercial programs like FL Studio (R), which allow you to produce music with your computer. This includes the creation of melodies and beats, the synthesis and mixing of sounds, and arranging of samples. You can have fun with your MIDI-keyboard and much more; all in a user-friendly and modern interface.
LMMS aims to be a free alternative to popular (but commercial and closed-
source) programs like FruityLoops, Cubase and Logic giving you the ability of
producing music with your computer by creating/synthesizing sounds, arranging
samples, using effects, playing live with keyboard and much more...
LMMS combines the features of a sequencer-program (pattern-/channel-/
sample-/song-/effect-management) and those of powerful synthesizers and
samplers in a modern, user-friendly and easy to use graphical user-interface.
Features
---------
LMMS is still in heavy development, so with this version please don't expect a
complete, ready and bugfree program!!
* Song-Editor for composing songs
* A Beat+Bassline-Editor for creating beats and basslines
* An easy-to-use Piano-Roll for editing patterns and melodies
* An FX mixer with 64 FX channels and arbitrary number of effects allow unlimited mixing possibilities
* Many powerful instrument and effect-plugins out of the box
* Full user-defined track-based automation and computer-controlled automation sources
* Compatible with many standards such as SoundFont2, VST(i), LADSPA, GUS Patches, and full MIDI support
* Import of MIDI and FLP (Fruityloops(R) Project) files
Requirements
@@ -49,19 +47,20 @@ least 500 MHz, but for really enjoying LMMS less than 1 GHz makes no sense...
Required libraries:
- Qt >= 4.3.0 with devel-files (4.4.x recommended)
- multithreaded version of Qt 3.0 (at least 3.2 recommended) or higher with
devel-files
Optional, but strongly recommended:
- JACK with devel-files
- libvorbis & libogg with devel-files
- libvorbis with devel-files
- libalsa with devel-files
- SDL_sound (tested with 0.1.5 & 1.0.1) with devel-files
- SDL with devel-files
- libsamplerate >= 0.1.7 with devel-files
- libsamplerate with devel-files
- libsndfile with devel-files
- WINE + WINE-devel-files
- stk, libstk + libstk-dev
- libfluidsynth with devel files
- fftw3 with devel-files
- festival-devel-files and default-voice
For compiling you should have an up to date GCC with g++.
@@ -72,10 +71,17 @@ below)!
Building
---------
--------
See INSTALL for information on how to build LMMS.
Please also take a look at
./configure --help
There you'll see a lot of options which partly might be interesting for you.
For example if you want to build LMMS with VST-support, you have to run
configure with --with-vst switch. Otherwise LMMS support won't be built!
@@ -83,7 +89,7 @@ Join LMMS-development
----------------------
If you are interested in LMMS, it's programming, artwork, testing, writing
demo-songs, (and improving this README...) or something like that,
demo-songs, (and improving this f**** README...) or something like that,
you're welcome to participate on the development of LMMS!
The project-homepage of LMMS, mailingslists and a list of things you can do

78
TODO
View File

@@ -1,32 +1,54 @@
Version 0.4.x
=============
- save tco-settings in trackContentWidget::saveSettings() etc. instead of
track::...
- resample sample-track-tcos when exporting at different samplerate
- message to user when importing unsupported MIDI-file (track-count = 0)
- piano roll: mouse cursor isn't updated correctly in selection mode
(from resizing note edit area)
- when you add vestige, have it automatically pop the find VST plugin dialog
- try to make vestige-plugin-dlls relative
- select all MIDI devices by default when you bring up the "connect to controller"
window and wait for first event - then uncheck all other MIDI devices that no
events were detected from
- load asdlol.mmpz. if you render it without playing it, or if you play it
the first time, you hear unwanted artifacts. (solution: apply automation
before playing)
- autosave every 30s (configurable!) and offer recovery at startup after crash
- speed up painting of sampleTCO
- do not process effects when playing frozen patterns
- copy-pasted automation patterns have to be manually linked back to
their knob for some reason
- improve TrackLabelButton: split 80%-20% (80%=name, 20%=button showing a popup
menu with track operations, make the midi input a top-level menu item)
- when you click and drag a mixer bar, it doesn't click and drag, it sets
absolutely. this is annoying
- select number of channels in export-project-dialog
- MIDI over Ethernet support
- try to make vestige-plugin-dlls relative
- do song-editor-tempo-connection to vst-plugin inside remoteVSTPlugin
- add/remove-steps button in bb-editor for adding/removing according number of steps to/from all patterns of visible beat/baseline
- replace rest of wizard by simple directory-selection-dialog for working-dir when running the first time
- correctly load steps/dots from FLP-files
- convert FL-Plucked!-parameters to Vibed-parameters
- in flp-import-filter: merge play-list-items if possible
- integrated sample-browser in context-menu of sample-track/-tco
- make note able of journalling
- before calling undoStep/redoStep from journallingObject, save journalling-state-context and disabled journalling, restore afterwards
- intelligent journal-entry-merging
- undo/redo-support in note/track etc.
- save tco-settings in trackContentWidget::saveSettings() etc. instead of track::...
- restore stacking-order of windows when loading project
- bristol-bindings?
- resample sample-track-tcos when using hq-mode
- add support for panes-interface (like blender) (instead of MDI etc.)
- message to user when importing unsupported MIDI-file (track-count = 0)
- AMS/OMS-bindings
- remove binary-embed-system (Qt4-resource-system?)
- recording-functionality
- do not hang when saving while loading VST-plugin (because then we call dispatcher while the load-process is still going on)
- tempo-recogn. and sync of beat-samples
- separate GUI and data/sound-processing-code
- make color-scheme switchable: LMMS / user
- autosave every 30s (configurable!) and offer recovery at startup after crash
- make piano-roll use rubberband instead of implementing a simple one on it's own
- level-meters in output-graph and instrument-track
- MIDI-program/MIDI-mapping/process program-/channel-change-events from MIDI-files
- DSSI-support
- use drawLineF() for drawing notes in pattern::paintEvent() in qt4-version
- only redraw region given by paint-event in pattern, bbTCO, sampleTCO etc.
- pre-listen when opening sample with QFileDialog
- panning-editing in piano-roll
- speed up painting of sampleTCO
- panning env+lfo
- rewrite export-project-dialog using layout-mechanism
- make piano-roll use the global clipboard??
- add more localizations:
- Swedish
- Norwegian
- Greece
- ...
See TODO file in master branch and/or the TODO list in the Wiki for details
regarding the development series.
- effect-board -> live-fx from input
- chord-editor?
- WAVE/OGG/MP3-Import -> FFT-analysis -> write notes
- classical note-edit-window -> also ability of printing and maybe later scanning & recognition of notes
- add FLAC as export-format?

692
acinclude.m4 Normal file
View File

@@ -0,0 +1,692 @@
# Check for Qt compiler flags, linker flags, and binary packages
AC_DEFUN([gw_CHECK_QT],
[
AC_REQUIRE([AC_PROG_CXX])
AC_REQUIRE([AC_PATH_X])
AC_MSG_CHECKING([QTDIR])
AC_ARG_WITH([qtdir], [ --with-qtdir=DIR Qt installation directory [default=$QTDIR]], QTDIR=$withval)
# Check that QTDIR is defined or that --with-qtdir given
if test x"$QTDIR" = x ; then
# some usual Qt-locations
QT_SEARCH="/usr /usr/lib/qt /usr/lib/qt3 /usr/lib/qt31 /usr/lib/qt32 /usr/lib/qt33 /usr/lib/qt-3.0 /usr/lib/qt-3.1 /usr/lib/qt-3.2 /usr/lib/qt-3.3 /usr/local/qt /usr/local/qt3 /usr/local/qt31 /usr/local/qt32 /usr/local/qt33 /usr/share/qt3 /usr/X11R6" # /usr/share/qt4 /usr/local/Trolltech/Qt-4.0.0 /usr/local/Trolltech/Qt-4.0.1 /usr/local/Trolltech/Qt-4.1.0 /usr/local/Trolltech/Qt-4.1.0"
else
QT_SEARCH=$QTDIR
QTDIR=""
fi
for i in $QT_SEARCH ; do
QT_INCLUDE_SEARCH="include include/qt include/qt3" # include/qt4/Qt include/Qt"
for j in $QT_INCLUDE_SEARCH ; do
if test -f $i/$j/qglobal.h -a x$QTDIR = x ; then
QTDIR=$i
QT_INCLUDES=$i/$j
fi
done
done
if test x"$QTDIR" = x ; then
AC_MSG_ERROR([*** QTDIR must be defined, or --with-qtdir option given])
fi
AC_MSG_RESULT([$QTDIR])
# Change backslashes in QTDIR to forward slashes to prevent escaping
# problems later on in the build process, mainly for Cygwin build
# environment using MSVC as the compiler
# TODO: Use sed instead of perl
QTDIR=`echo $QTDIR | perl -p -e 's/\\\\/\\//g'`
AC_MSG_CHECKING([Qt includes])
# Check where includes are located
if test x"$QT_INCLUDES" = x ; then
AC_MSG_ERROR([*** could not find Qt-includes! Make sure you have the Qt-devel-files installed!])
fi
AC_MSG_RESULT([$QT_INCLUDES])
# Figure out which version of Qt we are using
AC_MSG_CHECKING([Qt version])
QT_VER=`grep 'define.*QT_VERSION_STR\W' $QT_INCLUDES/qglobal.h | perl -p -e 's/\D//g'`
case "${QT_VER}" in
2*)
AC_MSG_ERROR([*** Qt 2 is not supported by iTALC. Please upgrade to Qt3!])
;;
3*)
QT_MAJOR="3"
;;
# 4*)
# QT_MAJOR="4"
# ;;
*)
AC_MSG_ERROR([*** Don't know how to handle this Qt major version])
;;
esac
AC_MSG_RESULT([$QT_VER ($QT_MAJOR)])
# Search for available Qt translations
AH_TEMPLATE(QT_TRANSLATIONS_DIR, [Define to Qt translations directory])
AC_MSG_CHECKING([Qt translations])
case "${QT_VER}" in
3*)
QT_TRANSLATIONS_SEARCH="/usr/share/qt3 /usr/local/qt3 /usr/local/qt31 /usr/local/qt32 /usr/local/qt33 /usr/local/qt"
;;
4*)
QT_TRANSLATIONS_SEARCH="/usr/share/qt4 /usr/local/qt /usr/local/Trolltech/Qt-4.0.0 /usr/local/Trolltech/Qt-4.0.1 /usr/local/Trolltech/Qt-4.1.0 /usr/local/Trolltech/Qt-4.1.0"
;;
esac
for i in $QT_TRANSLATIONS_SEARCH ; do
if test -d $i/translations -a x$QT_TRANSLATIONS = x ; then
QT_TRANSLATIONS=$i/translations
fi
done
if test x"$QT_TRANSLATIONS" = x ; then
AC_MSG_WARN([*** not found! You may want to install a Qt i18n package])
else
AC_DEFINE_UNQUOTED(QT_TRANSLATIONS_DIR, "$QT_TRANSLATIONS")
fi
AC_MSG_RESULT([$QT_TRANSLATIONS])
QTHOSTDIR=/usr
# Check that moc is in path
AC_CHECK_PROG(MOC, moc, $QTDIR/bin/moc,,$QTDIR/bin/)
if test x$MOC = x ; then
AC_CHECK_PROG(MOC, moc-qt3, $QTDIR/bin/moc-qt3,,$QTDIR/bin/)
if test x$MOC = x ; then
AC_CHECK_PROG(MOC, moc-qt4, $QTHOSTDIR/bin/moc-qt4,,$QTHOSTDIR/bin/)
if test x$MOC = x ; then
AC_MSG_ERROR([*** not found! Make sure you have Qt-devel-tools installed!])
fi
fi
fi
# uic is the Qt user interface compiler
AC_CHECK_PROG(UIC, uic, $QTDIR/bin/uic,,$QTDIR/bin/)
if test x$UIC = x ; then
AC_MSG_WARN([*** not found! It's currently not needed but should be part of a proper Qt-devel-tools-installation!])
fi
# lupdate is the Qt translation-update utility.
AC_CHECK_PROG(LUPDATE, lupdate, $QTDIR/bin/lupdate,,$QTDIR/bin/)
if test x$LUPDATE = x ; then
AC_MSG_WARN([*** not found! It's not needed just for compiling but should be part of a proper Qt-devel-tools-installation!])
fi
# lrelease is the Qt translation-release utility.
AC_CHECK_PROG(LRELEASE, lrelease, $QTDIR/bin/lrelease,,$QTDIR/bin/)
if test x$LRELEASE = x ; then
AC_MSG_WARN([*** not found! It's not needed just for compiling but should be part of a proper Qt-devel-tools-installation!])
fi
# Calculate Qt include path
QT_CXXFLAGS="-I$QT_INCLUDES"
if test "$QT_MAJOR" = "4" ; then
QT_CXXFLAGS="$QT_CXXFLAGS -I$QTDIR/include/qt4 -I$QTDIR/include"
fi
QT_IS_EMBEDDED="no"
# On unix, figure out if we're doing a static or dynamic link
case "${host}" in
*-cygwin)
AC_DEFINE_UNQUOTED(WIN32, "", Defined if on Win32 platform)
if test -f "$QTDIR/lib/qt.lib" ; then
QT_LIB="qt.lib"
QT_IS_STATIC="yes"
QT_IS_MT="no"
elif test -f "$QTDIR/lib/qt-mt.lib" ; then
QT_LIB="qt-mt.lib"
QT_IS_STATIC="yes"
QT_IS_MT="yes"
elif test -f "$QTDIR/lib/qt$QT_VER.lib" ; then
QT_LIB="qt$QT_VER.lib"
QT_IS_STATIC="no"
QT_IS_MT="no"
elif test -f "$QTDIR/lib/qt-mt$QT_VER.lib" ; then
QT_LIB="qt-mt$QT_VER.lib"
QT_IS_STATIC="no"
QT_IS_MT="yes"
fi
;;
*mingw32)
QT_IS_MT="yes"
QT_LIB="-L$QTDIR/bin -lQtCore4 -lQtGui4 -lQtXml4 -lQt3Support4"
;;
*)
QT_IS_STATIC=`ls $QTDIR/lib/*.a 2> /dev/null`
if test "x$QT_IS_STATIC" = x; then
QT_IS_STATIC="no"
else
QT_IS_STATIC="yes"
fi
if test x$QT_IS_STATIC = xno ; then
QT_IS_DYNAMIC=`ls $QTDIR/lib/*.so 2> /dev/null`
if test "x$QT_IS_DYNAMIC" = x; then
QT_IS_DYNAMIC=`ls /usr/lib/libQt*so.4 2> /dev/null`
if test "x$QT_IS_DYNAMIC" = x; then
AC_MSG_ERROR([*** Couldn't find any Qt libraries])
fi
fi
fi
if test "$QT_MAJOR" = "4" ; then
QT_IS_MT="yes"
QT_LIB="-lQtCore -lQtGui -lQtXml -lQt3Support"
MOC="$MOC -DLADSPA_SUPPORT"
else
QT_CXXFLAGS="-DQT3 $QT_CXXFLAGS"
if test "x`ls $QTDIR/lib/libqt-mt.* 2> /dev/null`" != x ; then
QT_LIB="-lqt-mt"
QT_IS_MT="yes"
elif test "x`ls $QTDIR/lib/libqt.* 2> /dev/null`" != x ; then
QT_LIB="-lqt"
QT_IS_MT="no"
elif test "x`ls $QTDIR/lib/libqte.* 2> /dev/null`" != x ; then
QT_LIB="-lqte"
QT_IS_MT="no"
QT_IS_EMBEDDED="yes"
elif test "x`ls $QTDIR/lib/libqte-mt.* 2> /dev/null`" != x ; then
QT_LIB="-lqte-mt"
QT_IS_MT="yes"
QT_IS_EMBEDDED="yes"
fi
fi
;;
esac
AC_MSG_CHECKING([if Qt is static])
AC_MSG_RESULT([$QT_IS_STATIC])
AC_MSG_CHECKING([if Qt is multithreaded])
if test "$QT_IS_MT" = "no"; then
AC_MSG_ERROR([*** your Qt is not multithreaded. That's bad, because multithreading is required for compiling... Please install Qt-mt!])
fi
AC_MSG_RESULT([$QT_IS_MT])
AC_MSG_CHECKING([if Qt is embedded])
AC_MSG_RESULT([$QT_IS_EMBEDDED])
QT_GUILINK=""
QASSISTANTCLIENT_LDADD="-lqassistantclient"
QT_LIBS="$QT_LIB"
x_libraries="$x_libraries -L/usr/X11R6/lib"
case "${host}" in
*irix*)
QT_LIBS="$QT_LIB"
if test $QT_IS_STATIC = yes ; then
QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE"
fi
;;
*linux*)
QT_LIBS="$QT_LIB"
if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ljpeg"
fi
;;
*osf*)
# Digital Unix (aka DGUX aka Tru64)
QT_LIBS="$QT_LIB"
if test $QT_IS_STATIC = yes ; then
QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE"
fi
;;
*solaris*)
QT_LIBS="$QT_LIB"
if test $QT_IS_STATIC = yes ; then
QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -lresolv -lsocket -lnsl"
fi
;;
*win*)
# linker flag to suppress console when linking a GUI app on Win32
QT_GUILINK="/subsystem:windows"
if test $QT_MAJOR = "3" ; then
if test $QT_IS_MT = yes ; then
QT_LIBS="/nodefaultlib:libcmt"
else
QT_LIBS="/nodefaultlib:libc"
fi
fi
if test $QT_IS_STATIC = yes ; then
QT_LIBS="$QT_LIBS $QT_LIB kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib shell32.lib imm32.lib advapi32.lib wsock32.lib winspool.lib winmm.lib netapi32.lib"
if test $QT_MAJOR = "3" ; then
QT_LIBS="$QT_LIBS qtmain.lib"
fi
else
QT_LIBS="$QT_LIBS $QT_LIB"
if test $QT_MAJOR = "3" ; then
QT_CXXFLAGS="$QT_CXXFLAGS -DQT_DLL"
QT_LIBS="$QT_LIBS qtmain.lib qui.lib user32.lib netapi32.lib"
fi
fi
QASSISTANTCLIENT_LDADD="qassistantclient.lib"
;;
esac
if test x"$QT_IS_EMBEDDED" = "xyes" ; then
QT_CXXFLAGS="-DQWS $QT_CXXFLAGS"
fi
if test x"$QT_IS_MT" = "xyes" ; then
QT_CXXFLAGS="$QT_CXXFLAGS -D_REENTRANT -DQT_THREAD_SUPPORT"
QT_LIBS="$QT_LIBS"
fi
QT_LDADD="-L$QTDIR/lib $QT_LIBS"
#if test x$QT_IS_STATIC = xyes ; then
# OLDLIBS="$LIBS"
# LIBS="$QT_LDADD"
# AC_CHECK_LIB(Xft, XftFontOpen, QT_LDADD="$QT_LDADD -lXft")
# LIBS="$LIBS"
#fi
AC_MSG_CHECKING([QT_CXXFLAGS])
AC_MSG_RESULT([$QT_CXXFLAGS])
AC_MSG_CHECKING([QT_LDADD])
AC_MSG_RESULT([$QT_LDADD])
AC_SUBST(QT_CXXFLAGS)
AC_SUBST(QT_LDADD)
AC_SUBST(QT_GUILINK)
AC_SUBST(QASSISTANTCLIENT_LDADD)
])
dnl @synopsis AC_C_FIND_ENDIAN
dnl
dnl Determine endian-ness of target processor.
dnl @version 1.1 Mar 03 2002
dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
dnl
dnl Majority written from scratch to replace the standard autoconf macro
dnl AC_C_BIGENDIAN. Only part remaining from the original it the invocation
dnl of the AC_TRY_RUN macro.
dnl
dnl Permission to use, copy, modify, distribute, and sell this file for any
dnl purpose is hereby granted without fee, provided that the above copyright
dnl and this permission notice appear in all copies. No representations are
dnl made about the suitability of this software for any purpose. It is
dnl provided "as is" without express or implied warranty.
dnl Find endian-ness in the following way:
dnl 1) Look in <endian.h>.
dnl 2) If 1) fails, look in <sys/types.h> and <sys/param.h>.
dnl 3) If 1) and 2) fails and not cross compiling run a test program.
dnl 4) If 1) and 2) fails and cross compiling then guess based on target.
AC_DEFUN([AC_C_FIND_ENDIAN],
[AC_CACHE_CHECK(processor byte ordering,
ac_cv_c_byte_order,
# Initialize to unknown
ac_cv_c_byte_order=unknown
if test x$ac_cv_header_endian_h = xyes ; then
# First try <endian.h> which should set BYTE_ORDER.
[AC_TRY_LINK([
#include <endian.h>
#if BYTE_ORDER != LITTLE_ENDIAN
not big endian
#endif
], return 0 ;,
ac_cv_c_byte_order=little
)]
[AC_TRY_LINK([
#include <endian.h>
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif
], return 0 ;,
ac_cv_c_byte_order=big
)]
fi
if test $ac_cv_c_byte_order = unknown ; then
[AC_TRY_LINK([
#include <sys/types.h>
#include <sys/param.h>
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
bogus endian macros
#endif
], return 0 ;,
[AC_TRY_LINK([
#include <sys/types.h>
#include <sys/param.h>
#if BYTE_ORDER != LITTLE_ENDIAN
not big endian
#endif
], return 0 ;,
ac_cv_c_byte_order=little
)]
[AC_TRY_LINK([
#include <sys/types.h>
#include <sys/param.h>
#if BYTE_ORDER != LITTLE_ENDIAN
not big endian
#endif
], return 0 ;,
ac_cv_c_byte_order=little
)]
)]
fi
if test $ac_cv_c_byte_order = unknown ; then
if test $cross_compiling = yes ; then
# This is the last resort. Try to guess the target processor endian-ness
# by looking at the target CPU type.
[
case "$target_cpu" in
alpha* | i?86* | mipsel* | ia64*)
ac_cv_c_big_endian=0
ac_cv_c_little_endian=1
;;
m68* | mips* | powerpc* | hppa* | sparc*)
ac_cv_c_big_endian=1
ac_cv_c_little_endian=0
;;
esac
]
else
AC_TRY_RUN(
[[
int main (void)
{ /* Are we little or big endian? From Harbison&Steele. */
union
{ long l ;
char c [sizeof (long)] ;
} u ;
u.l = 1 ;
return (u.c [sizeof (long) - 1] == 1);
}
]], , ac_cv_c_byte_order=big,
ac_cv_c_byte_order=unknown
)
AC_TRY_RUN(
[[int main (void)
{ /* Are we little or big endian? From Harbison&Steele. */
union
{ long l ;
char c [sizeof (long)] ;
} u ;
u.l = 1 ;
return (u.c [0] == 1);
}]], , ac_cv_c_byte_order=little,
ac_cv_c_byte_order=unknown
)
fi
fi
)
]
if test $ac_cv_c_byte_order = big ; then
ac_cv_c_big_endian=1
ac_cv_c_little_endian=0
elif test $ac_cv_c_byte_order = little ; then
ac_cv_c_big_endian=0
ac_cv_c_little_endian=1
else
ac_cv_c_big_endian=0
ac_cv_c_little_endian=0
AC_MSG_WARN([[*****************************************************************]])
AC_MSG_WARN([[*** Not able to determine endian-ness of target processor. ]])
AC_MSG_WARN([[*** The constants CPU_IS_BIG_ENDIAN and CPU_IS_LITTLE_ENDIAN in ]])
AC_MSG_WARN([[*** src/config.h may need to be hand editied. ]])
AC_MSG_WARN([[*****************************************************************]])
fi
)# AC_C_FIND_ENDIAN
dnl @synopsis AC_C99_FUNC_LRINT
dnl
dnl Check whether C99's lrint function is available.
dnl @version 1.3 Feb 12 2002
dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
dnl
dnl Permission to use, copy, modify, distribute, and sell this file for any
dnl purpose is hereby granted without fee, provided that the above copyright
dnl and this permission notice appear in all copies. No representations are
dnl made about the suitability of this software for any purpose. It is
dnl provided "as is" without express or implied warranty.
dnl
AC_DEFUN([AC_C99_FUNC_LRINT],
[AC_CACHE_CHECK(for lrint,
ac_cv_c99_lrint,
[
lrint_save_CFLAGS=$CFLAGS
CFLAGS="-O2 -lm"
AC_TRY_LINK([
#define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#define __USE_ISOC9X 1
#include <math.h>
], if (!lrint(3.14159)) lrint(2.7183);, ac_cv_c99_lrint=yes, ac_cv_c99_lrint=no)
CFLAGS=$lrint_save_CFLAGS
])
if test "$ac_cv_c99_lrint" = yes; then
AC_DEFINE(HAVE_LRINT, 1,
[Define if you have C99's lrint function.])
fi
])# AC_C99_FUNC_LRINT
dnl @synopsis AC_C99_FUNC_LRINTF
dnl
dnl Check whether C99's lrintf function is available.
dnl @version 1.3 Feb 12 2002
dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
dnl
dnl Permission to use, copy, modify, distribute, and sell this file for any
dnl purpose is hereby granted without fee, provided that the above copyright
dnl and this permission notice appear in all copies. No representations are
dnl made about the suitability of this software for any purpose. It is
dnl provided "as is" without express or implied warranty.
dnl
AC_DEFUN([AC_C99_FUNC_LRINTF],
[AC_CACHE_CHECK(for lrintf,
ac_cv_c99_lrintf,
[
lrintf_save_CFLAGS=$CFLAGS
CFLAGS="-O2 -lm"
AC_TRY_LINK([
#define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#define __USE_ISOC9X 1
#include <math.h>
], if (!lrintf(3.14159)) lrintf(2.7183);, ac_cv_c99_lrintf=yes, ac_cv_c99_lrintf=no)
CFLAGS=$lrintf_save_CFLAGS
])
if test "$ac_cv_c99_lrintf" = yes; then
AC_DEFINE(HAVE_LRINTF, 1,
[Define if you have C99's lrintf function.])
fi
])# AC_C99_FUNC_LRINTF
dnl @synopsis AC_C99_FUNC_LLRINT
dnl
dnl Check whether C99's llrint function is available.
dnl @version 1.1 Sep 30 2002
dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
dnl
dnl Permission to use, copy, modify, distribute, and sell this file for any
dnl purpose is hereby granted without fee, provided that the above copyright
dnl and this permission notice appear in all copies. No representations are
dnl made about the suitability of this software for any purpose. It is
dnl provided "as is" without express or implied warranty.
dnl
AC_DEFUN([AC_C99_FUNC_LLRINT],
[AC_CACHE_CHECK(for llrint,
ac_cv_c99_llrint,
[
llrint_save_CFLAGS=$CFLAGS
CFLAGS="-O2 -lm"
AC_TRY_LINK([
#define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#define __USE_ISOC9X 1
#include <math.h>
#include <stdint.h>
], int64_t x ; x = llrint(3.14159) ;, ac_cv_c99_llrint=yes, ac_cv_c99_llrint=no)
CFLAGS=$llrint_save_CFLAGS
])
if test "$ac_cv_c99_llrint" = yes; then
AC_DEFINE(HAVE_LLRINT, 1,
[Define if you have C99's llrint function.])
fi
])# AC_C99_FUNC_LLRINT
dnl @synopsis AC_C_CLIP_MODE
dnl
dnl Determine the clipping mode when converting float to int.
dnl @version 1.0 May 17 2003
dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
dnl
dnl Permission to use, copy, modify, distribute, and sell this file for any
dnl purpose is hereby granted without fee, provided that the above copyright
dnl and this permission notice appear in all copies. No representations are
dnl made about the suitability of this software for any purpose. It is
dnl provided "as is" without express or implied warranty.
dnl Find the clipping mode in the following way:
dnl 1) If we are not cross compiling test it.
dnl 2) IF we are cross compiling, assume that clipping isn't done correctly.
AC_DEFUN([AC_C_CLIP_MODE],
[AC_CACHE_CHECK(processor clipping capabilities,
ac_cv_c_clip_type,
# Initialize to unknown
ac_cv_c_clip_positive=unknown
ac_cv_c_clip_negative=unknown
if test $ac_cv_c_clip_positive = unknown ; then
AC_TRY_RUN(
[[
#define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#define __USE_ISOC9X 1
#include <math.h>
int main (void)
{ double fval ;
int k, ival ;
fval = 1.0 * 0x7FFFFFFF ;
for (k = 0 ; k < 100 ; k++)
{ ival = (lrint (fval)) >> 24 ;
if (ival != 127)
return 1 ;
fval *= 1.2499999 ;
} ;
return 0 ;
}
]],
ac_cv_c_clip_positive=yes,
ac_cv_c_clip_positive=no,
ac_cv_c_clip_positive=unknown
)
AC_TRY_RUN(
[[
#define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#define __USE_ISOC9X 1
#include <math.h>
int main (void)
{ double fval ;
int k, ival ;
fval = -8.0 * 0x10000000 ;
for (k = 0 ; k < 100 ; k++)
{ ival = (lrint (fval)) >> 24 ;
if (ival != -128)
return 1 ;
fval *= 1.2499999 ;
} ;
return 0 ;
}
]],
ac_cv_c_clip_negative=yes,
ac_cv_c_clip_negative=no,
ac_cv_c_clip_negative=unknown
)
fi
if test $ac_cv_c_clip_positive = yes ; then
ac_cv_c_clip_positive=1
else
ac_cv_c_clip_positive=0
fi
if test $ac_cv_c_clip_negative = yes ; then
ac_cv_c_clip_negative=1
else
ac_cv_c_clip_negative=0
fi
[[
case "$ac_cv_c_clip_positive$ac_cv_c_clip_negative" in
"00")
ac_cv_c_clip_type="none"
;;
"10")
ac_cv_c_clip_type="positive"
;;
"01")
ac_cv_c_clip_type="negative"
;;
"11")
ac_cv_c_clip_type="both"
;;
esac
]]
)
]
)# AC_C_CLIP_MODE

View File

@@ -1,6 +0,0 @@
MINGW=/opt/mingw32
export PATH=$PATH:$MINGW/bin
export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5 -fno-tree-vectorize"
export CXXFLAGS="$CFLAGS"
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/modules/Win32Toolchain.cmake -DCMAKE_MODULE_PATH=`pwd`/../cmake/modules/

View File

@@ -1,6 +0,0 @@
MINGW=/opt/mingw64
export PATH=$PATH:$MINGW/bin
export CFLAGS="-fno-tree-vectorize"
export CXXFLAGS="$CFLAGS"
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/modules/Win64Toolchain.cmake -DCMAKE_MODULE_PATH=`pwd`/../cmake/modules/

5
buildtools/Makefile.am Normal file
View File

@@ -0,0 +1,5 @@
AUTOMAKE_OPTIONS = foreign 1.4
noinst_PROGRAMS= bin2res
bin2res_SOURCES = bin2res.cpp

View File

@@ -1,7 +1,7 @@
/*
* bin2res.cpp - generate embedded resources from binary data (based on qembed)
*
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -61,11 +61,11 @@ int main( int argc, char * * argv )
stringlist files;
for( int i = 1; i < argc; ++i )
{
files.push_back( std::string( argv[i] ) );
files.push_back( argv[i] );
}
for( stringlist::iterator it = files.begin(); it != files.end(); ++it )
{
std::ifstream f( it->c_str(), std::ios::binary );
std::ifstream f( it->c_str() );
if( f.fail() )
{
std::cerr << "Cannot open file " << *it <<
@@ -97,7 +97,7 @@ int main( int argc, char * * argv )
e->cname = convertFileNameToCIdentifier( e->name );
embedded_data.push_back( e );
std::string s;
std::cout << "static const unsigned char " << e->cname <<
std::cout << "const unsigned char " << e->cname <<
"_data[] = {";
embedData( data, fsize, std::cout );
std::cout << std::endl << "};" << std::endl << std::endl;
@@ -106,18 +106,17 @@ int main( int argc, char * * argv )
if( embedded_data.size() > 0 )
{
std::cout << "static const unsigned char dummy_data[] ="
std::cout << "const unsigned char dummy_data[] ="
"{ 0x00 };" << std::endl << std::endl;
embed * dummy = new embed;
dummy->size = 1;
dummy->name = "dummy";
dummy->cname = convertFileNameToCIdentifier(
std::string( "dummy" ) );
dummy->cname = convertFileNameToCIdentifier( "dummy" );
embedded_data.push_back( dummy );
std::cout << "#include <string.h>" << std::endl << std::endl;
std::cout << "#include \"embed.h\"" << std::endl << std::endl;
std::cout << "static embed::descriptor embed_vec[] = {" << std::endl;
std::cout << "embed::descriptor embed_vec[] = {" << std::endl;
/* << "{" << std::endl
<< " int size;" << std::endl
<< " const unsigned char * data;" <<
@@ -135,7 +134,7 @@ int main( int argc, char * * argv )
}
std::cout << " { 0, 0, 0 }" << std::endl << "};" << std::endl
<< std::endl
<< "static const embed::descriptor & "
<< "const embed::descriptor & "
"findEmbeddedData( const char * _name )"
<< std::endl << "{" << std::endl
<< " for( int i = 0; embed_vec[i].data; "

View File

@@ -1,98 +0,0 @@
# BuildPlugin.cmake - Copyright (c) 2008 Tobias Doerffel
#
# description: build LMMS-plugin
# usage: BUILD_PLUGIN(<PLUGIN_NAME> <PLUGIN_SOURCES> MOCFILES <HEADERS_FOR_MOC> EMBEDDED_RESOURCES <LIST_OF_FILES_TO_EMBED> UICFILES <UI_FILES_TO_COMPILE> )
MACRO(CAR var)
SET(${var} ${ARGV1})
ENDMACRO(CAR)
MACRO(CDR var junk)
SET(${var} ${ARGN})
ENDMACRO(CDR)
MACRO(LIST_CONTAINS var value)
SET(${var})
FOREACH (value2 ${ARGN})
IF (${value} STREQUAL ${value2})
SET(${var} TRUE)
ENDIF (${value} STREQUAL ${value2})
ENDFOREACH (value2)
ENDMACRO(LIST_CONTAINS)
MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
SET(DEFAULT_ARGS)
FOREACH(arg_name ${arg_names})
SET(${prefix}_${arg_name})
ENDFOREACH(arg_name)
FOREACH(option ${option_names})
SET(${prefix}_${option} FALSE)
ENDFOREACH(option)
SET(current_arg_name DEFAULT_ARGS)
SET(current_arg_list)
FOREACH(arg ${ARGN})
LIST_CONTAINS(is_arg_name ${arg} ${arg_names})
IF (is_arg_name)
SET(${prefix}_${current_arg_name} ${current_arg_list})
SET(current_arg_name ${arg})
SET(current_arg_list)
ELSE (is_arg_name)
LIST_CONTAINS(is_option ${arg} ${option_names})
IF (is_option)
SET(${prefix}_${arg} TRUE)
ELSE (is_option)
SET(current_arg_list ${current_arg_list} ${arg})
ENDIF (is_option)
ENDIF (is_arg_name)
ENDFOREACH(arg)
SET(${prefix}_${current_arg_name} ${current_arg_list})
ENDMACRO(PARSE_ARGUMENTS)
MACRO(BUILD_PLUGIN)
PARSE_ARGUMENTS(PLUGIN "MOCFILES;EMBEDDED_RESOURCES;UICFILES" "" ${ARGN} )
CAR(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS})
CDR(PLUGIN_SOURCES ${PLUGIN_DEFAULT_ARGS})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src/gui ${CMAKE_INSTALL_PREFIX}/include)
ADD_DEFINITIONS(-DPLUGIN_NAME=${PLUGIN_NAME})
LIST(LENGTH PLUGIN_EMBEDDED_RESOURCES ER_LEN)
IF(ER_LEN)
SET(ER_H ${CMAKE_CURRENT_BINARY_DIR}/embedded_resources.h)
ADD_CUSTOM_COMMAND(OUTPUT ${ER_H}
COMMAND ${BIN2RES}
ARGS ${PLUGIN_EMBEDDED_RESOURCES} > ${ER_H}
DEPENDS ${BIN2RES})
ENDIF(ER_LEN)
QT4_WRAP_CPP(plugin_MOC_out ${PLUGIN_MOCFILES})
QT4_WRAP_UI(plugin_UIC_out ${PLUGIN_UICFILES})
FOREACH(f ${PLUGIN_SOURCES})
ADD_FILE_DEPENDENCIES(${f} ${ER_H} ${plugin_MOC_out} ${plugin_UIC_out})
ENDFOREACH(f)
IF(LMMS_BUILD_APPLE)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
LINK_LIBRARIES(${QT_LIBRARIES})
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_WIN32)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR})
LINK_LIBRARIES(-llmms ${QT_LIBRARIES})
ENDIF(LMMS_BUILD_WIN32)
ADD_LIBRARY(${PLUGIN_NAME} MODULE ${PLUGIN_SOURCES})
INSTALL(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION "${PLUGIN_DIR}")
IF(LMMS_BUILD_APPLE)
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES LINK_FLAGS "-bundle_loader ${CMAKE_BINARY_DIR}/lmms")
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_WIN32)
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES PREFIX "")
ADD_CUSTOM_COMMAND(TARGET ${PLUGIN_NAME} POST_BUILD COMMAND ${STRIP} ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}.dll)
ENDIF(LMMS_BUILD_WIN32)
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${ER_H} ${plugin_MOC_out}")
ENDMACRO(BUILD_PLUGIN)

View File

@@ -1,76 +0,0 @@
#
# some tests migrated from libsamplerate's acinclude.m4 - Tobias Doerffel, 2008
#
INCLUDE(CheckCSourceCompiles)
INCLUDE(CheckCSourceRuns)
SET(CMAKE_REQUIRED_LIBRARIES_ORIG ${CMAKE_REQUIRED_LIBRARIES})
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} -lm)
SET(C99_MATH " #define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#define __USE_ISOC9X 1
#include <math.h>
")
SET(TEST_LRINT "int main( void )
{
if (!lrint(3.14159)) lrint(2.7183);
return( 0 );
}")
SET(TEST_LRINTF "int main( void )
{
if (!lrintf(3.14159)) lrintf(2.7183);
return( 0 );
}")
CHECK_C_SOURCE_COMPILES("${C99_MATH}${TEST_LRINT}" HAVE_LRINT)
CHECK_C_SOURCE_COMPILES("${C99_MATH}${TEST_LRINTF}" HAVE_LRINTF)
CHECK_C_SOURCE_RUNS("
#define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#define __USE_ISOC9X 1
#include <math.h>
int main (void)
{ double fval ;
int k, ival ;
fval = 1.0 * 0x7FFFFFFF ;
for (k = 0 ; k < 100 ; k++)
{ ival = (lrint (fval)) >> 24 ;
if (ival != 127)
return 1 ;
fval *= 1.2499999 ;
} ;
return 0 ;
}
" CPU_CLIPS_POSITIVE)
CHECK_C_SOURCE_RUNS("
#define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#define __USE_ISOC9X 1
#include <math.h>
int main (void)
{ double fval ;
int k, ival ;
fval = -8.0 * 0x10000000 ;
for (k = 0 ; k < 100 ; k++)
{ ival = (lrint (fval)) >> 24 ;
if (ival != -128)
return 1 ;
fval *= 1.2499999 ;
} ;
return 0 ;
}
" CPU_CLIPS_NEGATIVE)
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_ORIG})

View File

@@ -1,60 +0,0 @@
IF(WIN32)
SET(LMMS_BUILD_WIN32 1)
ELSE(WIN32)
IF(APPLE)
SET(LMMS_BUILD_APPLE 1)
ELSE(APPLE)
SET(LMMS_BUILD_LINUX 1)
ENDIF(APPLE)
ENDIF(WIN32)
MESSAGE("PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
SET(LMMS_HOST_X86 FALSE)
SET(LMMS_HOST_X86_64 FALSE)
IF(WIN32)
IF(WIN64)
SET(IS_X86_64 TRUE)
SET(LMMS_BUILD_WIN64 TRUE)
ELSE(WIN64)
SET(IS_X86 TRUE)
ENDIF(WIN64)
ELSE(WIN32)
EXEC_PROGRAM( ${CMAKE_C_COMPILER} ARGS "-dumpmachine" OUTPUT_VARIABLE Machine )
MESSAGE("Machine: ${Machine}")
STRING(REGEX MATCH "i.86" IS_X86 "${Machine}")
STRING(REGEX MATCH "86_64" IS_X86_64 "${Machine}")
ENDIF(WIN32)
IF(IS_X86)
MESSAGE("-- Target host is 32 bit")
SET(LMMS_HOST_X86 TRUE)
ELSEIF(IS_X86_64)
MESSAGE("-- Target host is 64 bit")
SET(LMMS_HOST_X86_64 TRUE)
ELSE(IS_X86)
MESSAGE("Can't identify target host. Assuming 32 bit platform.")
ENDIF(IS_X86)
IF(CMAKE_INSTALL_LIBDIR)
SET(LIB_DIR "${CMAKE_INSTALL_LIBDIR}")
ELSE(CMAKE_INSTALL_LIBDIR)
IF(LMMS_HOST_X86_64)
SET(LIB_DIR lib64)
ELSE(LMMS_HOST_X86_64)
SET(LIB_DIR lib)
ENDIF(LMMS_HOST_X86_64)
ENDIF(CMAKE_INSTALL_LIBDIR)
IF(LMMS_BUILD_WIN32)
SET(PLUGIN_DIR plugins)
SET(DATA_DIR data)
SET(LMMS_DATA_DIR data)
ELSE(LMMS_BUILD_WIN32)
SET(PLUGIN_DIR ${LIB_DIR}/lmms)
SET(DATA_DIR share)
SET(LMMS_DATA_DIR ${DATA_DIR}/lmms)
ENDIF(LMMS_BUILD_WIN32)

View File

@@ -1,64 +0,0 @@
# Alsa check, based on libkmid/configure.in.in.
# Only the support for Alsa >= 0.9.x was included; 0.5.x was dropped (but feel free to re-add it if you need it)
# It defines ...
# It offers the following macros:
# ALSA_CONFIGURE_FILE(config_header) - generate a config.h, typical usage:
# ALSA_CONFIGURE_FILE(${CMAKE_BINARY_DIR}/config-alsa.h)
# ALSA_VERSION_STRING(version_string) looks for alsa/version.h and reads the version string into
# the first argument passed to the macro
# Copyright (c) 2006, David Faure, <faure@kde.org>
# Copyright (c) 2007, Matthias Kretz <kretz@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
include(CheckIncludeFiles)
include(CheckIncludeFileCXX)
include(CheckLibraryExists)
# Already done by toplevel
find_library(ASOUND_LIBRARY asound)
set(ASOUND_LIBRARY_DIR "")
if(ASOUND_LIBRARY)
get_filename_component(ASOUND_LIBRARY_DIR ${ASOUND_LIBRARY} PATH)
endif(ASOUND_LIBRARY)
check_library_exists(asound snd_seq_create_simple_port "${ASOUND_LIBRARY_DIR}" HAVE_LIBASOUND2)
if(HAVE_LIBASOUND2)
message(STATUS "Found ALSA: ${ASOUND_LIBRARY}")
else(HAVE_LIBASOUND2)
message(STATUS "ALSA not found")
endif(HAVE_LIBASOUND2)
set(ALSA_FOUND ${HAVE_LIBASOUND2})
find_path(ALSA_INCLUDES alsa/version.h)
macro(ALSA_VERSION_STRING _result)
# check for version in alsa/version.h
if(ALSA_INCLUDES)
file(READ "${ALSA_INCLUDES}/alsa/version.h" _ALSA_VERSION_CONTENT)
string(REGEX REPLACE ".*SND_LIB_VERSION_STR.*\"(.*)\".*" "\\1" ${_result} ${_ALSA_VERSION_CONTENT})
else(ALSA_INCLUDES)
message(STATUS "ALSA version not known. ALSA output will probably not work correctly.")
endif(ALSA_INCLUDES)
endmacro(ALSA_VERSION_STRING _result)
check_include_files(sys/soundcard.h LMMS_HAVE_SYS_SOUNDCARD_H)
check_include_files(machine/soundcard.h LMMS_HAVE_MACHINE_SOUNDCARD_H)
check_include_files(linux/awe_voice.h LMMS_HAVE_LINUX_AWE_VOICE_H)
check_include_files(awe_voice.h LMMS_HAVE_AWE_VOICE_H)
check_include_files(/usr/src/sys/i386/isa/sound/awe_voice.h LMMS_HAVE__USR_SRC_SYS_I386_ISA_SOUND_AWE_VOICE_H)
check_include_files(/usr/src/sys/gnu/i386/isa/sound/awe_voice.h LMMS_HAVE__USR_SRC_SYS_GNU_I386_ISA_SOUND_AWE_VOICE_H)
check_include_file_cxx(sys/asoundlib.h LMMS_HAVE_SYS_ASOUNDLIB_H)
check_include_file_cxx(alsa/asoundlib.h LMMS_HAVE_ALSA_ASOUNDLIB_H)
check_library_exists(asound snd_pcm_resume "${ASOUND_LIBRARY_DIR}" ASOUND_HAS_SND_PCM_RESUME)
if(ASOUND_HAS_SND_PCM_RESUME)
set(HAVE_SND_PCM_RESUME 1)
endif(ASOUND_HAS_SND_PCM_RESUME)
mark_as_advanced(ALSA_INCLUDES ASOUND_LIBRARY)

View File

@@ -1,86 +0,0 @@
# - Try to find the OggVorbis libraries
# Once done this will define
#
# OGGVORBIS_FOUND - system has OggVorbis
# OGGVORBIS_VERSION - set either to 1 or 2
# OGGVORBIS_INCLUDE_DIR - the OggVorbis include directory
# OGGVORBIS_LIBRARIES - The libraries needed to use OggVorbis
# OGG_LIBRARY - The Ogg library
# VORBIS_LIBRARY - The Vorbis library
# VORBISFILE_LIBRARY - The VorbisFile library
# VORBISENC_LIBRARY - The VorbisEnc library
# Copyright (c) 2006, Richard Laerkaeng, <richard@goteborg.utfors.se>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
include (CheckLibraryExists)
find_path(VORBIS_INCLUDE_DIR vorbis/vorbisfile.h)
find_path(OGG_INCLUDE_DIR ogg/ogg.h)
find_library(OGG_LIBRARY NAMES ogg)
find_library(VORBIS_LIBRARY NAMES vorbis)
find_library(VORBISFILE_LIBRARY NAMES vorbisfile)
find_library(VORBISENC_LIBRARY NAMES vorbisenc)
if (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
set(OGGVORBIS_FOUND TRUE)
set(OGGVORBIS_LIBRARIES ${OGG_LIBRARY} ${VORBIS_LIBRARY} ${VORBISFILE_LIBRARY} ${VORBISENC_LIBRARY})
set(_CMAKE_REQUIRED_LIBRARIES_TMP ${CMAKE_REQUIRED_LIBRARIES})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${OGGVORBIS_LIBRARIES})
check_library_exists(vorbis vorbis_bitrate_addblock "" HAVE_LIBVORBISENC2)
set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_TMP})
if (HAVE_LIBVORBISENC2)
set (OGGVORBIS_VERSION 2)
else (HAVE_LIBVORBISENC2)
set (OGGVORBIS_VERSION 1)
endif (HAVE_LIBVORBISENC2)
else (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
set (OGGVORBIS_VERSION)
set(OGGVORBIS_FOUND FALSE)
endif (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
if (OGGVORBIS_FOUND)
if (NOT OggVorbis_FIND_QUIETLY)
message(STATUS "Found OggVorbis: ${OGGVORBIS_LIBRARIES}")
endif (NOT OggVorbis_FIND_QUIETLY)
else (OGGVORBIS_FOUND)
if (OggVorbis_FIND_REQUIRED)
message(FATAL_ERROR "Could NOT find OggVorbis libraries")
endif (OggVorbis_FIND_REQUIRED)
if (NOT OggVorbis_FIND_QUITELY)
message(STATUS "Could NOT find OggVorbis libraries")
endif (NOT OggVorbis_FIND_QUITELY)
endif (OGGVORBIS_FOUND)
#check_include_files(vorbis/vorbisfile.h HAVE_VORBISFILE_H)
#check_library_exists(ogg ogg_page_version "" HAVE_LIBOGG)
#check_library_exists(vorbis vorbis_info_init "" HAVE_LIBVORBIS)
#check_library_exists(vorbisfile ov_open "" HAVE_LIBVORBISFILE)
#check_library_exists(vorbisenc vorbis_info_clear "" HAVE_LIBVORBISENC)
#check_library_exists(vorbis vorbis_bitrate_addblock "" HAVE_LIBVORBISENC2)
#if (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)
# message(STATUS "Ogg/Vorbis found")
# set (VORBIS_LIBS "-lvorbis -logg")
# set (VORBISFILE_LIBS "-lvorbisfile")
# set (VORBISENC_LIBS "-lvorbisenc")
# set (OGGVORBIS_FOUND TRUE)
# if (HAVE_LIBVORBISENC2)
# set (HAVE_VORBIS 2)
# else (HAVE_LIBVORBISENC2)
# set (HAVE_VORBIS 1)
# endif (HAVE_LIBVORBISENC2)
#else (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)
# message(STATUS "Ogg/Vorbis not found")
#endif (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)

View File

@@ -1,360 +0,0 @@
# - a pkg-config module for CMake
#
# Usage:
# pkg_check_modules(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
# checks for all the given modules
#
# pkg_search_module(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
# checks for given modules and uses the first working one
#
# When the 'REQUIRED' argument was set, macros will fail with an error
# when module(s) could not be found
#
# It sets the following variables:
# PKG_CONFIG_FOUND ... true iff pkg-config works on the system
# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program
# <PREFIX>_FOUND ... set to 1 iff module(s) exist
#
# For the following variables two sets of values exist; first one is the
# common one and has the given PREFIX. The second set contains flags
# which are given out when pkgconfig was called with the '--static'
# option.
# <XPREFIX>_LIBRARIES ... only the libraries (w/o the '-l')
# <XPREFIX>_LIBRARY_DIRS ... the paths of the libraries (w/o the '-L')
# <XPREFIX>_LDFLAGS ... all required linker flags
# <XPREFIX>_LDFLAGS_OTHERS ... all other linker flags
# <XPREFIX>_INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I')
# <XPREFIX>_CFLAGS ... all required cflags
# <XPREFIX>_CFLAGS_OTHERS ... the other compiler flags
#
# <XPREFIX> = <PREFIX> for common case
# <XPREFIX> = <PREFIX>_STATIC for static linking
#
# There are some special variables whose prefix depends on the count
# of given modules. When there is only one module, <PREFIX> stays
# unchanged. When there are multiple modules, the prefix will be
# changed to <PREFIX>_<MODNAME>:
# <XPREFIX>_VERSION ... version of the module
# <XPREFIX>_PREFIX ... prefix-directory of the module
# <XPREFIX>_INCLUDEDIR ... include-dir of the module
# <XPREFIX>_LIBDIR ... lib-dir of the module
#
# <XPREFIX> = <PREFIX> when |MODULES| == 1, else
# <XPREFIX> = <PREFIX>_<MODNAME>
#
# A <MODULE> parameter can have the following formats:
# {MODNAME} ... matches any version
# {MODNAME}>={VERSION} ... at least version <VERSION> is required
# {MODNAME}={VERSION} ... exactly version <VERSION> is required
# {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
#
# Examples
# pkg_check_modules (GLIB2 glib-2.0)
#
# pkg_check_modules (GLIB2 glib-2.0>=2.10)
# requires at least version 2.10 of glib2 and defines e.g.
# GLIB2_VERSION=2.10.3
#
# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
# requires both glib2 and gtk2, and defines e.g.
# FOO_glib-2.0_VERSION=2.10.3
# FOO_gtk+-2.0_VERSION=2.8.20
#
# pkg_check_modules (XRENDER REQUIRED xrender)
# defines e.g.:
# XRENDER_LIBRARIES=Xrender;X11
# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
#
# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
# Redistribution and use, with or without modification, are permitted
# provided that the following conditions are met:
#
# 1. Redistributions must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# 2. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
### Common stuff ####
set(PKG_CONFIG_VERSION 1)
set(PKG_CONFIG_FOUND 0)
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
mark_as_advanced(PKG_CONFIG_EXECUTABLE)
if(PKG_CONFIG_EXECUTABLE)
set(PKG_CONFIG_FOUND 1)
endif(PKG_CONFIG_EXECUTABLE)
# Unsets the given variables
macro(_pkgconfig_unset var)
set(${var} "" CACHE INTERNAL "")
endmacro(_pkgconfig_unset)
macro(_pkgconfig_set var value)
set(${var} ${value} CACHE INTERNAL "")
endmacro(_pkgconfig_set)
# Invokes pkgconfig, cleans up the result and sets variables
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
set(_pkgconfig_invoke_result)
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
OUTPUT_VARIABLE _pkgconfig_invoke_result
RESULT_VARIABLE _pkgconfig_failed)
if (_pkgconfig_failed)
set(_pkgconfig_${_varname} "")
_pkgconfig_unset(${_prefix}_${_varname})
else(_pkgconfig_failed)
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
if (NOT ${_regexp} STREQUAL "")
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
endif(NOT ${_regexp} STREQUAL "")
separate_arguments(_pkgconfig_invoke_result)
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
endif(_pkgconfig_failed)
endmacro(_pkgconfig_invoke)
# Invokes pkgconfig two times; once without '--static' and once with
# '--static'
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
endmacro(_pkgconfig_invoke_dyn)
# Splits given arguments into options and a package list
macro(_pkgconfig_parse_options _result _is_req)
set(${_is_req} 0)
foreach(_pkg ${ARGN})
if (_pkg STREQUAL "REQUIRED")
set(${_is_req} 1)
endif (_pkg STREQUAL "REQUIRED")
endforeach(_pkg ${ARGN})
set(${_result} ${ARGN})
list(REMOVE_ITEM ${_result} "REQUIRED")
endmacro(_pkgconfig_parse_options)
###
macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
_pkgconfig_unset(${_prefix}_FOUND)
_pkgconfig_unset(${_prefix}_VERSION)
_pkgconfig_unset(${_prefix}_PREFIX)
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_LIBDIR)
_pkgconfig_unset(${_prefix}_LIBS)
_pkgconfig_unset(${_prefix}_LIBS_L)
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
_pkgconfig_unset(${_prefix}_LIBS_OTHER)
_pkgconfig_unset(${_prefix}_CFLAGS)
_pkgconfig_unset(${_prefix}_CFLAGS_I)
_pkgconfig_unset(${_prefix}_CFLAGS_OTHER)
_pkgconfig_unset(${_prefix}_STATIC_LIBDIR)
_pkgconfig_unset(${_prefix}_STATIC_LIBS)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_L)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER)
# create a better addressable variable of the modules and calculate its size
set(_pkg_check_modules_list ${ARGN})
list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt)
if(PKG_CONFIG_EXECUTABLE)
# give out status message telling checked module
if (NOT ${_is_silent})
if (_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for module '${_pkg_check_modules_list}'")
else(_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for modules '${_pkg_check_modules_list}'")
endif(_pkg_check_modules_cnt EQUAL 1)
endif(NOT ${_is_silent})
set(_pkg_check_modules_packages)
set(_pkg_check_modules_failed)
# iterate through module list and check whether they exist and match the required version
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
set(_pkg_check_modules_exist_query)
# check whether version is given
if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}")
else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
set(_pkg_check_modules_pkg_op)
set(_pkg_check_modules_pkg_ver)
endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
# handle the operands
if (_pkg_check_modules_pkg_op STREQUAL ">=")
list(APPEND _pkg_check_modules_exist_query --atleast-version)
endif(_pkg_check_modules_pkg_op STREQUAL ">=")
if (_pkg_check_modules_pkg_op STREQUAL "=")
list(APPEND _pkg_check_modules_exist_query --exact-version)
endif(_pkg_check_modules_pkg_op STREQUAL "=")
if (_pkg_check_modules_pkg_op STREQUAL "<=")
list(APPEND _pkg_check_modules_exist_query --max-version)
endif(_pkg_check_modules_pkg_op STREQUAL "<=")
# create the final query which is of the format:
# * --atleast-version <version> <pkg-name>
# * --exact-version <version> <pkg-name>
# * --max-version <version> <pkg-name>
# * --exists <pkg-name>
if (_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
else(_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query --exists)
endif(_pkg_check_modules_pkg_op)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
# execute the query
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
RESULT_VARIABLE _pkgconfig_retval)
# evaluate result and tell failures
if (_pkgconfig_retval)
if(NOT ${_is_silent})
message(STATUS " package '${_pkg_check_modules_pkg}' not found")
endif(NOT ${_is_silent})
set(_pkg_check_modules_failed 1)
endif(_pkgconfig_retval)
endforeach(_pkg_check_modules_pkg)
if(_pkg_check_modules_failed)
# fail when requested
if (${_is_required})
message(SEND_ERROR "A required package was not found")
endif (${_is_required})
else(_pkg_check_modules_failed)
# when we are here, we checked whether requested modules
# exist. Now, go through them and set variables
_pkgconfig_set(${_prefix}_FOUND 1)
list(LENGTH _pkg_check_modules_packages pkg_count)
# iterate through all modules again and set individual variables
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages})
# handle case when there is only one package required
if (pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}")
else(pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
endif(pkg_count EQUAL 1)
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir )
message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
endforeach(_pkg_check_modules_pkg)
# set variables which are combined for multiple modules
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
endif(_pkg_check_modules_failed)
else(PKG_CONFIG_EXECUTABLE)
if (${_is_required})
message(SEND_ERROR "pkg-config tool not found")
endif (${_is_required})
endif(PKG_CONFIG_EXECUTABLE)
endmacro(_pkg_check_modules_internal)
###
### User visible macros start here
###
###
macro(pkg_check_modules _prefix _module0)
# check cached value
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
_pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN})
_pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules})
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
endmacro(pkg_check_modules)
###
macro(pkg_search_module _prefix _module0)
# check cached value
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
set(_pkg_modules_found 0)
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN})
message(STATUS "checking for one of the modules '${_pkg_modules_alt}'")
# iterate through all modules and stop at the first working one.
foreach(_pkg_alt ${_pkg_modules_alt})
if(NOT _pkg_modules_found)
_pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}")
endif(NOT _pkg_modules_found)
if (${_prefix}_FOUND)
set(_pkg_modules_found 1)
endif(${_prefix}_FOUND)
endforeach(_pkg_alt)
if (NOT ${_prefix}_FOUND)
if(${_pkg_is_required})
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
endif(${_pkg_is_required})
endif(NOT ${_prefix}_FOUND)
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
endmacro(pkg_search_module)
### Local Variables:
### mode: cmake
### End:

View File

@@ -1,65 +0,0 @@
# - Try to find Portaudio
# Once done this will define
#
# PORTAUDIO_FOUND - system has Portaudio
# PORTAUDIO_INCLUDE_DIRS - the Portaudio include directory
# PORTAUDIO_LIBRARIES - Link these to use Portaudio
# PORTAUDIO_DEFINITIONS - Compiler switches required for using Portaudio
#
# Copyright (c) 2006 Andreas Schneider <mail@cynapses.org>
#
# Redistribution and use is allowed according to the terms of the New BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
if (PORTAUDIO_LIBRARIES AND PORTAUDIO_INCLUDE_DIRS)
# in cache already
set(PORTAUDIO_FOUND TRUE)
else (PORTAUDIO_LIBRARIES AND PORTAUDIO_INCLUDE_DIRS)
find_path(PORTAUDIO_INCLUDE_DIR
NAMES
portaudio.h
PATHS
/usr/include
/usr/local/include
/opt/local/include
/sw/include
)
find_library(PORTAUDIO_LIBRARY
NAMES
portaudio
PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
)
set(PORTAUDIO_INCLUDE_DIRS
${PORTAUDIO_INCLUDE_DIR}
)
set(PORTAUDIO_LIBRARIES
${PORTAUDIO_LIBRARY}
)
if (PORTAUDIO_INCLUDE_DIRS AND PORTAUDIO_LIBRARIES)
set(PORTAUDIO_FOUND TRUE)
endif (PORTAUDIO_INCLUDE_DIRS AND PORTAUDIO_LIBRARIES)
if (PORTAUDIO_FOUND)
if (NOT Portaudio_FIND_QUIETLY)
message(STATUS "Found Portaudio: ${PORTAUDIO_LIBRARIES}")
endif (NOT Portaudio_FIND_QUIETLY)
else (PORTAUDIO_FOUND)
if (Portaudio_FIND_REQUIRED)
message(FATAL_ERROR "Could not find Portaudio")
endif (Portaudio_FIND_REQUIRED)
endif (PORTAUDIO_FOUND)
# show the PORTAUDIO_INCLUDE_DIRS and PORTAUDIO_LIBRARIES variables only in the advanced view
mark_as_advanced(PORTAUDIO_INCLUDE_DIRS PORTAUDIO_LIBRARIES)
endif (PORTAUDIO_LIBRARIES AND PORTAUDIO_INCLUDE_DIRS)

View File

@@ -1,59 +0,0 @@
# - Try to find PulseAudioSimple
# Once done this will define
#
# PULSEAUDIO_FOUND - system has PulseAudioSimple
# PULSEAUDIO_INCLUDE_DIR - the PulseAudioSimple include directory
# PULSEAUDIO_LIBRARIES - the libraries needed to use PulseAudioSimple
# PULSEAUDIO_DEFINITIONS - Compiler switches required for using PulseAudioSimple
#
IF(NO_PULSE)
message(status "<disabled per request>")
ELSE(NO_PULSE)
IF (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARIES)
# in cache already
SET(PULSEAUDIO_FIND_QUIETLY TRUE)
ENDIF (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARIES)
IF (NOT WIN32)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
INCLUDE(FindPkgConfig)
pkg_check_modules(PA libpulse)
set(_PASIncDir ${PA_INCLUDE_DIRS})
set(_PASLinkDir ${PA_LIBRARY_DIRS})
set(_PASLinkFlags ${PA_LDFLAGS})
set(_PASCflags ${PA_CFLAGS})
SET(PULSEAUDIO_DEFINITIONS ${_PASCflags})
ENDIF (NOT WIN32)
FIND_PATH(PULSEAUDIO_INCLUDE_DIR pulse/pulseaudio.h
PATHS
${_PASIncDir}
PATH_SUFFIXES pulse
)
FIND_LIBRARY(PULSEAUDIO_LIBRARIES NAMES pulse libpulse
PATHS
${_PASLinkDir}
)
IF (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARIES)
SET(PULSEAUDIO_FOUND TRUE)
ELSE (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARIES)
SET(PULSEAUDIO_FOUND FALSE)
ENDIF (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARIES)
IF (PULSEAUDIO_FOUND)
IF (NOT PULSEAUDIO_FIND_QUIETLY)
MESSAGE(STATUS "Found PulseAudio Simple: ${PULSEAUDIO_LIBRARIES}")
ENDIF (NOT PULSEAUDIO_FIND_QUIETLY)
SET(USE_PULSE_ 1)
ELSE (PULSEAUDIO_FOUND)
MESSAGE(STATUS "Could NOT find LibXml2")
ENDIF (PULSEAUDIO_FOUND)
MARK_AS_ADVANCED(PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARIES)
ENDIf(NO_PULSE)

View File

@@ -1,20 +0,0 @@
FIND_PATH(STK_INCLUDE_DIR Stk.h /usr/include/stk /usr/local/include/stk ${CMAKE_INSTALL_PREFIX}/include/stk ${CMAKE_FIND_ROOT_PATH}/include/stk)
FIND_LIBRARY(STK_LIBRARY NAMES stk PATH /usr/lib /usr/local/lib ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_FIND_ROOT_PATH}/lib)
IF (STK_INCLUDE_DIR AND STK_LIBRARY)
SET(STK_FOUND TRUE)
ENDIF (STK_INCLUDE_DIR AND STK_LIBRARY)
IF (STK_FOUND)
IF (NOT STK_FIND_QUIETLY)
MESSAGE(STATUS "Found STK: ${STK_LIBRARY}")
SET(HAVE_STK TRUE)
ENDIF (NOT STK_FIND_QUIETLY)
ELSE (STK_FOUND)
IF (STK_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find STK")
ENDIF (STK_FIND_REQUIRED)
ENDIF (STK_FOUND)

View File

@@ -1,45 +0,0 @@
#
# install all files matching certain wildcards below ${LMMS_DATA_DIR}/<subdir>
#
# example:
#
# INSTALL_DATA_SUBDIRS("samples" "*.ogg;*.wav;*.flac")
#
# Copyright (c) 2008 Tobias Doerffel
#
# helper-macro
MACRO(LIST_CONTAINS var value)
SET(${var})
FOREACH (value2 ${ARGN})
IF (${value} STREQUAL ${value2})
SET(${var} TRUE)
ENDIF (${value} STREQUAL ${value2})
ENDFOREACH (value2)
ENDMACRO(LIST_CONTAINS)
MACRO(INSTALL_DATA_SUBDIRS _subdir _wildcards)
FOREACH(_wildcard ${_wildcards})
FILE(GLOB_RECURSE files ${_wildcard})
SET(SUBDIRS)
FOREACH(_item ${files})
GET_FILENAME_COMPONENT(_file "${_item}" PATH)
STRING(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" _file "${_file}")
LIST_CONTAINS(contains _file ${SUBDIRS})
IF(NOT contains)
LIST(APPEND SUBDIRS "${_file}")
ENDIF(NOT contains)
ENDFOREACH(_item ${files})
FOREACH(_item ${SUBDIRS})
FILE(GLOB files "${_item}/${_wildcard}")
FOREACH(_file ${files})
INSTALL(FILES "${_file}" DESTINATION "${LMMS_DATA_DIR}/${_subdir}/${_item}/")
ENDFOREACH(_file ${files})
ENDFOREACH(_item ${SUBDIRS})
ENDFOREACH(_wildcard ${_wildcards})
ENDMACRO(INSTALL_DATA_SUBDIRS)

View File

@@ -1,41 +0,0 @@
# this one is important
SET(CMAKE_SYSTEM_NAME Windows)
#this one not so much
SET(CMAKE_SYSTEM_VERSION 1)
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH ${MINGW_PREFIX})
SET(CMAKE_INSTALL_PREFIX ${MINGW_PREFIX})
SET(MINGW_TOOL_PREFIX ${MINGW_PREFIX}/bin/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-)
# specify the cross compiler
SET(CMAKE_C_COMPILER ${MINGW_TOOL_PREFIX}gcc)
SET(CMAKE_CXX_COMPILER ${MINGW_TOOL_PREFIX}g++)
# specify location of some tools
SET(STRIP ${MINGW_TOOL_PREFIX}strip)
SET(WINDRES ${MINGW_TOOL_PREFIX}windres)
SET(PKG_CONFIG_EXECUTABLE ${MINGW_TOOL_PREFIX}pkg-config)
SET(QT_BINARY_DIR ${MINGW_PREFIX}/bin)
SET(QT_LIBRARY_DIR ${MINGW_PREFIX}/lib)
SET(QT_QTCORE_LIBRARY ${MINGW_PREFIX}/lib/libQtCore4.a)
SET(QT_INCLUDE_DIR ${MINGW_PREFIX}/include/qt4)
SET(QT_HEADERS_DIR ${MINGW_PREFIX}/include/qt4)
SET(QT_QTCORE_INCLUDE_DIR ${MINGW_PREFIX}/include/qt4/QtCore)
SET(QT_MKSPECS_DIR ${MINGW_PREFIX}/share/qt4/mkspecs)
SET(QT_MOC_EXECUTABLE ${QT_BINARY_DIR}/moc.exe)
SET(QT_RCC_EXECUTABLE ${QT_BINARY_DIR}/rcc.exe)
SET(QT_QMAKE_EXECUTABLE /usr/bin/qmake)
SET(QT_UIC_EXECUTABLE ${QT_BINARY_DIR}/uic.exe)
# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
INCLUDE_DIRECTORIES(${MINGW_PREFIX}/include)
LINK_DIRECTORIES(${MINGW_PREFIX}/lib ${MINGW_PREFIX}/bin)

View File

@@ -1,6 +0,0 @@
SET(MINGW_PREFIX /opt/mingw32)
SET(CMAKE_SYSTEM_PROCESSOR i686)
INCLUDE(MinGWCrossCompile)

View File

@@ -1,9 +0,0 @@
SET(MINGW_PREFIX /opt/mingw64)
SET(CMAKE_SYSTEM_PROCESSOR x86_64)
SET(WIN64 TRUE)
INCLUDE(MinGWCrossCompile)

View File

@@ -1,34 +0,0 @@
/* Define to 1 if you have the <linux/awe_voice.h> header file. */
#cmakedefine LMMS_HAVE_LINUX_AWE_VOICE_H 1
/* Define to 1 if you have the <sys/awe_voice.h> header file. */
#cmakedefine LMMS_HAVE_SYS_AWE_VOICE_H 1
/* Define to 1 if you have the </usr/src/sys/gnu/i386/isa/sound/awe_voice.h>
header file. */
#cmakedefine LMMS_HAVE__USR_SRC_SYS_GNU_I386_ISA_SOUND_AWE_VOICE_H 1
/* Define to 1 if you have the </usr/src/sys/i386/isa/sound/awe_voice.h>
header file. */
#cmakedefine LMMS_HAVE__USR_SRC_SYS_I386_ISA_SOUND_AWE_VOICE_H 1
/* Define to 1 if you have the <awe_voice.h> header file. */
#cmakedefine LMMS_HAVE_AWE_VOICE_H 1
/* Define if you have libasound.so.2 (required for ALSA 0.9.x support) */
#cmakedefine LMMS_HAVE_LIBASOUND2 1
/* Define if libasound has snd_pcm_resume() */
#cmakedefine LMMS_HAVE_SND_PCM_RESUME 1
/* Define to 1 if you have the <alsa/asoundlib.h> header file. */
#cmakedefine LMMS_HAVE_ALSA_ASOUNDLIB_H 1
/* Define to 1 if you have the <sys/asoundlib.h> header file. */
#cmakedefine LMMS_HAVE_SYS_ASOUNDLIB_H 1
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#cmakedefine LMMS_HAVE_SYS_SOUNDCARD_H 1
/* Define to 1 if you have the <machine/soundcard.h> header file. */
#cmakedefine LMMS_HAVE_MACHINE_SOUNDCARD_H 1

View File

@@ -1,190 +0,0 @@
/*
_____________________________________________________________________________
File Association
_____________________________________________________________________________
Based on code taken from http://nsis.sourceforge.net/File_Association
Usage in script:
1. !include "FileAssociation.nsh"
2. [Section|Function]
${FileAssociationFunction} "Param1" "Param2" "..." $var
[SectionEnd|FunctionEnd]
FileAssociationFunction=[RegisterExtension|UnRegisterExtension]
_____________________________________________________________________________
${RegisterExtension} "[executable]" "[extension]" "[description]"
"[executable]" ; executable which opens the file format
;
"[extension]" ; extension, which represents the file format to open
;
"[description]" ; description for the extension. This will be display in Windows Explorer.
;
${UnRegisterExtension} "[extension]" "[description]"
"[extension]" ; extension, which represents the file format to open
;
"[description]" ; description for the extension. This will be display in Windows Explorer.
;
_____________________________________________________________________________
Macros
_____________________________________________________________________________
Change log window verbosity (default: 3=no script)
Example:
!include "FileAssociation.nsh"
!insertmacro RegisterExtension
${FileAssociation_VERBOSE} 4 # all verbosity
!insertmacro UnRegisterExtension
${FileAssociation_VERBOSE} 3 # no script
*/
!ifndef FileAssociation_INCLUDED
!define FileAssociation_INCLUDED
!include Util.nsh
!verbose push
!verbose 3
!ifndef _FileAssociation_VERBOSE
!define _FileAssociation_VERBOSE 3
!endif
!verbose ${_FileAssociation_VERBOSE}
!define FileAssociation_VERBOSE `!insertmacro FileAssociation_VERBOSE`
!verbose pop
!macro FileAssociation_VERBOSE _VERBOSE
!verbose push
!verbose 3
!undef _FileAssociation_VERBOSE
!define _FileAssociation_VERBOSE ${_VERBOSE}
!verbose pop
!macroend
!macro RegisterExtensionCall _EXECUTABLE _EXTENSION _DESCRIPTION
!verbose push
!verbose ${_FileAssociation_VERBOSE}
Push `${_DESCRIPTION}`
Push `${_EXTENSION}`
Push `${_EXECUTABLE}`
${CallArtificialFunction} RegisterExtension_
!verbose pop
!macroend
!macro UnRegisterExtensionCall _EXTENSION _DESCRIPTION
!verbose push
!verbose ${_FileAssociation_VERBOSE}
Push `${_EXTENSION}`
Push `${_DESCRIPTION}`
${CallArtificialFunction} UnRegisterExtension_
!verbose pop
!macroend
!define RegisterExtension `!insertmacro RegisterExtensionCall`
!define un.RegisterExtension `!insertmacro RegisterExtensionCall`
!macro RegisterExtension
!macroend
!macro un.RegisterExtension
!macroend
!macro RegisterExtension_
!verbose push
!verbose ${_FileAssociation_VERBOSE}
Exch $R2 ;exe
Exch
Exch $R1 ;ext
Exch
Exch 2
Exch $R0 ;desc
Exch 2
Push $0
Push $1
ReadRegStr $1 HKCR $R1 "" ; read current file association
StrCmp "$1" "" NoBackup ; is it empty
StrCmp "$1" "$R0" NoBackup ; is it our own
WriteRegStr HKCR $R1 "backup_val" "$1" ; backup current value
NoBackup:
WriteRegStr HKCR $R1 "" "$R0" ; set our file association
ReadRegStr $0 HKCR $R0 ""
StrCmp $0 "" 0 Skip
WriteRegStr HKCR "$R0" "" "$R0"
WriteRegStr HKCR "$R0\shell" "" "open"
WriteRegStr HKCR "$R0\DefaultIcon" "" "$R2,0"
Skip:
WriteRegStr HKCR "$R0\shell\open\command" "" '"$R2" "%1"'
WriteRegStr HKCR "$R0\shell\edit" "" "Edit $R0"
WriteRegStr HKCR "$R0\shell\edit\command" "" '"$R2" "%1"'
Pop $1
Pop $0
Pop $R2
Pop $R1
Pop $R0
!verbose pop
!macroend
!define UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
!define un.UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
!macro UnRegisterExtension
!macroend
!macro un.UnRegisterExtension
!macroend
!macro UnRegisterExtension_
!verbose push
!verbose ${_FileAssociation_VERBOSE}
Exch $R1 ;desc
Exch
Exch $R0 ;ext
Exch
Push $0
Push $1
ReadRegStr $1 HKCR $R0 ""
StrCmp $1 $R1 0 NoOwn ; only do this if we own it
ReadRegStr $1 HKCR $R0 "backup_val"
StrCmp $1 "" 0 Restore ; if backup="" then delete the whole key
DeleteRegKey HKCR $R0
Goto NoOwn
Restore:
WriteRegStr HKCR $R0 "" $1
DeleteRegValue HKCR $R0 "backup_val"
DeleteRegKey HKCR $R1 ;Delete key with association name settings
NoOwn:
Pop $1
Pop $0
Pop $R1
Pop $R0
!verbose pop
!macroend
!endif # !FileAssociation_INCLUDED

10
configure vendored
View File

@@ -1,10 +0,0 @@
#!/bin/sh
echo ""
echo "Usage of configure & Co is deprecated! Please use"
echo ""
echo " cmake . -DCMAKE_INSTALL_PREFIX=/usr"
echo ""
echo "or similiar instead."
echo ""

931
configure.in Normal file
View File

@@ -0,0 +1,931 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
AC_INIT(lmms, 0.3.1, lmms-devel/at/lists/dot/sf/dot/net)
AM_INIT_AUTOMAKE(lmms, 0.3.1)
AM_CONFIG_HEADER(config.h)
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_LIBTOOL_WIN32_DLL
AC_PROG_LN_S
AC_PROG_GCC_TRADITIONAL
AM_PROG_LIBTOOL
if ! test -z "${prefix}" -o "${prefix}" = "NONE" ; then
CFLAGS="$CFLAGS -I${prefix}/include"
CPPFLAGS="$CPPFLAGS -I${prefix}/include"
LDFLAGS="$LDFLAGS -L${prefix}/bin"
fi
AH_TEMPLATE(BUILD_LINUX, [Build LMMS for Linux])
AH_TEMPLATE(BUILD_WIN32, [Build LMMS for Win32])
AC_ARG_WITH(linux,
[ --with-linux explicit build LMMS for Linux], [ build_linux=true ], [ build_linux=false ])
AC_ARG_WITH(win32,
[ --with-win32 explicit build LMMS for Win32], [ build_win32=true ], [ build_win32=false ])
AC_MSG_CHECKING([platform to build for])
if test "x$build_win32" = "xtrue" ; then
AC_MSG_RESULT([Win32, will enable support for it])
AC_DEFINE(BUILD_WIN32)
AC_DEFINE(WIN32)
build_linux="false"
build_win32="true"
else
# if test `uname -s | tr -s 'LINUX' 'linux'` = "linux" -o "x$build_linux" = "xyes" ; then
AC_MSG_RESULT([Linux, will enable support for it])
AC_DEFINE(BUILD_LINUX)
build_linux="true"
build_win32="false"
# if uname -s | grep MINGW32 ; then
# else
# AC_MSG_ERROR([*** non usable found... Run ./configure --help to see a list of available platforms, you can also specify explicit, if your platform was not recognized properly. Otherwise your platform isn't supported yet. In this case please contact the maintainer (see README)])
#fi
fi
AM_CONDITIONAL(BUILD_WIN32, test "$build_win32" = "true")
AM_CONDITIONAL(BUILD_LINUX, test "$build_linux" = "true")
# -fomit-frame-pointer crashes wine on Ubuntu Dapper--Danny 7/21/06
#DEFAULTFLAGS="-floop-optimize2 -fomit-frame-pointer -fgcse-sm -fgcse-las"
DEFAULTFLAGS="-O2 -fPIC" #"-floop-optimize2 -fgcse-sm -fgcse-las"
# Tested with GCC 4.0--needs to be tested with 4.1--Danny 7/21/06
if test "x`$CC --version|head -1|cut -d\ -f3|cut -d. -f1`" = "x4" ; then
DEFAULTFLAGS="$DEFAULTFLAGS -ftree-vectorize -ftree-loop-linear"
# if test "x`$CC --version|head -1|cut -d\ -f3|cut -d. -f2`" != "x0" ; then
# DEFAULTFLAGS="$DEFAULTFLAGS -funsafe-loop-optimizations -Wunsafe-loop-optimizations"
# fi
fi
CFLAGS="$DEFAULTFLAGS $CFLAGS"
CXXFLAGS="$DEFAULTFLAGS $CXXFLAGS"
AC_PATH_XTRA
gw_CHECK_QT
# checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([fcntl.h memory.h string.h sys/ioctl.h unistd.h stdlib.h pthread.h sys/ipc.h sys/shm.h sys/time.h sys/select.h sys/types.h stdarg.h signal.h sched.h ctype.h])
# checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
AC_C_BIGENDIAN
AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long])
# checks for library functions.
AC_FUNC_ALLOCA
AC_FUNC_MALLOC
AC_FUNC_MEMCMP
AC_TYPE_SIGNAL
AC_CHECK_FUNCS([usleep pipe sprintf])
# search for include-path of SDL (just for supporting the FreeBSD-guys.... ;-)
for i in SDL SDL10 SDL11 SDL12 ; do
FOUND=""
AC_CHECK_HEADER($i/SDL.h, FOUND="true")
if test "$FOUND" = "true" ; then
SDL_INC_PATH="$i"
break
fi
done
AH_TEMPLATE(SDL_SDL_H, [Define to location of SDL.h])
AH_TEMPLATE(SDL_SDL_AUDIO_H, [Define to location of SDL_audio.h])
AH_TEMPLATE(SDL_SDL_SOUND_H, [Define to location of SDL_sound.h])
OLD_LIBS="$LIBS"
#LIBS="$LIBS -lpthread"
# check for SDL-lib
AC_ARG_WITH(sdl,
AS_HELP_STRING([--without-sdl],
[disable support for SDL-audio-output]), ,
[ with_sdlaudio=yes ])
AH_TEMPLATE(HAVE_SDL_SDL_AUDIO_H, [Define to 1 if you have the <$SDL_INC_PATH/SDL_audio.h> header file.])
if test "x$with_sdlaudio" = "xyes" -a ! -z "$SDL_INC_PATH"; then
AC_CHECK_HEADER($SDL_INC_PATH/SDL_audio.h, HAVE_SDL_SDL_AUDIO_H="true")
AC_CHECK_LIB([SDL], [SDL_OpenAudio], HAVE_LIBSDL="true", HAVE_SDL_SDL_AUDIO_H="")
fi
if test ! -z "$HAVE_SDL_SDL_AUDIO_H" ; then
AC_DEFINE_UNQUOTED(SDL_SDL_H, <$SDL_INC_PATH/SDL.h>)
AC_DEFINE_UNQUOTED(SDL_SDL_AUDIO_H, <$SDL_INC_PATH/SDL_audio.h>)
AC_DEFINE(HAVE_SDL_SDL_AUDIO_H)
fi
AM_CONDITIONAL(HAVE_LIBSDL, test ! -z "$HAVE_SDL_SDL_AUDIO_H")
# check for SDL_sound-lib
AC_ARG_WITH(sdlsound,
AS_HELP_STRING([--without-sdlsound],
[disable support for reading samples via SDL_sound]), ,
[ with_sdlsound=yes ])
AH_TEMPLATE(HAVE_SDL_SDL_SOUND_H, [Define to 1 if you have the <$SDL_INC_PATH/SDL_sound.h> header file.])
if test "x$with_sdlsound" = "xyes" -a ! -z "$SDL_INC_PATH"; then
AC_CHECK_HEADER($SDL_INC_PATH/SDL_sound.h, HAVE_SDL_SDL_SOUND_H="true")
AC_CHECK_LIB([SDL_sound], [Sound_Init], HAVE_LIBSDL_SOUND="true", HAVE_SDL_SDL_SOUND_H="")
fi
if test ! -z "$HAVE_SDL_SDL_SOUND_H" ; then
AC_DEFINE_UNQUOTED(SDL_SDL_SOUND_H, <$SDL_INC_PATH/SDL_sound.h>)
AC_DEFINE(HAVE_SDL_SDL_SOUND_H)
fi
AM_CONDITIONAL(HAVE_LIBSDL_SOUND, test ! -z "$HAVE_LIBSDL_SOUND")
LIBS="$OLD_LIBS"
# check for ALSA-lib
AC_ARG_WITH(asound,
AS_HELP_STRING([--without-asound],
[disable support for ALSA-sound-output]), ,
[ with_asound=yes ])
AH_TEMPLATE(HAVE_ALSA_ASOUNDLIB_H, [Define to 1 if you have the <alsa/asoundlib.h> header file.])
if test "x$with_asound" = "xyes" ; then
AC_CHECK_HEADER(alsa/asoundlib.h, HAVE_ALSA_ASOUNDLIB_H="true")
AC_CHECK_LIB([asound], [snd_pcm_open], HAVE_LIBASOUND="true", HAVE_ALSA_ASOUNDLIB_H="")
fi
if test ! -z "$HAVE_ALSA_ASOUNDLIB_H" ; then
AC_DEFINE(HAVE_ALSA_ASOUNDLIB_H)
fi
AM_CONDITIONAL(HAVE_LIBASOUND, test ! -z "$HAVE_ALSA_ASOUNDLIB_H")
# check for OSS
AC_ARG_WITH(oss,
AS_HELP_STRING([--without-oss],
[disable support for OSS-sound-output]), ,
[ with_oss=yes ])
AH_TEMPLATE(HAVE_SYS_SOUNDCARD_H, [Define to 1 if you have the <sys/soundcard.h> header file.])
AH_TEMPLATE(HAVE_SOUNDCARD_H, [Define to 1 if you have the <soundcard.h> header file.])
if test "x$with_oss" = "xyes" ; then
AC_CHECK_HEADER(sys/soundcard.h, HAVE_SYS_SOUNDCARD_H="true")
AC_CHECK_HEADER(soundcard.h, HAVE_SOUNDCARD_H="true")
fi
if test ! -z "$HAVE_SYS_SOUNDCARD_H" ; then
AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
fi
if test ! -z "$HAVE_SOUNDCARD_H" ; then
AC_DEFINE(HAVE_SOUNDCARD_H)
fi
# check for JACK
AC_ARG_WITH(jack,
AS_HELP_STRING([--without-jack],
[disable support for JACK-transport]), ,
[ with_jack=yes ])
AH_TEMPLATE(HAVE_JACK_JACK_H, [Define to 1 if you have the <jack/jack.h> header file.])
AH_TEMPLATE(OLD_JACK, [Define to 1 if your JACK-version doesnt know about jack_client_open() etc.])
if test "x$with_jack" = "xyes" ; then
AC_CHECK_HEADER(jack/jack.h, HAVE_JACK_JACK_H="true")
AC_CHECK_LIB([jack], [jack_client_new], HAVE_LIBJACK="true", HAVE_JACK_JACK_H="")
AC_CHECK_LIB([jack], [jack_client_open], JACK_CLIENT_OPEN="true")
if test -z "$JACK_CLIENT_OPEN" ; then
AC_DEFINE(OLD_JACK)
fi
fi
if test ! -z "$HAVE_JACK_JACK_H" ; then
AC_DEFINE(HAVE_JACK_JACK_H)
fi
AM_CONDITIONAL(HAVE_LIBJACK, test ! -z "$HAVE_JACK_JACK_H")
# check for proper WINE-installation and existing Steinberg headers
AC_ARG_WITH(vst,
AS_HELP_STRING([--without-vst],
[disable support for builtin VST-plugin-hosting]), , [ with_vst=yes ])
if test "x$with_vst" = "xyes" ; then
if echo $CFLAGS $CXXFLAGS | grep "fomit-frame-pointer" > /dev/null ; then
AC_MSG_ERROR([*** passing -fomit-frame-pointer as compiler-flag will break LMMS' VST-support so either disable VST-support using --without-vst or remove it from compiler-flags])
fi
if test "$build_linux" = "true" ; then
AC_CHECK_PROG(WINECXX, wineg++, /usr/bin/wineg++,,/usr/bin)
if test "x`uname -m`" != "xx86_64" ; then
AC_CHECK_LIB([wine], [wine_init], true)
else
AMD64_BUILD=yes
OLDCFLAGS="$CFLAGS"
CFLAGS="-m32 $CFLAGS"
AC_CHECK_LIB([wine], [wine_init], true)
CFLAGS="$OLDCFLAGS"
fi
if test ! -z "$WINECXX" ; then
AC_LANG_PUSH(C++)
# CXXFLAGS="$CXXFLAGS -I${prefix}/include/wine/windows"
OLDCXX="$CXX"
OLDCPPFLAGS="$CPPFLAGS"
CXX="$WINECXX"
CPPFLAGS="$CPPFLAGS -I${prefix}/include/wine/windows"
CPPFLAGS+=" -I/usr/include/wine/windows"
AC_CHECK_HEADER(windows.h, HAVE_WINDOWS_H="true")
CXX="$OLDCXX"
CPPFLAGS="$OLDCPPFLAGS"
AC_LANG_POP(C++)
if test -z "$HAVE_WINDOWS_H" ; then
WINECXX=""
fi
fi
fi
fi
AM_CONDITIONAL(VST_SUPPORT, test ! -z "$WINECXX")
AM_CONDITIONAL(AMD64_BUILD, test "x$AMD64_BUILD" = "xyes")
# check for LADSPA-SDK
AC_ARG_WITH(ladspa,
AS_HELP_STRING([--without-ladspa], [disable support for LADSPA]), , [ with_ladspa=yes ] )
AH_TEMPLATE(HAVE_LADSPA_H, [Define to 1 if you have the <ladspa.h> header file.])
AH_TEMPLATE(LADSPA_SUPPORT, [Define to 1 if you have the <ladspa.h> header file.])
if test "x$with_ladspa" = "xyes" ; then
AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA_H="true")
fi
if test ! -z "$HAVE_LADSPA_H" ; then
AC_DEFINE(HAVE_LADSPA_H)
fi
if [ "$build_linux" = "true" ] ; then
AC_DEFINE(LADSPA_SUPPORT)
fi
#AM_CONDITIONAL(HAVE_LADSPA_H, test ! -z "$HAVE_LADSPA_H")
AM_CONDITIONAL(LADSPA_SUPPORT, test "$build_linux" = "true" )
# check for STK
AC_LANG_PUSH(C++)
AC_ARG_WITH(stk,
AS_HELP_STRING([--without-stk], [disable support for STK plugins]), ,
[ with_stk=yes ])
AH_TEMPLATE(HAVE_STK_H, [Define to 1 if you have the <stk/Stk.h> header file.])
if test "x$with_stk" = "xyes" ; then
AC_CHECK_HEADER([stk/Stk.h], HAVE_STK_H="true")
AC_CHECK_LIB([stk], [main], HAVE_STK="true", HAVE_STK_H="",
[-ljack -lasound])
fi
if test ! -z "$HAVE_STK_H" ; then
AC_DEFINE(HAVE_STK_H)
AC_SUBST(stk_includes, [/usr/include/stk])
AC_SUBST(stk_lib, [/usr/lib])
fi
AM_CONDITIONAL(STK_SUPPORT, test ! -z "$HAVE_STK_H")
AC_LANG_POP(C++)
# check for vorbis-lib
AC_ARG_WITH(vorbis,
AS_HELP_STRING([--without-vorbis],
[disable support for exporting song to OGG-files]), ,
[ with_vorbis=yes ])
AH_TEMPLATE(HAVE_VORBIS_CODEC_H, [Define to 1 if you have the <vorbis/codec.h> header file.])
AH_TEMPLATE(HAVE_VORBIS_VORBISENC_H, [Define to 1 if you have the <vorbis/vorbisenc.h> header file.])
AH_TEMPLATE(HAVE_VORBIS_VORBISFILE_H, [Define to 1 if you have the <vorbis/vorbisfile.h> header file.])
if test "x$with_vorbis" = "xyes" ; then
OGG_SUPPORT="true"
AC_CHECK_HEADER(vorbis/codec.h, HAVE_VORBIS_CODEC_H="true",OGG_SUPPORT="")
AC_CHECK_HEADER(vorbis/vorbisenc.h, HAVE_VORBIS_VORBISENC_H="true",OGG_SUPPORT="")
AC_CHECK_HEADER(vorbis/vorbisfile.h, HAVE_VORBIS_VORBISFILE_H="true",OGG_SUPPORT="")
AC_CHECK_LIB([vorbis], [vorbis_analysis], HAVE_LIBVORBIS="true", OGG_SUPPORT="")
fi
if test ! -z "$OGG_SUPPORT" ; then
AC_DEFINE(HAVE_VORBIS_CODEC_H)
AC_DEFINE(HAVE_VORBIS_VORBISENC_H)
AC_DEFINE(HAVE_VORBIS_VORBISFILE_H)
fi
AM_CONDITIONAL(HAVE_LIBVORBIS, test ! -z "$OGG_SUPPORT")
# check for libFLAC
AC_ARG_WITH(flac,
AS_HELP_STRING([--without-flac],
[disable support for internal encoding/decoding with FLAC]), ,
[ with_flac=yes ])
AH_TEMPLATE(HAVE_FLAC_STREAM_ENCODER_H, [Define to 1 if you have the <FLAC/stream_encoder.h> header file.])
AH_TEMPLATE(HAVE_FLAC_STREAM_DECODER_H, [Define to 1 if you have the <FLAC/stream_decoder.h> header file.])
if test "x$with_flac" = "xyes" ; then
AC_CHECK_HEADER(FLAC/stream_encoder.h, HAVE_FLAC_STREAM_ENCODER_H="true")
AC_CHECK_HEADER(FLAC/stream_decoder.h, HAVE_FLAC_STREAM_DECODER_H="true")
AC_CHECK_LIB([FLAC], [FLAC__stream_encoder_new], HAVE_LIBFLAC="true")
fi
if test ! -z "$HAVE_FLAC_STREAM_ENCODER_H" -a ! -z "$HAVE_FLAC_STREAM_DECODER_H" -a ! -z "$HAVE_LIBFLAC"; then
AC_DEFINE(HAVE_FLAC_STREAM_ENCODER_H)
AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H)
fi
AM_CONDITIONAL(HAVE_LIBFLAC, test ! -z "$HAVE_LIBFLAC")
# check for libsamplerate
AC_CHECK_HEADER(samplerate.h, HAVE_SAMPLERATE_H="true")
AC_CHECK_LIB([samplerate], [src_simple], HAVE_LIBSRC="true", HAVE_SAMPLERATE_H="")
AH_TEMPLATE(USE_3RDPARTY_LIBSRC, [Define to 1 if you do not have the <samplerate.h> header file.])
AM_CONDITIONAL(USE_3RDPARTY_LIBSRC, test -z "$HAVE_SAMPLERATE_H")
if test -z "$HAVE_SAMPLERATE_H" ; then
AC_DEFINE(USE_3RDPARTY_LIBSRC)
AC_CHECK_FUNCS(malloc calloc free memcpy memmove)
AC_CHECK_LIB([m],floor)
AC_CHECK_FUNCS(floor ceil fmod)
AC_C99_FUNC_LRINT
AC_C99_FUNC_LRINTF
# AC_C99_FUNC_LLRINT Don't need this (yet?).
case "x$ac_cv_c99_lrint$ac_cv_c99_lrintf" in
xyesyes)
;;
*)
AC_MSG_WARN([[*** Missing C99 standard functions lrint() and lrintf().]])
AC_MSG_WARN([[*** This may cause benign compiler warnings on some systems (ie Solaris).]])
;;
esac
#====================================================================================
# Determine if the processor can do clipping on float to int conversions.
AC_C_CLIP_MODE
AC_DEFINE_UNQUOTED(CPU_CLIPS_POSITIVE, ${ac_cv_c_clip_positive},
[Target processor clips on positive float to int conversion.])
AC_DEFINE_UNQUOTED(CPU_CLIPS_NEGATIVE, ${ac_cv_c_clip_negative},
[Target processor clips on negative float to int conversion.])
fi
# check for Festival
AC_LANG_PUSH(C++)
AC_ARG_WITH(singerbot,
AS_HELP_STRING([--without-singerbot],
[disable support for SingerBot plugin]), ,
[ with_singerbot=yes ])
AH_TEMPLATE(SINGERBOT_SUPPORT,
[Define to 1 to enable SingerBot plugin support.])
if test "x$with_singerbot" = "xyes" ; then
ORIG_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I/usr/include/festival -I/usr/include/speech_tools -Wno-non-template-friend"
AC_CHECK_HEADER([festival.h], FESTIVAL_SUPPORT="true")
AC_CHECK_LIB([Festival], [main], true, FESTIVAL_SUPPORT="")
CPPFLAGS=$ORIG_CPPFLAGS
fi
if test ! -z "$FESTIVAL_SUPPORT" ; then
AC_DEFINE(SINGERBOT_SUPPORT)
fi
AC_LANG_POP(C++)
AM_CONDITIONAL(SINGERBOT_SUPPORT, test ! -z "$FESTIVAL_SUPPORT" )
# libsndfile-stuff
AC_ARG_WITH(libsf,
AS_HELP_STRING([--without-libsf],
[disable support for importing files via libsndfile]), ,
[ with_libsf=yes ])
AH_TEMPLATE(HAVE_SNDFILE_H, [Define to 1 if you have the <sndfile.h> header file.])
if test "x$with_libsf" = "xyes" ; then
AC_CHECK_HEADER(sndfile.h, HAVE_SNDFILE_H="true")
AC_CHECK_LIB([sndfile], [sf_command], HAVE_LIBSF="true", HAVE_SNDFILE_H="")
AC_MSG_CHECKING([version of libsndfile])
AH_TEMPLATE(OLD_SNDFILE, [Define to 1 if libsndfile < 1.0.11])
OLD_LIBS="$LIBS"
LIBS="$LIBS -lsndfile"
AC_RUN_IFELSE([ #include <sndfile.h>
int main( void )
{
SF_INFO si;
( void )sf_open( "", SFM_READ, &si );
return 0;
}],
AC_MSG_RESULT([>= 1.0.11]),
AC_MSG_RESULT([< 1.0.11])
AC_DEFINE(OLD_SNDFILE)
)
LIBS="$OLD_LIBS"
fi
if test ! -z "$HAVE_SNDFILE_H" ; then
AC_DEFINE(HAVE_SNDFILE_H)
fi
AM_CONDITIONAL(HAVE_LIBSF, test ! -z "$HAVE_SNDFILE_H")
AC_ARG_WITH(nosmpdecs,
AS_HELP_STRING([--without-sample-decoders],
[force compiling LMMS even if no usable libraries for sample-decoding were found]),
[ with_smpdecs=yes ])
if test -z "$HAVE_SND_FILE" -a -z "$HAVE_SDL_SDL_SOUND_H" -a -z "$OGG_SUPPORT" -a ! -z "$with_smpdecs"; then
AC_MSG_ERROR([*** neither libsndfile nor SDL_sound nor libvorbis (or according devel-files) were found which would make LMMS unable to load any samples so please install at least one of the packages and try again! Use --without-sample-decoders to force compiling without any sample-decoding-libraries.])
fi
# check whether to disable surround-support
AC_MSG_CHECKING([whether to disable surround-support])
AH_TEMPLATE(DISABLE_SURROUND, [Define if you want to disable surround-support in LMMS.])
AC_ARG_ENABLE([surround],
AS_HELP_STRING([--disable-surround],
[compile LMMS without surround-support]),
[ENABLE_SURROUND=$enableval])
if test "x$ENABLE_SURROUND" = "xno" ; then
AC_MSG_RESULT(yes)
AC_DEFINE(DISABLE_SURROUND)
else
AC_MSG_RESULT(no)
fi
# check whether to enable high-quality sinc-resampling
AC_MSG_CHECKING([whether to enable high quality sinc-resampling])
AH_TEMPLATE(HQ_SINC, [Define if you want to enable high quality sinc-resampling.])
AC_ARG_ENABLE([hqsinc],
AS_HELP_STRING([--enable-hqsinc],
[enable high quality sinc-resampling]), [HQ_SINC=$enableval])
if test "x$HQ_SINC" = "xyes" ; then
AC_MSG_RESULT(yes)
AC_DEFINE(HQ_SINC)
else
AC_MSG_RESULT(no)
fi
# check whether to disable single-source-compile
AC_MSG_CHECKING([whether to enable single-source-compile])
# AH_TEMPLATE(SINGLE_SOURCE_COMPILE, [Define if you want to enable single-source-compile.])
AC_ARG_ENABLE([ssc],
AS_HELP_STRING([--enable-ssc],
[enable single-source-compile]), [ENABLE_SSC=$enableval])
if test "x$ENABLE_SSC" = "xyes" ; then
AC_MSG_RESULT(yes)
# AC_DEFINE(SINGLE_SOURCE_COMPILE)
CXXFLAGS="$CXXFLAGS -DSINGLE_SOURCE_COMPILE"
else
AC_MSG_RESULT(no)
fi
# check whether compiler of current platform supports attribute regparm(x)
AC_MSG_CHECKING([whether we can use function-attribute regparm(x) on current platform])
AH_TEMPLATE(FASTCALL, [Define to any attribute, speeding up function-calls])
AC_RUN_IFELSE([ int __attribute__((regparm(3))) foo( int a, int b, int c )
{ return( a=b=c ); }
int __attribute__((regparm(3))) main( void )
{ return( foo(2,1,0) ); }],
AC_MSG_RESULT(yes)
AC_DEFINE(FASTCALL, [__attribute__((regparm(3)))]),
AC_MSG_RESULT(no)
AC_DEFINE_UNQUOTED(FASTCALL,[])
)
AC_MSG_CHECKING([whether floorf is known by compiler])
AH_TEMPLATE(floorf, [Define to floor if floorf is not known])
AC_TRY_LINK([#include <math.h>], [ floorf ],
AC_MSG_RESULT(yes),
AC_MSG_RESULT([no - will use floor instead])
AC_DEFINE(floorf, floor)
)
AC_MSG_CHECKING([whether powf is known by compiler])
AH_TEMPLATE(powf, [Define to pow if powf is not known])
AC_TRY_LINK([#include <math.h>], [ powf ],
AC_MSG_RESULT(yes),
AC_MSG_RESULT([no - will use pow instead])
AC_DEFINE(powf, pow)
)
AC_MSG_CHECKING([whether fabsf is known by compiler])
AH_TEMPLATE(fabsf, [Define to pow if fabsf is not known])
AC_TRY_LINK([#include <math.h>], [ fabsf ],
AC_MSG_RESULT(yes),
AC_MSG_RESULT([no - will use fabs instead])
AC_DEFINE(fabsf, fabs)
)
AC_MSG_CHECKING([whether logf is known by compiler])
AH_TEMPLATE(logf, [Define to lof if logf is not known])
AC_TRY_LINK([#include <math.h>], [ logf ],
AC_MSG_RESULT(yes),
AC_MSG_RESULT([no - will use log instead])
AC_DEFINE(logf, log)
)
# check whether to enable debugging-code
AC_MSG_CHECKING([whether to enable debugging-code])
AH_TEMPLATE(LMMS_DEBUG, [Define if you want to disable debbuging-code in LMMS.])
AC_ARG_ENABLE([debug],
AS_HELP_STRING([--enable-debug],
[compile LMMS with additional debugging support]),
[DEBUG=$enableval])
if test "x$DEBUG" = "xyes" ; then
AC_MSG_RESULT(yes)
AC_DEFINE(LMMS_DEBUG)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([whether to ship caps])
AC_ARG_WITH([caps],
AS_HELP_STRING([--without-caps],
[do not ship C* Audio Plugin Suite]), ,
[ with_caps=yes ])
if test "x$with_caps" = "xyes" ; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AM_CONDITIONAL(SHIP_CAPS, test "x$with_caps" = "xyes")
if [ "$build_win32" = "true" ] ; then
BIN2RES=`pwd`/buildtools/bin2res.exe
else
BIN2RES=`pwd`/buildtools/bin2res
fi
AC_SUBST(BIN2RES)
# check for rpm SOURCES path
echo -n "checking for rpm sources path... "
RPMSOURCEDIR="NOT-FOUND"
for directory in packages OpenLinux redhat RedHat rpm RPM "" ; do
if test -d /usr/src/${directory}/SOURCES ; then
RPMSOURCEDIR="/usr/src/${directory}/SOURCES/"
fi
done
echo "$RPMSOURCEDIR"
AM_CONDITIONAL(HAVE_RPM, test "$RPMSOURCEDIR" != "NOT-FOUND")
AC_SUBST(RPMSOURCEDIR)
lmmsdatadir="$datadir/$PACKAGE"
AC_SUBST(lmmsdatadir)
EXTRA_WARNINGS="-Wextra -Wno-unused-parameter -Winline -Wdisabled-optimization"
if test "x$CXX" == "xg++" ; then
CXXFLAGS="$CXXFLAGS -ansi -Wall $EXTRA_WARNINGS -fno-exceptions"
fi
LDFLAGS="$LDFLAGS -L/usr/local/lib"
CXXFLAGS="$CXXFLAGS -I/usr/local/include"
AC_CONFIG_FILES([Makefile
buildtools/Makefile
data/Makefile
data/locale/Makefile
data/midi-maps/Makefile
data/presets/Makefile
data/presets/AudioFileProcessor/Makefile
data/presets/BitInvader/Makefile
data/presets/Organic/Makefile
data/presets/PluckedStringSynth/Makefile
data/presets/TripleOscillator/Makefile
data/presets/VeSTige/Makefile
data/projects/Makefile
data/projects/cool_songs/Makefile
data/projects/covers/Makefile
data/projects/demos/Makefile
data/projects/misc/Makefile
data/projects/recorded_loops/Makefile
data/projects/templates/Makefile
data/projects/tutorials/Makefile
data/samples/Makefile
data/samples/basses/Makefile
data/samples/bassloopes/Makefile
data/samples/beats/Makefile
data/samples/drums/Makefile
data/samples/drumsynth/Makefile
data/samples/drumsynth/acoustic/Makefile
data/samples/drumsynth/cr78/Makefile
data/samples/drumsynth/cr8000/Makefile
data/samples/drumsynth/effects/Makefile
data/samples/drumsynth/electro/Makefile
data/samples/drumsynth/farfisa/Makefile
data/samples/drumsynth/ferraro/Makefile
data/samples/drumsynth/instrument/Makefile
data/samples/drumsynth/jorgensohn/Makefile
data/samples/drumsynth/latin/Makefile
data/samples/drumsynth/linn/Makefile
data/samples/drumsynth/magnetboy/Makefile
data/samples/drumsynth/misc/Makefile
data/samples/drumsynth/misc_bass/Makefile
data/samples/drumsynth/misc_claps/Makefile
data/samples/drumsynth/misc_electro/Makefile
data/samples/drumsynth/misc_fx/Makefile
data/samples/drumsynth/misc_hats/Makefile
data/samples/drumsynth/misc_perc/Makefile
data/samples/drumsynth/misc_synth/Makefile
data/samples/drumsynth/r_b/Makefile
data/samples/drumsynth/tr606/Makefile
data/samples/drumsynth/tr77/Makefile
data/samples/drumsynth/tr808/Makefile
data/samples/drumsynth/tr909/Makefile
data/samples/effects/Makefile
data/samples/instruments/Makefile
data/samples/latin/Makefile
data/samples/misc/Makefile
data/samples/shapes/Makefile
data/samples/stringsnpads/Makefile
data/themes/Makefile
data/track_icons/Makefile
plugins/Makefile
plugins/audio_file_processor/Makefile
plugins/bass_booster/Makefile
plugins/bit_invader/Makefile
plugins/flp_import/Makefile
plugins/kicker/Makefile
plugins/ladspa_base/Makefile
plugins/ladspa_effect/Makefile
plugins/ladspa_effect/caps/Makefile
plugins/lb302/Makefile
plugins/live_tool/Makefile
plugins/midi_import/Makefile
plugins/organic/Makefile
plugins/patman/Makefile
plugins/singerbot/Makefile
plugins/stereo_enhancer/Makefile
plugins/stk/Makefile
plugins/stk/mallets/Makefile
plugins/triple_oscillator/Makefile
plugins/vestige/Makefile
plugins/vibed/Makefile
plugins/vst_base/Makefile
plugins/vst_effect/Makefile
lmms.spec])
AC_OUTPUT
with_warnings="false"
echo
echo
PLUGINS_TO_BUILD=""
if test -z "$HAVE_ALSA_ASOUNDLIB_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have ALSA-library installed and/or ALSA-lib-development-"
echo " = package is missing. This will disable support for sound-output via ALSA!"
echo " = Consider installing the missing packages for using the full power of LMMS."
echo " ="
with_warnings="true"
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* ALSA for audio- and MIDI-input/output"
fi
if test -z "$HAVE_JACK_JACK_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have JACK-library installed and/or JACK-lib-development-"
echo " = package is missing. This will disable support for JACK-transport."
echo " = This is no problem but you'll miss the great possibilities of interacting"
echo " = with other sound-applications in realtime!"
echo " = Consider installing the missing packages for using the full power of LMMS."
echo " ="
with_warnings="true"
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* JACK for audio-input/output"
fi
if test -z "$HAVE_SOUNDCARD_H" -a -z "$HAVE_SYS_SOUNDCARD_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have soundcard.h which is neccessary for outputting "
echo " = sound via OSS under Linux/BSD/Solaris."
echo " = This will also disable support for MIDI using OSS."
echo " = If you're building for a different platform or do not need OSS-support, you"
echo " = can ignore this warning."
echo " ="
with_warnings="true"
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* OSS for audio- and MIDI-input/output"
fi
if test -z "$HAVE_SDL_SDL_AUDIO_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have SDL-library installed and/or SDL-lib-development-"
echo " = package is missing. This will disable support for sound-output via SDL, "
echo " = which is important, if you're using sound-daemons (arts, ESD etc.)"
echo " = When compiling without SDL, you'll always have to kill your sound-daemon"
echo " = before using LMMS...!"
echo " = Consider installing the missing packages for using the full power of LMMS."
echo " ="
with_warnings="true"
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* SDL for audio-output"
fi
if test -z "$OGG_SUPPORT" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have libvorbis installed and/or libvorbis-development-"
echo " = package is missing. This will disable support for exporting songs to"
echo " = OGG-files! If SDL_sound is missing too, you'll not be able to use the "
echo " = samples coming with LMMS since libsndfile currently has no OGG-support!"
echo " = Consider installing the missing packages for using the full power of LMMS."
echo " ="
with_warnings="true"
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* libvorbis for encoding/decoding OGG-files"
fi
if test -z "$HAVE_SDL_SDL_SOUND_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have SDL_sound-library installed and/or SDL_sound-"
echo " = development-package is missing. This means that you can only load samples"
echo " = within LMMS if you have libsndfile and libvorbis installed!"
echo " = Consider installing the missing packages for using the full power of LMMS."
echo " ="
with_warnings="true"
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* SDL_sound for sample-decoding"
fi
if test -z "$HAVE_SNDFILE_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have libsndfile installed and/or libsndfile-development-"
echo " = package is missing. This is not that fatal as long as you have SDL_sound"
echo " = installed. Otherwise it's strongly recommended to install libsndfile and"
echo " = libvorbis for being able to use samples within LMMS."
echo " = Consider installing the missing packages for using the full power of LMMS."
echo " ="
with_warnings="true"
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* libsndfile for sample-decoding"
fi
if test -z "$HAVE_SAMPLERATE_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have libsamplerate installed and/or libsamplerate-"
echo " = development-package is missing. If you ignore this warning the"
echo " = according source-code of libsamplerate will be directly compiled into"
echo " = LMMS which is no problem at all. If you're building official LMMS-packages"
echo " = for a distribution DO NOT IGNORE THIS WARNING."
echo " ="
fi
if test "$build_linux" = "true" ; then
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* LADSPA-plugins"
if test -z "$HAVE_LADSPA_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = As the header file ladspa.h could not be found on your system, a version"
echo " = shipped with LMMS will be used. This is no problem at all but generally"
echo " = it's better to use files being customized to your system/distribution."
echo " = If you encounter problems related to LADSPA-support, try to install"
echo " = LADSPA-SDK-package (ladspa-sdk, ladspa-dev or similiar) and run configure"
echo " = again."
echo " ="
with_warnings="true"
fi
else
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You're building LMMS for a platform other than Linux which will prevent"
echo " = configure from enabling LADSPA-support."
echo " ="
with_warnings="true"
fi
if test -z "$HAVE_STK_H" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have STK installed and/or STK-development-package"
echo " = (Debian/Ubuntu: libstk0-dev) is missing. Without this package, the "
echo " = STK instrument plugins (\"Mallets\") won't be built."
echo " = Consider installing the missing packages for using the full power of LMMS."
echo " ="
with_warnings="true"
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* STK instrument plugins"
fi
if test -z "$FESTIVAL_SUPPORT" ; then
if test "x$with_singerbot" = "xyes" ; then
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have Festival development files."
echo " = The SingerBot instrument plugin will be ignored."
echo " = Before enabling this plugin, bear in mind that it is still experimental."
echo " ="
echo " = To remove this warning, please pass"
echo " = "
echo " = --without-singerbot"
echo " ="
with_warnings="true"
fi
else
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* SingerBot instrument plugin"
fi
if test ! -z "$WINECXX" ; then
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* LMMS VST Support Layer (LVSL) for built-in VST-plugin usage"
else
echo " ========================"
echo " === LMMS - WARNING ======================================================="
echo " ========================"
echo " ="
echo " = You don't seem to have installed WINE or it's development-packages (headers,"
echo " = winegcc etc.) which are neccessary for building LMMS with built-in"
echo " = VST-support."
echo " = If you do not intend to use VST-plugins with LMMS you can ignore this "
echo " = warning."
echo " = Consider installing the missing packages (Debian: libwine-dev,"
echo " = Ubuntu: wine-dev, openSUSE: wine-devel) for using the full power of LMMS."
echo " ="
with_warnings="true"
fi
echo
echo
echo "LMMS will be able to use $PLUGINS_TO_BUILD" | sed -e "s/\\\n/\n/g" | sed -e "s/\\\t/\t/g" | sed -e "s/\\\\\*/\*/g"
echo
echo
echo " ============================"
echo " === LMMS - INFORMATION ==================================================="
echo " ============================"
echo " ="
if test "$with_warnings" = "false" ; then
echo " = LMMS has been configured successfully. Now you can build it by typing 'make'."
echo " = After the compilation-process has finished, you can install LMMS by"
echo " = typing 'make install' (do this as \"root\"!)."
else
echo " = LMMS has been configured, but there were one or more warnings you should"
echo " = not ignore. First try to solve the mentioned problems before"
echo " = proceeding. Otherwise don't complain, if LMMS doesn't run the way"
echo " = you might expect..."
fi
echo " ="
echo " = If there're problems while compiling LMMS, please send a mail to "
echo " = lmms-devel \[at\] lists.sf.net!"
echo " ="
echo

View File

@@ -1,19 +0,0 @@
ADD_SUBDIRECTORY(backgrounds)
ADD_SUBDIRECTORY(locale)
ADD_SUBDIRECTORY(presets)
ADD_SUBDIRECTORY(projects)
ADD_SUBDIRECTORY(samples)
ADD_SUBDIRECTORY(themes)
IF(LMMS_BUILD_LINUX)
INSTALL(FILES themes/default/icon.png DESTINATION ${DATA_DIR}/pixmaps RENAME lmms.png)
INSTALL(FILES lmms DESTINATION ${DATA_DIR}/menu)
INSTALL(FILES lmms.desktop DESTINATION ${DATA_DIR}/applications)
INSTALL(FILES lmms.xml DESTINATION ${DATA_DIR}/mime/packages)
ENDIF(LMMS_BUILD_LINUX)
IF(LMMS_BUILD_WIN32)
FILE(GLOB RAWWAVES ${CMAKE_INSTALL_PREFIX}/share/stk/rawwaves/*.raw)
INSTALL(FILES ${RAWWAVES} DESTINATION ${DATA_DIR}/stk/rawwaves)
ENDIF(LMMS_BUILD_WIN32)

13
data/Makefile.am Normal file
View File

@@ -0,0 +1,13 @@
SUBDIRS = locale midi-maps presets projects samples themes track_icons
menudir = $(datadir)/menu
menu_DATA = lmms
applicationsdir = $(datadir)/applications
applications_DATA = lmms.desktop
mimedir = $(datadir)/mime/packages
mime_DATA = lmms.xml
EXTRA_DIST = $(menu_DATA) $(applications_DATA) $(mime_DATA)

View File

@@ -1,2 +0,0 @@
FILE(GLOB PNG_FILES *.png)
INSTALL(FILES ${PNG_FILES} DESTINATION ${LMMS_DATA_DIR}/backgrounds)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,4 +1,4 @@
?package(lmms):needs="X11" section="Apps/Sound" \
title="LMMS" hints="Audio" command="/usr/bin/lmms" \
longtitle="Linux MultiMedia Studio" \
icon="/usr/share/pixmaps/lmms.png"
icon="/usr/share/lmms/themes/default/icon.png"

View File

@@ -1,13 +1,15 @@
[Desktop Entry]
Name=Linux MultiMedia Studio
GenericName=music production suite
GenericName=software for music-production
GenericName[ca]=Programari de producció musical
GenericName[de]=Software zur Musik-Produktion
Comment=easy music production for everyone!
Comment=easy music-production for everyone!
Comment[ca]=Producció fàcil de música per a tothom!
Icon=lmms
Exec=lmms
Icon=/usr/share/lmms/themes/default/icon.png
Exec=/usr/bin/lmms
Terminal=false
Type=Application
Categories=Qt;AudioVideo;Audio;Midi;
MimeType=application/x-lmms-project;
Encoding=UTF-8
X-Desktop-File-Install-Version=0.3
Categories=Application;AudioVideo;Qt
MimeType=application/x-lmms-project

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

View File

@@ -1,6 +0,0 @@
FILE(GLOB QM_FILES *.qm)
IF(LMMS_BUILD_WIN32)
FILE(GLOB QT_QM_FILES ${QT_TRANSLATIONS_DIR}/qt*[^h].qm)
ENDIF(LMMS_BUILD_WIN32)
INSTALL(FILES ${QM_FILES} ${QT_QM_FILES} DESTINATION ${LMMS_DATA_DIR}/locale)

7
data/locale/Makefile.am Normal file
View File

@@ -0,0 +1,7 @@
localedir = $(lmmsdatadir)/locale
locale_DATA = *.qm
locale_TSOURCES = *.ts
EXTRA_DIST = $(locale_DATA) $(locale_TSOURCES)

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
data/locale/qt_ar.qm Normal file

Binary file not shown.

BIN
data/locale/qt_cs.qm Normal file

Binary file not shown.

BIN
data/locale/qt_de.qm Normal file

Binary file not shown.

BIN
data/locale/qt_es.qm Normal file

Binary file not shown.

BIN
data/locale/qt_fr.qm Normal file

Binary file not shown.

BIN
data/locale/qt_he.qm Normal file

Binary file not shown.

BIN
data/locale/qt_it.qm Normal file

Binary file not shown.

BIN
data/locale/qt_ja.qm Normal file

Binary file not shown.

BIN
data/locale/qt_nb.qm Normal file

Binary file not shown.

BIN
data/locale/qt_pt-br.qm Normal file

Binary file not shown.

BIN
data/locale/qt_ru.qm Normal file

Binary file not shown.

BIN
data/locale/qt_sk.qm Normal file

Binary file not shown.

BIN
data/locale/qt_zh-cn.qm Normal file

Binary file not shown.

BIN
data/locale/qt_zh-tw.qm Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
midimapsdir = $(lmmsdatadir)/midi-maps/
midimaps_DATA = gm.map \
YamahaPSR400.map \
YamahaPSR500.map \
YamahaPSS790.map \
YamahaQY10.map
EXTRA_DIST = $(midimaps_DATA)

3
data/midi-maps/README Normal file
View File

@@ -0,0 +1,3 @@
These MIDI-maps are taken from KMid so please contact the author of KMid for
issues concerning these files.

View File

@@ -0,0 +1,293 @@
# Blank lines and lines beginning with # are ignored
# This is a map for a Yamaha PSR-400 keyboard
# This file was done by Tobias Doerffel based on map for the PSR-500
# If you make a new map, please send it to Antonio, so future releases
# will include them.
# Antonio Larrosa Jimenez, larrosa@kde.org
# General Midi Map File
DEFINE PATCHMAP
AcusticPiano =0
BrightPiano =0
SynthPiano =1
HonkyTonky =2
ElectricPiano1=3
ElectricPiano2=4
Harpsichord =6
Clavinet =8
Celeste =9
Glockenspiel =40
Musicbox =41
Vibes =40
Marimba =41
Xylophon =41
TubeBell =41
Santur =42
HomeOrg =12
PercussionOrg =13
RockOrg =14
ChurchOrg =10
ReedOrg =11
Accordion =16
Harmonica =17
Concrtna =17
NylonGuitar =29
AcusticGuitar =31
JazzGuitar =24
CleanGuitar =19
MuteGuitar =26
OdGuitar =18
DistortionGuit=23
GtrHarm =20
AcusticBass =88
FingerBass =89
PickBass =87
FretlessBass =84
SlapBass1 =87
SlapBass2 =87
SynthBass1 =90
SynthBass2 =91
Violin =32
Viola =33
Cello =34
Contrabajo =33
Marcato =34
Pizzicato =38
Harp =38
Timpani =33
Marcato =34
SlowStrings =35
SynthStrings1 =36
SynthStrings2 =75
Choir =72
Doo =72
Voices =72
OrchestraHit =37
Trumpet =43
Trombone =47
Tuba =50
MuteTrumpet =45
FrenchHorn =49
HitBrass =51
SynthBrass1 =52
SynthBrass2 =74
SopranoSax =60
AltoSax =61
TenorSax =62
BaritoneSax =63
Oboe =57
EnglishHorn =58
Bassoon =59
Clarinet =55
Piccolo =53
Flute =54
Recorder =66
WoodFlute =65
Bottle =55
Shakazul =55
Whistle =68
Ocarina =79
SquareWave =03
SawWave =74
Calliope =77
Chiflead =73
Charang =84
VoxLead =85
Lead5th =86
BassLead =87
Fantasia =88
WarmPad =89
Polysyn =90
Ghostie =91
BowGlass =92
MetalPad =93
HaloPad =94
Sweeper =95
Aurora =72
SoundTrack =72
Crystal =72
Atmosphear =72
FreshAir =100
Unicorn =101
Sweeper =102
StarTrak =103
Sitar =104
Banjo =105
Shamisen =106
Koto =107
Kalimba =108
BagPipes =109
Fiddle =110
Shannai =111
Carillon =112
Agogo =113
SteelDrm =114
WoodBlk =115
Taiko =116
Toms =117
Syntom =118
RevCymbal =119
Fx-Fret =120
Fx-Blow =121
Seashore =122
Jungle =123
Telephon =124
Helicopter =125
Applause =126
Gunshot =127
END
DEFINE KEYMAP "Drumset"
C 0 =0
C#0 =1
D 0 =2
D#0 =3
E 0 =4
F 0 =5
F#0 =6
G 0 =7
G#0 =8
A 0 =9
A#0 =10
B 0 =11
C 1 =12
C#1 =13
D 1 =14
D#1 =15
E 1 =16
F 1 =17
F#1 =18
G 1 =19
G#1 =20
A 1 =21
A#1 =22
B 1 =23
C 2 =24
C#2 =25
D 2 =26
D#2 27 Highq =27
E 2 28 Slap =54
F 2 29 Scratch1 =62
F#2 30 Scratch2 =63
G 2 31 Sticks =22
G#2 32 SqrClick =87
A 2 33 MetaClick=57
A#2 34 MetBell =55
B 2 35 Kick1 =44
C 3 36 Kick2 =45
C#3 37 StickRim =27
D 3 38 Snare1 =28
D#3 39 Claps =30
E 3 40 snare2 =25
F 3 41 tomlo2 =24
F#3 42 Hihatclos=72
G 3 43 Tomlo1 =17
G#3 44 HihatPd =56
A 3 45 Tommid2 =26
A#3 46 Hihatop =35
B 3 47 Tommid1 =18
C 4 48 Tomhi2 =29
C#4 49 Cymbalcrsh1 =36
D 4 50 Tomhi1 =19
D#4 51 Cymbalride1 =38
E 4 52 Cymbalchina =38
F 4 53 Cymbell =38
F#4 54 Tamborin =47
G 4 55 CymbalSplash=37
G#4 56 Cowbell =31
A 4 57 Cymbalcrash2=36
A#4 58 Vibslap =39
B 4 59 Cymbalride2 =39
C 5 60 Bongohi =44
C#5 61 Bongolo =43
D 5 62 Congahi1 =41
D#5 63 congahi2 =42
E 5 64 Congalo =40
F 5 65 Timbalehi=46
F#5 66 Timbalelo=45
G 5 67 Agogohi =51
G#5 68 Agogolo =50
A 5 69 Cabasa =32
A#5 70 Maracas =65
B 5 71 whistle1 =52
C 6 72 whistle2 =53
C#6 73 Guiro1 =74
D 6 74 Guiro2 =74
D#6 75 Clave =29
E 6 76 Woodblock1=73
F 6 77 Woodblock2=72
F#6 78 Cuica1 =76
G 6 79 Cuica2 =77
G#6 80 Triangle1=13
A 6 81 Triangle2=15
A#6 82 Shaker =56
B 6 83 Jingles =75
C 7 84 Belltree =71
C#7 85 Canstinet=85
D 7 86 Surdo1 =86
D#7 87 Surdo2 =87
E 7 =88
F 7 =89
F#7 =90
G 7 =91
G#7 =92
A 7 =93
A#7 =94
B 7 =95
C 8 =96
C#8 =97
D 8 =98
D#8 =99
E 8 =100
F 8 =101
F#8 =102
G 8 =103
G#8 =104
A 8 =105
A#8 =106
B 8 =107
C 9 =108
C#9 =109
D 9 =110
D#9 =111
E 9 =112
F 9 =113
F#9 =114
G 9 =115
G#9 =116
A 9 =117
A#9 =118
B 9 =119
C 10=120
C#10=121
D 10=122
D#10=123
E 10=124
F 10=125
F#10=126
G 10=127
# This line should be ignored
END
DEFINE CHANNELMAP
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9 Keymap "Drumset" ForcePatch 99
10 = 10
11 = 11
12 = 12
13 = 13
14 = 14
15 = 15
END

View File

@@ -0,0 +1,293 @@
# Blank lines and lines beginning with # are ignored
# This is a map for a Yamaha PSR-500 keyboard
# This file was done by Dietmar Schnabel (thanks !)
# If you make a new map, please send it to Antonio, so future releases
# will include them.
# Antonio Larrosa Jimenez, larrosa@kde.org
# General Midi Map File
DEFINE PATCHMAP
AcusticPiano =0
BrightPiano =0
SynthPiano =3
HonkyTonky =2
ElectricPiano1=4
ElectricPiano2=5
Harpsichord =6
Clavinet =8
Celeste =9
Glockenspiel =40
Musicbox =41
Vibes =40
Marimba =41
Xylophon =41
TubeBell =41
Santur =42
HomeOrg =12
PercussionOrg =13
RockOrg =14
ChurchOrg =10
ReedOrg =11
Accordion =16
Harmonica =17
Concrtna =17
NylonGuitar =29
AcusticGuitar =31
JazzGuitar =24
CleanGuitar =19
MuteGuitar =26
OdGuitar =18
DistortionGuit=23
GtrHarm =20
AcusticBass =88
FingerBass =89
PickBass =87
FretlessBass =84
SlapBass1 =87
SlapBass2 =87
SynthBass1 =90
SynthBass2 =91
Violin =32
Viola =33
Cello =34
Contrabajo =33
Marcato =34
Pizzicato =38
Harp =38
Timpani =33
Marcato =34
SlowStrings =35
SynthStrings1 =36
SynthStrings2 =75
Choir =72
Doo =72
Voices =72
OrchestraHit =37
Trumpet =43
Trombone =47
Tuba =50
MuteTrumpet =44
FrenchHorn =49
HitBrass =51
SynthBrass1 =52
SynthBrass2 =74
SopranoSax =60
AltoSax =61
TenorSax =62
BaritoneSax =63
Oboe =57
EnglishHorn =58
Bassoon =59
Clarinet =55
Piccolo =53
Flute =54
Recorder =66
WoodFlute =65
Bottle =55
Shakazul =55
Whistle =68
Ocarina =79
SquareWave =80
SawWave =81
Calliope =82
Chiflead =83
Charang =84
VoxLead =85
Lead5th =86
BassLead =87
Fantasia =88
WarmPad =89
Polysyn =90
Ghostie =91
BowGlass =92
MetalPad =93
HaloPad =94
Sweeper =95
Aurora =72
SoundTrack =72
Crystal =72
Atmosphear =72
FreshAir =100
Unicorn =101
Sweeper =102
StarTrak =103
Sitar =104
Banjo =105
Shamisen =106
Koto =107
Kalimba =108
BagPipes =109
Fiddle =110
Shannai =111
Carillon =112
Agogo =113
SteelDrm =114
WoodBlk =115
Taiko =116
Toms =117
Syntom =118
RevCymbal =119
Fx-Fret =120
Fx-Blow =121
Seashore =122
Jungle =123
Telephon =124
Helicopter =125
Applause =126
Gunshot =127
END
DEFINE KEYMAP "Drumset"
C 0 =0
C#0 =1
D 0 =2
D#0 =3
E 0 =4
F 0 =5
F#0 =6
G 0 =7
G#0 =8
A 0 =9
A#0 =10
B 0 =11
C 1 =12
C#1 =13
D 1 =14
D#1 =15
E 1 =16
F 1 =17
F#1 =18
G 1 =19
G#1 =20
A 1 =21
A#1 =22
B 1 =23
C 2 =24
C#2 =25
D 2 =26
D#2 27 Highq =27
E 2 28 Slap =54
F 2 29 Scratch1 =62
F#2 30 Scratch2 =63
G 2 31 Sticks =22
G#2 32 SqrClick =87
A 2 33 MetaClick=57
A#2 34 MetBell =55
B 2 35 Kick1 =44
C 3 36 Kick2 =45
C#3 37 StickRim =27
D 3 38 Snare1 =28
D#3 39 Claps =30
E 3 40 snare2 =25
F 3 41 tomlo2 =24
F#3 42 Hihatclos=72
G 3 43 Tomlo1 =17
G#3 44 HihatPd =56
A 3 45 Tommid2 =26
A#3 46 Hihatop =35
B 3 47 Tommid1 =18
C 4 48 Tomhi2 =29
C#4 49 Cymbalcrsh1 =36
D 4 50 Tomhi1 =19
D#4 51 Cymbalride1 =38
E 4 52 Cymbalchina =38
F 4 53 Cymbell =38
F#4 54 Tamborin =47
G 4 55 CymbalSplash=37
G#4 56 Cowbell =31
A 4 57 Cymbalcrash2=36
A#4 58 Vibslap =39
B 4 59 Cymbalride2 =39
C 5 60 Bongohi =44
C#5 61 Bongolo =43
D 5 62 Congahi1 =41
D#5 63 congahi2 =42
E 5 64 Congalo =40
F 5 65 Timbalehi=46
F#5 66 Timbalelo=45
G 5 67 Agogohi =51
G#5 68 Agogolo =50
A 5 69 Cabasa =32
A#5 70 Maracas =65
B 5 71 whistle1 =52
C 6 72 whistle2 =53
C#6 73 Guiro1 =74
D 6 74 Guiro2 =74
D#6 75 Clave =29
E 6 76 Woodblock1=73
F 6 77 Woodblock2=72
F#6 78 Cuica1 =76
G 6 79 Cuica2 =77
G#6 80 Triangle1=13
A 6 81 Triangle2=15
A#6 82 Shaker =56
B 6 83 Jingles =75
C 7 84 Belltree =71
C#7 85 Canstinet=85
D 7 86 Surdo1 =86
D#7 87 Surdo2 =87
E 7 =88
F 7 =89
F#7 =90
G 7 =91
G#7 =92
A 7 =93
A#7 =94
B 7 =95
C 8 =96
C#8 =97
D 8 =98
D#8 =99
E 8 =100
F 8 =101
F#8 =102
G 8 =103
G#8 =104
A 8 =105
A#8 =106
B 8 =107
C 9 =108
C#9 =109
D 9 =110
D#9 =111
E 9 =112
F 9 =113
F#9 =114
G 9 =115
G#9 =116
A 9 =117
A#9 =118
B 9 =119
C 10=120
C#10=121
D 10=122
D#10=123
E 10=124
F 10=125
F#10=126
G 10=127
# This line should be ignored
END
DEFINE CHANNELMAP
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9 Keymap "Drumset" ForcePatch 99
10 = 10
11 = 11
12 = 12
13 = 13
14 = 14
15 = 15
END

View File

@@ -0,0 +1,299 @@
# Blank lines and lines beginning with # are ignored
# This is my a map for the Yamaha PSS-790 keyboard
# it can be used as a template to make any new map for any
# other keyboard.
# If you make a new map, please send it to me, so future releases
# will include it.
# Antonio Larrosa Jimenez, larrosa@kde.org
# Yamaha PSS-790 Map File
DEFINE PATCHMAP
AcusticPiano =3
BrightPiano =3
SynthPiano =54
HonkyTonky =25
ElectricPiano1=25
ElectricPiano2=25
Harpsichord =53
Clavinet =30
Celeste =6
Glockenspiel =64
Musicbox =24
Vibes =28
Marimba =8
Xylophon =24
TubeBell =95
Santur =30
HomeOrg =1
PercussionOrg =2
RockOrg =11
ChurchOrg =29
ReedOrg =49
Accordion =31
Harmonica =22
Concrtna =3
NylonGuitar =36
AcusticGuitar =68
JazzGuitar =122
CleanGuitar =68
MuteGuitar =12
OdGuitar =123
DistortionGuit=13
GtrHarm =72
AcusticBass =38
FingerBass =39
PickBass =79
FretlessBass =80
SlapBass1 =14
SlapBass2 =81
SynthBass1 =58
SynthBass2 =86
Violin =10
Viola =67
Cello =67
Contrabajo =41
Marcato =41
Pizzicato =78
Harp =37
Timpani =66
Marcato =41
SlowStrings =50
SynthStrings1 =41
SynthStrings2 =50
Choir =96
Doo =94
Voices =96
OrchestraHit =90
Trumpet =15
Trombone =16
Tuba =84
MuteTrumpet =44
FrenchHorn =17
HitBrass =92
SynthBrass1 =0
SynthBrass2 =82
SopranoSax =101
AltoSax =18
TenorSax =102
BaritoneSax =101
Oboe =19
EnglishHorn =87
Bassoon =87
Clarinet =19
Piccolo =103
Flute =20
Recorder =88
WoodFlute =111
Bottle =111
Shakazul =110
Whistle =88
Ocarina =93
SquareWave =54
SawWave =54
Calliope =22
Chiflead =9
Charang =19
VoxLead =96
Lead5th =41
BassLead =95
Fantasia =111
WarmPad =51
Polysyn =60
Ghostie =94
BowGlass =33
MetalPad =9
HaloPad =111
Sweeper =78
Aurora =60
SoundTrack =84
Crystal =60
Atmosphear =51
FreshAir =60
Unicorn =93
Sweeper =112
StarTrak =117
Sitar =73
Banjo =34
Shamisen =73
Koto =70
Kalimba =73
BagPipes =11
Fiddle =67
Shannai =11
Carillon =64
Agogo =91
SteelDrm =9
WoodBlk =35
Taiko =100 AllKeysTo 60
Toms =66
Syntom =85
RevCymbal =100 AllKeysTo 60
Fx-Fret =121
Fx-Blow =94
Seashore =100 AllKeysTo 79
Jungle =70
Telephon =91
Helicopter =111
Applause =100 AllKeysTo 79
Gunshot =100 AllKeysTo 38
END
DEFINE KEYMAP "Drumset"
C 0 =0
C#0 =1
D 0 =2
D#0 =3
E 0 =4
F 0 =5
F#0 =6
G 0 =7
G#0 =8
A 0 =9
A#0 =10
B 0 =11
C 1 =12
C#1 =13
D 1 =14
D#1 =15
E 1 =16
F 1 =17
F#1 =18
G 1 =19
G#1 =20
A 1 =21
A#1 =22
B 1 =23
C 2 =24
C#2 =25
D 2 =26
D#2 27 Highq =27
E 2 28 Slap =54
F 2 29 Scratch1 =29
F#2 30 Scratch2 =30
G 2 31 Sticks =46
G#2 32 SqrClick =87
A 2 33 MetaClick=57
A#2 34 MetBell =55
B 2 35 AcousticBassDrum=44
C 3 36 BassDrum1=47
C#3 37 StickRim =46
D 3 38 AcSnare =47
D#3 39 Claps =63
E 3 40 ElectSnare =49
F 3 41 LowFloorTom =48
F#3 42 Hihatclos =57
G 3 43 HighFloorTom=50
G#3 44 PedalHihat =80
A 3 45 LowTom =47
A#3 46 OpenHihat =59
B 3 47 LowMidTom =48
C 4 48 HiMidTom =50
C#4 49 Cymbalcrsh1 =60
D 4 50 HiTom =53
D#4 51 Cymbalride1 =63
E 4 52 Cymbalchina =60
F 4 53 RideBell =62
F#4 54 Tambourin =71
G 4 55 CymbalSplash=61
G#4 56 Cowbell =55
A 4 57 Cymbalcrash2=60
A#4 58 Vibraslap =79
B 4 59 Cymbalride2 =62
C 5 60 Bongohi =68
C#5 61 Bongolo =67
D 5 62 MuteHiConga =66
D#5 63 OpenHiConga =65
E 5 64 LowConga =64
F 5 65 HiTimbale =70
F#5 66 LoTimbale =69
G 5 67 HiAgogo =75
G#5 68 LoAgogo =74
A 5 69 Cabasa =56
A#5 70 Maracas =56
B 5 71 ShortWhistle=78
C 6 72 LongWhistle =78
C#6 73 ShortGuiro =79
D 6 74 LongGuiro =71
D#6 75 Clave =72
E 6 76 HiWoodBlock =73
F 6 77 LoWoodBlock =72
F#6 78 MuteCuica =77
G 6 79 OpenCuica =76
G#6 80 MuteTriangle=37
A 6 81 OpenTriangle=39
A#6 82 Shaker =56
B 6 83 Jingles =75
C 7 84 Belltree =63
C#7 85 Canstinet=85
D 7 86 Surdo1 =86
D#7 87 Surdo2 =87
E 7 =88
F 7 =89
F#7 =90
G 7 =91
G#7 =92
A 7 =93
A#7 =94
B 7 =95
C 8 =96
C#8 =97
D 8 =98
D#8 =99
E 8 =100
F 8 =101
F#8 =102
G 8 =103
G#8 =104
A 8 =105
A#8 =106
B 8 =107
C 9 =108
C#9 =109
D 9 =110
D#9 =111
E 9 =112
F 9 =113
F#9 =114
G 9 =115
G#9 =116
A 9 =117
A#9 =118
B 9 =119
C 10=120
C#10=121
D 10=122
D#10=123
E 10=124
F 10=125
F#10=126
G 10=127
# This line should be ignored
END
DEFINE CHANNELMAP
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 15 Keymap "Drumset" ForcePatch 100
10 = 10
11 = 11
12 = 12
13 = 13
14 = 14
15 = 9
END
OPTIONS
PitchBenderRatio = 672
MapExpressionToVolumeEvents
END

View File

@@ -0,0 +1,305 @@
# Midi map file for the Yamaha QY10 "walkstation", a basic sequencer / tone
# module.
# Provided by Malcolm Tyrrell. If there is a problem with this file, please
# e-mail tyrrelmr@cs.tcd.ie
# If you make a new map, please send it to Antonio, so future releases
# will include them.
# Antonio Larrosa Jimenez, larrosa@kde.org
# Yamaha QY10 Map File
DEFINE PATCHMAP
AcusticPiano =0
BrightPiano =0
SynthPiano =1
HonkyTonky =0
ElectricPiano1=1
ElectricPiano2=2
Harpsichord =3
Clavinet =3
Celeste =18
Glockenspiel =18
Musicbox =20
Vibes =19
Marimba =18
Xylophon =20
TubeBell =19
Santur =12
HomeOrg =4
PercussionOrg =4
RockOrg =4
ChurchOrg =5
ReedOrg =5
Accordion =5
Harmonica =23
Concrtna =23
NylonGuitar =12
AcusticGuitar =12
JazzGuitar =9
CleanGuitar =9
MuteGuitar =11
OdGuitar =9
DistortionGuit=10
GtrHarm =25
AcusticBass =13
FingerBass =14
PickBass =14
FretlessBass =13
SlapBass1 =15
SlapBass2 =15
SynthBass1 =16
SynthBass2 =16
Violin =23
Viola =23
Cello =23
Contrabajo =23
Marcato =6
Pizzicato =16
Harp =12
Timpani =20
Marcato =6
SlowStrings =6
SynthStrings1 =22
SynthStrings2 =22
Choir =27
Doo =21
Voices =21
OrchestraHit =8
Trumpet =26
Trombone =26
Tuba =21
MuteTrumpet =8
FrenchHorn =26
HitBrass =8
SynthBrass1 =21
SynthBrass2 =21
SopranoSax =26
AltoSax =26
TenorSax =26
BaritoneSax =26
Oboe =27
EnglishHorn =26
Bassoon =27
Clarinet =27
Piccolo =27
Flute =27
Recorder =27
WoodFlute =27
Bottle =27
Shakazul =27
Whistle =27
Ocarina =27
SquareWave =28
SawWave =28
Calliope =29
Chiflead =29
Charang =24
VoxLead =21
Lead5th =21
BassLead =21
Fantasia =24
WarmPad =21
Polysyn =22
Ghostie =27
BowGlass =26
MetalPad =21
HaloPad =27
Sweeper =24
Aurora =31
SoundTrack =21
Crystal =19
Atmosphear =24
FreshAir =21
Unicorn =24
Sweeper =24
StarTrak =21
Sitar =9
Banjo =9
Shamisen =12
Koto =12
Kalimba =18
BagPipes =28
Fiddle =28
Shannai =23
Carillon =19
Agogo =20
SteelDrm =18
WoodBlk =20
Taiko =20
Toms =18
Syntom =18
RevCymbal =31
Fx-Fret =31
Fx-Blow =31
Seashore =31
Jungle =31
Telephon =5
Helicopter =31
Applause =31
Gunshot =31
END
DEFINE KEYMAP "Drumset"
C 0 =0
C#0 =1
D 0 =2
D#0 =3
E 0 =4
F 0 =5
F#0 =6
G 0 =7
G#0 =8
A 0 =9
A#0 =10
B 0 =11
C 1 =12
C#1 =13
D 1 =14
D#1 =15
E 1 =16
F 1 =17
F#1 =18
G 1 =19
G#1 =20
A 1 =21
A#1 =22
B 1 =23
C 2 =24
C#2 =25
D 2 =26
# What is a high q?
D#2 27 Highq =40
E 2 28 Slap =37
F 2 29 Scratch1 =23
F#2 30 Scratch2 =48
G 2 31 Sticks =21
G#2 32 SqrClick =42
A 2 33 MetaClick=42
A#2 34 MetBell =43
B 2 35 Kick1 =36
C 3 36 Kick2 =12
C#3 37 StickRim =21
D 3 38 Snare1 =15
D#3 39 Claps =19
E 3 40 snare2 =14
F 3 41 tomlo2 =16
F#3 42 Hihatclos=23
G 3 43 Tomlo1 =16
G#3 44 HihatPd =23
A 3 45 Tommid2 =17
A#3 46 Hihatop =24
B 3 47 Tommid1 =17
C 4 48 Tomhi2 =18
C#4 49 Cymbalcrsh1 =20
D 4 50 Tomhi1 =18
D#4 51 Cymbalride1 =22
E 4 52 Cymbalchina =22
F 4 53 Cymbell =22
F#4 54 Tamborin =21
G 4 55 CymbalSplash=20
G#4 56 Cowbell =37
A 4 57 Cymbalcrash2=20
A#4 58 Vibslap =0
B 4 59 Cymbalride2 =22
C 5 60 Bongohi =41
C#5 61 Bongolo =40
D 5 62 Congahi1 =41
D#5 63 congahi2 =41
E 5 64 Congalo =40
F 5 65 Timbalehi=46
F#5 66 Timbalelo=45
G 5 67 Agogohi =44
G#5 68 Agogolo =43
A 5 69 Cabasa =48
A#5 70 Maracas =48
B 5 71 whistle1 =0
C 6 72 whistle2 =0
C#6 73 Guiro1 =0
D 6 74 Guiro2 =0
D#6 75 Clave =44
E 6 76 Woodblock1=40
F 6 77 Woodblock2=41
# Don't know about the following two
F#6 78 Cuica1 =0
G 6 79 Cuica2 =0
G#6 80 Triangle1=44
A 6 81 Triangle2=44
A#6 82 Shaker =48
B 6 83 Jingles =23
C 7 84 Belltree =0
C#7 85 Canstinet=21
D 7 86 Surdo1 =16
D#7 87 Surdo2 =17
E 7 =88
F 7 =89
F#7 =90
G 7 =91
G#7 =92
A 7 =93
A#7 =94
B 7 =95
C 8 =96
C#8 =97
D 8 =98
D#8 =99
E 8 =100
F 8 =101
F#8 =102
G 8 =103
G#8 =104
A 8 =105
A#8 =106
B 8 =107
C 9 =108
C#9 =109
D 9 =110
D#9 =111
E 9 =112
F 9 =113
F#9 =114
G 9 =115
G#9 =116
A 9 =117
A#9 =118
B 9 =119
C 10=120
C#10=121
D 10=122
D#10=123
E 10=124
F 10=125
F#10=126
G 10=127
END
DEFINE CHANNELMAP
# The information on channels 7-8 and 11-15 is ignored since the QY10 is only
# 8 part multi-timbral. The polyphony should be okay.
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
# The next two channels are ignored
7 = 9
8 = 8
# Play GM channel 9 (drums) on QY10 track 7 (rhythm track)
9 = 7 Keymap "Drumset" ForcePatch 30
# All the following channels are ignored.
10 = 10
11 = 11
12 = 12
13 = 13
14 = 14
15 = 15
END
# I don't think the QY10 responds to Expression Events, so...
OPTIONS
MapExpressionToVolumeEvents
END

290
data/midi-maps/gm.map Normal file
View File

@@ -0,0 +1,290 @@
# Blank lines and lines beginning with # are ignored
# This is a map for any General Midi synthesizer
# If you make a new map, please send it to me, so future releases
# will include them.
# Antonio Larrosa Jimenez, larrosa@kde.org
# General Midi Map File
DEFINE PATCHMAP
AcusticPiano =0
BrightPiano =1
SynthPiano =2
HonkyTonky =3
ElectricPiano1=4
ElectricPiano2=5
Harpsichord =6
Clavinet =7
Celeste =8
Glockenspiel =9
Musicbox =10
Vibes =11
Marimba =12
Xylophon =13
TubeBell =14
Santur =15
HomeOrg =16
PercussionOrg =17
RockOrg =18
ChurchOrg =19
ReedOrg =20
Accordion =21
Harmonica =22
Concrtna =23
NylonGuitar =24
AcusticGuitar =25
JazzGuitar =26
CleanGuitar =27
MuteGuitar =28
OdGuitar =29
DistortionGuit=30
GtrHarm =31
AcusticBass =32
FingerBass =33
PickBass =34
FretlessBass =35
SlapBass1 =36
SlapBass2 =37
SynthBass1 =38
SynthBass2 =39
Violin =40
Viola =41
Cello =42
Contrabajo =43
Marcato =44
Pizzicato =45
Harp =46
Timpani =47
Marcato =48
SlowStrings =49
SynthStrings1 =50
SynthStrings2 =51
Choir =52
Doo =53
Voices =54
OrchestraHit =55
Trumpet =56
Trombone =57
Tuba =58
MuteTrumpet =59
FrenchHorn =60
HitBrass =61
SynthBrass1 =62
SynthBrass2 =63
SopranoSax =64
AltoSax =65
TenorSax =66
BaritoneSax =67
Oboe =68
EnglishHorn =69
Bassoon =70
Clarinet =71
Piccolo =72
Flute =73
Recorder =74
WoodFlute =75
Bottle =76
Shakazul =77
Whistle =78
Ocarina =79
SquareWave =80
SawWave =81
Calliope =82
Chiflead =83
Charang =84
VoxLead =85
Lead5th =86
BassLead =87
Fantasia =88
WarmPad =89
Polysyn =90
Ghostie =91
BowGlass =92
MetalPad =93
HaloPad =94
Sweeper =95
Aurora =96
SoundTrack =97
Crystal =98
Atmosphear =99
FreshAir =100
Unicorn =101
Sweeper =102
StarTrak =103
Sitar =104
Banjo =105
Shamisen =106
Koto =107
Kalimba =108
BagPipes =109
Fiddle =110
Shannai =111
Carillon =112
Agogo =113
SteelDrm =114
WoodBlk =115
Taiko =116
Toms =117
Syntom =118
RevCymbal =119
Fx-Fret =120
Fx-Blow =121
Seashore =122
Jungle =123
Telephon =124
Helicopter =125
Applause =126
Gunshot =127
END
DEFINE KEYMAP "Drumset"
C 0 =0
C#0 =1
D 0 =2
D#0 =3
E 0 =4
F 0 =5
F#0 =6
G 0 =7
G#0 =8
A 0 =9
A#0 =10
B 0 =11
C 1 =12
C#1 =13
D 1 =14
D#1 =15
E 1 =16
F 1 =17
F#1 =18
G 1 =19
G#1 =20
A 1 =21
A#1 =22
B 1 =23
C 2 =24
C#2 =25
D 2 =26
D#2 27 Highq =27
E 2 28 Slap =28
F 2 29 Scratch1 =29
F#2 30 Scratch2 =30
G 2 31 Sticks =31
G#2 32 SqrClick =32
A 2 33 MetaClick=33
A#2 34 MetBell =34
B 2 35 Kick1 =35
C 3 36 Kick2 =36
C#3 37 StickRim =37
D 3 38 Snare1 =38
D#3 39 Claps =39
E 3 40 snare2 =40
F 3 41 tomlo2 =41
F#3 42 Hihatclos=42
G 3 43 Tomlo1 =43
G#3 44 HihatPd =44
A 3 45 Tommid2 =45
A#3 46 Hihatop =46
B 3 47 Tommid1 =47
C 4 48 Tomhi2 =48
C#4 49 Cymbalcrsh1 =49
D 4 50 Tomhi1 =50
D#4 51 Cymbalride1 =51
E 4 52 Cymbalchina =52
F 4 53 Cymbell =53
F#4 54 Tamborin =54
G 4 55 CymbalSplash=55
G#4 56 Cowbell =56
A 4 57 Cymbalcrash2=57
A#4 58 Vibslap =58
B 4 59 Cymbalride2 =59
C 5 60 Bongohi =60
C#5 61 Bongolo =61
D 5 62 Congahi1 =62
D#5 63 congahi2 =63
E 5 64 Congalo =64
F 5 65 Timbalehi=65
F#5 66 Timbalelo=66
G 5 67 Agogohi =67
G#5 68 Agogolo =68
A 5 69 Cabasa =69
A#5 70 Maracas =70
B 5 71 whistle1 =71
C 6 72 whistle2 =72
C#6 73 Guiro1 =73
D 6 74 Guiro2 =74
D#6 75 Clave =75
E 6 76 Woodblock1=76
F 6 77 Woodblock2=77
F#6 78 Cuica1 =78
G 6 79 Cuica2 =79
G#6 80 Triangle1=80
A 6 81 Triangle2=81
A#6 82 Shaker =82
B 6 83 Jingles =83
C 7 84 Belltree =84
C#7 85 Canstinet=85
D 7 86 Surdo1 =86
D#7 87 Surdo2 =87
E 7 =88
F 7 =89
F#7 =90
G 7 =91
G#7 =92
A 7 =93
A#7 =94
B 7 =95
C 8 =96
C#8 =97
D 8 =98
D#8 =99
E 8 =100
F 8 =101
F#8 =102
G 8 =103
G#8 =104
A 8 =105
A#8 =106
B 8 =107
C 9 =108
C#9 =109
D 9 =110
D#9 =111
E 9 =112
F 9 =113
F#9 =114
G 9 =115
G#9 =116
A 9 =117
A#9 =118
B 9 =119
C 10=120
C#10=121
D 10=122
D#10=123
E 10=124
F 10=125
F#10=126
G 10=127
END
DEFINE CHANNELMAP
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
10 = 10
11 = 11
12 = 12
13 = 13
14 = 14
15 = 15
END

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,6 @@
afppresetsdir = $(lmmsdatadir)/presets/AudioFileProcessor
afppresets_DATA = *.cs.xml
EXTRA_DIST = $(afppresets_DATA)

View File

@@ -1,47 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE multimedia-project>
<multimedia-project version="1.0" creator="Linux MultiMedia Studio (LMMS)" creatorversion="0.4.0-rc3" type="instrumenttracksettings" >
<head/>
<instrumenttracksettings muted="0" type="0" name="orion_string01.ogg" >
<instrumenttrack pan="0" fxch="0" pitch="0" basenote="60" vol="85" >
<instrument name="audiofileprocessor" >
<audiofileprocessor reversed="0" looped="1" eframe="1" sframe="0" src="stringsnpads/orion_string01.ogg" amp="100" />
</instrument>
<eldata fres="1" ftype="7" fcut="14000" fwet="1" >
<elvol lspd_denominator="4" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.3" sus="0.5" amt="1" x100="0" att="0.1" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4" />
<elcut lspd_denominator="4" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" sus="0.5" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4" />
<elres lspd_denominator="4" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" sus="0.5" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4" />
</eldata>
<chordcreator chord="0" chordrange="1" chord-enabled="0" />
<arpeggiator arptime="100" arprange="1" arptime_denominator="4" syncmode="0" arpmode="0" arp-enabled="0" arp="0" arptime_numerator="4" arpdir="0" arpgate="100" />
<midiport inputcontroller="0" fixedoutputvelocity="-1" inputchannel="0" outputcontroller="0" writable="0" outputchannel="1" fixedinputvelocity="-1" outputprogram="1" readable="0" />
<fxchain numofeffects="4" enabled="1" >
<effect autoquit="0" gate="0" name="ladspaeffect" wet="1" on="1" >
<ladspacontrols port02="0.00497" port03="0.749" port04="0.11994" port05="0.75" ports="4" />
<key>
<attribute value="caps" name="file" />
<attribute value="Plate2x2" name="plugin" />
</key>
</effect>
<effect autoquit="0" gate="0" name="stereomatrix" wet="0.35" on="1" >
<stereomatrixcontrols l-l="-0.5" l-r="-0.5" r-l="-0.5" r-r="-0.5" />
<key/>
</effect>
<effect autoquit="0" gate="0" name="ladspaeffect" wet="1" on="1" >
<ladspacontrols port11="0.14" port01="0.08" port12="1" port02="1" port13="1.5708" port03="1.5708" port14="0" port04="0" port04link="1" port02link="1" port03link="1" link="0" ports="8" port01link="0" />
<key>
<attribute value="caps" name="file" />
<attribute value="PhaserII" name="plugin" />
</key>
</effect>
<effect autoquit="0" gate="0" name="ladspaeffect" wet="1" on="1" >
<ladspacontrols port11="-48.06" port12="-23.94" port13="-12.06" port02link="1" port14="-5.94" port06link="1" port15="-3.06" port16="-1.44" ports="20" port17="-0.72" port18="-0.36" port19="-0.18" port110="0" port03link="1" port010="0" port07link="1" port01="-48.06" port02="-23.94" port04link="1" port08link="1" port03="-12.06" port04="-5.94" port05="-3.06" port06="-1.44" port07="-0.72" link="1" port08="-0.36" port09="-0.18" port01link="1" port05link="1" port010link="1" port09link="1" />
<key>
<attribute value="caps" name="file" />
<attribute value="Eq" name="plugin" />
</key>
</effect>
</fxchain>
</instrumenttrack>
</instrumenttracksettings>
</multimedia-project>

View File

@@ -1,40 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE multimedia-project>
<multimedia-project version="1.0" creator="Linux MultiMedia Studio (LMMS)" creatorversion="0.4.0-rc1" type="instrumenttracksettings" >
<head/>
<instrumenttracksettings muted="0" type="0" name="orion_string01.ogg" >
<instrumenttrack pan="0" fxch="0" pitch="0" basenote="59" vol="42" >
<instrument name="audiofileprocessor" >
<audiofileprocessor reversed="1" looped="1" eframe="1" sframe="0" src="stringsnpads/orion_string01.ogg" amp="100" />
</instrument>
<eldata fres="1.01" ftype="4" fcut="1" fwet="1" >
<elvol lspd_denominator="4" pdel="0" userwavefile="" dec="1" lamt="0" syncmode="0" latt="0" rel="0.26" sus="0.68" amt="1" x100="0" att="0.2" lpdel="0" hold="0.26" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4" />
<elcut lspd_denominator="4" pdel="0" userwavefile="" dec="0.6" lamt="0" syncmode="0" latt="0" rel="0.1" sus="0.5" amt="1" x100="0" att="0.3" lpdel="0" hold="0.01" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4" />
<elres lspd_denominator="4" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" sus="0.5" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4" />
</eldata>
<chordcreator chord="0" chordrange="1" chord-enabled="0" />
<arpeggiator arptime="100" arprange="1" arptime_denominator="4" syncmode="0" arpmode="0" arp-enabled="0" arp="0" arptime_numerator="4" arpdir="0" arpgate="100" />
<midiport inputcontroller="0" inputchannel="0" outputcontroller="0" writable="0" outputchannel="1" defvelout="0" readable="0" defvelin="0" />
<fxchain numofeffects="3" enabled="1" >
<effect autoquit="0" gate="0" name="ladspaeffect" wet="1" on="1" >
<ladspacontrols port10="-24" port00="-24" port11="15995" port01="15995" port12="1" port02="1" port13="0" port03="0" port02link="1" port03link="1" link="1" port00link="1" ports="8" port01link="1" />
<key>
<attribute value="tap_deesser.so" name="file" />
<attribute value="tap_deesser" name="plugin" />
</key>
</effect>
<effect autoquit="1" gate="0" name="ladspaeffect" wet="-1" on="1" >
<ladspacontrols port02="0.99897" port03="0.749" port04="0" port05="1" ports="4" />
<key>
<attribute value="caps" name="file" />
<attribute value="Plate2x2" name="plugin" />
</key>
</effect>
<effect autoquit="1" gate="0" name="stereomatrix" wet="0.2" on="1" >
<stereomatrixcontrols l-l="-0.5" l-r="-0.5" r-l="-0.5" r-r="-0.5" />
<key/>
</effect>
</fxchain>
</instrumenttrack>
</instrumenttracksettings>
</multimedia-project>

View File

@@ -0,0 +1,5 @@
bipresetsdir = $(lmmsdatadir)/presets/BitInvader
bipresets_DATA = *.cs.xml
EXTRA_DIST = $(bipresets_DATA)

Some files were not shown because too many files have changed in this diff Show More