From fd13fdb1bfcb78d5e4020f569c6d4a8c2dd634c3 Mon Sep 17 00:00:00 2001 From: Franke Burgarino Date: Thu, 21 Aug 2025 16:57:42 -0500 Subject: [PATCH] MCU: fix pan values for mixbus --- libs/surfaces/mackie/strip.cc | 20 +++++++------------- libs/surfaces/mackie/strip.h | 2 +- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/libs/surfaces/mackie/strip.cc b/libs/surfaces/mackie/strip.cc index cdc74d4310..aba2232147 100644 --- a/libs/surfaces/mackie/strip.cc +++ b/libs/surfaces/mackie/strip.cc @@ -719,6 +719,7 @@ Strip::remove_units (std::string s) { s = std::regex_replace (s, std::regex(" Hz$"), ""); s = std::regex_replace (s, std::regex(" dB$"), ""); s = std::regex_replace (s, std::regex(" ms$"), ""); + s = std::regex_replace (s, std::regex(" °$"), ""); // convert seconds to milliseconds if (s.rfind(" s") != string::npos) { @@ -738,7 +739,7 @@ std::string Strip::format_parameter_for_display( ARDOUR::ParameterDescriptor const& desc, float val, - std::shared_ptr stripable_for_non_mixbus_azimuth_automation, + std::shared_ptr stripable_for_azimuth_automation, bool& overwrite_screen_hold) { std::string formatted_parameter_display; @@ -762,18 +763,11 @@ Strip::format_parameter_for_display( break; case PanAzimuthAutomation: - if (Profile->get_mixbus()) { - // XXX no _stripable check? - snprintf (buf, sizeof (buf), "%2.1f", val); - formatted_parameter_display = buf; - overwrite_screen_hold = true; - } else { - if (stripable_for_non_mixbus_azimuth_automation) { - std::shared_ptr pa = stripable_for_non_mixbus_azimuth_automation->pan_azimuth_control(); - if (pa) { - formatted_parameter_display = pa->get_user_string (); - overwrite_screen_hold = true; - } + if (stripable_for_azimuth_automation) { + std::shared_ptr pa = stripable_for_azimuth_automation->pan_azimuth_control(); + if (pa) { + formatted_parameter_display = Profile->get_mixbus() ? remove_units(pa->get_user_string()) : pa->get_user_string(); + overwrite_screen_hold = true; } } break; diff --git a/libs/surfaces/mackie/strip.h b/libs/surfaces/mackie/strip.h index c944bc86ad..98faee1c76 100644 --- a/libs/surfaces/mackie/strip.h +++ b/libs/surfaces/mackie/strip.h @@ -97,7 +97,7 @@ public: static std::string format_parameter_for_display( ARDOUR::ParameterDescriptor const& desc, float val, - std::shared_ptr stripable_for_non_mixbus_azimuth_automation, + std::shared_ptr stripable_for_azimuth_automation, bool& overwrite_screen_hold); void zero ();