13
0
Commit Graph

1241 Commits

Author SHA1 Message Date
710066d317 Tweak packing to line-up button edges with transport toolbar. 2018-02-17 09:24:15 -06:00
5200885fb8 GTKOSX is not a valid check. Use __APPLE__ 2018-02-17 09:12:51 -06:00
f54f270627 Fix a few warnings 2018-02-17 09:12:38 -06:00
df9bb50155 Revert TRIANGLE_WIDTH for mac. Must be a pango/cairo issue on mac. 2018-02-14 08:15:45 -06:00
6cca669c9a COMBO_TRIANGLE_WIDTH should be an odd value. 2018-02-13 08:17:46 -06:00
8e4e7fde05 Re-pack Editor Toolbar:
Move zoom tools to right of toolbar.
Tweak numeric (mode) keybindings to more closely match the order they appear in the UI.
Add some new default keybindings.
2018-02-12 11:42:21 -06:00
8f9f927212 Timecode instead of SMPTE. 2018-02-12 09:15:26 -06:00
ef5a6db864 Tweak combo-box sizing to match actual triangle size. Tweak size of grid_type_selector. 2018-02-12 09:13:39 -06:00
0e72ba4b64 Fix potential crash in snap_to_grid (grid-mark list is empty). 2018-02-11 12:05:23 -06:00
0299229e41 SoloSelection: gui part. 2018-02-11 09:39:45 -06:00
bc4fa677ec Copy+Paste thinko: use passed-in variable instead of member variable. Maybe fix potential crash. 2018-02-10 09:06:46 -06:00
5e24b17478 Fix potential crash with EditAtSelectedMarker, when no marker is selected. 2018-02-09 13:43:20 -06:00
dc61256466 new_grid: Rewrite of Snap and Grid. (squashed commit)
Separate Snap from Grid.  Lots of naming changes.
Multiple simultaneous snap options allowed. Grid is one of the possible Snap options.
Grid uses the same data as the rulers.  Replace complicated tempo_lines with simple grid_lines.
The Grid is zoom-scale-sensitive along with the rulers.  If you are zoomed out, grid becomes coarser.
2018-02-09 09:59:39 -06:00
c6eab71435 new_snap: Snapped Cursor ( squashed commit )
Snapped Cursor is a line that follows the edit point, and indicates where the operation will occur.
This replaces and extends the line that appears with the Cut tool.
New associated preferences:  snap_threshold and show_snap_cursor.
2018-02-09 08:21:45 -06:00
231e25544b Tweak 842d758e: selection & move into view
Use separate editor + mixer flags for moving selected tracks into view.
Changing selection in the Editor will only pan the mixer-view and vice-
versa. This fixes an issue with the track that is being clicked-on to
be moved out of view (due to groups)
2017-10-21 21:07:18 +02:00
d554dcc096 These are "Frames" :) 2017-10-01 04:00:50 +02:00
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
f9e7ffc601 no more per-track varispeed 2017-09-18 11:40:53 -04:00
339c64180e Fix crash when hiding multiple tracks
Editor::hide_track_in_display() -> EditorRoutes::hide_track_in_display()
and ensuing calls to sync the treeview may modify the selection
(de-select hidden tracks) and invalidate selection->tracks
2017-09-11 18:30:32 +02:00
631629b8e7 Editor zoom: add zoom_to_extents() 2017-08-26 23:06:29 -05:00
e9f4c5fc1c Editor zooming: Initialize leftmost_frame, for sessions that start at high timecodes. 2017-08-26 22:44:58 -05:00
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
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
06938105a4 Simplify spacer code 2016-12-18 21:39:36 +01:00
dae2dcd53e Transport Layout: horizontal separator makes it look too busy. Commented out for now. 2016-12-18 13:47:14 -06:00
ab37491614 repack widgets, and add some spacer elements 2016-12-18 13:34:15 -06:00
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
85e4b1d98f Move selection/punch clocks to editor Sidebar 2016-12-17 02:43:42 +01:00
e1826f8b1c Add API to query editor's playhead cursor position 2016-12-17 02:43:42 +01:00
b34a614df4 Further fixes to non-cxx11 enabled builds
Hopefully all that is necessary this time
2016-12-13 17:10:30 +10:00
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
61c7af141d Clarify "frames" (video, timecode) vs "samples" (audio) 2016-12-08 12:45:44 +01:00
3d925ef503 braces, please 2016-12-08 10:49:26 +00:00
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
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
238ca58c93 Editor does not need to reset track/stripable selection, since Selection already maintains that itself 2016-09-27 14:59:32 -05:00
c9ece0d6c6 use moved version of reset_focus() 2016-09-06 16:17:39 -04:00
nick_m
e689182a6a Editor::get_grid_type_as_beats() returns the quarter note equivalent of BBT beat and bar. 2016-09-02 05:11:54 +10:00
nick_m
086096b465 Use quarter-note based 'beat' when snapping. 2016-08-31 23:12:11 +10:00
822810b88f the endless quest to plug memory leaks -- episode 379 2016-07-25 17:38:59 +02:00
ac8f4baa00 add some flush_pending timeouts 2016-07-25 14:51:23 +02:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00
2f71967be2 fix crash when loading a saved visual state 2016-07-05 23:49:50 +02:00
906f7e1edd GUI doesn't need to listen to old ControlProtocol signals for stripable selection 2016-07-04 12:45:53 -04:00
8b142a2fd6 make Selection catch up with session/libardour-side selection status at session load 2016-07-02 16:09:19 -04:00
36d7e3c61b fix use of removed Session::get_nth_stripable() 2016-07-02 16:08:58 -04:00
9f5d0930fc use pane position mgmt on appropriate panes 2016-06-13 09:53:10 -04:00
nick_m
24f64b3ea7 Make exact beat calculation of tempi a bit less cumbersome. Move tempi on an audio basis for non-musical snap. 2016-06-12 02:46:13 +10:00
3eaa6c0389 remove certain ControlProtocol signals related to stripable selection
includes change to Mackie support so that strips listen for PropertyChange
on the stripables they represent, no global selection change used anymore.
2016-06-10 13:57:18 -04:00
5833576d5b ensure that dropdowns in editor toolbar are populated at first use (with no existing config file to set them) 2016-06-06 14:29:58 -04:00
a0f0bdc063 try to keep editor+mixer treemodels in sync 2016-06-06 12:58:48 -04:00
ea05a66736 when adding a list of Stripables, sort them into PresentationInfo order first 2016-06-05 16:33:01 -04:00
c7d6262e9f there is no PresentationInfo::global_order_t any more 2016-06-05 16:33:01 -04:00
2161c5d507 use new RouteGroup property names 2016-06-05 16:33:01 -04:00
260058a4a9 move from PresentationInfo::global_order() to PresentationInfo::order, and fix up part of reordering behaviour
Dragging tracks/busses in the editor *below* VCAs still does not work
2016-06-03 15:15:39 -04:00
3835b782b3 part three of using LocaleGuard with pane sizes 2016-06-02 08:17:20 -04:00
bac7a13d0f the second half of using LocaleGuard with pane sizes 2016-06-02 08:09:34 -04:00
79a9be434c add LocaleGuards to 2 places where we save pane sizes (which are floating point values now) 2016-06-02 08:04:08 -04:00
2562b4a2f0 handle old-version pane positions by ignoring them 2016-05-31 15:30:45 -04:00
76620819e0 use new pane API 2016-05-31 15:30:45 -04:00
cc88501d97 set minimum size for editor list 2016-05-31 15:30:45 -04:00
a26a85de14 set editor pane cursors 2016-05-31 15:30:45 -04:00
91a95b086a initial sort-of-mostly-working integration of new Pane 2016-05-31 15:30:45 -04:00
482873760c initial implementation of VCA time axis views 2016-05-31 15:30:44 -04:00
4cd6d52013 make Escape (cancel drag or selection) work in mixer as well as editor 2016-05-31 15:30:44 -04:00
8b48aff077 fix GUI handling of surface select requests to include possibility of selecting non-Routes 2016-05-31 15:30:43 -04:00
08f01085de remove now-redundant control protocol route-selection signals 2016-05-31 15:30:43 -04:00
3eae4b0974 tweak Editor to use Stripable methods for control-surface-driven selection 2016-05-31 15:30:42 -04:00
e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
a598b4a708 use new paned-sizing strategy in editor 2016-05-31 15:30:41 -04:00
4d87503863 fix restoration of editor pane positions 2016-05-31 15:30:39 -04:00
nick_m
baf8f37967 Tempo ramps - rename meter_at() -> meter_at_frame() & make the ticker slightly more efficient. 2016-05-27 23:38:17 +10:00
nick_m
ccf6ce76d9 Tempo ramps - clean up tempo curve a bit. 2016-05-27 23:38:16 +10:00
nick_m
85c3284adc Tempo ramps - add some right-click options to meter and tempo markers. 2016-05-27 23:38:15 +10:00
nick_m
354567e5a7 Tempo ramps - switch MusicLocked tempos to beat-based dragging. fix various bugs wrt future-snapped tempo drags 2016-05-27 23:38:12 +10:00
nick_m
a2797f4d38 Tempo ramps - use correct meter when snapping to the future. 2016-05-27 23:38:12 +10:00
nick_m
daa07ce6e0 Tempo ramps - tempos now musically snap to their future. 2016-05-27 23:38:12 +10:00
nick_m
340bd42c62 Tempo ramps - allow live updating of tempo markers.
- all a bit slow, but should be ok once we can lock
	  markers to frames.
