13
0
Commit Graph

1069 Commits

Author SHA1 Message Date
cba622cdce Add Lua bindings to set toggle-actions 2017-08-09 16:29:24 +02:00
7009ff0300 Update Selection API to include all Stripables 2017-08-06 22:17:58 +02:00
e91821bd76 Fix pasting automation at 0 2017-07-27 03:22:21 +02:00
05ddcdc004 Initialize some uninitialized variables
Editor::redisplay_tempo() is called early on, before
Editor::set_timecode_ruler_scale() and Editor::compute_bbt_ruler_scale ()
are called.  That is a bug which needs fixing (initial tempo+grid display)
. Still, uninitialized vars are not good.
2017-07-23 19:20:35 +02:00
1438086c6c tweak "visible track count", take automation lanes into account. 2017-07-19 22:15:22 +02:00
ea05241771 Editor Summary: Changes to behavior
* Remove up/down buttons.
* Allow the summary to shrink smaller.
* Vertical drag results in zoom.
* Scroll-wheel results in zoom.
* Tweak mouse cursor to better indicate behaviors.
* ToDo:  refactor the zooming code.
2017-07-18 10:37:35 -05:00
f9e5e4360e Move more Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
b5e9451bc7 Remove unused sources & includes 2017-07-17 21:06:04 +02:00
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
1be9e9d19e Remove unused variable (amend 79384339e) 2017-07-01 23:40:11 +02:00
Thomas Brand
79384339e9 Correctly display region name in context menu 2017-07-01 22:55:31 +02:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
285ec18aa5 Don't interpolate&smooth playhead pos during export. 2017-06-29 18:40:51 +02:00
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