summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.h
AgeCommit message (Collapse)Author
2016-12-17Move selection/punch clocks to editor SidebarRobin Gareus
2016-12-17Add API to query editor's playhead cursor positionRobin Gareus
2016-12-16initial attempt at importing SMF tempo maps during MIDI import.Paul Davis
Still with debug output
2016-12-16add arguments (unusued) to control whether or not SMF tempo map is used ↵Paul Davis
during import
2016-12-14GUI changes to allow user to specify how/if to use SMF track/instrument ↵Paul Davis
names during import
2016-12-13Add option to Zoom to Selection on double clickTim Mayberry
Currently implemented for Region and Range selections. The new option is false/off by default to maintain existing behaviour. I'm not sure it should require another option, perhaps Zoom to Selection should be the default and accessing the region properties dialog can be via Modifier+double click, but further changes can be made on user feedback etc. Related: #7112
2016-12-13Change Zoom to Selection action (Z key) to zoom on both axesTim Mayberry
Add Zoom to Selection (Horizontal) action to access previous behavior. Remove Editor::temporal_zoom_region as it was duplicate code and broken for both_axes Should Resolve: #7112
2016-12-10Add editor actions to set tempo and meterRobin Gareus
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