diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9382c624..b750a898 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@ set(CMAKE_CXX_STANDARD 14)
set(CMAKE_PROJECT_VERSION_MAJOR 0)
set(CMAKE_PROJECT_VERSION_MINOR 4)
-set(CMAKE_PROJECT_VERSION_PATCH 6)
+set(CMAKE_PROJECT_VERSION_PATCH 7)
if (ANDROID)
set(BUILD_GUI OFF)
diff --git a/res/Info.plist b/res/Info.plist
index 621a4df2..1b3baea6 100644
--- a/res/Info.plist
+++ b/res/Info.plist
@@ -15,17 +15,17 @@
CFBundleInfoDictionaryVersion
6.0
CFBundleLongVersionString
- 0.4.6
+ 0.4.7
CFBundleName
Furnace
CFBundlePackageType
APPL
CFBundleShortVersionString
- 0.4.6
+ 0.4.7
CFBundleSignature
????
CFBundleVersion
- 0.4.6
+ 0.4.7
NSHumanReadableCopyright
NSHighResolutionCapable
diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp
index 1d697cfd..89b814a2 100644
--- a/src/engine/engine.cpp
+++ b/src/engine/engine.cpp
@@ -3334,6 +3334,7 @@ bool DivEngine::moveSampleDown(int which) {
}
void DivEngine::noteOn(int chan, int ins, int note, int vol) {
+ if (chan<0 || chan>=chans) return;
isBusy.lock();
pendingNotes.push(DivNoteEvent(chan,ins,note,vol,true));
if (!playing) {
@@ -3345,6 +3346,7 @@ void DivEngine::noteOn(int chan, int ins, int note, int vol) {
}
void DivEngine::noteOff(int chan) {
+ if (chan<0 || chan>=chans) return;
isBusy.lock();
pendingNotes.push(DivNoteEvent(chan,-1,-1,-1,false));
if (!playing) {
diff --git a/src/engine/engine.h b/src/engine/engine.h
index 06128186..8580cdde 100644
--- a/src/engine/engine.h
+++ b/src/engine/engine.h
@@ -10,7 +10,7 @@
#include