13
0
Commit Graph

1177 Commits

Author SHA1 Message Date
9905f6e0a9 copy BasicUI::button_varispeed() into ARDOUR_UI, and use in all the right places
We really must find a way to share code between BasicUI and ARDOUR_UI
2021-05-04 16:56:19 -06:00
ac53a9bbf8 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) 2021-05-03 17:40:41 -06:00
4abfcca8b6 rewind/ffwd from GUI needs to start transport, not just set speed 2021-04-23 11:02:54 -06:00
1d97220cff use Session::request_transport_roll() in main GUI call site 2021-04-19 16:13:38 -06:00
b7c030b347
Indicate ambiguous latency, capture alignment issues
Previously this was only displayed when the latency
toolbar widget was added (off by default).
2021-03-30 21:19:55 +02:00
8985e50672
Use verbs for the toolbar tab/window buttons 2021-02-25 13:58:27 +01:00
f10d380d9a
RecorderUI: Tabbable Window Skeleton 2021-02-22 01:00:07 +01:00
ab07bfbffe
Remove optional global monitor toolbar item
The widget will find a permanent location in the Recorder page.
This partially reverts cf5a0de709
2021-02-22 01:00:07 +01:00
5bceb79a95 3 transport related UI methods now explicitly do not set the default speed (accessed via KP1, KP2, and the play button in the GUI) 2021-02-11 09:35:29 -07:00
b916a14e26 GUI toggle roll method does not set default speed
This allows the user to leave varispeed setting in place
2021-02-05 22:24:02 -07:00
e73d20c5a4
Close and save is possible without running engine
Since de99d7c528, Ardour sessions can be saved and
Ardour can be closed without a running engine.
2021-01-27 04:13:26 +01:00
ee1e7ad00e
Clear waveform cache when rebuilding peak-files 2020-12-21 21:13:13 +01:00
7942897d93
VST3: cleanup, drop references (1/2)
VST3PluginInfo holds a shared_ptr reference to
VST3PluginModule. In order to cleanly unload a plugin, all
references have to be dropped.

Unloading a plugin cleanly before exit is needed in some
cases (e.g. Waves shell otherwise crashes)
2020-11-25 05:33:16 +01:00
f3fbf58185
Set default transient parent to the main window
This is mainly useful for plugin windows, but also relevant
for other Ardour WM managed dialogs and windows.
2020-09-27 02:07:19 +02:00
cce424b695
Mark some menu items insensitive w/o session
When closing a session without loading or creating a new one,
Ardour's main window and menu are accessible.

 Menu > Session > Properties : crash w/o a session
 Menu > Window > Transport Masters : any interaction causes a crash.
2020-09-18 21:03:56 +02:00
24ed3c5a9e minor code reworking for 46fca9062d (no semantic changes) 2020-04-23 09:05:18 -06:00
Mister Benjamin
46fca9062d Honour forward/rewind option when already rolling #8031
The options ForwardSlow, Forward and ForwardFast and their
respective Rewind options were not honoured in the execution
of forward/rewind operations when the transport was already
rolling at a slower speed than the forward or rewind option's
speed with same direction as the requested direction.
2020-04-23 08:19:20 -06:00
826bdc413c fix behavior of ARDOUR_UI::transport_rewind/forward actions 2020-04-20 17:18:37 -06:00
606d6de4b1
Consistent Lua script error and print() output 2/2 2020-04-18 18:16:12 +02:00
e1a9034a0e
Synchronize meter-reset #7465
Queue reset to be handled when the meter is updated.
Also only call set_name(), set_active_state() when the
state changes.
2020-04-10 23:50:10 +02:00
232b21d289
Statusbar: tweak tooltips 2020-03-30 03:52:20 +02:00
b49764edf5
Statusbar: link session property dialog for format & timecode 2020-03-30 01:10:00 +02:00
e43cc9c7bb
Statusbar: add session-path display 2020-03-30 00:14:25 +02:00
325477803e
Statusbar: fix >24h disk-space label 2020-03-29 23:54:34 +02:00
7a98605748
Statusbar: do not highlight 100% DSP load when freewheeling 2020-03-29 21:05:23 +02:00
a49365ef1e
Statusbar: use white on red as fixed color error highlight 2020-03-29 21:04:21 +02:00
6f4d1f5e2e
Use light font for status-bar labels instead of italic 2020-03-29 21:02:26 +02:00
9076cc60a4
Tweak status-bar layout & design
* remove color: increase contrast, do not use red/green
  foreground because it does no work with various themes
