On 02/01, Dario Sanfilippo wrote: > > I have a network with several modules and nested feedback loops. I need to > inspect some of the signals which are not part of the main output to make > sure that their behaviour is correct.
Well, if you compile .dsp to c/c++ perhaps you can try fpp, at least for debugging purposes. See https://sourceforge.net/p/faudiostream/mailman/message/36437475/ To simplify, suppose you have process = _ <: sin, cos : +; and now you want to inspect the result of sin() and cos(). You can do W = FPP(i,x) { loop: float temp_$i; exec: temp_$i = $x; }; R = FPP(i) { temp_$i }; process = _ <: sin, cos : W(0),W(1) : +, R(0),R(1); or process = _ <: W(0,sin), W(1, cos) : +, R(0), R(1); this compiles to virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) { FAUSTFLOAT* input0 = inputs[0]; FAUSTFLOAT* output0 = outputs[0]; FAUSTFLOAT* output1 = outputs[1]; FAUSTFLOAT* output2 = outputs[2]; for (int i = 0; (i < count); i = (i + 1)) { float temp_1; float temp_0; float fTemp1 = float(input0[i]); output0[i] = FAUSTFLOAT((float(({ temp_1 = std::cos(fTemp1); })) + float(({ temp_0 = std::sin(fTemp1); })))); output1[i] = FAUSTFLOAT(float(({ temp_0; }))); output2[i] = FAUSTFLOAT(float(({ temp_1; }))); } } Or you can do P = FPP(x) { FILE: #include <stdio.h> DECL: FILE *debug; INIT: debug = fopen("/tmp/DEBUG.txt", "w"); exec: float x = $x; fprintf(debug, "%f\t", x); x; POST: fprintf(debug, "\n"); }; process = _ <: P(sin), P(cos) : +; this way you can dump the values you want to inspect into /tmp/DEBUG.txt. Oleg. _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users