summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
AgeCommit message (Collapse)Author
2013-05-02remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything ↵Paul Davis
deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works
2013-03-27Squashed commit of the following:Paul Davis
commit fdbae82077db53add90df7448a06869dac89acc6 Author: Paul Davis <paul@linuxaudiosystems.com> Date: Wed Mar 27 21:45:28 2013 -0400 mammoth changes in basic signal flow, total redesign of MIDI channel filtering and more. commit 59343a8283698e02bc0f622313b29e98f449e4c8 Author: Paul Davis <paul@linuxaudiosystems.com> Date: Wed Mar 27 01:58:53 2013 -0400 initial working version after changes to MIDI channel filtering. may affect metering input too. testing not yet finished this commit merges many deep changes in ardour's internal architecture, combined with a total redesign of how MIDI channel filtering works. data in a track used to flow from JACK port buffers to diskstream's ringbuffers and was then copied from the ringbuffers into a BufferSet for use during Route::process_output_buffers(). The butler thread would handle the movement of data between the ringbuffers and disk. with this commit, data now flows from JACK port buffers into the BufferSet used for Route processing, and is copied from the BufferSet into the diskstream's ringbuffers (the butler thread continues to handle interactions with disk as usual). this change allowed a dramatic consolidation of code and simplification of most aspects of Track/Route::roll() and Track/Route::no_roll(). in particular, see Route::fill_buffers_with_input() which now concisely describes how we move data from JACK port buffers into the BufferSet for all Route types (including Tracks). this work was initially motivated by changing MIDI channel filtering so that we can process capture and playback independently. there is now a very clean pathway for this - see MidiTrack::roll() (NOTE: This needs implementing in the no-roll case too - a TODO item). the channel selector for MIDI tracks has been moved out of the track header and is now accessible via the context menu. more work is likely here, to make it (more) obvious to the user when filtering is going on.
2013-01-21Trim the include tree a bit.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@13941 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21Fix whitespace.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@13935 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20Use rectangle intersection for MIDI note rect select.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@13933 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20More consistent verbose cursor label style for PC flags.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@13928 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20Show matching controller name in automation lane header.David Robillard
Completely eliminate static MIDI controller name code. Reduce dependency on midnam_patch.h (which would have saved me several hours if I did it earlier). Store controller name numbers as an integer. Keep controller names in a map keyed by int instead of a list for fast lookup. More cleanup of MIDI::Name code. git-svn-id: svn://localhost/ardour2/branches/3.0@13927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20Fix crash on verbose note text in regions with no patch changes.David Robillard
... I think. Not sure precisely, conditions were fuzzy, I just tortured my mouse button until I could reproduce it. git-svn-id: svn://localhost/ardour2/branches/3.0@13921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20Fix completely wrong MidiRegionView::get_patch_key_at().David Robillard
This fixes the note name displayed at a given time to be based on the correct program at that time, and not one in the future. git-svn-id: svn://localhost/ardour2/branches/3.0@13912 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20Support note names from midnam files (tested with the DM5).David Robillard
Do this via a simple MasterDeviceNames::note_name() function. The same really needs to be done for program names, this stuff is absolutely brutal to use. Store note names in a vector indexed by number instead of a list with string "numbers" for reasonable lookup time. Make some references const that should be. git-svn-id: svn://localhost/ardour2/branches/3.0@13908 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Set MIDI device mode to the first by default if unset.David Robillard
Give up trying to hide mode selector when it's useless. Fix display of program names for default mode. Abstract out (non-crashy) MidiTimeAxisView::get_device_names(). git-svn-id: svn://localhost/ardour2/branches/3.0@13903 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19Replace a bunch of potential crashes with graceful handling of the situation.David Robillard
We really need some kind of more sophisticated assert macro that can be switched to non-fatal logging mode for release builds. A log message, which is often all that would happen, is a lot better than a trainwrecked performance... git-svn-id: svn://localhost/ardour2/branches/3.0@13892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-22add Delete button to patch change dialog when editing itPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13710 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19keep velocity value visible in verbose cursor until we leave a note (fixes ↵Paul Davis
#5085) git-svn-id: svn://localhost/ardour2/branches/3.0@13687 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11Make input filtering while recording work in GUI, tooHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@13244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11make sysex contents appear as verbose_cursor for visual feedback the flag as ↵Hans Baier
been entered and for readability git-svn-id: svn://localhost/ardour2/branches/3.0@13240 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11fix bug: sysexes x position not relative to regionHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@13239 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11implement deleting of sysex eventsHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@13238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-15use correct event struct when handling key events in patch changes, and flip ↵Paul Davis
semantics for next/prev bank so that the direction in numerical terms matches next/prev patch (i.e. up arrow goes to higher numbers) git-svn-id: svn://localhost/ardour2/branches/3.0@13043 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25Patch from tophatdave to prevent exit from note editCarl Hetherington
mode on double-click with a modifier held down; prevents creation of malformed notes (#4664). git-svn-id: svn://localhost/ardour2/branches/3.0@12929 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-24put patch chnage dialog under the mouse cursor when it appearsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12914 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-22don't swallow left/right scroll events in a midi region view when in ↵Paul Davis
internal edit mode, fixes #4555 git-svn-id: svn://localhost/ardour2/branches/3.0@12822 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19really, really do not signal MidiRegionView::SelectionCleared during destructionPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12783 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-17make it possible for canvas patch changes to receive kbd events, and along ↵Paul Davis
the way clean up a couple of related issues, providing noevent-pixbuf (which we should probably use for regionview names too) git-svn-id: svn://localhost/ardour2/branches/3.0@12745 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Fix some uninitialised variable warnings.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12prevent too-wide program change flags at startupPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12hide patch changes if they are too wide for the region at a given zoom levelPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12677 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12fix complete screw up in connecting MIDNAM PatchNameList with ↵Paul Davis
ChannelNameSets; more tweaks and twirls for patch/program change mgmt git-svn-id: svn://localhost/ardour2/branches/3.0@12673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11lots more work trying to create a common structure for accessing plugin and ↵Paul Davis
MIDNAME patch/preset/program names. still not done git-svn-id: svn://localhost/ardour2/branches/3.0@12665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11partially-done (but compile-friendly) move of instrument info into a new ↵Paul Davis
backend object git-svn-id: svn://localhost/ardour2/branches/3.0@12652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-10remove craziness of propagating MIDI 7 bit limits into MIDNAM handling by ↵Paul Davis
replacing bank_msb/lsb with "bank" ; move responsibility for discovering patch names into MIDI trackview (soon to move again) git-svn-id: svn://localhost/ardour2/branches/3.0@12647 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-08When sounding notes on selection / note movements, play the note for as long ↵Carl Hetherington
as the mouse button is held down (#4574). git-svn-id: svn://localhost/ardour2/branches/3.0@12606 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-08Grey-out patch changes on inactive channels rather than notCarl Hetherington
plotting them at all (part of #4207). git-svn-id: svn://localhost/ardour2/branches/3.0@12600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06add "v" as a new MIDI editing key for velocity, add velocity dialog, fix ↵Paul Davis
crash when quitting with MIDI notes selected git-svn-id: svn://localhost/ardour2/branches/3.0@12583 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06incomplete change to allow all selected MIDI notes to have their velocity ↵Paul Davis
set to the same adjusted value (needs more work to find modifiers and/or add a dialog) git-svn-id: svn://localhost/ardour2/branches/3.0@12581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02Persist track MIDNAM settings via a GUI property. Fix aCarl Hetherington
couple of crashes with the MIDNAM code. git-svn-id: svn://localhost/ardour2/branches/3.0@12543 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02Put MIDNAM stuff into the patch change dialog.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29patch from dave flick to tackle a variety of cursor issuesPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12481 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28Clear selection on starting a MIDI note rubberbandCarl Hetherington
selection drag; always emit SelectionCleared() from clear_selection_except even if this region's selection hasn't changed, as we still want to clear the selection in other regions. Part of #4669. git-svn-id: svn://localhost/ardour2/branches/3.0@12473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28Emit SelectionCleared() when unique-selecting the firstCarl Hetherington
note in a region, so that other regions clear their selections. git-svn-id: svn://localhost/ardour2/branches/3.0@12472 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
It's slightly possible that this causes trivial build failures on different configurations, but otherwise shouldn't cause any problems (i.e. no actual changes other than include/naming/namespace stuff). I deliberately avoided removing libardour-config.h since this can mysteriously break things, though a few of those do seem to be unnecessary. This commit only targets includes of ardour/*.h. There is also a very large number of unnecessary includes of stuff in gtk2_ardour; tackling that should also give a big improvement in build time when things are modified. git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-22remove, convert, comment several cerr statementsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09i18n-izationPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12234 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-30Remove un-read variable.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12121 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25remove the apparently unnecessary "ui_bind()" macro from entire source basePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14Fix a few framecnt / framepos type confusions.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-12paste_pos_beats should be source-relative, not region position relative; ↵Carl Hetherington
fixes some misplaced pastes. git-svn-id: svn://localhost/ardour2/branches/3.0@11646 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-08use trim cursors near end of a MIDI note when in Draw mode (and not in Range ↵Paul Davis
mode) git-svn-id: svn://localhost/ardour2/branches/3.0@11472 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-02hand-done version of patch from tophatdave to prevent use of trim cursors ↵Paul Davis
when objects cannot be trimmed git-svn-id: svn://localhost/ardour2/branches/3.0@11427 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-02patch for bad region-extension when pasting into a MIDI that doesn't start ↵Paul Davis
at zero (from tophatdave) (related to #4664) git-svn-id: svn://localhost/ardour2/branches/3.0@11420 d708f5d6-7413-0410-9779-e7cbd77b26cf