summaryrefslogtreecommitdiff
path: root/media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch')
-rw-r--r--media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch b/media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch
new file mode 100644
index 000000000000..090e433b5fdc
--- /dev/null
+++ b/media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch
@@ -0,0 +1,85 @@
+From f85f5336df72dc44e407ae756ed20a8f8422cb76 Mon Sep 17 00:00:00 2001
+From: Dale Whinham <daleyo@gmail.com>
+Date: Sat, 11 Apr 2020 16:51:31 +0100
+Subject: [PATCH] Fix hard dependency on RtMidi
+
+It is perfectly reasonable for libasound to be installed, but not
+librtmidi, and so we should only enable the MIDI code if both are
+present.
+
+Fixes #207.
+---
+ src/tracker/CMakeLists.txt | 1 +
+ src/tracker/sdl/SDL_Main.cpp | 12 ++++++------
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/tracker/CMakeLists.txt b/src/tracker/CMakeLists.txt
+index 0a935330..f4243a0f 100644
+--- a/src/tracker/CMakeLists.txt
++++ b/src/tracker/CMakeLists.txt
+@@ -348,6 +348,7 @@ elseif(WIN32)
+ target_link_libraries(tracker midi)
+ else()
+ if(ALSA_FOUND AND RTMIDI_FOUND)
++ target_compile_definitions(tracker PRIVATE -DHAVE_LIBRTMIDI)
+ target_link_libraries(tracker midi)
+ endif()
+ endif()
+diff --git a/src/tracker/sdl/SDL_Main.cpp b/src/tracker/sdl/SDL_Main.cpp
+index 1a49fc12..75ffa1df 100644
+--- a/src/tracker/sdl/SDL_Main.cpp
++++ b/src/tracker/sdl/SDL_Main.cpp
+@@ -78,7 +78,7 @@
+ #include "PPSystem_POSIX.h"
+ #include "PPPath_POSIX.h"
+
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ #include "../midi/posix/MidiReceiver_pthread.h"
+ #endif
+ // --------------------------------------------------------------------------
+@@ -89,7 +89,7 @@ static SDL_TimerID timer;
+ static PPScreen* myTrackerScreen = NULL;
+ static Tracker* myTracker = NULL;
+ static PPDisplayDevice* myDisplayDevice = NULL;
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ static MidiReceiver* myMidiReceiver = NULL;
+ #endif
+
+@@ -223,7 +223,7 @@ static Uint32 SDLCALL timerCallback(Uint32 interval, void* param)
+ return interval;
+ }
+
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ class MidiEventHandler : public MidiReceiver::MidiEventHandler
+ {
+ public:
+@@ -829,7 +829,7 @@ myDisplayDevice = new PPDisplayDeviceFB(windowSize.width, windowSize.height, sca
+ // Startup procedure
+ myTracker->startUp(noSplash);
+
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ InitMidi();
+ #endif
+
+@@ -962,7 +962,7 @@ int main(int argc, char *argv[])
+ initTracker(defaultBPP, orientation, swapRedBlue, noSplash);
+ globalMutex->unlock();
+
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ if (myMidiReceiver && recVelocity)
+ {
+ myMidiReceiver->setRecordVelocity(true);
+@@ -1036,7 +1036,7 @@ int main(int argc, char *argv[])
+ SDL_RemoveTimer(timer);
+
+ globalMutex->lock();
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ delete myMidiReceiver;
+ #endif
+ delete myTracker;