Commit Graph

13 Commits

Author SHA1 Message Date
dnl-music
6a6711b088 Update PianoView.cpp
Add new keys to control (Windows, Linux), replace Windows "/" key.
2014-03-12 09:58:40 +07:00
Tobias Doerffel
56ee27ed9b Midi: added MidiDefaultVelocity to be used for test notes etc. 2014-03-08 13:22:51 +01:00
Tobias Doerffel
049951438a Do not pass default time to processInEvent()
We introduced default parameters for MidiTime parameters so there's no
need to construct them manually.
2014-01-26 01:15:43 +01:00
Tobias Doerffel
3a827f061f Reworked MIDI event handling in InstrumentTrack and renamed MIDI classes
The MIDI event handling in InstrumentTrack was complex and buggy. It has
been simplified now such that processInEvent() tries to handle note on,
note off and key pressure events. The actions taken should result in
equivalent calls to processOutEvent() by NotePlayHandle instances. The
processOutEvent() function sends according MIDI events to the attached
instruments. All unhandled MIDI events are directly forwarded to the
instrument in processInEvent().

It's possible that some corner-cases are not handled yet with the new code
and we have regressions now.

Furthermore renamed midiTime/midiEvent to MidiTime/MidiEvent to match
coding style.

Closes #72.
2014-01-26 00:08:12 +01:00
Vesa
4e7522194c Applying new colour palette 2014-01-21 17:38:05 +02:00
Tobias Doerffel
f2590c24df Replaced [S/U]int[8/16/32] with types from stdint.h or plain integers 2014-01-18 02:56:38 +01:00
Tobias Doerffel
c40b8350ef Piano: refactored class to be usable without friend classes 2014-01-14 23:12:43 +01:00
Tobias Doerffel
6f7572b949 PianoView: do not include Xlib.h header file anymore
This file is a relict from times when we evaluated X11 events for the
virtual keyboard functionality.
2012-11-10 12:28:36 +01:00
Tobias Doerffel
3ae2b40eec InstrumentTrackView: added one-window-mode + global piano focus
Added a one-window-mode which allows to have only one instrument track
window open at a time. The content of this window is replaced each time
you open a different track.

Furthermore added global reception and forwarding of key events to the
piano widget of the top-most instrument track window. This for example
enables the user to play test sounds while tweaking some effects in a
different subwindow.
(cherry picked from commit 93681760d2)
2010-10-05 11:25:43 +02:00
Tobias Doerffel
1c4d1f4ed3 PianoView: send NoteOff MIDI events for all keys on focus out
Commit 491910357b was a first try to fix
bug #3052228 but it broke InstrumentPlayHandle-driven instruments.
When losing focus now simply send NoteOff MIDI events for all keys
regardless of the state indicated by Piano::m_pressedKeys.

Closes #3052228.
(cherry picked from commit f8e73c5293)
2010-09-02 01:54:20 +02:00
Tobias Doerffel
706201dd79 Revert "PianoView: call InstrumentTrack::silenceAllNotes() on focus out"
This reverts commit 491910357b.
2010-09-02 01:47:28 +02:00
Tobias Doerffel
491910357b PianoView: call InstrumentTrack::silenceAllNotes() on focus out
If we lose focus, call InstrumentTrack::silenceAllNotes() after
explicitely sending NoteOff MIDI events for all keys for which presses
were recorded. In case the arpeggiator is enabled this is not
sufficient. Fixes hanging notes when switching active subwindow while
pressing keys in an instrument track window with arpeggiator enabled.

Closes #3052228.
(cherry picked from commit 2f921303eb)
2010-09-01 23:56:28 +02:00
Tobias Doerffel
1d5cb23385 File and class renames part 1
Most files and most of the core classes and their methods have been
renamed to match new coding style conventions:

391 files changed, 25400 insertions(+), 25598 deletions(-)

Furthermore splitted some files where model and view classes were
declared or implemented together in the same file.

Should be tested thoroughly as I might have missed renaming some virtual
methods or SIGNAL/SLOT parameters.
(cherry picked from commit 8c9a9dd14c)
2009-08-25 01:30:41 +02:00