summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.h
AgeCommit message (Collapse)Author
2016-11-21Make Cut mode respect snap modiferTim Mayberry
2016-11-21Reparent cursor used in Cut mode so that it is on top and visibleTim Mayberry
2016-11-17fix incorrect return type for Editor::get_grid_music_divisions().nick_m
2016-11-11Add option to zoom using button press in the time rulers and dragging verticallyTim Mayberry
This is a common operation used for zooming in other DAWs like Ableton Live and Cubase. To support such a usage pattern without changing the existing behaviour of the ruler area I've made it an option that is false by default. The behaviour of RulerDragZoom is intentionally different than a CursorDrag that occurs in the rest of the ruler area in that it doesn't follow the snap to grid setting and no locate related stuff occurs until button release. There are some issues with responsiveness with more than a few hundred regions or a large amount of MIDI events/notes. Implements feature #6768
2016-11-11Change Editor temporal zoom methods to be able to use different scale for ↵Tim Mayberry
the zoom
2016-10-19Improve bbt ruler drawing performance for large time ranges.nick_m
- when the timeline displays many bars, zoom/autoscroll speed is improved by calculating the bbt ruler scale first then requesting a suitably scaled grid.
2016-09-27add explicit "duplicate-regions" actionPaul Davis
2016-09-06move kbd focus reset method into ARDOUR_UI where it (probably) belongsPaul Davis
2016-08-27single action punch in5.2Paul Davis
Consecutive execution (e.g. from a control surface button) engages punch in, then punch out, then clears both. Patch by Nathan Stewart
2016-08-13Add "Marker Toggle" #5193Nathan Stewart
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-10Exact beat - provide audio->music mapping for region split.nick_m
- for those not in the know, this series provides a way to remove the temporal distortion introduced when using an audio frame-based gui for music-locked objects. In short, the gui uses an audio frame representation to move objects. It displays the object using frame_at_beat(), quantizing the time value to audio frames. This is fine until the user selects that frame but expects it to be interpreted as a beat. Thus beat_at_frame() would not produce the user-expected beat (temporal quantization error of up to 0.5 audio samples). This is one method of mapping audio time to music time accurately.
2016-07-06many changes associated with rationalizing selection flowPaul Davis
2016-07-04GUI doesn't need to listen to old ControlProtocol signals for stripable ↵Paul Davis
selection
2016-06-12Make exact beat calculation of tempi a bit less cumbersome. Move tempi on an ↵nick_m
audio basis for non-musical snap.
2016-06-05there is no PresentationInfo::global_order_t any morePaul 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-05-31initial sort-of-mostly-working integration of new PanePaul Davis
2016-05-31initial implementation of VCA time axis viewsPaul Davis
2016-05-31tweak Editor to use Stripable methods for control-surface-driven selectionPaul Davis
2016-05-31first vaguely working version using PresentationInfoPaul Davis
remote control ID and "order keys" have been removed.
2016-05-27Tempo ramps - more bbt dragging work.nick_m
- display prev tempo and tempo at mouse while dragging - simplify ramp dilation somewhat.
2016-05-27Tempo ramps - add visualtempo curve, dragging bbt or music rulers with ↵nick_m
constraint modifier dilates previous tempo.
2016-05-27Tempo ramps - add some right-click options to meter and tempo markers.nick_m
2016-05-27Preformance - reinstate EditorRegions::freeze_tree_model ().nick_m
2016-05-27Perfornamce - remove dubious optimisation.nick_m
2016-05-27Tempo ramps - tempos now musically snap to their future.nick_m
2016-05-27Tempo ramps - allow live updating of tempo markers.nick_m
- all a bit slow, but should be ok once we can lock markers to frames.
2016-05-27Initial stab at tempo ramps.nick_m
Replaces the list of points in TempoMap with TempoSection functions, which compute tempo-at or tick-at time relative to tempo section start. TempoMap consults them additively to determine things like bbt_time(), frame_time() get_grid() etc. This has a marked effect on scrolling speed along with the code simplification in the places it has been attempted. Several things are broken here. Currently every ramp except the last one is an exponential ramp. this may be simple to fix :). Mouse-over midi grid doesn't match mouse click grid. should also be simple. Many things seem to work, but their accuracy should be in question until each area has been addressed.
2016-05-18Don't save instant while loading instant.xmlRobin Gareus
opening a recent session from a session can result in: Editor::constructed and session_loaded() being true. A partial instant_save can occur (not to mention: invalid XMLnode iterators)
2016-05-06use WindowManager toggle API for script-managerRobin Gareus
2016-04-09change const some functions to const. (prepare lua bindings)Robin Gareus
2016-03-15change API for CairoWidget::focus_handlerPaul Davis
This functor/closure is responsible for stealing focus from any existing text entry (or whatever else may have focus) when clicking on a CairoWidget or derived class. The old implementation just gave focus back to the editor canvas. The new version walks up the widget packing heirarchy to find a focusable parent (from the CairoWidget for which it is invoked). If no focusable parent is found, it cancels keyboard focus in the toplevel window containing the CairoWidget
2016-03-11add region & range loudnless reportRobin Gareus
2016-02-23Editor Actions Scripts & ManagerRobin Gareus
2016-02-22change GTKOSX macro constant to use __APPLE__ insteadPaul Davis
2016-02-22remove all trace of SAE from source code.Paul Davis
This had become incoherent over time, and posed a development hazard and burden going forward
2016-02-22replicate the remove-all-trailing whitespace commit(s) in masterPaul Davis
2016-02-22more changes to Bindings, Keyboard APIsPaul Davis
2016-02-22radically change Keyboard/Binding API design to disconnect Gtk::Action ↵Paul Davis
lookup from binding definition We need this because we need binding information/objects before all Actions have been defined.
2016-02-22changes to support new key bindings editor designPaul Davis
2016-02-22switch all action registration/binding code over to new API.Paul Davis
This removes the ability to change bindings via menus. Still to come: saving modified bindings, and reworking the key editor
2016-02-22remove all tearoffs except the monitor section.Paul Davis
We don't need this functionality anymore as we build on 15 years experience plus the new tabbed structure
2016-02-22widespread changes to get the new (oldArdour binding scheme to be used for ↵Paul Davis
keyboard accelerators
2016-02-22save/restore tabbable statePaul Davis
2016-02-22get normal GTK accelerators working againPaul Davis
2016-02-22first compilable version of tabbable design.Paul Davis
I would have loved to split this apart, but there are just so many interrelated changes, it makes little sense and would be a huge effort that would break future git bisect use because so many intermediate commits would not compile
2016-01-28Editing from a control surface must have the ability to ignore mouse location.Ben Loftis
Add mark_in and mark_out actions that explicitly use the playhead as the edit location.
2016-01-21Refactor code into Editor::temporal_zoom_step_mouse_focus methodTim Mayberry