summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/meter.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-07 14:18:06 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-07 14:18:06 +0000
commit8dab33c609bdf588aa33cd4e34019f7319f078d6 (patch)
tree0ecf90dda51d0947085ba78206f9188f43e2f2cc /libs/ardour/ardour/meter.h
parent1a447016437727452fdf00e7c762f339c796f736 (diff)
Route::set_meter_point() is now conceptually RT safe, although it still takes a write lock on the processor list. this allows it to be called when setting rec-enable status on a route. not thoroughly tested, and still incomplete - single route rec-enables should probably use this pathway, and there is still no cross-thread cleanup from an RT route op request
git-svn-id: svn://localhost/ardour2/branches/3.0@6320 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/meter.h')
-rw-r--r--libs/ardour/ardour/meter.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/libs/ardour/ardour/meter.h b/libs/ardour/ardour/meter.h
index dbaba25a06..ae0a1672db 100644
--- a/libs/ardour/ardour/meter.h
+++ b/libs/ardour/ardour/meter.h
@@ -59,6 +59,19 @@ public:
bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const;
bool configure_io (ChanCount in, ChanCount out);
+
+ /* special method for meter, to ensure that it can always handle the maximum
+ number of streams in the route, no matter where we put it.
+ */
+
+ void reset_max_channels (const ChanCount&);
+
+ /* tell the meter than no matter how many channels it can handle,
+ `in' is the number it is actually going be handling from
+ now on.
+ */
+
+ void reflect_inputs (const ChanCount& in);
/** Compute peaks */
void run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes, bool);
@@ -80,10 +93,12 @@ public:
}
XMLNode& state (bool full);
-
+
private:
friend class IO;
-
+
+ uint32_t current_meters;
+
std::vector<float> _peak_power;
std::vector<float> _visible_peak_power;
std::vector<float> _max_peak_power;