summaryrefslogtreecommitdiff
path: root/media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch
blob: 090e433b5fdc9320fb7f4a82a9d9e9fc98ffea27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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;