Commit graph

1191 commits

Author SHA1 Message Date
Tim Mayberry
752706911e Fix crash when dragging playhead or mouse in ruler area
This can be hard to reproduce and I have not been able to work out the steps to
reproduce reliably, but as it is still occuring work around the issue by just
checking the variable is valid before dereferencing it.

Resolves: #7304
2017-04-01 22:04:56 +10:00
Robin Gareus
a534258594 Reset Playhead interpolation when looping and locating 2017-03-31 14:16:04 +02:00
Robin Gareus
eea8fbd1c5 NO-OP, semantic tweak 2017-03-30 22:07:06 +02:00
Paul Davis
453e07d0a2 make selection of tracks/busses after adding them slightly more efficient 2017-03-26 16:12:10 +02:00
Robin Gareus
55b8b44889 Improve playhead updates, reduce jitter for follow PH, stationary PH
* resolve rounding mistakes
* extrapolate and filter position using GUI timing
* track engine's position
2017-03-23 19:21:50 +01:00
Robin Gareus
4491722eae Editor: forward unmap events to widgets 2017-03-20 17:12:08 +01:00
Robin Gareus
2562a5ce3b Save/Restore TimeInfoBox clock modes
The clocks are not transient, so ARDOUR_UI::store_clock_modes takes
care of saving the state and the clock restores itself.
2017-03-10 20:39:46 +01:00
nick_m
2780662432 no-op - comment/whitespace fixes. 2017-03-05 05:34:41 +11:00
Paul Davis
f64441aa58 remove method no longer needed
Editor::track_selection_changed() is now invoked by EditorRoutes::sync_treeview_from_presentation_info(),
AFTER the Selection has been updated
2017-02-26 18:24:56 +01:00
Robin Gareus
9e543beb56 Add some convenient public editor methods (for lua-bindings)
and s/get// in the old API for consistency.
2017-02-24 16:10:14 +01:00
Robin Gareus
1e4e97019d Lua bindings to access editor selection + region selection bindings 2017-02-23 22:32:32 +01:00
Robin Gareus
92e203a19e Consolidate ActionChanged callbacks, add tooltips 2017-02-18 16:14:41 +01:00
Robin Gareus
c8d6ddfd10 Don't scroll-jump when selecting all tracks 2017-02-18 01:25:13 +01:00
Robin Gareus
472f14c803 Allow Lua action scripts to provide a button icon 2017-02-17 18:58:11 +01:00
Paul Davis
a31e70a7d5 check region action sensitivity from two more places that may alter it 2017-02-16 10:29:48 +01:00
Paul Davis
d463720b6d simplify arguments to Editor::sensitize_the_right_region_actions() 2017-02-15 20:07:49 +01:00
Paul Davis
3d3f2a79f6 use leave/enter from track canvas to be the primary driver of region action sensitivity
This works for context menus also, because GTK sends us leave/enter notify
events when they appear.
2017-02-15 20:07:49 +01:00
Paul Davis
2cc94f8880 tentative steps in trying to fix region action sensitivity 2017-02-15 20:07:49 +01:00
Robin Gareus
8eff36913c Save/restore location clock mode
- save mode separately for Editor-sidebar and Location Window
- cache mode (multiple calls to set_session())
- fix restore: after creating the editor, instant_save() is called,
  potentially overwriting the previous value.
