mirror of
https://github.com/yann64/haikuports.git
synced 2026-03-19 01:46:00 +01:00
lmms, bump to latest git commit (#12934)
This commit is contained in:
@@ -1,17 +1,15 @@
|
||||
resource app_signature "application/x-vnd.lmmsio-lmms";
|
||||
|
||||
resource app_flags B_MULTIPLE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = 1,
|
||||
middle = 2,
|
||||
minor = 0,
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_DEVELOPMENT,
|
||||
internal = 0,
|
||||
|
||||
short_info = "LMMS",
|
||||
long_info = "Cross-platform music production software."
|
||||
short_info = "@APP_NAME@",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource file_types message {
|
||||
@@ -22,6 +20,8 @@ resource file_types message {
|
||||
"types" = "audio/x-midi"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
|
||||
resource vector_icon {
|
||||
$"6E636966050134D07BFC020006023A9E180000000000003A9E184ADA114B2DD4"
|
||||
$"0027AB5FFF249A5604002605FF0500040A04B4F6B4F6CAEEB4F6CAEECAEEB4F6"
|
||||
@@ -1,104 +0,0 @@
|
||||
SUMMARY="Cross-platform music production software"
|
||||
DESCRIPTION="LMMS is a free cross-platform alternative to commercial \
|
||||
programs like FL Studio®, 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."
|
||||
HOMEPAGE="http://lmms.io/"
|
||||
COPYRIGHT="2004-2020 Tobias Doerffel et al."
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="4"
|
||||
SOURCE_URI="https://github.com/lmms/lmms/releases/download/v$portVersion/lmms_$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="b185507fb64ecfd8e31145135b58ab244b637f9efc09c4176caf70aa3cbaae1e"
|
||||
SOURCE_DIR="lmms"
|
||||
PATCHES="lmms-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="LMMS.rdef"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
lmms$secondaryArchSuffix = $portVersion
|
||||
app:lmms$secondaryArchSuffix
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libfftw3f$secondaryArchSuffix
|
||||
lib:libfltk$secondaryArchSuffix
|
||||
lib:libfltk_forms$secondaryArchSuffix
|
||||
lib:libfltk_images$secondaryArchSuffix
|
||||
lib:libfluidsynth$secondaryArchSuffix >= 2
|
||||
lib:libmp3lame$secondaryArchSuffix
|
||||
lib:libogg$secondaryArchSuffix
|
||||
lib:libportaudio$secondaryArchSuffix
|
||||
lib:libportmidi$secondaryArchSuffix
|
||||
lib:libQt5Core$secondaryArchSuffix
|
||||
lib:libQt5Gui$secondaryArchSuffix
|
||||
lib:libQt5Widgets$secondaryArchSuffix
|
||||
lib:libQt5Xml$secondaryArchSuffix
|
||||
lib:libsamplerate$secondaryArchSuffix
|
||||
lib:libsdl_1.2$secondaryArchSuffix
|
||||
lib:libsndfile$secondaryArchSuffix
|
||||
lib:libvorbis$secondaryArchSuffix
|
||||
lib:libvorbisenc$secondaryArchSuffix
|
||||
lib:libvorbisfile$secondaryArchSuffix
|
||||
lib:libxml2$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libfftw3f$secondaryArchSuffix
|
||||
devel:libfltk$secondaryArchSuffix
|
||||
devel:libfltk_forms$secondaryArchSuffix
|
||||
devel:libfltk_images$secondaryArchSuffix
|
||||
devel:libfluidsynth$secondaryArchSuffix >= 2
|
||||
devel:libmp3lame$secondaryArchSuffix
|
||||
devel:libogg$secondaryArchSuffix
|
||||
devel:libportaudio$secondaryArchSuffix
|
||||
devel:libportmidi$secondaryArchSuffix
|
||||
devel:libQt5Core$secondaryArchSuffix
|
||||
devel:libQt5Gui$secondaryArchSuffix
|
||||
devel:libQt5Widgets$secondaryArchSuffix
|
||||
devel:libsamplerate$secondaryArchSuffix
|
||||
devel:libsdl$secondaryArchSuffix
|
||||
devel:libsndfile$secondaryArchSuffix
|
||||
devel:libvorbis$secondaryArchSuffix
|
||||
devel:libxml2$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:fltk_config$commandSuffix
|
||||
cmd:fluid$commandSuffix
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:lrelease$secondaryArchSuffix >= 5
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
mkdir -p build && cd build
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$appsDir/LMMS \
|
||||
-DWANT_QT5=ON \
|
||||
-Wno-dev
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd build
|
||||
make install
|
||||
|
||||
mv $appsDir/LMMS/bin/lmms $appsDir/LMMS/LMMS
|
||||
mv $appsDir/LMMS/share/lmms/* $appsDir/LMMS/
|
||||
mv $appsDir/LMMS/lib/lmms $appsDir/LMMS/plugins
|
||||
rm -rf $appsDir/LMMS/{share,lib,bin}
|
||||
|
||||
addResourcesToBinaries $portDir/additional-files/LMMS.rdef \
|
||||
$appsDir/LMMS/LMMS
|
||||
|
||||
addAppDeskbarSymlink $appsDir/LMMS/LMMS
|
||||
}
|
||||
208
media-sound/lmms/lmms-1.3.0~20250910.recipe
Normal file
208
media-sound/lmms/lmms-1.3.0~20250910.recipe
Normal file
@@ -0,0 +1,208 @@
|
||||
SUMMARY="Cross-platform music production software"
|
||||
DESCRIPTION="LMMS is a free cross-platform alternative to commercial \
|
||||
programs like FL Studio®, 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."
|
||||
HOMEPAGE="http://lmms.io/"
|
||||
COPYRIGHT="2004-2020 Tobias Doerffel et al.
|
||||
2008-2025 LMMS Developers"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
srcGitRev="2eea79bdd349a0b385c9a371e0dc6c8dccfc5b6d"
|
||||
SOURCE_URI="https://github.com/LMMS/lmms/archive/$srcGitRev.tar.gz"
|
||||
CHECKSUM_SHA256="129dd0ae3e0b12a65b5d56e9c5348c0c65f86285df66e2e1b0e9ed0c18a7bc7f"
|
||||
SOURCE_FILENAME="lmms-$srcGitRev.tar.gz"
|
||||
SOURCE_DIR="lmms-$srcGitRev"
|
||||
srcGitRev_2="1c46ef34a28d4637b43fb6d5ebb31d38c05f4bd8"
|
||||
SOURCE_URI_2="https://github.com/JohannesLorenz/ringbuffer/archive/$srcGitRev_2.tar.gz"
|
||||
CHECKSUM_SHA256_2="5ff6e53da5f4929a23490c714852dc4ecc7746cef259ea600edb6bca742e29db"
|
||||
SOURCE_FILENAME_2="ringbuffer-$srcGitRev_2.tar.gz"
|
||||
srcGitRev_3="66afe24a08790732cc17d81d4b846a1e0cfa0118"
|
||||
SOURCE_URI_3="https://github.com/falktx/carla/archive/$srcGitRev_3.tar.gz"
|
||||
CHECKSUM_SHA256_3="9b0cab7b754201d8b08ee191424d30c64b0a618b12972e888aa7934a9f9218ce"
|
||||
SOURCE_FILENAME_3="carla-$srcGitRev_3.tar.gz"
|
||||
srcGitRev_4="21a064ea66a5cdf71910e207c4756095c266814f"
|
||||
SOURCE_URI_4="https://github.com/libgme/game-music-emu/archive/$srcGitRev_4.tar.gz"
|
||||
CHECKSUM_SHA256_4="a74a651411096d18ee0def3615475f00f382b59fe7a160b9c3420ef491f3e11e"
|
||||
SOURCE_FILENAME_4="game-music-emu-$srcGitRev_4.tar.gz"
|
||||
srcGitRev_5="3ed6617ec00022dfab574c27710d9071a6032c87"
|
||||
SOURCE_URI_5="https://github.com/adplug/adplug/archive/$srcGitRev_5.tar.gz"
|
||||
CHECKSUM_SHA256_5="6a5b3aa2e9034add840ccf1e9f25bdc1c52cc77006b38ba7e698a5a4b816bdde"
|
||||
SOURCE_FILENAME_5="adplug-$srcGitRev_5.tar.gz"
|
||||
srcGitRev_6="ef72462f5fa0682d099413512b764ae479e77f9b"
|
||||
SOURCE_URI_6="https://github.com/libsidplayfp/resid/archive/$srcGitRev_6.tar.gz"
|
||||
CHECKSUM_SHA256_6="6860580f4332137e0cf00dc4d11af38c939203436b857af1cbe0922bef7aa563"
|
||||
SOURCE_FILENAME_6="libsidplayfp-$srcGitRev_6.tar.gz"
|
||||
srcGitRev_7="a4b17d543f072d2e3ba564e4bc5c3a0d2b05c338"
|
||||
SOURCE_URI_7="https://github.com/ArashPartow/exprtk/archive/$srcGitRev_7.tar.gz"
|
||||
CHECKSUM_SHA256_7="95bde0602bb4d2569b31804ebea852fb4fc4a8471e5994f276ed77ea16fd4abe"
|
||||
SOURCE_FILENAME_7="exprtk-$srcGitRev_7.tar.gz"
|
||||
srcGitRev_8="66a42efcc72d4d75a70412795f1510c4297ab826"
|
||||
SOURCE_URI_8="https://github.com/lmms/zynaddsubfx/archive/$srcGitRev_8.tar.gz"
|
||||
CHECKSUM_SHA256_8="c894ff52f5ae465736d522ca3c01ef7dd5f3a7bcc0de8ebfd609b9feb8507bb2"
|
||||
SOURCE_FILENAME_8="zynaddsubfx-$srcGitRev_8.tar.gz"
|
||||
srcGitRev_9="789d0faf9faed430f48dfb93cf74e04afe88e39f"
|
||||
SOURCE_URI_9="https://github.com/lmms/veal/archive/$srcGitRev_9.tar.gz"
|
||||
CHECKSUM_SHA256_9="b1b6953c0a74c16219fc0dbb9f952928928849a371194c2388f466105a031b39"
|
||||
SOURCE_FILENAME_9="veal-$srcGitRev_9.tar.gz"
|
||||
srcGitRev_10="24599fb45b99fff6302136f13adb3817e5833e7d"
|
||||
SOURCE_URI_10="https://github.com/lmms/cmt/archive/$srcGitRev_10.tar.gz"
|
||||
CHECKSUM_SHA256_10="2289eba416c9eddec8458d4de0249f54632c3e5d2ae4291c7a814c978eff3781"
|
||||
SOURCE_FILENAME_10="cmt-$srcGitRev_10.tar.gz"
|
||||
srcGitRev_11="0f54d2430febb4d5f02d13132dd91d7345e080b5"
|
||||
SOURCE_URI_11="https://github.com/swh/ladspa/archive/$srcGitRev_11.tar.gz"
|
||||
CHECKSUM_SHA256_11="acc338dd1f9020d8a04cd73323eb0a72e6efec36b67ce30b41e853c59f01acc6"
|
||||
SOURCE_FILENAME_11="swh-$srcGitRev_11.tar.gz"
|
||||
srcGitRev_12="85640223047d49a305e90ba1b92303eb066ba474"
|
||||
SOURCE_URI_12="https://github.com/lmms/tap-plugins/archive/$srcGitRev_12.tar.gz"
|
||||
CHECKSUM_SHA256_12="ee28a2cca65dbcce39676b86eccc5a9e61707878a8437e45c1c103d80736eb8c"
|
||||
SOURCE_FILENAME_12="tap-plugins-$srcGitRev_12.tar.gz"
|
||||
|
||||
ADDITIONAL_FILES="LMMS.rdef.in"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
lmms$secondaryArchSuffix = $portVersion
|
||||
cmd:lmms
|
||||
app:LMMS
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libfftw3f$secondaryArchSuffix
|
||||
# lib:libfltk$secondaryArchSuffix
|
||||
# lib:libfltk_forms$secondaryArchSuffix
|
||||
# lib:libfltk_images$secondaryArchSuffix
|
||||
lib:libfluidsynth$secondaryArchSuffix
|
||||
lib:liblilv_0$secondaryArchSuffix
|
||||
lib:libmp3lame$secondaryArchSuffix
|
||||
lib:libogg$secondaryArchSuffix
|
||||
lib:libmxml$secondaryArchSuffix
|
||||
lib:libportaudio$secondaryArchSuffix
|
||||
lib:libportmidi$secondaryArchSuffix
|
||||
lib:libQt5Core$secondaryArchSuffix
|
||||
lib:libQt5Gui$secondaryArchSuffix
|
||||
lib:libQt5Widgets$secondaryArchSuffix
|
||||
lib:libQt5Xml$secondaryArchSuffix
|
||||
lib:libsamplerate$secondaryArchSuffix
|
||||
lib:libSDL2_2.0$secondaryArchSuffix
|
||||
lib:libsndfile$secondaryArchSuffix
|
||||
# lib:libsuil_0$secondaryArchSuffix
|
||||
lib:libvorbis$secondaryArchSuffix
|
||||
lib:libvorbisenc$secondaryArchSuffix
|
||||
lib:libvorbisfile$secondaryArchSuffix
|
||||
lib:libxml2$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
extra_cmake_modules$secondaryArchSuffix
|
||||
devel:libfftw3f$secondaryArchSuffix
|
||||
# Zyn sources not compatible with new fltk (known issue upstream)
|
||||
# devel:libfltk$secondaryArchSuffix
|
||||
# devel:libfltk_forms$secondaryArchSuffix
|
||||
# devel:libfltk_images$secondaryArchSuffix
|
||||
devel:libfluidsynth$secondaryArchSuffix >= 2
|
||||
devel:libgme$secondaryArchSuffix
|
||||
devel:liblilv_0$secondaryArchSuffix
|
||||
devel:libmp3lame$secondaryArchSuffix
|
||||
devel:libogg$secondaryArchSuffix
|
||||
devel:libmxml$secondaryArchSuffix
|
||||
devel:libportaudio$secondaryArchSuffix
|
||||
devel:libportmidi$secondaryArchSuffix
|
||||
devel:libQt5Core$secondaryArchSuffix
|
||||
devel:libQt5Gui$secondaryArchSuffix
|
||||
devel:libQt5Widgets$secondaryArchSuffix
|
||||
devel:libsamplerate$secondaryArchSuffix
|
||||
# no UI for LV2 yet for this
|
||||
# devel:libsuil_0$secondaryArchSuffix
|
||||
devel:libSDL2_2.0$secondaryArchSuffix
|
||||
devel:libsndfile$secondaryArchSuffix
|
||||
devel:libvorbis$secondaryArchSuffix
|
||||
devel:libxcb$secondaryArchSuffix
|
||||
devel:libxml2$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
list_moreutils
|
||||
lv2$secondaryArchSuffix
|
||||
xml_parser
|
||||
cmd:cmake
|
||||
cmd:doxygen
|
||||
cmd:dot
|
||||
# cmd:fltk_config$commandSuffix
|
||||
# cmd:fluid$commandSuffix
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:lrelease$secondaryArchSuffix >= 5
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
|
||||
BUILD()
|
||||
{
|
||||
mkdir -p $sourceDir/src/3rdparty/ringbuffer
|
||||
mkdir -p $sourceDir/plugins/{CarlaBase/carla,FreeBoy/game-music-emu,OpulenZ/adplug,Sid/resid/resid,Xpressive/exprtk,ZynAddSubFx/zynaddsubfx}
|
||||
# 3rdparty
|
||||
cp -rf $sourceDir2/ringbuffer-$srcGitRev_2/* $sourceDir/src/3rdparty/ringbuffer
|
||||
# plugins
|
||||
cp -rf $sourceDir3/Carla-$srcGitRev_3/* $sourceDir/plugins/CarlaBase/carla
|
||||
cp -rf $sourceDir4/game-music-emu-$srcGitRev_4/* $sourceDir/plugins/FreeBoy/game-music-emu
|
||||
cp -rf $sourceDir5/adplug-$srcGitRev_5/* $sourceDir/plugins/OpulenZ/adplug
|
||||
cp -rf $sourceDir6/resid-$srcGitRev_6/* $sourceDir/plugins/Sid/resid/resid
|
||||
cp -rf $sourceDir7/exprtk-$srcGitRev_7/* $sourceDir/plugins/Xpressive/exprtk
|
||||
cp -rf $sourceDir8/zynaddsubfx-$srcGitRev_8/* $sourceDir/plugins/ZynAddSubFx/zynaddsubfx
|
||||
# Ladspa plugins
|
||||
cp -rf $sourceDir9/veal-$srcGitRev_9/* $sourceDir/plugins/LadspaEffect/calf/veal
|
||||
cp -rf $sourceDir10/cmt-$srcGitRev_10/* $sourceDir/plugins/LadspaEffect/cmt/cmt
|
||||
cp -rf $sourceDir11/ladspa-$srcGitRev_11/* $sourceDir/plugins/LadspaEffect/swh/ladspa
|
||||
cp -rf $sourceDir12/tap-plugins-$srcGitRev_12/* $sourceDir/plugins/LadspaEffect/tap/tap-plugins
|
||||
|
||||
rm -rf $sourceDir/.gitmodules
|
||||
|
||||
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$appsDir/LMMS \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="-lnetwork" \
|
||||
-DWANT_QT5=ON \
|
||||
-DWANT_JACK=OFF \
|
||||
-DWANT_WEAKJACK=OFF \
|
||||
-DWANT_VST=OFF \
|
||||
-Wno-dev
|
||||
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make -C build install
|
||||
|
||||
mkdir -p $prefix/bin $dataDir/bash-completion/completions $manDir
|
||||
cp doc/bash-completion/lmms $dataDir/bash-completion/completions
|
||||
mv $appsDir/LMMS/bin/lmms $appsDir/LMMS/bin/LMMS
|
||||
ln -s $appsDir/LMMS/bin/LMMS $prefix/bin/lmms
|
||||
mv $appsDir/LMMS/share/man/man1 $manDir
|
||||
#cleanup
|
||||
rm -rf $appsDir/LMMS/share/{applications,icons,man}
|
||||
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
|
||||
local APP_NAME="LMMS"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
local APP_SIGNATURE="application/x-vnd.lmmsio-lmms"
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
-e "s|@APP_NAME@|$APP_NAME|" \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
$portDir/additional-files/LMMS.rdef.in > LMMS.rdef
|
||||
|
||||
addResourcesToBinaries LMMS.rdef $appsDir/LMMS/bin/LMMS
|
||||
|
||||
addAppDeskbarSymlink $appsDir/LMMS/bin/LMMS
|
||||
}
|
||||
@@ -1,290 +0,0 @@
|
||||
From 9156b190fa20b61ecb0ce1071a2aa39fc0f8e41b Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 14 Apr 2019 19:41:47 +1000
|
||||
Subject: Disable TLS for Haiku
|
||||
|
||||
|
||||
diff --git a/src/3rdparty/rpmalloc/CMakeLists.txt b/src/3rdparty/rpmalloc/CMakeLists.txt
|
||||
index da6e722..c553c57 100644
|
||||
--- a/src/3rdparty/rpmalloc/CMakeLists.txt
|
||||
+++ b/src/3rdparty/rpmalloc/CMakeLists.txt
|
||||
@@ -15,6 +15,12 @@ if (NOT LMMS_BUILD_WIN32)
|
||||
)
|
||||
endif()
|
||||
|
||||
+if (HAIKU)
|
||||
+ target_compile_definitions(rpmalloc
|
||||
+ PRIVATE -DENABLE_PRELOAD=1
|
||||
+ )
|
||||
+endif()
|
||||
+
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
# rpmalloc uses GCC builtin "__builtin_umull_overflow" with ENABLE_VALIDATE_ARGS,
|
||||
# which is only available starting with GCC 5
|
||||
--
|
||||
2.43.2
|
||||
|
||||
|
||||
From 5b83e94e6d12469358faa99351dd16531c3d9d13 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 14 Apr 2019 21:46:08 +1000
|
||||
Subject: Fix settings dir
|
||||
|
||||
|
||||
diff --git a/src/core/ConfigManager.cpp b/src/core/ConfigManager.cpp
|
||||
index 2ed0f83..050347f 100644
|
||||
--- a/src/core/ConfigManager.cpp
|
||||
+++ b/src/core/ConfigManager.cpp
|
||||
@@ -33,6 +33,10 @@
|
||||
#endif
|
||||
#include <QtCore/QTextStream>
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <FindDirectory.h>
|
||||
+#endif
|
||||
+
|
||||
#include "ConfigManager.h"
|
||||
#include "MainWindow.h"
|
||||
#include "ProjectVersion.h"
|
||||
@@ -73,7 +77,13 @@ ConfigManager::ConfigManager() :
|
||||
|
||||
if (! qgetenv("LMMS_DATA_DIR").isEmpty())
|
||||
QDir::addSearchPath("data", QString::fromLocal8Bit(qgetenv("LMMS_DATA_DIR")));
|
||||
-
|
||||
+#ifdef __HAIKU__
|
||||
+ m_workingDir = QDir::home().absolutePath() +"/config/settings/LMMS/";
|
||||
+ m_lmmsRcFile = m_workingDir +"/lmmsrc.xml";
|
||||
+ m_gigDir = m_workingDir + GIG_PATH;
|
||||
+ m_vstDir = "/system/add-ons/media/vstplugins/";
|
||||
+ m_sf2Dir = "/system/data/synth/";
|
||||
+#endif
|
||||
// If we're in development (lmms is not installed) let's get the source and
|
||||
// binary directories by reading the CMake Cache
|
||||
QDir appPath = qApp->applicationDirPath();
|
||||
@@ -114,6 +124,8 @@ ConfigManager::ConfigManager() :
|
||||
|
||||
#ifdef LMMS_BUILD_WIN32
|
||||
QDir::addSearchPath("data", qApp->applicationDirPath() + "/data/");
|
||||
+#elif __HAIKU__
|
||||
+ QDir::addSearchPath("data", qApp->applicationDirPath() + "/");
|
||||
#else
|
||||
QDir::addSearchPath("data", qApp->applicationDirPath().section('/', 0, -2) + "/share/lmms/");
|
||||
#endif
|
||||
@@ -524,6 +536,23 @@ void ConfigManager::loadConfigFile( const QString & configFile )
|
||||
cfg_file.close();
|
||||
}
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ char midiSettings[PATH_MAX] = "";
|
||||
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, midiSettings, sizeof(midiSettings)) == B_OK) {
|
||||
+ strcat(midiSettings, "/Media/midi_settings");
|
||||
+ if( access( midiSettings, F_OK ) != -1 ) {
|
||||
+ FILE *inFile = fopen(midiSettings, "rt");
|
||||
+ if (inFile) {
|
||||
+ char sf2file[PATH_MAX];
|
||||
+ if (fscanf(inFile, "# Midi\n\tsoundfont \"%[^\"]\"", sf2file)) {
|
||||
+ setDefaultSoundfont( sf2file );
|
||||
+ }
|
||||
+ fclose(inFile);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
// Plugins are searched recursively, blacklist problematic locations
|
||||
if( m_vstDir.isEmpty() || m_vstDir == QDir::separator() || m_vstDir == "/" ||
|
||||
m_vstDir == ensureTrailingSlash( QDir::homePath() ) ||
|
||||
@@ -580,9 +609,6 @@ void ConfigManager::loadConfigFile( const QString & configFile )
|
||||
}
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
-
|
||||
void ConfigManager::saveConfigFile()
|
||||
{
|
||||
setValue( "paths", "artwork", m_artworkDir );
|
||||
--
|
||||
2.43.2
|
||||
|
||||
|
||||
From ac1a1c5316e9df2314a07c25af1ba357c52cc904 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 28 Sep 2019 10:50:26 +0200
|
||||
Subject: rpmalloc: disable TLS for Haiku.
|
||||
|
||||
|
||||
diff --git a/src/3rdparty/rpmalloc/rpmalloc/rpmalloc/rpmalloc.c b/src/3rdparty/rpmalloc/rpmalloc/rpmalloc/rpmalloc.c
|
||||
index a5cf999..16c28b1 100644
|
||||
--- a/src/3rdparty/rpmalloc/rpmalloc/rpmalloc/rpmalloc.c
|
||||
+++ b/src/3rdparty/rpmalloc/rpmalloc/rpmalloc/rpmalloc.c
|
||||
@@ -100,7 +100,7 @@
|
||||
# endif
|
||||
#else
|
||||
# include <unistd.h>
|
||||
-# if defined(__APPLE__) && ENABLE_PRELOAD
|
||||
+# if (defined(__APPLE__) || defined(__HAIKU__)) && ENABLE_PRELOAD
|
||||
# include <pthread.h>
|
||||
# endif
|
||||
# define ALIGNED_STRUCT(name, alignment) struct __attribute__((__aligned__(alignment))) name
|
||||
@@ -459,10 +459,10 @@ static atomic32_t _unmapped_total;
|
||||
#define MEMORY_UNUSED(x) (void)sizeof((x))
|
||||
|
||||
//! Current thread heap
|
||||
-#if defined(__APPLE__) && ENABLE_PRELOAD
|
||||
+#if (defined(__APPLE__) || defined(__HAIKU__)) && ENABLE_PRELOAD
|
||||
static pthread_key_t _memory_thread_heap;
|
||||
#else
|
||||
-# ifdef _MSC_VER
|
||||
+# if defined(_MSC_VER)
|
||||
# define _Thread_local __declspec(thread)
|
||||
# define TLS_MODEL
|
||||
# else
|
||||
@@ -477,7 +477,7 @@ static _Thread_local heap_t* _memory_thread_heap TLS_MODEL;
|
||||
//! Get the current thread heap
|
||||
static FORCEINLINE heap_t*
|
||||
get_thread_heap(void) {
|
||||
-#if defined(__APPLE__) && ENABLE_PRELOAD
|
||||
+#if (defined(__APPLE__) || defined(__HAIKU__)) && ENABLE_PRELOAD
|
||||
return pthread_getspecific(_memory_thread_heap);
|
||||
#else
|
||||
return _memory_thread_heap;
|
||||
@@ -487,7 +487,7 @@ get_thread_heap(void) {
|
||||
//! Set the current thread heap
|
||||
static void
|
||||
set_thread_heap(heap_t* heap) {
|
||||
-#if defined(__APPLE__) && ENABLE_PRELOAD
|
||||
+#if (defined(__APPLE__) || defined(__HAIKU__)) && ENABLE_PRELOAD
|
||||
pthread_setspecific(_memory_thread_heap, heap);
|
||||
#else
|
||||
_memory_thread_heap = heap;
|
||||
@@ -1593,7 +1593,7 @@ rpmalloc_initialize_config(const rpmalloc_config_t* config) {
|
||||
if (_memory_config.span_map_count > 128)
|
||||
_memory_config.span_map_count = 128;
|
||||
|
||||
-#if defined(__APPLE__) && ENABLE_PRELOAD
|
||||
+#if (defined(__APPLE__) || defined(__HAIKU__)) && ENABLE_PRELOAD
|
||||
if (pthread_key_create(&_memory_thread_heap, 0))
|
||||
return -1;
|
||||
#endif
|
||||
@@ -1698,7 +1698,7 @@ rpmalloc_finalize(void) {
|
||||
assert(!atomic_load32(&_reserved_spans));
|
||||
#endif
|
||||
|
||||
-#if defined(__APPLE__) && ENABLE_PRELOAD
|
||||
+#if (defined(__APPLE__) || defined(__HAIKU__)) && ENABLE_PRELOAD
|
||||
pthread_key_delete(_memory_thread_heap);
|
||||
#endif
|
||||
}
|
||||
--
|
||||
2.43.2
|
||||
|
||||
|
||||
From b7fb99800968e9bebfda6889d651f64e66e356bb Mon Sep 17 00:00:00 2001
|
||||
From: hfsfox <darkkitsunezx128k2309@gmail.com>
|
||||
Date: Thu, 29 Feb 2024 00:01:39 +0200
|
||||
Subject: fix build zynaddsubfx plugin
|
||||
|
||||
|
||||
diff --git a/plugins/zynaddsubfx/CMakeLists.txt b/plugins/zynaddsubfx/CMakeLists.txt
|
||||
index 4c170a9..247d0d4 100644
|
||||
--- a/plugins/zynaddsubfx/CMakeLists.txt
|
||||
+++ b/plugins/zynaddsubfx/CMakeLists.txt
|
||||
@@ -131,6 +131,10 @@ IF(QT5)
|
||||
TARGET_LINK_LIBRARIES(ZynAddSubFxCore Qt5::Widgets Qt5::Xml)
|
||||
ENDIF()
|
||||
|
||||
+IF(HAIKU)
|
||||
+TARGET_LINK_LIBRARIES(ZynAddSubFxCore -lnetwork -lbsd)
|
||||
+ENDIF()
|
||||
+
|
||||
IF(LMMS_BUILD_WIN32)
|
||||
TARGET_LINK_LIBRARIES(ZynAddSubFxCore -lws2_32)
|
||||
INSTALL(TARGETS ZynAddSubFxCore RUNTIME DESTINATION "${PLUGIN_DIR}")
|
||||
@@ -187,6 +191,10 @@ IF(QT5)
|
||||
TARGET_LINK_LIBRARIES(RemoteZynAddSubFx Qt5::Core)
|
||||
ENDIF(QT5)
|
||||
|
||||
+IF(HAIKU)
|
||||
+TARGET_LINK_LIBRARIES(RemoteZynAddSubFx -lnetwork -lbsd)
|
||||
+ENDIF()
|
||||
+
|
||||
# link Qt libraries when on win32
|
||||
IF(LMMS_BUILD_WIN32)
|
||||
TARGET_LINK_LIBRARIES(RemoteZynAddSubFx ${QT_LIBRARIES})
|
||||
diff --git a/plugins/zynaddsubfx/RemoteZynAddSubFx.cpp b/plugins/zynaddsubfx/RemoteZynAddSubFx.cpp
|
||||
index 7cb6e63..3c282e7 100644
|
||||
--- a/plugins/zynaddsubfx/RemoteZynAddSubFx.cpp
|
||||
+++ b/plugins/zynaddsubfx/RemoteZynAddSubFx.cpp
|
||||
@@ -27,6 +27,10 @@
|
||||
#include <winsock2.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <posix/unistd.h>
|
||||
+#endif
|
||||
+
|
||||
#include <queue>
|
||||
|
||||
#define BUILD_REMOTE_PLUGIN_CLIENT
|
||||
diff --git a/plugins/zynaddsubfx/zynaddsubfx/src/DSP/SVFilter.cpp b/plugins/zynaddsubfx/zynaddsubfx/src/DSP/SVFilter.cpp
|
||||
index e7836a8..9f9556d 100644
|
||||
--- a/plugins/zynaddsubfx/zynaddsubfx/src/DSP/SVFilter.cpp
|
||||
+++ b/plugins/zynaddsubfx/zynaddsubfx/src/DSP/SVFilter.cpp
|
||||
@@ -146,7 +146,9 @@ void SVFilter::singlefilterout(float *smp, fstage &x, parameters &par)
|
||||
break;
|
||||
default:
|
||||
#ifndef WIN32
|
||||
+#ifndef __HAIKU__
|
||||
errx(1, "Impossible SVFilter type encountered [%d]", type);
|
||||
+#endif
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
diff --git a/plugins/zynaddsubfx/zynaddsubfx/src/DSP/Unison.cpp b/plugins/zynaddsubfx/zynaddsubfx/src/DSP/Unison.cpp
|
||||
index 82880f1..2fa876a 100644
|
||||
--- a/plugins/zynaddsubfx/zynaddsubfx/src/DSP/Unison.cpp
|
||||
+++ b/plugins/zynaddsubfx/zynaddsubfx/src/DSP/Unison.cpp
|
||||
@@ -113,8 +113,10 @@ void Unison::updateParameters(void)
|
||||
//and thus are buggy
|
||||
if(unison_amplitude_samples >= max_delay - 1) {
|
||||
#ifndef WIN32
|
||||
+#ifndef __HAIKU__
|
||||
warnx("BUG: Unison amplitude samples too big");
|
||||
warnx("Unision max_delay should be larger");
|
||||
+#endif
|
||||
#endif
|
||||
unison_amplitude_samples = max_delay - 2;
|
||||
}
|
||||
diff --git a/plugins/zynaddsubfx/zynaddsubfx/src/Misc/Util.cpp b/plugins/zynaddsubfx/zynaddsubfx/src/Misc/Util.cpp
|
||||
index 8af97d4..c0ade4a 100644
|
||||
--- a/plugins/zynaddsubfx/zynaddsubfx/src/Misc/Util.cpp
|
||||
+++ b/plugins/zynaddsubfx/zynaddsubfx/src/Misc/Util.cpp
|
||||
@@ -198,9 +198,11 @@ void clearTmpBuffers(void)
|
||||
{
|
||||
for(pool_itr_t itr = pool.begin(); itr != pool.end(); ++itr) {
|
||||
#ifndef WIN32
|
||||
+#ifndef __HAIKU__
|
||||
if(!itr->free) //Warn about used buffers
|
||||
warn("Temporary buffer (%p) about to be freed may be in use",
|
||||
itr->dat);
|
||||
+#endif
|
||||
#endif
|
||||
delete [] itr->dat;
|
||||
}
|
||||
diff --git a/plugins/zynaddsubfx/zynaddsubfx/src/UI/MasterUI.fl b/plugins/zynaddsubfx/zynaddsubfx/src/UI/MasterUI.fl
|
||||
index 254e505..550c299 100644
|
||||
--- a/plugins/zynaddsubfx/zynaddsubfx/src/UI/MasterUI.fl
|
||||
+++ b/plugins/zynaddsubfx/zynaddsubfx/src/UI/MasterUI.fl
|
||||
@@ -1696,7 +1696,7 @@ configui=new ConfigUI();
|
||||
|
||||
make_window();
|
||||
\#ifdef OS_WINDOWS
|
||||
-masterwindow->icon((char *)LoadIcon(GetModuleHandle(NULL), "zynaddsubfx_icon"));
|
||||
+#masterwindow->icon((char *)LoadIcon(GetModuleHandle(NULL), "zynaddsubfx_icon"));
|
||||
\#endif
|
||||
|
||||
presetsui=new PresetsUI();
|
||||
--
|
||||
2.43.2
|
||||
|
||||
Reference in New Issue
Block a user