13
0
Commit Graph

356 Commits

Author SHA1 Message Date
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Alejandro Domínguez
21e70d28cc
Replace boost::scoped_ptr with std::unique_ptr (2/2) 2024-10-19 01:04:14 +02:00
5f17d1b399
Shrink Engine Dialog when hiding the advanced section 2024-05-23 21:28:31 +02:00
dfbe4f61cd more debug output for bad buffer sized trout 2023-10-12 21:19:21 -06:00
6c96c9bd4a
Add workaround for blank engine-dialog with some XWayland installs 2023-08-22 20:57:43 +02:00
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
1b6ba4d71d
Improve error message 2023-06-18 16:24:33 +02:00
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
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
3b8cbd7c8f
Revert "Debug xwayland blank Engine dialog, allow to resize the window"
This reverts commit bb474b1b8e.
2023-05-24 00:45:16 +02:00
bb474b1b8e
Debug xwayland blank Engine dialog, allow to resize the window
Revert this before release
2023-05-23 03:19:34 +02:00
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
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
138b25c0b0
Do not update devices when JACK is already running 2023-02-01 03:09:13 +01:00
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
1ad22e9ce9
Make engine dialog non-resizable (remove resize workarounds) 2022-12-30 23:43:35 +01:00
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
95fceceeb4
Engine-dialog: move MIDI system to advanced (amend 0a5b62a9e1b0) 2022-07-11 21:45:55 +02:00
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
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
8f4aab9584
NO-OP: clang-format 2022-07-11 21:45:54 +02:00
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
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
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
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
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
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
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
4abde9972d
Yet another fix for asymetric I/O latencies 2021-04-15 03:44:33 +02:00
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
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
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
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
4c8f562053
Better version of 24ca53f97 (engine dialog, MIDI calibration) 2020-05-18 23:01:44 +02:00
24ca53f971
Don't autostart engine for MIDI latency compensation 2020-05-18 22:49:31 +02:00
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
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
fe8df2eeae
Remember I/O ports used for latency measurement 2020-05-09 00:55:40 +02:00
8e482ef0fb
Con't work on ALSA nperiod selection (see also d3d120fa) 2020-04-28 17:56:17 +02:00
35fe4f79f5
Fix translation context (amend 47e4216012) 2020-04-21 20:50:45 +02:00
47e4216012
Mark user-visible messages for translation 2020-04-21 15:35:52 +02:00
a2f7abc70b
Continue to load session after MIDI latency calibration
This amends e6febe040a
2020-04-10 01:43:11 +02:00
e6febe040a
Continue to load session after latency calibration #7998 2020-04-09 23:31:45 +02:00
7eb16db628
Default to device reported systemic latency 2020-02-24 04:25:42 +01:00
7e899b4199
Restore engine state for auto-start 2020-01-27 22:27:29 +01:00