2017-02-14 17:15:16 +01:00
nick_m
59daffea1d rework snap
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-02-04 22:57:36 +11:00
Paul Davis
8ca53c4497 make editor respond to track seleciton change again 2017-01-28 11:16:50 +01:00
Paul Davis
cc82fc675b remove editor/mixer selection change signals; make editor and mixer use PresentationInfo::Change more correctly; make Selection a bit smarter when setting track selection 2017-01-27 22:17:53 +01:00
nick_m
7b9784fff4 mark session dirty when dragging tempo markers. 2017-01-27 03:05:32 +11:00
Robin Gareus
1d2a76f239 Free some one time alloc of the UI (cleaner valgrind output)
No incremental leaks here..
* downcase (const char*) uses strdup, caller needs to free
* free allocated cursors when the editor is destroyed
* drop static editor lua-instance & bindings
* delete allocated gtk image/icons
2017-01-20 13:53:37 +01:00
Robin Gareus
a8afe7faab Remove cruft 2017-01-20 11:43:42 +01:00
Ben Loftis
7939c2211c Add comment regarding themeable boxes 2017-01-18 18:28:21 -06:00
Ben Loftis
45622aff48 Allow editor toolbar and background to be themeable. 2017-01-18 18:25:25 -06:00
Robin Gareus
058f1cf9e1 Fix editor-mixer update when deleting a Route before a VCA
When deleting the last track before a VCA, on-delete the editor-mixer
switches to display the next TAV.  If that turns out to be a VCATAV,
the editor-mixer will ignore it and keep displaying the deleted route,
holding a shared pointer reference (ports won't be dropped, etc etc).
2017-01-13 08:43:18 +01:00
nick_m
d0580ecfbc allow all types of range location (loop, start, end etc.) to be glued to bars and beats. 2016-12-29 01:39:31 +11:00
Robin Gareus
a6b4d8b8c6 fix editor sidebar show/hide with embedded TimeInfo 2016-12-23 03:56:01 +01:00
Robin Gareus
deb059ff0d Fix Ardour Editor-button height 2016-12-20 19:01:59 +01:00
Robin Gareus
0c0ebccdf7 Fix Mixbus Editor-toolbar icons & height 2016-12-20 18:48:10 +01:00
Robin Gareus
f6dc24b901 Prepare for re-use of TimeInfoBox w/o punch-clock 2016-12-20 03:59:15 +01:00
Ben Loftis
6ebf14c2c2 Fix the case of jump-to-next{prev}-Mark. 2016-12-19 17:25:59 -06:00
Ben Loftis
628c99d555 Follow Edits => Follow Range
* "Follow Edits" button had several behaviors that confused users.
* "Follow Range" only has 2 behaviors:
** Click anywhere in Range mode (or Smart mode) to locate the playhead.
** When you select a Range, "Play" will play the selected range.
2016-12-19 13:14:44 -06:00
Robin Gareus
06938105a4 Simplify spacer code 2016-12-18 21:39:36 +01:00
Ben Loftis
dae2dcd53e Transport Layout: horizontal separator makes it look too busy. Commented out for now. 2016-12-18 13:47:14 -06:00
Ben Loftis
ab37491614 repack widgets, and add some spacer elements 2016-12-18 13:34:15 -06:00
Ben Loftis
448f921dd8 Transport Layout:
* Remove some redundant containers and frames, for a cleaner look.
* Adjust transport button spacing and sizes to more closely match the editor toolbar.
2016-12-18 09:02:13 -06:00
Robin Gareus
85e4b1d98f Move selection/punch clocks to editor Sidebar 2016-12-17 02:43:42 +01:00
Robin Gareus
e1826f8b1c Add API to query editor's playhead cursor position 2016-12-17 02:43:42 +01:00
Tim Mayberry
b34a614df4 Further fixes to non-cxx11 enabled builds
Hopefully all that is necessary this time
2016-12-13 17:10:30 +10:00
Tim Mayberry
89623923bd Change Zoom to Selection action (Z key) to zoom on both axes
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-13 12:25:03 +10:00
Robin Gareus
61c7af141d Clarify "frames" (video, timecode) vs "samples" (audio) 2016-12-08 12:45:44 +01:00
Paul Davis
3d925ef503 braces, please 2016-12-08 10:49:26 +00:00
Robin Gareus
01f8ca831a cont'd work to prevent duplicate playlist names 2016-11-25 14:24:29 +01:00
nick_m
05355d0306 fix incorrect return type for Editor::get_grid_music_divisions(). 2016-11-17 03:13:16 +11:00
nick_m
715b178130 Improve bbt ruler drawing performance for large time ranges.
- 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-10-19 03:56:43 +11:00
nick_m
9698f16aee Note selection state uses note event_id_t. 2016-10-15 23:50:02 +11:00
Paul Davis
78d02eb620 Revert "Editor does not need to reset track/stripable selection, since Selection already maintains that itself"
This reverts commit 57652d7d50f706e2f0e525c6f48c1fc7830cf222.
2016-09-27 14:59:32 -05:00