summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
AgeCommit message (Collapse)Author
2007-09-06Deep "automation regions" support.David Robillard
Fix zoom/height/etc changing for automation region views. Broke smooth automation region dragging (make omelette, break eggs, etc). git-svn-id: svn://localhost/ardour2/trunk@2424 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-31Fix CC region view length.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-28Split MidiModel::Note out to ARDOUR::Note in it's own file (midi_model.h was ↵David Robillard
getting fat). Initial work on MidiModel iterator. git-svn-id: svn://localhost/ardour2/trunk@2355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-17Per-region MIDI CC "automation".David Robillard
Extremely broken in several ways. This commit brought to you by the letters D, R, and my need to switch machines. git-svn-id: svn://localhost/ardour2/trunk@2323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-16Make SMFSource suck significantly less.David Robillard
Read from MidiRingbuffer directly into model, don't read MidiRingBuffer into a new midi buffer, then into the model. Pass rec data to UI via model instead of a separate buffer. Read MIDI CC data into MidiModel (though not actually used yet). Made quantization toggle edited flag so model is saved. git-svn-id: svn://localhost/ardour2/trunk@2308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-11Saving of edited MIDI data to disk (on session save).David Robillard
Seems to be a pretty random problem with note duration restoring though... git-svn-id: svn://localhost/ardour2/trunk@2290 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-10Fix some evil "tabs".David Robillard
Switch canvas cursor for MIDI tools. Fix delete tool bug (touch delete always on). git-svn-id: svn://localhost/ardour2/trunk@2287 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-10Touch select (hold left <Shift> or <Control>).David Robillard
Fix crash on note delete. git-svn-id: svn://localhost/ardour2/trunk@2286 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-10Remove excessive printing during note dragging.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-09Fix rect select to work in all directions.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2284 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-09Make MIDI tools actually do something. Sorta. Sometimes.David Robillard
When the moon is right. Cosmic radiation may be a factor. Prayer may not be an entirely bad idea, just in case. git-svn-id: svn://localhost/ardour2/trunk@2283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-08First appearance of MIDI edit tool bar. Toggles when delete held, but ↵David Robillard
otherwise still useless, pending some UI figuring out... git-svn-id: svn://localhost/ardour2/trunk@2275 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-08Multi-note (ie selection) dragging.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2267 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-07Ridiculously CPU-chewey rect select (for sustained notes only ATM).David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2261 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06Genericificationalizeified AudioFilter (now Filter).David Robillard
Added primitive (non-undoable, placeholder, etc) quantization. git-svn-id: svn://localhost/ardour2/trunk@2254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06Brought back visual indication of delete dragging.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-05Clear selection when clicking region background (usual HiGgey stuff).David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2249 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-05Selection deleting.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2246 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-05Note selection via clicking (including multi-note selection via ctrl/shift ↵David Robillard
clicking). git-svn-id: svn://localhost/ardour2/trunk@2245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-04Theme-ified MIDI note colours, implemented automagic crossfading thereof.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2243 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-04Line up percussion hits correctly.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2241 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-04Obey snap setting for MIDI stuff.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-04Moved note height/range/etc stuff from MidiRegionView to MidiStreamView, ↵David Robillard
since it's all shared anyway. Fixed positioning of percussion hits. Note row separator lines (ie a "piano roll".. if it counts as a piano roll without an actual piano on the side of it, anyway). git-svn-id: svn://localhost/ardour2/trunk@2237 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-04Switched to right mouse button for note adding.David Robillard
Added creation of notes of arbitrary duration via right drag. Removed a bunch of redundant height calculation, etc. stuff. git-svn-id: svn://localhost/ardour2/trunk@2236 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-02Functional note moving.David Robillard
Better vertical note snap, don't let the mouse drift away from the note on fast drags. git-svn-id: svn://localhost/ardour2/trunk@2218 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-02Snap note dragging vertically to note values (rows).David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2217 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-01Fix note delete crash bug.David Robillard
Fix midi recording crash bug. git-svn-id: svn://localhost/ardour2/trunk@2216 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-01Note deleting.David Robillard
Press delete on a single note to delete it. Hold delete and mouse over a number of notes to delete them all in a single operation. git-svn-id: svn://localhost/ardour2/trunk@2214 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-01Better MidiModel command framework, ready to go for all your canvas editing ↵David Robillard
needs. Rewrote MidiEvent to be a well-behaved self-contained object that optionally owns it's buffer, has proper copying semantics, etc. Fixed crazy bugs triggered by adding lots of events with varying times to a region. Speed up initial session display significantly (don't redraw each MIDI region tons of times, though still happens more than once and can use fixing...). git-svn-id: svn://localhost/ardour2/trunk@2213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-31Get MidiRegionView's hands on MidiModel for editing operations to come.David Robillard
MIDI select rectangle. Add notes on a proper click only (not mouse down). Fix crash when dragging from region to outside region. git-svn-id: svn://localhost/ardour2/trunk@2196 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-30fix some aspects of midi region view event handlingPaul Davis
git-svn-id: svn://localhost/ardour2/trunk@2192 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-30Basic canvas note event handling framework.David Robillard
Note dragging (non-functional). git-svn-id: svn://localhost/ardour2/trunk@2187 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-28Use 'show contents' note range by default (fix uninitialized value).David Robillard
Obey note mode on playback (note offs are not sent in Percussive mode). Vary note colour/opacity with velocity (needs theization/tweaking, but hey, it's something). git-svn-id: svn://localhost/ardour2/trunk@2184 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-28Playback from MIDI model, playback of clicked-in events.David Robillard
Note the diskstream chunk size affects reading of clicked-in, so you may need to seek away and back again to have new events read (this will be fixed). git-svn-id: svn://localhost/ardour2/trunk@2183 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-19Note canvas event handling testing stuff.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2154 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-17Midi pencil undo (not yet serializable).David Robillard
Formatting fixes for session.h (ie kill more of those damned 8 space expanded tabs). git-svn-id: svn://localhost/ardour2/trunk@2135 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-15Selection of visible note range (full range vs fit contents, selectable from ↵David Robillard
midi track menu). Added note pencil tool, mock note adding (notes can be added visually but don't yet play). Reworked MidiModel to be notes w/ duration instead of realtime style MIDI events. Moved layering (stacked/overlaid) from auto time axis down to route time axis since it applies to MIDI tracks as well. git-svn-id: svn://localhost/ardour2/trunk@2128 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-07Note modes: note, percussion.David Robillard
Percussion tracks display diamonds. Separated/fixed MIDI and audio mode menus. CC automation modes: discrete, line. Bar controllers follow setting (hard steps or line) on playback. Sent CC data is always discrete (line not implemented yet). Discrete tracks show no lines, and always show control points. Separated ControlPoint from AutomationLine. Added some basic information (range) to Parameter (to be fleshed out..). git-svn-id: svn://localhost/ardour2/trunk@2123 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-05Scale MIDI track vertical range to match widgest range of notes in child ↵David Robillard
regions. Fiddled with canvas theme a bit to make tempo more visible and probably annoy pure audio MIDI/tempo haters. Fix track-specific-color display on mixer strips for MIDI tracks. git-svn-id: svn://localhost/ardour2/trunk@2112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27Added dialog to allow adding any Midi CC track.David Robillard
Fix display/menu generation when adding a MIDI CC track. Fix crash bug triggered by recording MIDI track with visible CC child track. git-svn-id: svn://localhost/ardour2/trunk@2073 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-09Redraw MIDI region views on zoom and track height changes.David Robillard
Disable excessive/old debug prints. Fix region view heights. git-svn-id: svn://localhost/ardour2/trunk@1982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-09Use double MIDI timestamps (towards tempo based time, and ↵David Robillard
more-than-sample-accurate LV2 MIDI plugin application). Eliminate double iteration over MIDIRingBuffer read to translate timestamps. git-svn-id: svn://localhost/ardour2/trunk@1981 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-08Fix time skew after MIDI recording (added missing conversion from delta time ↵David Robillard
to audio frames). Fix crash bug in MIDI recording. git-svn-id: svn://localhost/ardour2/trunk@1980 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-07Fixed MIDI crash bug.David Robillard
Added some asserts to gtkmm2ext that hopefully may catch a bug I might have possibly seen once or twice, probably. Fixed uninitialized value in time_axis_view.cc. git-svn-id: svn://localhost/ardour2/trunk@1958 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-05Save MIDI files to interchange/sessionname/midifiles (instead of audiofiles).David Robillard
Fix some uninitialized variables in Streamview. Tempo-based SMF source (internally only). Horrible crash on MIDI record finish. git-svn-id: svn://localhost/ardour2/trunk@1955 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-03Fix MIDI region loading.David Robillard
Add model loading and destroying to SMFSource. Load and display MIDI region data on session load. git-svn-id: svn://localhost/ardour2/trunk@1947 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-02Fix note heights to be consistent.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@1946 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-02Fix vertical order of MIDI notes.David Robillard
Extend current active notes to end of region while recording. Initialize note state correctly. git-svn-id: svn://localhost/ardour2/trunk@1945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-01Preliminary visible MIDI notes in MidiRegionView.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@1943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-17Add stacked lanes mode which displays regions on different layers at ↵Carl Hetherington
different positions in the view. git-svn-id: svn://localhost/ardour2/trunk@1855 d708f5d6-7413-0410-9779-e7cbd77b26cf