Commit graph

1131 commits

Author SHA1 Message Date
Paul Davis
6b98e56da2 const-ification tweak 2021-05-08 09:19:50 -06:00
Paul Davis
6ca18bfcfd tweak gradual rewind/ffwd action to move in 4 semitone steps once the speed is below "one octave down"
This avoids taking forever to get to -40st, where we reverse direction
2021-05-08 09:13:32 -06:00
Paul Davis
9d7ded8bfe allow rewind/ffwd to incrementally move between speeds of zero and 1/-1
It's a little slow in getting all the way to zero, so this may need some tweaking
2021-05-08 08:16:28 -06:00
Paul Davis
9f4189c031 copy over changes to BasicUI::button_varispeed() to ARDOUR_UI::button_varispeed() 2021-05-04 23:14:48 -06:00
Paul Davis
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
Paul Davis
ac53a9bbf8 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) 2021-05-03 17:40:41 -06:00
Paul Davis
4abfcca8b6 rewind/ffwd from GUI needs to start transport, not just set speed 2021-04-23 11:02:54 -06:00
Paul Davis
1d97220cff use Session::request_transport_roll() in main GUI call site 2021-04-19 16:13:38 -06:00
Robin Gareus
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
Ben Loftis
8985e50672
Use verbs for the toolbar tab/window buttons 2021-02-25 13:58:27 +01:00
Robin Gareus
f10d380d9a
RecorderUI: Tabbable Window Skeleton 2021-02-22 01:00:07 +01:00
Robin Gareus
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
Paul Davis
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
Paul Davis
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
Robin Gareus
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
Robin Gareus
ee1e7ad00e
Clear waveform cache when rebuilding peak-files 2020-12-21 21:13:13 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Paul Davis
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
Paul Davis
826bdc413c fix behavior of ARDOUR_UI::transport_rewind/forward actions 2020-04-20 17:18:37 -06:00
Robin Gareus
606d6de4b1
Consistent Lua script error and print() output 2/2 2020-04-18 18:16:12 +02:00
Robin Gareus
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
Robin Gareus
232b21d289
Statusbar: tweak tooltips 2020-03-30 03:52:20 +02:00
Robin Gareus
b49764edf5
Statusbar: link session property dialog for format & timecode 2020-03-30 01:10:00 +02:00
Robin Gareus
e43cc9c7bb
Statusbar: add session-path display 2020-03-30 00:14:25 +02:00
Robin Gareus
325477803e
Statusbar: fix >24h disk-space label 2020-03-29 23:54:34 +02:00
Robin Gareus
7a98605748
Statusbar: do not highlight 100% DSP load when freewheeling 2020-03-29 21:05:23 +02:00
Robin Gareus
a49365ef1e
Statusbar: use white on red as fixed color error highlight 2020-03-29 21:04:21 +02:00
Robin Gareus
6f4d1f5e2e
Use light font for status-bar labels instead of italic 2020-03-29 21:02:26 +02:00
Robin Gareus
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
Paul Davis
d7500056fc stop transport clocks from jumping after the playhead is moved via a CursorDrag 2020-03-25 19:24:38 -06:00
Paul Davis
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
Paul Davis
900bab7271 basic pass at deleting scratch sessions 2020-03-24 21:15:32 -06:00
Robin Gareus
e3e794f3a8
Fix crash at exit when closing session before quit 2020-03-25 02:23:16 +01:00
Paul Davis
4d91637b45 handle scratch session when quitting 2020-03-24 18:26:12 -06:00
Paul Davis
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
44e55c501e
Add some const'ness 2020-01-30 23:35:37 +01:00
Robin Gareus
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
Paul Davis
47767738b9 rename DoTheRightThing to RollIfAppropriate 2020-01-18 08:49:18 -07:00
Paul Davis
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
Robin Gareus
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
Robin Gareus
1881d73f43
Remove unused API (no more unconditional splash pop-back) 2019-12-14 23:44:04 +01:00
Robin Gareus
2b55d6dce3
First batch of MessageDialog replacements 2019-12-14 23:44:01 +01:00
Robin Gareus
561cf86919
Fix session sensitivity of some toolbar controls 2019-12-13 16:33:12 +01:00