diff Source/Mappings/KeyDivision/TouchkeyKeyDivisionMappingFactory.cpp @ 44:73576f49ad1c

Trying out a new method for parsing OSC emulation strings which may be more Windows-friendly. Also added basic support for keyboard divisions on the display.
author Andrew McPherson <andrewm@eecs.qmul.ac.uk>
date Sat, 23 Aug 2014 23:46:38 +0100
parents 0deac2806a7b
children 003236a1e29b
line wrap: on
line diff
--- a/Source/Mappings/KeyDivision/TouchkeyKeyDivisionMappingFactory.cpp	Sat Aug 23 21:39:46 2014 +0100
+++ b/Source/Mappings/KeyDivision/TouchkeyKeyDivisionMappingFactory.cpp	Sat Aug 23 23:46:38 2014 +0100
@@ -23,6 +23,7 @@
 */
 
 #include "TouchkeyKeyDivisionMappingFactory.h"
+#include "../../Display/KeyboardDisplay.h"
 
 // Yarman-24 Turkish microtonal tuning:
 /*      1/1	RAST		C
@@ -124,6 +125,18 @@
 {
     //setName("/touchkeys/segmentpitch");
     setBendParameters();
+    
+    KeyboardDisplay *display = keyboard_.gui();
+    if(display != 0) { 
+        display->addKeyDivision(this, segment.noteRange().first, segment.noteRange().second, numSegmentsPerKey_);
+    }
+}
+
+TouchkeyKeyDivisionMappingFactory::~TouchkeyKeyDivisionMappingFactory() {
+    // Remove the divisions from the keys, if this mapping has added them
+    KeyboardDisplay *display = keyboard_.gui();
+    if(display != 0)
+        display->removeKeyDivision(this);
 }
 
 void TouchkeyKeyDivisionMappingFactory::setName(const string& name) {