These processors don't have a UI, so their load stats are not easily
visible. The stats can still be queried via Lua API or DSP-load
overview window, so we retain this for debug builds.
bool load_preset (Plugin::PresetRecord);
bool load_preset (Plugin::PresetRecord);
+ bool provides_stats () const;
bool get_stats (uint64_t& min, uint64_t& max, double& avg, double& dev) const;
void clear_stats ();
bool get_stats (uint64_t& min, uint64_t& max, double& avg, double& dev) const;
void clear_stats ();
+#if defined MIXBUS && !defined NDEBUG
+ if (!is_channelstrip ()) {
+ _timing_stats.start ();
+ }
+#else
/* run as normal if we are active or moving from inactive to active */
if (_session.transport_rolling() || _session.bounce_processing()) {
/* run as normal if we are active or moving from inactive to active */
if (_session.transport_rolling() || _session.bounce_processing()) {
Glib::Threads::Mutex::Lock lm (control_lock(), Glib::Threads::TRY_LOCK);
connect_and_run (bufs, start_sample, end_sample, speed, nframes, 0, lm.locked());
}
Glib::Threads::Mutex::Lock lm (control_lock(), Glib::Threads::TRY_LOCK);
connect_and_run (bufs, start_sample, end_sample, speed, nframes, 0, lm.locked());
}
+#if defined MIXBUS && !defined NDEBUG
+ if (!is_channelstrip ()) {
+ _timing_stats.update ();
+ }
+#else
} else {
_timing_stats.reset ();
} else {
_timing_stats.reset ();
+bool
+PluginInsert::provides_stats () const
+{
+#if defined MIXBUS && !defined NDEBUG
+ if (is_channelstrip () || !display_to_user ()) {
+ return false;
+ }
+#endif
+ return true;
+}
+
bool
PluginInsert::get_stats (uint64_t& min, uint64_t& max, double& avg, double& dev) const
{
bool
PluginInsert::get_stats (uint64_t& min, uint64_t& max, double& avg, double& dev) const
{