2016-05-27 23:38:09 +10:00
nick_m
7fc3b0c34c Initial stab at tempo ramps.
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-27 23:38:09 +10:00
a7d03731a2 initialize snap-mode dropdown text
"SnapOff" is the default, so no change is triggered when calling
set_active() and initially the dropdown/ardour-button remains blank.
2016-05-18 20:07:11 +02:00
098e8e551a Don't save instant while loading instant.xml
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-18 20:06:20 +02:00
4d74b5e420 action script GUI details (sensitivity + tooltip) 2016-05-14 15:16:23 +02:00
05baa2d1c1 use WindowManager toggle API for script-manager 2016-05-06 03:59:02 +02:00
5c9660b62e re-introduce "add track/bus" from mixer window 2016-05-06 03:08:46 +02:00
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
5e0f0fc9f2 lua action details (button sensitivity, text ellipsis) 2016-04-25 12:56:21 +02:00
9c622e3c99 add optional buttons to trigger lua scripted actions. 2016-04-25 00:16:08 +02:00
55fb20f491 update keyeditor when action label changes 2016-04-24 22:20:44 +02:00
ec0ec95262 change const some functions to const. (prepare lua bindings) 2016-04-09 00:33:03 +02:00
9a11e3a64d change API for CairoWidget::focus_handler
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-15 12:41:21 -04:00
c9d6d9ed85 add region & range loudnless report 2016-03-11 17:26:42 +01:00
2532911b18 Editor Actions Scripts & Manager 2016-02-23 15:42:53 +01:00
25a24e0805 rework dialog-close-focus-reset change to work in Tabbed 2016-02-22 15:31:26 -05:00
01d5d1eda4 add "Editor" to detached editor window name to see if this fixes Unity WM behaviour 2016-02-22 15:31:25 -05:00
6991a07902 remove all trace of SAE from source code.
This had become incoherent over time, and posed a development hazard and burden going forward
2016-02-22 15:31:24 -05:00
bc487bb4b0 replicate the remove-all-trailing whitespace commit(s) in master 2016-02-22 15:31:24 -05:00
9b9a7beb13 cleanup various merge conflict resolution errors/omissions 2016-02-22 15:31:24 -05:00
09f9020897 action maps now have names 2016-02-22 15:31:24 -05:00
949163f806 more changes to Bindings, Keyboard APIs 2016-02-22 15:31:24 -05:00
67e19c177f radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
2c6799f247 changes to support new key bindings editor design 2016-02-22 15:31:23 -05:00
a13a8da8ac switch all action registration/binding code over to new API.
This removes the ability to change bindings via menus.

