Commit graph

1419 commits

Author SHA1 Message Date
Paul Davis
685c4f8955 change action group owner pointer to be the relevant keybindings; reorder setting keybindings value and defining actions
The reorder is required so that the value of "bindings" has been set and is meaningful
2018-12-11 05:06:26 -05:00
Robin Gareus
927a33c5f3
Remove redundant call (there's no session, nothing to save) 2018-12-07 03:46:58 +01:00
Robin Gareus
d864f42d20
Fix editor sizing issue introduced in 4dc65e66
Previously Editor::instant_save() returned if no session was loaded,
effectively Config->add_instant_xml(get_state()); was never called.

instant save() is called early on, in Editor's c'tor before the editor
is realized and saves invalid window-size and window-state, which
are used later.
2018-12-07 03:46:47 +01:00
Robin Gareus
4dc65e6613
Prefer testing the session instead of using a global variable 2018-12-06 02:24:31 +01:00
Paul Davis
4423945643 start using ActionMap in preference to ActionManager 2018-12-05 17:33:06 -05:00
Robin Gareus
5396385b95 Fix playhead smoothing when auditioning.
Don't use timer to keep moving the playhead when auditioning.
This fixes playhead jiggling during audition.
2018-11-11 03:38:34 +01:00
Robin Gareus
9971e718fe Save Lua UI scripts separately
Previously EditorAction and ExitorHook scripts were saved with
instant.xml. The were saved with each session and in the config
dir (for new sessions). This allowed inconsistent UI setups, especially
when loading old sessions that had no or different scripts.

Now Editor scripts (actions and hooks) are saved in a dedicated file,
session-independently. This goes along with ui_config in general
e.g. action-table-columns

The scripts are not saved with ui_config file for two reasons:
ui_config settings related to built-in  ui_config_vars.h,
and in the future there may be further indirection like "ui-rc-file".

Note: previously loaded editor scripts are lost with this change.
2018-11-04 18:47:14 +01:00
Ben Loftis
aad354e15f Fix missing enum case: Avoid a divide-by-0 crash. 2018-08-13 13:08:33 -05:00
Robin Gareus
1b531116e4 Allow to disable smart ruler changes. 2018-07-27 00:28:55 +02:00
Robin Gareus
232096bcb2 NO-OP: clean up whitespace, separate methods 2018-07-27 00:28:52 +02:00
Ben Loftis
0883f02de9 new_grid: The Return of the snap_to_X functions.
We no longer assume that Snap always uses the visible ruler lines.
 If you want to snap to the grid, and ignore the users zoom scale, use SnapPref::SnapToGrid_Unscaled
 This fixes 2 (known) oversights: "snap region(s) to grid" and "regions whose start are left of the canvas edge".
2018-07-27 00:28:47 +02:00
Ben Loftis
0d32105a1e new_grid: Add options for rulers_follow_grid and grid_follows_internal 2018-07-27 00:26:09 +02:00
Robin Gareus
ec070d5497 Don't cut-off grid-type.
Now that the zoom buttons are right-aligned, a variable spaced grid
selector is less of an issue (except perhaps on 1024px wide screens)
2018-07-23 18:51:23 +02:00
Paul Davis
870fe055cf make use-note-color-for-velocity much much more efficient
(by not invoking the global color change signal)
2018-07-03 18:33:11 -04:00
Paul Davis
b1ad462a7a respond to changes in use-note-color-for-velocity 2018-07-03 17:02:20 -04:00
Paul Davis
38b499a8f0 permit editing velocity bars option 2018-07-03 15:39:28 -04:00
Johannes Mueller
e6a6778466 Revert frame -> sample changes where it's a frame as in Gtk::Frame 2018-06-19 20:17:40 +02:00
Ben Loftis
e83301daaa Replace the check for SnapPref, which went missing. Some functions (like playhead_to_next_grid) can request GridOnly. 2018-05-08 08:43:44 -05:00
Ben Loftis
d88cdcc1bf Reinstate the ability to split regions while dragging playhead. I think this was unintentionally lost. 2018-02-27 13:08:40 -06:00
Ben Loftis
a699a637e4 Switch CDFrame grid to use MinSec ruler rather than Sample ruler. 2018-02-26 18:52:28 -06:00
Ben Loftis
e1b380b302 Rename SMPTE enum back to Timecode. 2018-02-26 18:38:18 -06:00
Ben Loftis
22819b8d2f Fix a rather large naming thinko: GridTypeSamples should be CDFrames. 2018-02-26 17:02:24 -06:00
Ben Loftis
6989e5b11d Snap-to-grid should not invalidate other snap options. This was a leftover behavior from prior iterations of Snap+Grid. 2018-02-24 10:53:03 -06:00
Robin Gareus
ceac42cc03 NO-OP: whitespace
- remove trailing whitespace
- remove space after opening brackets and before closing brackets
- add space around operators
- do not use '//' for multi-line comments, do not use "//" on line-start
  to comment-out code breaking indenting (-Wmisleading-indent)
- do add a single space after comment-start /*{SPACE}... or //{SPACE}...
- reserve duplicate whitespace "  " for alignment, remove other duplicate
  whitespace
- use established "TODO" and "XXX" (highlighted keywords)
- remove equal-sign series "====" (those indicate merge conflicts)
2018-02-24 13:55:20 +01:00
Robin Gareus
75122af118 Fix/amend a23a8ebcad.
Updated condition to check for transport_rolling to include preroll and
count-in (speed is != 0 during pre-roll and count-in, but transport is not
actually rolling).
2018-02-24 12:55:48 +01:00
Ben Loftis
eb15d37669 Use transport_stopped() instead of speed check. 2018-02-23 13:59:53 -06:00
Ben Loftis
a23a8ebcad Do not interpolate playhead when stopped.
This fixes a bug where, for a few seconds after transport stops, the users zoom+panning would get hijacked by the follow_playhead behavior, because the playhead was still "hunting".
2018-02-23 13:48:29 -06:00
Ben Loftis
1a293bb480 Add drop-shadow decorators to menu bar and transport toolbar.
Allow status bar to fill available width.
2018-02-19 08:05:55 -06:00
Ben Loftis
710066d317 Tweak packing to line-up button edges with transport toolbar. 2018-02-17 09:24:15 -06:00
Ben Loftis
5200885fb8 GTKOSX is not a valid check. Use __APPLE__ 2018-02-17 09:12:51 -06:00
Ben Loftis
f54f270627 Fix a few warnings 2018-02-17 09:12:38 -06:00
Ben Loftis
df9bb50155 Revert TRIANGLE_WIDTH for mac. Must be a pango/cairo issue on mac. 2018-02-14 08:15:45 -06:00
Ben Loftis
6cca669c9a COMBO_TRIANGLE_WIDTH should be an odd value. 2018-02-13 08:17:46 -06:00
Ben Loftis
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
Ben Loftis
8f9f927212 Timecode instead of SMPTE. 2018-02-12 09:15:26 -06:00
Ben Loftis
ef5a6db864 Tweak combo-box sizing to match actual triangle size. Tweak size of grid_type_selector. 2018-02-12 09:13:39 -06:00
Ben Loftis
0e72ba4b64 Fix potential crash in snap_to_grid (grid-mark list is empty). 2018-02-11 12:05:23 -06:00
Ben Loftis
0299229e41 SoloSelection: gui part. 2018-02-11 09:39:45 -06:00
Ben Loftis
bc4fa677ec Copy+Paste thinko: use passed-in variable instead of member variable. Maybe fix potential crash. 2018-02-10 09:06:46 -06:00
Ben Loftis
5e24b17478 Fix potential crash with EditAtSelectedMarker, when no marker is selected. 2018-02-09 13:43:20 -06:00
Ben Loftis
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
Ben Loftis
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
Robin Gareus
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
Robin Gareus
d554dcc096 These are "Frames" :) 2017-10-01 04:00:50 +02:00
Paul Davis
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
Paul Davis
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
Paul Davis
f9e7ffc601 no more per-track varispeed 2017-09-18 11:40:53 -04:00
Robin Gareus
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
Ben Loftis
631629b8e7 Editor zoom: add zoom_to_extents() 2017-08-26 23:06:29 -05:00
Ben Loftis
e9f4c5fc1c Editor zooming: Initialize leftmost_frame, for sessions that start at high timecodes. 2017-08-26 22:44:58 -05:00