* do use red background to alert users
* use italics for labels heading
* increase spacing between elements
* use mono-space font with DSP load (fixed with) up to 99%
* Fix translations, use compose strings
2020-03-29 18:56:21 +02:00
d7500056fc stop transport clocks from jumping after the playhead is moved via a CursorDrag 2020-03-25 19:24:38 -06:00
b3cbd8f44e if user chooses not to delete a scratch session, removed the file that identifies it as unnamed (GUI) 2020-03-25 10:25:00 -06:00
900bab7271 basic pass at deleting scratch sessions 2020-03-24 21:15:32 -06:00
e3e794f3a8
Fix crash at exit when closing session before quit 2020-03-25 02:23:16 +01:00
4d91637b45 handle scratch session when quitting 2020-03-24 18:26:12 -06:00
97340a5c89 when saving an unnamed session, rename it (GUI edition)
Note that this is done at the GUI level, might need to double check if there are
other paths into a "save" that should be covered. Control surfaces use the action, but
Lua comes to mind
2020-03-24 14:10:39 -06:00
5f27382b88
Remove Audio+MIDI track, and consolidate route creation methods
Audio+MIDI tracks were just MIDI tracks with an additional
audio input, and do not directly allow use of vocoders (an
instrument is loaded by default).

For pitch-correction or similar use-cases one would prefer an
audio-track (main data) with MIDI only being used as control-input.

Ardour 5/6 pin-connections and side-chain offer a much nicer
workflow for this setup.

Alternatively one can get those tracks-types by manually adding
an input port to an existing track, and creating a custom template.
2020-03-19 16:18:48 +01:00
5f88cbfd39
Prevent adding routes in read-only sessions
"AddTrackBus" is a rec_sensitive and write_sensitive action.

However the mixer bypasses this and unconditionally calls
ARDOUR_UI::instance()->add_route () in various cases
(right-click on blank space or scroller, left-click on "Add" buttons
in the VCA pane, route pane, etc).

Since those are direct events, not related actions, they need
to be explicitly ignored.

Ideally the "+" buttons would be made insensitive...
2020-03-17 22:30:58 +01:00
4262d701eb
Remove GUI thread x-run reset on engine re-start
This has been superseded by the previous commit, doing this
independently from the GTK GUI.
2020-02-24 22:22:09 +01:00
44e55c501e
Add some const'ness 2020-01-30 23:35:37 +01:00
b2051d98fd
Clarify pending-state message
Previously this dialog was mainly used for crashes during
recording. Now it is also used for backup saves in general.
2020-01-28 17:29:36 +01:00
47767738b9 rename DoTheRightThing to RollIfAppropriate 2020-01-18 08:49:18 -07:00
3c00048b0c Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
6487d6c62b
Fix external timecode GUI display
Only show mis/matching TC if FPS has been detected and
timecode master is locked.
2020-01-12 18:04:12 +01:00
Nikolaus Gullotta
ce54e342ed
Add additional roll check in transport_record
Previously there was no check for roll in case Session::Enabled this
can cause issues with "latched-record-enable" and "transport-roll"
2019-12-16 13:06:04 -06:00
1881d73f43
Remove unused API (no more unconditional splash pop-back) 2019-12-14 23:44:04 +01:00
2b55d6dce3
First batch of MessageDialog replacements 2019-12-14 23:44:01 +01:00
561cf86919
Fix session sensitivity of some toolbar controls 2019-12-13 16:33:12 +01:00
6ee21fb77e
GUI: Use new boost::optional API
get_value_or() has been deprecated since boost 1.56
2019-11-21 17:49:20 +01:00
b79d47b1b5 fix crash caused by storing clock modes while loading a session
The store would delete any existing node of the same name,
which was the node being used to set the mode in the first
place.
2019-11-08 12:40:26 -07:00
3e443bc237 improve operation of ARDOUR_UI::toggle_roll() for loop mode (particularly when loop-is-mode) 2019-11-02 16:32:18 -06:00
a072228de5 remove seamless looping as an option (it's now the only kind of looping we support) 2019-11-01 14:04:28 -06:00
be12af293d remove now-unused member variable 2019-10-24 21:32:46 -06:00
0ea395b934 startupFSM is now responsible for attaching GUI to AudioEngine 2019-10-24 21:32:46 -06:00
ebb89ba805
Super basic Virtual-Keyboard UI 2019-10-18 03:50:52 +02:00
44445ea309 remove Session::AudioMidiSetupRequired signal (no longer necessary) 2019-10-12 12:45:18 -06:00
74454d1859 do not accidentally re-create splash 2019-10-11 14:44:30 -06:00
54acf6af6a enforce singleton nature of Splash a little more rigorously, and slightly rationalize it's use 2019-10-11 14:29:55 -06:00
aaecba2116 move pre-release dialog into StartupFSM (and enlarge font sizing) 2019-10-10 21:24:52 -06:00
b3f2ed46b1 center all(?) early-startup dialogs 2019-10-10 19:54:33 -06:00
18b4a4213f add initial version of StartupFSM along with its owners/users 2019-10-10 16:52:00 -06:00
2c5fcf24a5 rename ArdourStartup to NewUserWizard and rename source file(s) 2019-10-10 16:52:00 -06:00
cdbf8ee160
Show pre-release dialog also for source-tree self-builds 2019-09-29 18:25:13 +02:00
4f41367836
Add Latency Control Toolbar Widgets 2019-09-29 02:45:37 +02:00
468731c14b goodbye Profile->...trx 2019-09-25 13:02:31 -06:00
5beeca2e95 split apart ardour_ui.cc into a series of distinct source modules.
Should be a 100% no-op - no code was altered, just moved
2019-09-23 14:49:06 -06:00
fcc7f335a1 UI goto_start() action no longer forces roll-after-locate 2019-09-22 12:23:54 -06:00
ca4b6bb7e9
NO-OP: fix some Wimplicit-fallthrough, see prev commit 2019-09-18 17:38:01 +02:00
da88e9d34c Foldback gui: Added hide and show
- New menu item in view menu
- Foldback strip has hide button
- Adding a new foldback bus sets show
- setting is saved and restored
2019-09-11 16:36:05 -07:00
d59aa81b39
Remove NO-OP, ProcessThread::init() does nothing 2019-09-09 18:43:57 +02:00
cfc8a2c263
Push UI theme to backend, LV2 plugin options 2019-08-26 18:58:34 +02:00
994b59c836
Prefer implicit deletion of .pending
Session destruction removes ".pending", no need to explicitly delete
the file.
2019-08-16 01:55:54 +02:00
9fb403546c
Allow to inhibit screensaver/system sleep 2019-08-11 20:39:39 +02:00
6bdf5cb0d7 Gui should allow foldback bus to be mono. 2019-08-06 13:16:44 -07:00
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
0717c4c71a
Prefix env variable with "ARDOUR_" 2/2 2019-07-26 16:58:31 +02:00
0d1d6d6975 remove -C,-E and -U command line options 2019-07-18 14:08:07 -06:00
47fcc85b19 remove debug output 2019-07-18 10:53:55 -06:00
b47df18d5c don't bother with session dialog if user has already provided the name
This recognizes that if a template is desired, it can be also be
set from the cmdline
2019-07-18 10:53:44 -06:00
5f8c9a4e60 if a user specifies just a session name (not path) and it does not exist, use the default session folder 2019-07-18 10:53:34 -06:00
8f9a1e1cf4
Use exit-status macros for compatibility 3/3 2019-07-04 22:21:49 +02:00
1cec6d1250
Remove toolbar meter (meter type) context-menu
This meter is follows in sync the master-bus meter. The type should
be set directly on the master-bus.
2019-06-09 19:45:01 +02:00
31815b5f26
NO-OP: whitespace
This fixes mostly <tab> after <space> and similar <tab> not used
for indenting as well as some related code alignment issues.
2019-04-13 17:57:46 +02:00
1557ea5314
Cleanup "Clean-up", hide dialog before starting cleanup 2019-04-07 18:51:50 +02:00
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
7b96fa1c5e
Fix some Gtk::Menu 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.

The solution here is to use a shared Gtk::Menu pointer that is
centrally de/re-allocated.

This works because the GUI is single-threaded and at most one
context menu is visible at a time.
2019-03-07 23:50:50 +01:00
64e1d691ec
Prefer using RAII to suspend signals 2019-03-07 23:50:43 +01:00
f098a6fb06
Revert "Show VCA pane whan adding a VCA"
This reverts commit 9a0260148d.
2019-03-01 18:44:52 +01:00
9a0260148d
Show VCA pane whan adding a VCA 2019-03-01 18:00:11 +01:00
8244026533
Consolidate ToggleAction cast, use new API
Furthermore we can assume that all Actions are registered and
Unregistered actions will ::abort() execution.
2019-02-28 23:54:42 +01:00
b0f99312d8 get ordering correct of global binding set creation and action registration 2019-02-16 01:15:12 -07:00
c60d8cf747 (libs) call ARDOUR::init_post_engine() from within libardour rather than requiring "users" of the library to arrange for it 2019-01-16 15:29:38 -06:00
9d1fa8f820 re-order startup process, registering actions early
Mostly to stop an error when UIConfiguration::map_parameters()
looks for an action that has not yet been registered
2019-01-13 12:01:18 -06:00
2dbf804b73
No interest in bug-reports for alpha-releases
So far all 6.0-pre bug reports are known issues due to incomplete
work-in-progress. There is no manpower to triage those.
2019-01-01 16:19:05 +01:00
154f9825ff remove method and inline its contents. Nothing gained by wrapping this up 2018-12-10 16:24:27 -05:00
fc83d044f8 use ActionManager namespace, rather than ActionMap objects, and remove all per-context action maps 2018-12-10 08:34:01 -05:00
3fea1fa4f2 use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
65bda27d42 Tweaks to Mixer and Monitor keybindings:
Add Mixer-specific view keybindings for list, vca, mon.  (thanks to: the_CLA)
Move monitor keybindings (mute, dim, mono) to be globally-accessible.

Implement new mixer-specific actions to show/hide monitor,vcas,mixbuses (the_CLA)
Move monitor funcs (mute,dim,mono) to globally-accessible actions.
Make a new Monitor group insted of using Transport group.
Allow use-monitor-section to be controlled by both menu and session-options dialog.
2018-12-07 12:57:26 -06:00
4dc65e6613
Prefer testing the session instead of using a global variable 2018-12-06 02:24:31 +01:00
df28a71252
Consolidate API, prefer ->running() 2018-11-28 15:19:39 +01:00
245d48dbd0
NO-OP: Clarify function name 2018-11-28 15:16:25 +01:00
f150f6c074
Use central method to check for engine where required
These are generally places where tracks/busses are created or port
connections change.
2018-11-28 00:01:50 +01:00