summaryrefslogtreecommitdiff
path: root/gtk2_ardour/automation_time_axis.cc
AgeCommit message (Collapse)Author
2017-02-04rework snapnick_m
snap now fills in a struct (MusicFrame) which contins a snapped frame along with a music divisor. this gives useful information wrt magnetic snap which may or may not have rounded to an exact musical position. region position may now be set musically (using quarter notes for now). this patch fixes several problems in the current code: - dragging a list of music-locked regions now maintains correct musical offsets within the list. - splitting regions using magnetic snap works correctly (#7192) - cut drag should now work correctly with magnetic snap. - musical length of split midi regions is no longer frame based.
2017-01-09use reduced height for automation lines when firrst added, not just after a ↵Paul Davis
resizing
2016-08-20Avoid jitter of track headers width when changing automation statesJulien "_FrnchFrgg_" RIVAUD
2016-08-17Use a real dropdown for AutoState in automation lanesJulien "_FrnchFrgg_" RIVAUD
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-10remove reference "const int32_t&" -> const int32_t"Robin Gareus
this simplifies lua-bindings and also let's the compiler worry about constant primitive types.
2016-07-10Paste uses exact beats. rework _start_beats calculation in copy-with-offset ↵nick_m
ctor.
2016-07-05highlight area below automation lanesRobin Gareus
2016-06-05RouteUI is now also derived from SessionHandlePtr but NOT AxisView. Fix ↵Paul Davis
initialization. Only "most derived" classes can initialize virtual base classes (SessionHandlePtr)
2016-06-05change AxisView color API to be virtual and implement per-type variantsPaul Davis
2016-06-03move from PresentationInfo::global_order() to PresentationInfo::order, and ↵Paul Davis
fix up part of reordering behaviour Dragging tracks/busses in the editor *below* VCAs still does not work
2016-06-02make all TimeAxisView derived types return PresentationInfo for sortingPaul Davis
2016-06-02various safety checks for the result of dynamic_cast-ing a TimeAxisView to ↵Paul Davis
RouteTimeAxisView Now that we have VCATimeAxisView, this needed to be done, but it also potentially applied with automation
2016-06-01remove un-used name_hbox widget from TimeAxisViewPaul Davis
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2015-10-30Use automation line's frame of reference for y position.nick_m
- removes the need for 'pixel hunting' wrt NAME_HIGHLIGHT_SIZE. - new control points generated by clicking on a line are placed where the verbose canvas cursor says they are.
2015-10-20Make control point selection more consistent.nick_m
- disallow simultaneous events via ControlList::editor_add () - clicking on an automation line selects the points that define it. - don't 'flash' a region selection when using mousedraw mode. - cp click selection resembles region selection. - region gain points respect snap modifier (a la automation points).
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-16Use ARDOUR_UI_UTILS::set_tooltip rather than via ARDOUR_UI::set_tipTim Mayberry
This removes the direct dependence on ARDOUR_UI/Gtk_UI for setting tooltips. Removes inclusion of ardour_ui.h from 16 files.
2015-09-16Move UIConfiguration Singleton into UIConfiguration headerTim Mayberry
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16Move DPIReset and ColorsChanged signals into UIConfigurationTim Mayberry
2015-06-17Automation -use editor_add in gui, record straight lines with fewer points.nick_m
- don't keep setting/unsetting write pass when transport frame remains the same (think larger jack buffer sizes) - insert guards are now 64 frames after when. - refactor previous approach.
2015-06-17Fix some workflow problems wrt automation.nick_m
- clearing automation points sets control to "off" rather than touch. - multiple touches on the same pass acts consistently (no more fader jumps on mouse button press - use actual value for initial point rather than some arbitrary default. clarify new semantics of add () (with_default->with_initial). - clean some whitespace - add guard points as needed in stop. - catch grab broken signal (i can't trigger it, but the docs seem to think it is essential).
2015-05-24replace old ArdourButton::Icon API with Gtkmm2ext.Robin Gareus
2015-05-24remove explicit VectorIcon ElementRobin Gareus
2015-04-07update ArdourButton Icon APIRobin Gareus
2015-03-30remove GUI object state when tracks/busses are removed.Paul Davis
Not doing this results in accumulation of useless GUI object state which is never cleaned up. Taken from work by Grygorii Zharun.
2015-03-26Keep automation lines within their parent (#6215).David Robillard
2015-03-19add API to select TAV height mode.Robin Gareus
preparation for further Summary and Number of visible track count fixes. * “Only Self”: don’t resize child-views (old default) * “Total Height”: distribute height equally among all visible child [automation] lanes * “Height per Lane”: given height should be applied to all sub-views.
2015-03-11more verbose captions on automation track headers; include the plug name.Ben Loftis
2015-03-06Hide automation state options for MIDI controls.David Robillard
These don't do anything, except mislead the user into expecting this stuff works like track automation.
2015-02-10fix previous commitBen Loftis
2015-02-10Track Mode is too vague; rename to Record ModeBen Loftis
2015-01-09fix select-all-regions-within (it used to select everything overlapped)Ben Loftis
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-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-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-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-11-28Use a button as controller for toggled parameters.David Robillard
2014-11-17Fix visibility of MIDI controller automation tracks across saves.David Robillard
Fix some inaccurate/misleading comments that led to said bug. Gracefully handle the "impossible" case where we can't figure out a state ID for an automation track, instead of crashing.
2014-11-16Support cut/copy/paste of several regions and lines at once.David Robillard
The idea here is to do the reasonable thing, and copy objects of some type (e.g. MIDI region, gain line) to tracks with a matching type. The user can override this with a track selection, which will be used straight-up. Lost: ability to copy/paste lines across types, e.g. gain to pan. This is often questionable, but sometimes useful, so we will need to implement some sort of "greedy mode" to make it possible. Implementation simple, but not sure what to do. Perhaps this should only be possible if one automation track is explicitly (i.e. via track selection) involved, and the types are at least compatible-ish?
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-07simplify removal of outline from automation time axis base rectPaul Davis
2014-11-02Display gain and midiNote plugin parameters/properties nicely.David Robillard
Show fancy values on generic GUI controls, automation lane controls, and automation lane verbose cursor. Fix text display of midiNote values. Make bigstep of midiNote parameters 12 (one octave). Add ARDOUR::value_as_string() as a stateless one-stop-shop for value printing.
2014-11-02Automation of LV2 plugin properties.David Robillard
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-10-21remove "canvasvar_" from all functions related to obtaining values from ↵Paul Davis
ARDOUR_UI::config()
2014-09-08vertical pixel alignment of all TAV elementsRobin Gareus