13
0
Commit Graph

1056 Commits

Author SHA1 Message Date
a9224abcf4 Add explicit VideoTimeline change-type, follow up on f73ce2d 2017-06-28 18:46:07 +02:00
f73ce2d47f Reset idle_handler_id (fixes idle zoom -- bug in 265f52535a)
If pending_visual_change.pending was zero when calling idle_visual_changer
the handler_id was never reset. and the idle-handler was never called
again.
2017-06-28 18:45:15 +02:00
5f30d87fd0 Changes to Editor::visual_changer to support Item/Canvas::prepare_for_render
This is necessary to allow calculation of correct intersection of visible
canvas area and items for the new Item::prepare_for_render() API.

samples_per_pixel must be set first to calculate the new horizontal canvas
position in Editor::set_horizontal_position and then
WaveView::set_samples_per_pixel will eventually call
WaveView::prepare_for_render for those items that are visible on the new canvas
position at the new position.

Or if there is not a change to zoom state then call Canvas::prepare_for_render
explicitly.

Also changes so that each method is only called once during
Editor::visual_changer
2017-06-26 08:40:47 +10:00
265f52535a Coalesce visual changes to canvas/items and allow canvas to render
First visual change will be processed as normal and then blocked until the
canvas renders the change. If further visual changes need processing then
Editor::pre_render callback will schedule another expose/redraw/render.

This prevents an issue where idle_visual_changer is called many times in
response to events(keys/motion/etc) but the canvas does not get a chance to
render any but the last one which results in a big pause/jump.

This results in a more responsive canvas and in particular a smoother and more
predictable zooming experience.
2017-06-26 08:40:47 +10:00
2b0adc8f75 Remove LocaleGuards from Editor class
All float <=> string conversions are now done using locale independent
PBD::to_string/string_to() via XMLNode::get/set_property
2017-06-22 10:48:38 +10:00
1d28665f86 Use Stripable::Sorter in GUI consistently. 2017-06-17 04:36:39 +02:00
nick_m
b4ddbce1ff Fix incorrect positioning of tempo line subdivisions if first meter is non-zero
Commit cebefe6 assumed that frame 0 was the music origin.
Silly me.
2017-06-09 11:05:56 +10:00
nick_m
e9f2e32b71 Delete tempo lines when session goes away 2017-06-09 01:08:59 +10:00
6ac76734f5 cut buffer must not mess around with libardour selection
Fixes range mode selection/cut/copy that would previously clear track selection
2017-06-07 12:28:53 -04:00
a84b1a375a Editor::axis_view_by_control() needs to explore child tracks, now that Selection is relying on it 2017-05-05 18:56:25 +01:00
dc0139d4af use CoreSelection for track selection 2017-05-05 18:56:25 +01:00
8335155863 fix ruler scaling -- #7226 2017-05-05 14:00:30 +02:00
a4b9014932 Use XMLNode::get/set_property API in Editor class 2017-04-19 09:36:55 +10:00
fda05ac64b Use ID::to_s() in gtk2_ardour instead of ID::print() 2017-04-19 07:49:58 +10:00
54bab5153f don't set region selection on loading a session 1 by 1, but just once after they should all exist 2017-04-03 00:33:44 +02:00
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
a534258594 Reset Playhead interpolation when looping and locating 2017-03-31 14:16:04 +02:00
eea8fbd1c5 NO-OP, semantic tweak 2017-03-30 22:07:06 +02:00
453e07d0a2 make selection of tracks/busses after adding them slightly more efficient 2017-03-26 16:12:10 +02:00
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
4491722eae Editor: forward unmap events to widgets 2017-03-20 17:12:08 +01:00
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
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
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
1e4e97019d Lua bindings to access editor selection + region selection bindings 2017-02-23 22:32:32 +01:00
92e203a19e Consolidate ActionChanged callbacks, add tooltips 2017-02-18 16:14:41 +01:00
c8d6ddfd10 Don't scroll-jump when selecting all tracks 2017-02-18 01:25:13 +01:00
472f14c803 Allow Lua action scripts to provide a button icon 2017-02-17 18:58:11 +01:00
a31e70a7d5 check region action sensitivity from two more places that may alter it 2017-02-16 10:29:48 +01:00
d463720b6d simplify arguments to Editor::sensitize_the_right_region_actions() 2017-02-15 20:07:49 +01:00
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
2cc94f8880 tentative steps in trying to fix region action sensitivity 2017-02-15 20:07:49 +01:00
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
8ca53c4497 make editor respond to track seleciton change again 2017-01-28 11:16:50 +01:00
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
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
a8afe7faab Remove cruft 2017-01-20 11:43:42 +01:00
7939c2211c Add comment regarding themeable boxes 2017-01-18 18:28:21 -06:00
45622aff48 Allow editor toolbar and background to be themeable. 2017-01-18 18:25:25 -06:00
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
a6b4d8b8c6 fix editor sidebar show/hide with embedded TimeInfo 2016-12-23 03:56:01 +01:00
deb059ff0d Fix Ardour Editor-button height 2016-12-20 19:01:59 +01:00
0c0ebccdf7 Fix Mixbus Editor-toolbar icons & height 2016-12-20 18:48:10 +01:00
f6dc24b901 Prepare for re-use of TimeInfoBox w/o punch-clock 2016-12-20 03:59:15 +01:00
6ebf14c2c2 Fix the case of jump-to-next{prev}-Mark. 2016-12-19 17:25:59 -06:00
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