Paul Davis
dfbe4f61cd
more debug output for bad buffer sized trout
2023-10-12 21:19:21 -06:00
Robin Gareus
6c96c9bd4a
Add workaround for blank engine-dialog with some XWayland installs
2023-08-22 20:57:43 +02:00
Robin Gareus
92b86d8dd6
Prepare for systemic_hw_*_latency API removal
...
This API is not used by any backend anymore.
2023-06-21 23:58:46 +02:00
Robin Gareus
1b6ba4d71d
Improve error message
2023-06-18 16:24:33 +02:00
Robin Gareus
311c1bff4e
EngineDialog: MIDI config is always directly apply-able
...
`can_change_systemic_latency_when_running()` is only relevant for
Audio. This allows to en/disable MIDI ports and set MIDI port
systemic latency with the PortAudio backend.
2023-06-18 02:41:06 +02:00
Robin Gareus
d66b70f3a2
Distinct engine-states per sample-rate
...
Previously only the one engine-state per device was
saved. However systemic latency depends on the sample-rate
(and buffersize)
2023-06-02 22:31:02 +02:00
Robin Gareus
3b8cbd7c8f
Revert "Debug xwayland blank Engine dialog, allow to resize the window"
...
This reverts commit bb474b1b8e
.
2023-05-24 00:45:16 +02:00
Robin Gareus
bb474b1b8e
Debug xwayland blank Engine dialog, allow to resize the window
...
Revert this before release
2023-05-23 03:19:34 +02:00
Robin Gareus
ca88794ab7
Engine-dialog: push splash on error
...
When starting the engine fails, the splash screen
needs to remain behind the dialog.
2023-05-12 03:34:47 +02:00
Paul Davis
b35518e212
switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
...
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus
138b25c0b0
Do not update devices when JACK is already running
2023-02-01 03:09:13 +01:00
Robin Gareus
65317ef0e0
Prevent engine dialog from changing devices when the engine is running
...
This fixes an issue with excessive "sample rate mismatches" warnings
via device_changed -> set_in/output_device_name -> set_sample_rate
2023-01-22 20:45:29 +01:00
Robin Gareus
1ad22e9ce9
Make engine dialog non-resizable (remove resize workarounds)
2022-12-30 23:43:35 +01:00
Alexandre Prokoudine
05afb53743
Make capitalization more consistent across the UI
...
This commit mostly changes "Sample rate" to "Sample Rate"
2022-11-11 03:53:19 +03:00
luz paz
47c525315d
Fix various typos
...
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch -L ba,buss,busses,discreet,doubleclick,hsi,ontop,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-08-03 12:10:01 -06:00
Robin Gareus
95fceceeb4
Engine-dialog: move MIDI system to advanced (amend 0a5b62a9e1b0)
2022-07-11 21:45:55 +02:00
Robin Gareus
0b2be03196
Overhaul Engine Dialog
...
* Update Layout
* Move action buttons to action-area
* Hide insensitive "Control App" button
* Set MIDI device option from backend
* Hide Latency Setup in Expander by default
2022-07-11 21:45:55 +02:00
Robin Gareus
ddca042b7b
Engine Dialog: fix memory-leak, do not manage Labels
...
Gtk::manage only destroys managed widgets when the parent container
is destroyed. In Ardour's case this is not the case since
Gtkmm2ext::container_clear() is used to unpack/repack widgets
as required.
2022-07-11 21:45:54 +02:00
Robin Gareus
8f4aab9584
NO-OP: clang-format
2022-07-11 21:45:54 +02:00
Robin Gareus
ee63b65df8
Engine Dialog: append monitor-model option
...
The Monitor Model usually depends on the studio setup (hardware
mixing desk), but also to some extent on the audio interface (zero-
latency monitoring). Since a user may also use different interfaces
(e.g. with a laptop), it makes sense to expose the monitor model
preference in the engine-dialog.
NB. It is not part of the engine-state (!), but still a preference.
2022-07-11 21:45:54 +02:00
Robin Gareus
bdf6570ea6
Engine Dialog: remove I/O channel count setting
...
This has no been useful since years. Both Ardour and JACK
backends always use all available ports and the setting was
only useful to "hide" excess ports.
2022-07-11 21:45:54 +02:00
Robin Gareus
2970cd4b70
Engine Dialog: move start/stop button to action-area
2022-07-11 21:45:54 +02:00
Mads Kiilerich
7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS)
2022-04-08 21:11:06 +02:00
Paul Davis
ca22ba77e1
Constification: make Stateful::get_state() const, with all other required const-ness added (GUI)
2022-04-06 21:56:59 -06:00
Matthijs van Otterdijk
3050fe24e5
use backend_client_name parsed from options when initializing backend
2022-03-01 02:36:11 +01:00
luz paz
364f2f0788
Fix typos in gtk2_ardour/ directory
...
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
Jim Ramsay
79a365edce
Allow latency measurements even if inverted wiring is detected
...
Inverted wiring is important to call out when detected, but the measured
latency is still valid and should be applicable.
2022-01-04 15:54:49 +01:00
Robin Gareus
aae8252341
Fix engine-dialog MIDI Dropdown issue
...
Sensitivity is managed by EngineControl::update_sensitivity,
prior settings in update_midi_options() were ignored.
This also fixes the layout (MIDI dropdown width) and midi-option
value when changing backends.
2021-05-30 18:54:00 +02:00
Robin Gareus
adcc5be728
Retain devices when device list changes
...
EngineControl::device_list_changed calls
list_devices, which clears and refills the
I/O dropdown. This resulted in changed callbacks
EngineControl::input_device_changed which in turn
unsets the device in the backend:
set_input_device_name("").
The I/O devices were reset (use first available).
2021-05-29 17:54:39 +02:00
Robin Gareus
3a7304ca01
Fix session loading when aborting latency measurement #8691
...
Stop the engine if it was started for latency measurement
but measurement was aborted.
Previously the engine was kept running and the "Start' button
was not available.
If this happened during initial session loading, a user
would have to manually restart the engine to proceed.
2021-05-12 00:11:43 +02:00
Robin Gareus
4abde9972d
Yet another fix for asymetric I/O latencies
2021-04-15 03:44:33 +02:00
Robin Gareus
350938b68e
Fix crash at exit when EngineDialog shows some page other than 1st
...
#1 std::operator==<char> (__lhs=<error reading variable: Cannot access memory at address 0x801f0f1f>) at /usr/include/c++/8/bits/basic_string.h:6058
#2 EngineControl::get_matching_state at ../gtk2_ardour/engine_dialog.cc:1874
#3 EngineControl::get_saved_state_for_currently_displayed_backend_and_device() at ../gtk2_ardour/engine_dialog.cc:1893
#4 EngineControl::post_push() at ../gtk2_ardour/engine_dialog.cc:2655
#5 EngineControl::push_state_to_backend(bool) at ../gtk2_ardour/engine_dialog.cc:2643
#6 EngineControl::on_switch_page(_GtkNotebookPage*, unsigned int) (this=0x55bc43fd4d40, page_num=1) at ../gtk2_ardour/engine_dialog.cc:2988
[...]
#20 () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#21 g_object_run_dispose () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 Gtk::VBox::~VBox() () at /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#23 EngineControl::~EngineControl() (this=0x55bc43fd4d40, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../gtk2_ardour/engine_dialog.cc:73
2021-01-14 01:54:43 +01:00
Robin Gareus
3adc9e4ec0
Disable latency-measurement for half-duplex devices
...
This prevents excessive error popup dialog popups when
trying to measure latency for half-duplex devices.
2020-06-30 03:36:52 +02:00
Robin Gareus
ab4b268e5f
Display engine setup error #8134
...
get_last_backend_error() is only set if AudioEngine::start() fails.
When an error occurs earlier in the setup process it not updated.
2020-05-22 00:17:23 +02:00
Robin Gareus
08da389acc
Remove unused condition (MIDI calibration starts engine)
...
MIDI latency calibration is now only possible when the engine
is running (since 4c8f562053
).
This reverts part of e6febe040a
and a2f7abc70b
2020-05-21 22:06:43 +02:00
Robin Gareus
4c8f562053
Better version of 24ca53f97
(engine dialog, MIDI calibration)
2020-05-18 23:01:44 +02:00
Robin Gareus
24ca53f971
Don't autostart engine for MIDI latency compensation
2020-05-18 22:49:31 +02:00
Robin Gareus
cbc6bccc36
Try restore the recently used state after device-list refresh
...
This takes into account if the device is present, and picks
the most recently used state for the available devices.
2020-05-18 15:13:15 +02:00
Robin Gareus
dffe780d95
Engine-dialog: latency spinbox sensitivity
...
This allows to change latency while running using numeric entry
or otherwise makes the spinboxes insensitive.
2020-05-09 01:19:03 +02:00
Robin Gareus
fe8df2eeae
Remember I/O ports used for latency measurement
2020-05-09 00:55:40 +02:00
Robin Gareus
8e482ef0fb
Con't work on ALSA nperiod selection (see also d3d120fa
)
2020-04-28 17:56:17 +02:00
Robin Gareus
35fe4f79f5
Fix translation context (amend 47e4216012
)
2020-04-21 20:50:45 +02:00
Alexandre Prokoudine
47e4216012
Mark user-visible messages for translation
2020-04-21 15:35:52 +02:00
Robin Gareus
a2f7abc70b
Continue to load session after MIDI latency calibration
...
This amends e6febe040a
2020-04-10 01:43:11 +02:00
Robin Gareus
e6febe040a
Continue to load session after latency calibration #7998
2020-04-09 23:31:45 +02:00
Robin Gareus
7eb16db628
Default to device reported systemic latency
2020-02-24 04:25:42 +01:00
Robin Gareus
7e899b4199
Restore engine state for auto-start
2020-01-27 22:27:29 +01:00
Paul Davis
a416829379
make audio/MIDI setup dialog use ArdourDialog::_sensitive
2020-01-24 15:56:37 -07:00
Robin Gareus
2b55d6dce3
First batch of MessageDialog replacements
2019-12-14 23:44:01 +01:00
Paul Davis
debcb22697
NOOP: line merge
2019-12-11 14:53:00 -07:00