Commit graph

1190 commits

Author SHA1 Message Date
Ben Loftis
b4eba1a30b Default_Play_Speed: prep work (gtk2)
* request_transport_speed should -never- set default_play_speed
2021-06-25 11:51:34 -05:00
Paul Davis
a47348f2a2 integration of new dsp stats window with window proxy system, part 3 2021-06-11 21:17:44 -06:00
Paul Davis
081c2525fd integration of new dsp stats window with window proxy system, part 2 2021-06-11 21:10:20 -06:00
Paul Davis
dcee5067f5 integration of new dsp stats window with window proxy system 2021-06-11 21:07:47 -06:00
Paul Davis
8774740e72 add action to "promote" region cue markers to global marks 2021-05-25 14:01:30 -06:00
Paul Davis
ad69a564a0 Revert "come to a complete stop if rewind/ffwd steps past -40 semitones slower"
This reverts commit 05ef7f2647.

This stopping behavior was not satisfactory. The behavior after this revert is not great, but better than the stop.
2021-05-18 22:59:22 -06:00
Robin Gareus
bfb5bfcd2d
Fix builds (float, double ambiguity)
```
gtk2_ardour/ardour_ui.cc:2060: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
/usr/include/architecture/i386/math.h:343: note: candidate 1: double pow(double, double)
/usr/include/c++/4.2.1/cmath:357: note: candidate 2: float std::pow(float, float)

```
2021-05-09 05:59:29 +02:00
Paul Davis
05ef7f2647 come to a complete stop if rewind/ffwd steps past -40 semitones slower 2021-05-08 17:58:46 -06:00
Paul Davis
1c47f0adbe use 4 semitone steps whenever rewind/ffwd is adjusting in the range below 1 octave slower 2021-05-08 09:43:04 -06:00
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