Add "clear" button to RTA Window

This commit is contained in:
Robin Gareus 2025-08-20 12:50:16 +02:00
parent ac9ffefb94
commit b0af872de2
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
2 changed files with 12 additions and 0 deletions

View file

@ -44,6 +44,7 @@ using namespace ARDOUR;
RTAWindow::RTAWindow ()
: ArdourWindow (_("Realtime Perceptual Analyzer"))
, _pause (_("Freeze"), ArdourWidgets::ArdourButton::default_elements, true)
, _clear (_("Clear"), ArdourWidgets::ArdourButton::default_elements)
, _visible (false)
, _margin (24)
, _min_dB (-60)
@ -56,6 +57,8 @@ RTAWindow::RTAWindow ()
_pause.signal_clicked.connect (mem_fun (*this, &RTAWindow::pause_toggled));
_pause.set_name ("rta freeze button");
_clear.signal_clicked.connect (mem_fun (*this, &RTAWindow::clear_clicked));
_darea.add_events (Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::POINTER_MOTION_MASK | Gdk::LEAVE_NOTIFY_MASK);
_darea.signal_size_request ().connect (sigc::mem_fun (*this, &RTAWindow::darea_size_request));
_darea.signal_size_allocate ().connect (sigc::mem_fun (*this, &RTAWindow::darea_size_allocate));
@ -101,6 +104,7 @@ RTAWindow::RTAWindow ()
_ctrlbox.pack_start (_warp_dropdown, false, false);
_ctrlbox.pack_start (_pointer_info, false, false, 5);
_ctrlbox.pack_end (_pause, false, false);
_ctrlbox.pack_end (_clear, false, false);
_vpacker.pack_start (_darea, true, true);
_vpacker.pack_start (_ctrlbox, false, false, 5);
@ -244,6 +248,12 @@ RTAWindow::pause_toggled ()
RTAManager::instance ()->set_active (_visible && !_pause.get_active ());
}
void
RTAWindow::clear_clicked ()
{
RTAManager::instance ()->clear ();
}
void
RTAWindow::rta_settings_changed ()
{

View file

@ -65,6 +65,7 @@ private:
void set_rta_warp (ARDOUR::DSP::PerceptualAnalyzer::Warp);
void pause_toggled ();
void clear_clicked ();
enum DragStatus {
DragNone,
@ -82,6 +83,7 @@ private:
Gtk::DrawingArea _darea;
Gtk::Label _pointer_info;
ArdourWidgets::ArdourButton _pause;
ArdourWidgets::ArdourButton _clear;
ArdourWidgets::ArdourDropdown _speed_dropdown;
ArdourWidgets::ArdourDropdown _warp_dropdown;
Cairo::RefPtr<Cairo::ImageSurface> _grid;