mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
fix meterbridge metric display switch
This commit is contained in:
parent
3a8f5a9770
commit
4a9e79e53f
3 changed files with 9 additions and 5 deletions
|
|
@ -581,13 +581,14 @@ Meterbridge::update_metrics ()
|
||||||
void
|
void
|
||||||
Meterbridge::sync_order_keys (RouteSortOrderKey src)
|
Meterbridge::sync_order_keys (RouteSortOrderKey src)
|
||||||
{
|
{
|
||||||
|
Glib::Threads::Mutex::Lock lm (_resync_mutex);
|
||||||
|
|
||||||
MeterOrderRouteSorter sorter;
|
MeterOrderRouteSorter sorter;
|
||||||
std::list<MeterBridgeStrip> copy (strips);
|
strips.sort(sorter);
|
||||||
copy.sort(sorter);
|
|
||||||
|
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
|
|
||||||
for (list<MeterBridgeStrip>::iterator i = copy.begin(); i != copy.end(); ++i) {
|
for (list<MeterBridgeStrip>::iterator i = strips.begin(); i != strips.end(); ++i) {
|
||||||
|
|
||||||
if (! (*i).s->route()->active()) {
|
if (! (*i).s->route()->active()) {
|
||||||
(*i).s->hide();
|
(*i).s->hide();
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@
|
||||||
#ifndef __ardour_meterbridge_h__
|
#ifndef __ardour_meterbridge_h__
|
||||||
#define __ardour_meterbridge_h__
|
#define __ardour_meterbridge_h__
|
||||||
|
|
||||||
|
#include <glibmm/thread.h>
|
||||||
|
|
||||||
#include <gtkmm/box.h>
|
#include <gtkmm/box.h>
|
||||||
#include <gtkmm/scrolledwindow.h>
|
#include <gtkmm/scrolledwindow.h>
|
||||||
#include <gtkmm/label.h>
|
#include <gtkmm/label.h>
|
||||||
|
|
@ -81,6 +83,7 @@ class Meterbridge :
|
||||||
void session_going_away ();
|
void session_going_away ();
|
||||||
void sync_order_keys (ARDOUR::RouteSortOrderKey src);
|
void sync_order_keys (ARDOUR::RouteSortOrderKey src);
|
||||||
void resync_order ();
|
void resync_order ();
|
||||||
|
mutable Glib::Threads::Mutex _resync_mutex;
|
||||||
|
|
||||||
struct MeterBridgeStrip {
|
struct MeterBridgeStrip {
|
||||||
MeterStrip *s;
|
MeterStrip *s;
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ PeakMeter::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end_fr
|
||||||
// Meter audio in to the rest of the peaks
|
// Meter audio in to the rest of the peaks
|
||||||
for (uint32_t i = 0; i < n_audio; ++i, ++n) {
|
for (uint32_t i = 0; i < n_audio; ++i, ++n) {
|
||||||
_peak_signal[n] = compute_peak (bufs.get_audio(i).data(), nframes, _peak_signal[n]);
|
_peak_signal[n] = compute_peak (bufs.get_audio(i).data(), nframes, _peak_signal[n]);
|
||||||
if (1 /* TODO use separate bit-flags for mixer|meterbridge */ || _meter_type & MeterKrms) {
|
if (/* TODO use separate bit-flags for mixer,meterbridge,.. */ /* 1 || */ _meter_type & MeterKrms) {
|
||||||
_kmeter[i]->process(bufs.get_audio(i).data(), nframes);
|
_kmeter[i]->process(bufs.get_audio(i).data(), nframes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue