summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
AgeCommit message (Collapse)Author
2014-12-28Show correct ghost hit for percussive tracks.David Robillard
2014-12-28Set new note velocity based on surrounding notes.David Robillard
2014-12-28Fix events for short notes at region start/end.David Robillard
2014-12-28Update note colors when model changes.David Robillard
2014-12-24Fix potential memory errors with note player.David Robillard
Seems unlikely, but if the event firing stuff is off, it could trigger the issue (#5502) and/or a possible memory leak.
2014-12-23Fix cursor update on nested entry.David Robillard
For example, if you're in a note and something about the mode changes, it's the underlying region context that needs to change. So, seems we need a stack of entry contexts to deal with this sort of thing. Switching in/out of smart mode still doesn't update immediately because we don't have the y-coordinate needed to update it.
2014-12-22move all (G)UI related configuration parameters into UIConfiguration, not ↵Paul Davis
RCConfiguration
2014-12-20Fix various cursor problems.David Robillard
Add a new scoped cursor system that makes it much harder to screw up and end up with stick cursors and so on.
2014-12-19more color/modifier tweaksPaul Davis
2014-12-18Use color modifiers for dynamic region styles.David Robillard
2014-12-18Fix copy paste of MIDI and track automation.David Robillard
2014-12-18Make MIDI regions translucent for internal tools.David Robillard
2014-12-18Enforce internal/external selection exclusivity.Ben Loftis
2014-12-18Remove internal edit mode and add "content" tool.David Robillard
2014-12-18Add editor selection state to session history via a SelectionMemento, whichnick_m
combines selection related editor properties with the current editor selection. The related editor properties are: mouse mode, zoom setting, left frame of the canvas, y origin of the canvas. Selection state now includes region views (storing the underlying region id) and time. This patch also fixes a region mute undo bug.
2014-12-17Support stepping bank by shift+scroll/arrow.David Robillard
2014-12-17Remove some aborts that don't really need to be.David Robillard
Enforce PatchPrimaryKey sanity at the type level rather than attempting to check for it everywhere. Remove dead file.
2014-12-17Fix display of MIDI notes/regions while recording.David Robillard
Make record rect transparency configurable. Factor out some copy-paste streamview code.
2014-12-17Fix various MIDI locking issues.David Robillard
Attempt to make mistakes much less likely in the future by statically requiring caller to pass scoped locks where necessary.
2014-12-17Force ghost note positive in all circumstances.David Robillard
2014-12-17Don't allow drawing notes in rec regions (crash).David Robillard
2014-12-16Various color tweaks.David Robillard
This commit changes some color names, nuke your theme. This isn't quite ideal yet, but takes some steps towards where I think things should go aesthetically: Make automation tracks/regions colors correspond to their parent's type. Make selected MIDI notes outlined in red like most everything else, and scrap separate min/mid/max fill colors for selected MIDI notes. Color automation ghost MIDI notes based on original note color. Try to kill 90's looking brightish gray gradients in general.
2014-12-15next modifierPaul Davis
2014-12-15fix incorrect item name for colorPaul Davis
2014-12-14fix up requested color names everywhere.Paul Davis
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14initial pass to replace all UIConfiguration::get_XXXXXX() calls with ↵Paul Davis
UIConfiguration::color(name). IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-13Structure MIDI device selector by manufacturer.David Robillard
Unfortunately we store the state of models as simply model, so if there's ever duplicate model names, we're somewhat screwed, but this makes the (previously unmanageably huge) menu usable, while retaining the "model name as global identifier" state unmodified.
2014-12-07Fix shift-rect-select with MIDI notes.David Robillard
2014-12-06Nudge notes by 1 bar if secondary modifier active.David Robillard
Similar to how transpose moves an octave if the same modifier is active.
2014-12-06Grab keyboard only with note selection.David Robillard
When entered, the keyboard is grabbed when the selection becomes non-empty, and ungrabbed if it becomes empty again or the region is left or the user switches out of internal mode. This fixes scroll in internal mode and note moving with arrow keys. Also frees up useful keybindings when there is no note selection, which is much nicer than the "nothing works in edit mode at all" greedy grab approach used previously. Attempt #874327892 of getting this damned grabbing right.
2014-12-06Support paste between automation lanes.David Robillard
Also push the increasingly unwieldly paste parameters into a context object. As with othe things, currently it is only possible to do "cross-type paste" by explicitly selecting the target track. We will need to get automation region view selection working to do better here, but at least for now it's possible to get the data over.
2014-12-06Fix internal paste when selection has only points.David Robillard
2014-12-05Make scroll work on MIDI regions when internal.David Robillard
For some reason, grabbing the magic keyboard focus makes scroll stop working regardless of what MRV::canvas_group_event() returns. I can't figure out any reason to grab the keyboard in this case anyway, so I just removed it. Also simlify MRV event handling code in general.
2014-11-30Remove braindead Parameter inheritance abuse.David Robillard
2014-11-30Add missing namespace qualifiers.David Robillard
2014-11-25Remove dead code.David Robillard
2014-11-22Fix quantization and other time-related ops.David Robillard
2014-11-22Fix note resizing.David Robillard
2014-11-22Wrap MusicalTime in a class.David Robillard
This lets us get a more explicit handle on time conversions, and is the main step towards using actual beat:tick time and getting away from floating point precision problems.
2014-11-22Factor out copy-paste code to get grid type in beats defaulting to 1.David Robillard
2014-11-22Move time converters only to the region views that actually need them.David Robillard
A step towards sorting out time issues more solidly, the time situation of MIDI region views and automation region views is slightly different.
2014-11-16Support cut/copy/paste of MIDI notes and controllers at the same time.David Robillard
2014-11-16Use an enum for RoundMode instead of magic numbers.David Robillard
No functional changes in this one (for easier auditing), but towards having round up/down only if necessary modes, rather than kludging around that situation with a double round as we do currently.
2014-11-16Use symbol for paste operation like everywhere else.David Robillard
2014-11-16Fix crash when splitting regions in internal edit mode.David Robillard
2014-11-14Implement "multi-paste" for notes, regions, and automation.David Robillard
The idea here is that pasting several times to the same location doesn't make sense. Instead, the paste is appended past the last paste, snapped to the grid. This make it simple to replicate a given section a number of times, simply by copying once and pasting several times. This behaviour only appears when successive pastes are done to the same location (whatever the edit point is). When the paste point changes, the "multi-paste" state is reset. Boots 'n cats 'n boots 'n cats.
2014-11-14Fix MIDI note cut/copy/paste.David Robillard
2014-11-14Fix various sticky/broken cursor issues.David Robillard
This still isn't quite right, but it's a lot less broken than before, at least.
2014-11-14Fix error when create-dragging note backwards past start of region (#5934).David Robillard
2014-11-13Don't make MIDI regions in note mode completely invisible.David Robillard
This makes for extremely confusing behaviour, particularly when creating new regions. This is still probably too transparent, IMO, but at least isn't totally mysterious. "visible" is a bit of a misnomer in the code, now.