View Issue Details

IDProjectCategoryView StatusLast Update
0004487ardourbugspublic2020-04-19 20:15
Reportercth103 Assigned Tocth103  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0-beta1 
Target Version3.0-beta2 
Summary0004487: do-not-record-plugins setting is ignored
DescriptionThe only time this is read is in calls to process_output_buffers, and it ignores its with_processors parameter.
TagsNo tags attached.

Activities

2011-11-18 01:51

 

foo.patch (2,257 bytes)   
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index b136026..e58fde8 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -391,6 +391,7 @@ Route::maybe_declick (BufferSet&, framecnt_t, int)
  * @param start_frame Initial transport frame
  * @param end_frame Final transport frame
  * @param nframes Number of frames to output (to ports)
+ * @param with_visible_processors true to run visible processors, false to not run them; Fader (Amp) is always run
  *
  * Note that (end_frame - start_frame) may not be equal to nframes when the
  * transport speed isn't 1.0 (eg varispeed).
@@ -398,7 +399,7 @@ Route::maybe_declick (BufferSet&, framecnt_t, int)
 void
 Route::process_output_buffers (BufferSet& bufs,
 			       framepos_t start_frame, framepos_t end_frame, pframes_t nframes,
-			       bool /*with_processors*/, int declick,
+			       bool with_visible_processors, int declick,
                                bool gain_automation_ok)
 {
 	bool monitor = should_monitor ();
@@ -485,6 +486,10 @@ Route::process_output_buffers (BufferSet& bufs,
 			break;
 		}
 
+		if (!with_visible_processors && (*i)->display_to_user() && boost::dynamic_pointer_cast<Amp> (*i) == 0) {
+			continue;
+		}
+
 #ifndef NDEBUG
 		/* if it has any inputs, make sure they match */
 		if ((*i)->input_streams() != ChanCount::ZERO) {
@@ -548,7 +553,11 @@ Route::passthru (framepos_t start_frame, framepos_t end_frame, pframes_t nframes
 	}
 
 	write_out_of_band_data (bufs, start_frame, end_frame, nframes);
-	process_output_buffers (bufs, start_frame, end_frame, nframes, true, declick, true);
+	process_output_buffers (
+		bufs, start_frame, end_frame, nframes,
+		(!_session.get_record_enabled() || !Config->get_do_not_record_plugins()),
+		declick, true
+		);
 }
 
 void
@@ -558,7 +567,11 @@ Route::passthru_silence (framepos_t start_frame, framepos_t end_frame, pframes_t
 
 	bufs.set_count (_input->n_ports());
 	write_out_of_band_data (bufs, start_frame, end_frame, nframes);
-	process_output_buffers (bufs, start_frame, end_frame, nframes, true, declick, false);
+	process_output_buffers (
+		bufs, start_frame, end_frame, nframes,
+		(!_session.get_record_enabled() || !Config->get_do_not_record_plugins()),
+		declick, false
+		);
 }
 
 void
foo.patch (2,257 bytes)   

cth103

2011-11-18 01:51

administrator   ~0012112

Last edited: 2011-11-21 00:30

Patch attached; however, it causes problems with, for example, routes with mono->stereo split plugins that suddenly get turned off. I am tempted to remove this option...

cth103

2011-11-21 16:34

administrator   ~0012156

Better patch committed to SVN 10731.

system

2020-04-19 20:15

developer   ~0022848

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2011-11-17 23:37 cth103 New Issue
2011-11-17 23:37 cth103 cost => 0.00
2011-11-18 01:50 cth103 File Added: foo
2011-11-18 01:50 cth103 File Deleted: foo
2011-11-18 01:51 cth103 File Added: foo.patch
2011-11-18 01:51 cth103 Note Added: 0012112
2011-11-21 00:30 cth103 Note Edited: 0012112
2011-11-21 16:34 cth103 Note Added: 0012156
2011-11-21 16:34 cth103 Status new => resolved
2011-11-21 16:34 cth103 Resolution open => fixed
2011-11-21 16:34 cth103 Assigned To => cth103
2020-04-19 20:15 system Note Added: 0022848
2020-04-19 20:15 system Status resolved => closed