Make copy and brush operations type generic (i.e. fix brushing for MIDI regions).
git-svn-id: svn://localhost/ardour2/branches/3.0@3724 d708f5d6-7413-0410-9779-e7cbd77b26cf
*increased buffer sizes to get rid of overruns (PitchBender still doesnt work though....)
git-svn-id: svn://localhost/ardour2/branches/3.0@3403 d708f5d6-7413-0410-9779-e7cbd77b26cf
Fix selection preservation across MIDI model editing commands (for both note moving and resizing).
Fix selection breakage introduced by old selection preservation stuff (fix zombie selection).
git-svn-id: svn://localhost/ardour2/branches/3.0@3381 d708f5d6-7413-0410-9779-e7cbd77b26cf
which is necessary for std::set to work correctly
* few small style guide corrections
git-svn-id: svn://localhost/ardour2/branches/3.0@3363 d708f5d6-7413-0410-9779-e7cbd77b26cf
Handle stuck notes more gracefully in the view (probably should show up as a diamond though?).
git-svn-id: svn://localhost/ardour2/branches/3.0@3359 d708f5d6-7413-0410-9779-e7cbd77b26cf
* fixed corruption bugs due to allocation hell of MidiModel::const_iterator::_event: Changed it into boost::shared_ptr
* fixed MidiModel::const_iterator bugs:
-First note on lost, if an automation event comes first
-corrupt MidiEvent compared to automation event if there are no notes in the region
* (hopefully) fixed possible race condition
* fixed range check in MidiDiskstream::set_state for channel mask
* treating notes with duration 0 more gently in MidiRegionView (warning instead of assertion)
git-svn-id: svn://localhost/ardour2/branches/3.0@3345 d708f5d6-7413-0410-9779-e7cbd77b26cf
Re-enable MIDI CC controller bars and other immediate output (hans commented out, tsk tsk).
Write channel mode as textual enumeration instead of magic number.
Better atomic (almost) channel mode switching on MIDI ring buffer (was a possible, if unlikely, source of corruption).
Handle some cases of broken MIDI, and oversized events, more gracefully.
git-svn-id: svn://localhost/ardour2/branches/3.0@3335 d708f5d6-7413-0410-9779-e7cbd77b26cf
* bugfix: midi_util.h only considered channel events up to E0, but had to be EF
* bugfix: parameter.h operator == should also compare channel (drobilla, correct me if I am wrong)
* added some assert() guards
git-svn-id: svn://localhost/ardour2/branches/3.0@3330 d708f5d6-7413-0410-9779-e7cbd77b26cf
* fixed: velocity value left on canvas
* fixed: end-of-track problem still showed up sometimes
* enabled heaps of debugging output in order to debug MidiModel corruption
git-svn-id: svn://localhost/ardour2/branches/3.0@3329 d708f5d6-7413-0410-9779-e7cbd77b26cf
* Added preliminary support for program changes flags from automation lists
git-svn-id: svn://localhost/ardour2/branches/3.0@3327 d708f5d6-7413-0410-9779-e7cbd77b26cf
the container the iterator points into is destroyed
* fixed conditional jump from uninitialised value in CanvasNote
git-svn-id: svn://localhost/ardour2/branches/3.0@3326 d708f5d6-7413-0410-9779-e7cbd77b26cf
Write all events (not just notes) to SMF file from MidiModel
(just use iterator instead of hand-hacked MidiModel::write_to).
Various MIDI bug fixes.
git-svn-id: svn://localhost/ardour2/branches/3.0@3312 d708f5d6-7413-0410-9779-e7cbd77b26cf
Fix MIDI CC iterator infinite looping.
Only allocate Text widget for MIDI events if necessary.
git-svn-id: svn://localhost/ardour2/branches/3.0@3307 d708f5d6-7413-0410-9779-e7cbd77b26cf
* Added Automation based implementation for Program Changes, Pitch Bender and Channel Aftertouch
git-svn-id: svn://localhost/ardour2/branches/3.0@3304 d708f5d6-7413-0410-9779-e7cbd77b26cf
* make MidiModel keep track of its CanvasProgramChange instances
git-svn-id: svn://localhost/ardour2/branches/3.0@3297 d708f5d6-7413-0410-9779-e7cbd77b26cf
* changed MidiModel::write_to to include note off handling *and* time sorting
git-svn-id: svn://localhost/ardour2/branches/3.0@3294 d708f5d6-7413-0410-9779-e7cbd77b26cf
* Fixed crash bug when NoteMode = Percussive on MidiRegionView
* Fixed possible MemoryLeaks and added Signal in MidiMultipleChannelSelector
git-svn-id: svn://localhost/ardour2/branches/3.0@3263 d708f5d6-7413-0410-9779-e7cbd77b26cf
* Added assertion at crash location introduced by latest merge in ProcessorBox::build_processor_menu:
git-svn-id: svn://localhost/ardour2/branches/3.0@3260 d708f5d6-7413-0410-9779-e7cbd77b26cf
* fixed bug: dragging of notes beyond left region bounds made it disappear (unsigned int wrap around)
git-svn-id: svn://localhost/ardour2/branches/3.0@3249 d708f5d6-7413-0410-9779-e7cbd77b26cf
* fixed bug: after adding new notes, notes above/below region bounds appear
git-svn-id: svn://localhost/ardour2/branches/3.0@3237 d708f5d6-7413-0410-9779-e7cbd77b26cf
* bugfix: resizing notes not sample accurate
* bugfix: resizing notes broken due to region resizing patch
git-svn-id: svn://localhost/ardour2/branches/3.0@3221 d708f5d6-7413-0410-9779-e7cbd77b26cf
* Bugfix: resizing ends of MIDI tracks did not hide noted beyond region boundaries (in the moment only all notes with note_on >= region end are hidden, their note offs still may exceed region boundaries, but so much for now.....)
git-svn-id: svn://localhost/ardour2/branches/3.0@3219 d708f5d6-7413-0410-9779-e7cbd77b26cf
* added MIDI panic button (http://tracker.ardour.org/view.php?id=2118)
* bugfix: moving notes above midi 127 or below 0 does not wrap around anymore
* bugfix: deadlock on editing notes after playback (http://tracker.ardour.org/view.php?id=2140) due to unbalanced lock acquire/release
* bugfix: First note off lost in playback (http://tracker.ardour.org/view.php?id=2132)
* bugfix: Last note off lost in saving MIDI files (http://tracker.ardour.org/view.php?id=2132)
* bandaid fix for http://tracker.ardour.org/view.php?id=1985 (Cannot reopen session because jack ports are not unregistered on session close)
* bandaid fix: replaced conf.CheckPKGExists ('\"slv2 >= 0.6.0\"') by conf.CheckPKGExists ('slv2') in SConstruct, because the former would fail,
even if SLV 0.6.0 was installed
* added/enabled debugging output for debugging MIDI model (might be removed later)
git-svn-id: svn://localhost/ardour2/branches/3.0@3211 d708f5d6-7413-0410-9779-e7cbd77b26cf
Fix several memory (valgrind) errors in a vain attempt to fix crash on session close.
git-svn-id: svn://localhost/ardour2/branches/3.0@3105 d708f5d6-7413-0410-9779-e7cbd77b26cf
Fix finding of keybindings file when running from source tree (via ardev/ardbg).
Fix clashing keybindings for zoom stuff.
Add note tool keybinding and menu entry.
git-svn-id: svn://localhost/ardour2/branches/3.0@3099 d708f5d6-7413-0410-9779-e7cbd77b26cf
Make "show existing automation" create/show automation tracks for all contained CC in MIDI tracks.
Fix staggered time when importing multi-track MIDI files.
git-svn-id: svn://localhost/ardour2/branches/3.0@3086 d708f5d6-7413-0410-9779-e7cbd77b26cf
Resolve note on/off pairs in MidiModel.
Add channel field to Parameter (for associating a channel with a CC list).
Add channel selector to 'add controller automation' dialog.
Write out note and CC MIDI events with proper channel.
git-svn-id: svn://localhost/ardour2/branches/3.0@3085 d708f5d6-7413-0410-9779-e7cbd77b26cf
Only really works when tracks contain only channel 1 data for now.
git-svn-id: svn://localhost/ardour2/branches/3.0@3083 d708f5d6-7413-0410-9779-e7cbd77b26cf