Mercurial > hg > touchkeys
comparison Source/Mappings/KeyDivision/TouchkeyKeyDivisionMapping.cpp @ 46:78b9808a2c65
New features in release angle mapping, plus bugfixes on Linux (thanks Martin).
author | Andrew McPherson <andrewm@eecs.qmul.ac.uk> |
---|---|
date | Wed, 24 Sep 2014 00:29:18 +0100 |
parents | 3580ffe87dc8 |
children | 003236a1e29b |
comparison
equal
deleted
inserted
replaced
45:518027b4a3eb | 46:78b9808a2c65 |
---|---|
27 | 27 |
28 #define DEBUG_KEY_DIVISION_MAPPING | 28 #define DEBUG_KEY_DIVISION_MAPPING |
29 | 29 |
30 const int TouchkeyKeyDivisionMapping::kDefaultNumberOfSegments = 2; | 30 const int TouchkeyKeyDivisionMapping::kDefaultNumberOfSegments = 2; |
31 const timestamp_diff_type TouchkeyKeyDivisionMapping::kDefaultDetectionTimeout = milliseconds_to_timestamp(25.0); | 31 const timestamp_diff_type TouchkeyKeyDivisionMapping::kDefaultDetectionTimeout = milliseconds_to_timestamp(25.0); |
32 const int TouchkeyKeyDivisionMapping::kDefaultDetectionParameter = kDetectionParameterYPosition; | 32 const int TouchkeyKeyDivisionMapping::kDefaultDetectionParameter = kDetectionParameterYPositionAndNumberOfTouches; |
33 const int TouchkeyKeyDivisionMapping::kDefaultRetriggerNumFrames = 2; | 33 const int TouchkeyKeyDivisionMapping::kDefaultRetriggerNumFrames = 2; |
34 | 34 |
35 // Main constructor takes references/pointers from objects which keep track | 35 // Main constructor takes references/pointers from objects which keep track |
36 // of touch location, continuous key position and the state detected from that | 36 // of touch location, continuous key position and the state detected from that |
37 // position. The PianoKeyboard object is strictly required as it gives access to | 37 // position. The PianoKeyboard object is strictly required as it gives access to |
39 // contain only one of continuous key position or touch sensitivity | 39 // contain only one of continuous key position or touch sensitivity |
40 TouchkeyKeyDivisionMapping::TouchkeyKeyDivisionMapping(PianoKeyboard &keyboard, MappingFactory *factory, int noteNumber, Node<KeyTouchFrame>* touchBuffer, | 40 TouchkeyKeyDivisionMapping::TouchkeyKeyDivisionMapping(PianoKeyboard &keyboard, MappingFactory *factory, int noteNumber, Node<KeyTouchFrame>* touchBuffer, |
41 Node<key_position>* positionBuffer, KeyPositionTracker* positionTracker) | 41 Node<key_position>* positionBuffer, KeyPositionTracker* positionTracker) |
42 : TouchkeyBaseMapping(keyboard, factory, noteNumber, touchBuffer, positionBuffer, positionTracker), | 42 : TouchkeyBaseMapping(keyboard, factory, noteNumber, touchBuffer, positionBuffer, positionTracker), |
43 numberOfSegments_(kDefaultNumberOfSegments), candidateSegment_(-1), detectedSegment_(-1), defaultSegment_(0), | 43 numberOfSegments_(kDefaultNumberOfSegments), candidateSegment_(-1), detectedSegment_(-1), defaultSegment_(0), |
44 detectionParameter_(kDefaultDetectionParameter), retriggerable_(false), retriggerNumFrames_(kDefaultRetriggerNumFrames), | 44 detectionParameter_(kDefaultDetectionParameter), retriggerable_(true), retriggerNumFrames_(kDefaultRetriggerNumFrames), |
45 retriggerKeepsVelocity_(true), | 45 retriggerKeepsVelocity_(true), |
46 midiNoteOnTimestamp_(missing_value<timestamp_type>::missing()), timeout_(kDefaultDetectionTimeout), | 46 midiNoteOnTimestamp_(missing_value<timestamp_type>::missing()), timeout_(kDefaultDetectionTimeout), |
47 lastNumActiveTouches_(-1) | 47 lastNumActiveTouches_(-1) |
48 { | 48 { |
49 } | 49 } |