summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.h
AgeCommit message (Collapse)Author
2009-10-19Use set over vector for Sequence::Notes, for logarithmic search by time.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5798 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14Strip trailing whitespace and fix other whitespace errors (e.g. space/tab ↵David Robillard
mixing). Whitespace changes only. Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent... git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-06ogg/flac support bits and pieces; fix up MIDI note dragging and front-edge ↵Paul Davis
trims; BROKEN IN PERCUSSIVE MODE FOR NOW git-svn-id: svn://localhost/ardour2/branches/3.0@5745 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-10do not crash when loading old history files with MIDI edits; add all notes ↵Paul Davis
in region to canvas, but pay attention to visibility git-svn-id: svn://localhost/ardour2/branches/3.0@5652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-10more MIDI editing cleanups, mostly fixing subtleties. Will break loading the ↵Paul Davis
history file for older sessions with MIDI editing present - we warned you :) git-svn-id: svn://localhost/ardour2/branches/3.0@5651 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-09re-use canvas note items when the model changes ; slightly more efficient ↵Paul Davis
(probably) and avoids invalidating references to said items in, for example, ResizeData in a copied region git-svn-id: svn://localhost/ardour2/branches/3.0@5650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-09time line items now have 64 bit location + duration; start making note ↵Paul Davis
resize apply across regions git-svn-id: svn://localhost/ardour2/branches/3.0@5642 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-08move note drag & note resize mouse handling up into the Drag/Editor ↵Paul Davis
infrastructure/level git-svn-id: svn://localhost/ardour2/branches/3.0@5641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-07use diff commands for quantize, with infrastructure changes as requiredPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5639 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-07add anonymous union to DiffCommand to allow uint8t_t and time-based ↵Paul Davis
arguments; use DiffCommand for note trimming git-svn-id: svn://localhost/ardour2/branches/3.0@5638 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-06the start (only the start) of MIDI diff commandsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5637 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-03the basics of step editing, more details to followPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5629 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-28more MIDI editing tweaks ; flip mouse mode buttons around for MIDI so that ↵Paul Davis
"object" mode is the most likely mode for both region \& region editing ; frame handle events (from lincoln's region trimming patch) are now handled more explicitly git-svn-id: svn://localhost/ardour2/branches/3.0@5600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-27lots of MIDI editing stuff. to be explained on the website when its donePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5596 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-18make shift-click for extend-selection sort-of work for MIDIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5541 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-17move assignments out of assert() in editor_drag (thanks lincoln); change ↵Paul Davis
mouse mode buttons when in internal/MIDI mode; arrow key control of note velocity, value and position - hey look ma, MIDI editing! git-svn-id: svn://localhost/ardour2/branches/3.0@5539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-14fix up display of notes when creating/editing a MIDI region with the pencil; ↵Paul Davis
fix position of paste for regions that are not at frame zero git-svn-id: svn://localhost/ardour2/branches/3.0@5527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13more MIDI paste improvements, plus move region-mute binding to PRIMARY-m and ↵Paul Davis
use "m" for toggle-internal-editing git-svn-id: svn://localhost/ardour2/branches/3.0@5525 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13MIDI cut&paste round two (not done yet); a small region trim fix from lincoln s.Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-10first part of MIDI cut/copy/paste ; fix for input/output_streams of an ↵Paul Davis
IOProcessor being reported in a misleading way; in/out translation fix from 2.X, sort of git-svn-id: svn://localhost/ardour2/branches/3.0@5510 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09Back out big shared_ptr change. Moving to a branch. Apologies all.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09Use shared_ptr for the TimeAxisView hierarchy.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-08Further refactoring of drag code. Changes so that drags from the region ↵Carl Hetherington
list display a region view during the drag. git-svn-id: svn://localhost/ardour2/branches/3.0@5127 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05Fix note dragging.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5049 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05Remove useless/broken concept of 'erase touch dragging'.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05Make MIDI note editing work somewhat again...David Robillard
Only show note velocity text when the user is actually editing velocity. git-svn-id: svn://localhost/ardour2/branches/3.0@5047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25*** NEW CODING POLICY ***David Robillard
All #include statements that include a header that is a part of a library bundled with ardour MUST use quotes, not angle brackets. Do this: #include "ardour/types.h" NOT this: #include <ardour/types.h> Rationale: This is best practice in general, to ensure we include the local version and not the system version. That quotes mean "local" (in some sense) and angle brackets mean "system" (in some sense) is a ubiquitous convention and IIRC right in the C spec somewhere. More pragmatically, this is required by (my) waf (stuff) for dependencies to work correctly. That is: !!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!! Failure to comply is punishable by death by torture. :) P.S. It's not that dramatic in all cases, but this (in combination with some GCC flags specific to the include type) is the best way I have found to be absolutely 100% positive the local ones are being used (and we definitely want to be absolutely 100% positive on that one). git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17Remove unnecessary/unused template parameter from canvas sysex flags.David Robillard
Add license headers to canvas sysex files (tsk, tsk). git-svn-id: svn://localhost/ardour2/branches/3.0@4610 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16* First prototype of SysEx GUIHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@4604 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16Fix time / positioning of PC flags (beat time).David Robillard
Fix needless string copying in flag stuff. Clean up. git-svn-id: svn://localhost/ardour2/branches/3.0@4601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15Fix genererally retarded and broken note range / diskstream display / etc. ↵David Robillard
related things (correctly display region contents on initial session load). git-svn-id: svn://localhost/ardour2/branches/3.0@4583 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15The Big Change: Store time in MidiModel as tempo time, not frame time.David Robillard
The time stamp of an event is now always tempo, from file to model and back again. Frame time is only relevant at playback or recording time, in the audio thread (MidiModel and MidiBuffer). I think perhaps we don't need to change the actual time from double (which is convenient for math), it is the time base conversion that caused problems. Using a correct equality comparison (i.e. not == which is not correct for floating point) should probably make the undo issues go away, in 99.99% of cases anyway. There's almost certainly some regressions in here somewhere, but they do not seem to be time related. The bugs I'm hitting in testing are old ones that seem unrelated now, so it's checkpoint time. This sets us up for fancy things like tempo map import and tempo/meter changes halfway through MIDI regions, but for now it's still assumed that the tempo at the start of the region is valid for the duration of the entire region. git-svn-id: svn://localhost/ardour2/branches/3.0@4582 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02Make (MIDI) event time stamp type a template parameter.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-14* commentsHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@4405 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-07Fix audible note select:David Robillard
- Don't play note a bajillion times when touch selecting - Don't spawn a thread for each note off (schedule an idle handler instead) - Play notes when rect selecting git-svn-id: svn://localhost/ardour2/branches/3.0@4392 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-25* first prototype implementation of playing back MIDI notes when selectedHans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@4348 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-24* implemented three coloring modes for MIDI tracks (untested yet)Hans Baier
git-svn-id: svn://localhost/ardour2/branches/3.0@4344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-23Fix note velocity editing.David Robillard
Don't abuse/leak selection when editing velocity (fix editing velocity of a single note actually editing velocity of every note who's velocity had previously been edited). Properly preserve selection for MIDI operations in general. Less crap method of delineating scroll events to canvas items (no exhaustive type cases needed in editor_canvas_events.cc). Fix silly comment style in midi_region_view.h (hans: please note this and follow in the future). git-svn-id: svn://localhost/ardour2/branches/3.0@4343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-23* added comments to midi_region_view.hHans Baier
* implemented choosing patches with context menu on the program change flag * added convenience method and a little refactoring in midi_patch_manager.h Conflicts: .cproject build-tmp.sh git-svn-id: svn://localhost/ardour2/branches/3.0@4338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-15* first working prototype of changing program changes by scroll wheel (still ↵Hans Baier
some automation points issues) git-svn-id: svn://localhost/ardour2/branches/3.0@4324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-14* some refactoring of patch name stuff in preparation for altering program ↵Hans Baier
changes events git-svn-id: svn://localhost/ardour2/branches/3.0@4323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-11* added myself to about.ccHans Baier
* created ArdourCanvas::CanvasFlag as a base class for flags * removed obsolete cruft from midi_model * made MidiTimeAxisView and MidiRegionView work together to display program changes as names by means of MidiPatchManager git-svn-id: svn://localhost/ardour2/branches/3.0@4307 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-26Fix audio region copy-drag, partially fix MIDI region copy-drag (thanks ↵David Robillard
torbenh). git-svn-id: svn://localhost/ardour2/branches/3.0@3809 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23Eliminate a ton of unnecessary complete redrawing in MIDI stream views:David Robillard
Only resize vertically (don't reaload model) on range changes. Keep track of range in model while loading (writing to model), rather than double display MIDI regions to find out. Don't go crazy and chew CPU blinking around and doing nothing on initial show of MIDI track context menu. Change radio 'full range' and 'contents range' menu items to non-radio actions that just set the range appropriately. Fix crashes on some esoteric case of control data I can't figure out, but fixed anyway, so I guess it all worked out well in the end for everybody. git-svn-id: svn://localhost/ardour2/branches/3.0@3794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19Merge all the (disconcertingly missing) track/region/etc height changes from ↵David Robillard
2.0. Fix track y positioning and initial region size/location. Fix automation click-to-add-points (i.e. points actually show up where you click). Fancy whiz-bang dynamic resize 2.0 professional edition support for MIDI/CC/Automation tracks/regions. git-svn-id: svn://localhost/ardour2/branches/3.0@3769 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19Factor out sequencing related things into an independant new library: "evoral".David Robillard
Anything related to the storage of events/values over a range of time lives in evoral. This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList), Automatable (Evoral::ControlSet), etc). libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511. git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10merge from 2.0-ongoing @ 3581Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22Fix MIDI selection/tool issues (issue #0002415 and other bugs).David Robillard
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
2008-05-12Fix various MIDI corruption bugs.David Robillard
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
2008-04-29* renamed canvas-midi-event.* into canvas-note-event.*Hans Baier
* make MidiModel keep track of its CanvasProgramChange instances git-svn-id: svn://localhost/ardour2/branches/3.0@3297 d708f5d6-7413-0410-9779-e7cbd77b26cf