summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.h
AgeCommit message (Collapse)Author
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-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
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-11implement deleting of sysex eventsHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@13238 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-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-09Somewhat primitive implementation of allowing the edit note dialog to handle ↵Carl Hetherington
multiple notes (#4096). git-svn-id: svn://localhost/ardour2/branches/3.0@12623 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-08Remove unused declaration.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12605 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-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-28Expand comment.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12474 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28Deselect MIDI notes when leaving internal edit modeCarl Hetherington
(part of #4669). git-svn-id: svn://localhost/ardour2/branches/3.0@12471 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-03-12Fix comments.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11645 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20make mouse range mode do something interesting when in internal/note edit ↵Paul Davis
mode. not entirely finished because the usual modifiers to add/extend the selection don't work correctly. note that this works both on the scroomer (where the modifiers do work correctly) and in the track (where they do not) git-svn-id: svn://localhost/ardour2/branches/3.0@11273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-19more fixups of various things including cursors when note editing. in ↵Paul Davis
particular, don't needlessly reset the cursor during a drag. note insertion with ctrl pressed now only works if in MouseObject mode. git-svn-id: svn://localhost/ardour2/branches/3.0@11270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30Clean up comments to create_note_at, since it no longers snaps its length ↵Carl Hetherington
parameter. Move the 1 tick shortening out of the method for the same reason. Make sure that create drags make notes with a minimum length of 1 tick (#4600). git-svn-id: svn://localhost/ardour2/branches/3.0@11116 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11Move note creation code into a Drag; fix snapping of noteCarl Hetherington
starts when drag-created (part of #4505). git-svn-id: svn://localhost/ardour2/branches/3.0@10972 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-03Fix somewhat unlikely crash on doing add note; start drag to resize note; ↵Carl Hetherington
undo; finish drag to resize note. git-svn-id: svn://localhost/ardour2/branches/3.0@10880 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16Use a Drag class for midi note selection, so that itCarl Hetherington
gets autoscroll (#4474). git-svn-id: svn://localhost/ardour2/branches/3.0@10650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-04Remove non-RT-safe alloc in the MIDI process() call.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10441 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19Trim include tree.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@10244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-07Implement range selecting for MIDI notes (#4087).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@10199 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-07Implement invert selection for MIDI notes (#4087).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@10198 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-28Clear selected MIDI notes in all regions when they areCarl Hetherington
cleared in a single one (#4152). git-svn-id: svn://localhost/ardour2/branches/3.0@10158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-06Snap new automation points in AutomationRegionViews (#4297).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10059 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-20Another go at fixing up MIDI note additions with snapCarl Hetherington
(#4189). git-svn-id: svn://localhost/ardour2/branches/3.0@10017 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-17various fixes to MidiRegionView selection handling, key handling, drawing of ↵3.0-alpha10Paul Davis
ghost notes (contains a fix for #4263); shift-drag selections in MidiRegionViews now correctly add to the selection rather than replacing any existing one. git-svn-id: svn://localhost/ardour2/branches/3.0@10000 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-16attempt to fix deep confusion in GUI code about converting between musical ↵Paul Davis
and audio time (should have beneficial effects on #4257); change ghost note drawing when in MIDI note draw/add mode so that its start is aligned with the mouse cursor git-svn-id: svn://localhost/ardour2/branches/3.0@9998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-03Apply x42's patch from #4207; rename MIDI controlCarl Hetherington
preferences to just MIDI. git-svn-id: svn://localhost/ardour2/branches/3.0@9948 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-27Primary-(scroll|up|down) on patch/bank change event changes bank number; ↵Paul Davis
change format of verbose cursor when inside patch/bank change git-svn-id: svn://localhost/ardour2/branches/3.0@9939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-11fix for #3977 - shift-tab and shift-ctrl-tab move to the next/previous note ↵Paul Davis
like tab, but leave existing selected note(s) selected git-svn-id: svn://localhost/ardour2/branches/3.0@9838 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-13add MIDI channel editing for current note selection, bound to "c" by defaultPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Delete trailing whitespaceDavid Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-25Remove MIDI track default channel and its menu, and choose the channel for ↵Carl Hetherington
new notes using MidiTimeAxisView::get_channel_for_add() (fixes #3998 and #3865). git-svn-id: svn://localhost/ardour2/branches/3.0@9585 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-19Fix broken indentation.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9558 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-02Separate verbose cursor out into its own class and clean up the API. Fixes ↵Carl Hetherington
#4010. git-svn-id: svn://localhost/ardour2/branches/3.0@9455 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20Prevent snap_frame_to_frame returning -ve offset from the region start ↵Carl Hetherington
(fixes #3925). git-svn-id: svn://localhost/ardour2/branches/3.0@9396 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-02Fix up undo/redo of MIDI note paste (#3815).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@9033 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-28Update ghost MIDI regions in automation tracks when zoom changes. Fixes #3803.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, ↵Paul Davis
thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally). git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-29rest of lincoln's MIDI note edit via click outside of MIDI edit mode patchPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8366 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28Unify program change and bank handling so that they are manipulated together.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8346 d708f5d6-7413-0410-9779-e7cbd77b26cf