Still to come: saving modified bindings, and reworking the key editor
2016-02-22 15:31:23 -05:00
d5bcf90b1a remove all tearoffs except the monitor section.
We don't need this functionality anymore as we build on 15 years experience plus the new tabbed structure
2016-02-22 15:31:23 -05:00
8933d53271 get current tab on startup correct.
Note that Gtk::Notebook will not switch to a page with an invisible widget. This took me TOO LONG to discover.
Also move code around between files
2016-02-22 15:31:23 -05:00
16731d07d3 remove use of current_toplevel() where unnecessary, fix broken necessary cases, generally fix up show/hide/attach/detach for Tabbables 2016-02-22 15:31:22 -05:00
dd8cd579fc tell the editor to try to load editor.bindings 2016-02-22 15:31:22 -05:00
37fce09a18 widespread changes to get the new (oldArdour binding scheme to be used for keyboard accelerators 2016-02-22 15:31:22 -05:00
39036cf20f remove debug output 2016-02-22 15:31:21 -05:00
552e995297 save/restore tabbable state 2016-02-22 15:31:21 -05:00
98b14ad0e6 get normal GTK accelerators working again 2016-02-22 15:31:21 -05:00
af378e7256 stop using C++11 structure initializer 2016-02-22 15:31:21 -05:00
9010262bed first compilable version of tabbable design.
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-02-22 15:31:21 -05:00
02c8d6d648 the basics of tabbed 2016-02-22 15:31:21 -05:00
458a2b723c Use visible playhead location for editing during a jog-wheel event. 2016-01-28 13:46:33 -06:00
893b51bda2 Center the playhead for stationary_playhead playback.
This avoids a visual discontinuity when playback is initiated after a jog-event.
2016-01-28 13:46:33 -06:00
aedde11862 Initialize Editor::clicked_selection to prevent programming error dialog/exit
This was triggered when reloading session and immediately duplicating range with
keyboard shortcut. As clicked_selection was uninitialized it would try to use
an invalid index into the TimeSelection.
2016-01-28 13:42:37 +10:00
920c56775f safe default button focus for deleting playlists 2016-01-05 15:48:35 +01:00
1c49ccbc7b disabling follow_playhead should have effect when using stationary-playhead 2015-12-10 13:52:06 -06:00
André Nusser
00c68ae2e6 Remove "Fill Range with Region" from menu and also its function. 2015-12-04 11:40:24 +01:00
André Nusser
7a846b7e6d Make capitalization consistent and other minor spelling corrections. 2015-12-01 00:39:35 +01:00
0e3c2af69a cont'd 20262abe (GUI to keep all playlists) 2015-11-21 22:45:43 +01:00
c0e05f7306 GUI support for "Delete All Unused" playlists. 2015-11-21 21:12:17 +01:00
nick_m
aa097c9e9f Clean up selection history in Editor destructor. 2015-11-03 05:25:15 +11:00
nick_m
00a1d23d83 Grey out unavailable note context menu items rather than hiding them. 2015-11-01 06:06:31 +11:00
nick_m
336f8d47fe Clarify context menu for midi notes.
- right click on a note selects it if unselected or selection empty.

	- note_context_menu is shown as described in #6348
2015-11-01 05:22:55 +11:00
4a3413f2d4 suspend timers while flushing the gtk-event queue.
This fixes an issues where Ardour never completes to flush the GUI event
queue due to rapid updates for meters and similar events.

ARDOUR_UI::load_session() never returned and the complete session
ran inside Gtkmm2ext::UI::flush_pending(), this later causes a crash
at exit.

as side effect, this also speeds up session load.
2015-10-30 15:55:27 +01:00
nick_m
24142a424e Fix redo action sensitivity for non-editor undo stack changes. 2015-10-20 00:53:28 +11:00
André Nusser
e807fe2b28 Introduce "Transpose..." also in the context menu of selected notes. 2015-10-17 22:12:55 -04:00
André Nusser
4c26225ddc Fix "Select All * Edit Point" when used as shortcut. -fixes #6626 2015-10-08 13:46:22 +02:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
1d42ed077e Use ARDOUR_UI_UTILS::set_tooltip rather than via ARDOUR_UI::set_tip
This removes the direct dependence on ARDOUR_UI/Gtk_UI for setting
tooltips. Removes inclusion of ardour_ui.h from 16 files.
2015-09-16 16:55:17 -04:00
6b019a4953 Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
45d487f16e Move ARDOUR_UI::ui_scale into UIConfiguration class 2015-09-16 16:55:17 -04:00