//============================================================================== MidiKeyboardComponent::MidiKeyboardComponent (MidiKeyboardState& state_, const Orientation orientation_) : state (state_), xOffset (0), blackNoteLength (1), keyWidth (16.0f), orientation (orientation_), midiChannel (1), midiInChannelMask (0xffff), velocity (1.0f), noteUnderMouse (-1), mouseDownNote (-1), rangeStart (0), rangeEnd (127), firstKey (12 * 4), canScroll (true), mouseDragging (false), useMousePositionForVelocity (true), keyMappingOctave (6), octaveNumForMiddleC (3) { addChildComponent (scrollDown = new MidiKeyboardUpDownButton (*this, -1)); addChildComponent (scrollUp = new MidiKeyboardUpDownButton (*this, 1)); // initialise with a default set of querty key-mappings.. const char* const keymap = "awsedftgyhujkolp;"; for (int i = String (keymap).length(); --i >= 0;) setKeyPressForNote (KeyPress (keymap[i], 0, 0), i); setOpaque (true); setWantsKeyboardFocus (true); state.addListener (this); }
//============================================================================== MidiKeyboardComponent::MidiKeyboardComponent (MidiKeyboardState& s, Orientation o) : state (s), orientation (o) { scrollDown.reset (new UpDownButton (*this, -1)); scrollUp .reset (new UpDownButton (*this, 1)); addChildComponent (scrollDown.get()); addChildComponent (scrollUp.get()); // initialise with a default set of qwerty key-mappings.. int note = 0; for (char c : "awsedftgyhujkolp;") setKeyPressForNote (KeyPress (c, 0, 0), note++); mouseOverNotes.insertMultiple (0, -1, 32); mouseDownNotes.insertMultiple (0, -1, 32); colourChanged(); setWantsKeyboardFocus (true); state.addListener (this); startTimerHz (20); }
PizKeyboardComponent::PizKeyboardComponent(MidiKeyboardState &state, const Orientation orientation) : MidiKeyboardComponent(state,orientation), drawQwerty(false), drawNoteNumber(false) { s = &state; for (int i = String (keymap).length(); --i >= 0;) setKeyPressForNote (KeyPress (keymap[i], 0, 0), i); setKeyPressBaseOctave(4); }
//============================================================================== MidiKeyboardComponent::MidiKeyboardComponent (MidiKeyboardState& state_, const Orientation orientation_) : state (state_), xOffset (0), blackNoteLength (1), keyWidth (16.0f), orientation (orientation_), midiChannel (1), midiInChannelMask (0xffff), velocity (1.0f), shouldCheckState (false), rangeStart (0), rangeEnd (127), firstKey (12 * 4.0f), canScroll (true), useMousePositionForVelocity (true), shouldCheckMousePos (false), keyMappingOctave (6), octaveNumForMiddleC (3) { addChildComponent (scrollDown = new MidiKeyboardUpDownButton (*this, -1)); addChildComponent (scrollUp = new MidiKeyboardUpDownButton (*this, 1)); // initialise with a default set of querty key-mappings.. const char* const keymap = "awsedftgyhujkolp;"; for (int i = 0; keymap[i] != 0; ++i) setKeyPressForNote (KeyPress (keymap[i], 0, 0), i); const int numSources = Desktop::getInstance().getNumMouseSources(); mouseOverNotes.insertMultiple (0, -1, numSources); mouseDownNotes.insertMultiple (0, -1, numSources); setOpaque (true); setWantsKeyboardFocus (true); state.addListener (this); startTimer (1000 / 20); }