Commit graph

1136 commits

Author SHA1 Message Date
Ben Loftis
422e46e9c8 Implement insert-region action... now uses the Source List. 2019-07-30 13:02:15 -05:00
Ben Loftis
d2dbf364a6 Source list, Region List: Resolve various action+behaviors between the 2 lists.
Duplicate the remove_unsued_region action in the Session->Cleanup menu, for discoverability.
Region list should use the same Region actions as the canvas...
OK, now resolve the change in use-cases of Region List and Source List.  tentative.
Rough-in remove_selected_sources (Delete in Sources list).
Column tweaks.
2019-07-29 20:29:34 -05:00
Ben Loftis
4f6d53aa32 Region List rewrite (gtk2 part)
See:  https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
2019-07-29 20:29:34 -05:00
Ben Loftis
4a4ac0d867 Source List (gtk2 part)
See:  https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
2019-07-29 20:29:34 -05:00
Robin Gareus
8017a7fc1e
Backport Mixbus toolbutton layout 2019-04-09 03:16:09 +02:00
Robin Gareus
932892f794
Fix Mixbus special case 2019-03-29 14:54:16 +01:00
Robin Gareus
1a90cd90de
Fix action-name 2019-03-29 14:54:16 +01:00
Paul Davis
51df70b405 ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 3 (GUI) 2019-03-20 11:15:47 -07:00
Ben Loftis
21e2b353c1 Add an exception handler for access_action() used by control surfaces and Lua. 2019-03-19 11:52:19 -05:00
Robin Gareus
c09c7bab52
Update GUI, use Session::playlists() getter (2/2) 2019-03-19 05:14:40 +01:00
Robin Gareus
7ed27e3ef7
Request for comment: Bug or feature? 2019-03-07 23:50:59 +01:00
Robin Gareus
12a415f077
Cleanup Editor/Marker context-menu
This could have caused crashes previously:
::build_range_marker_menu() may have created range_marker_menu
while the GUI wanted transport_marker_menu.
2019-03-07 23:50:46 +01:00
Robin Gareus
3bc9281c31
Fix some Gtk::Menu related memory leaks
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.

This adds explicit delete calls for menus where there is a
member variable reference to the Menu.
2019-03-07 23:50:32 +01:00
Robin Gareus
204d7bf76c
Remove cruft: unused members 2019-03-07 22:25:19 +01:00
Robin Gareus
b410cd07ab
Remove unused region_edit_menu & edit-point action 2019-03-07 22:25:19 +01:00
Robin Gareus
00934aec0d
Initialize per session instant state
Per session (instant.xml) GUI options do not have a sigc::slot<> backed
configuration interface to initialize the Actions.

This fixes a first-time start issue (no instant.xml) where GUI panes
may be visible (default) while the actions are "off" (default).

This is a tentative solution, instant.xml backed ToggleAction
initialization needs to be consolidated somehow.
2019-02-28 23:54:13 +01:00
Paul Davis
17f5fb81d2 replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls 2018-12-12 11:22:38 -05:00
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