public override void tick() { if (!_active) { return; } SignalBuffer dbin = getSignalInputBuffer(ioIn); SignalBuffer dbout = getSignalOutputBuffer(ioOut); if (!active) { if ((dbin != null) && (dbout != null)) { dbout.CopyFrom(dbin); } return; } SignalBuffer dbf = getSignalInputBuffer(ioF); SignalBuffer dbq = getSignalInputBuffer(ioQ); if (dbout == null) { return; } if (dbin == null) { return; } if (filter == null) { if (HighPass) { filter = new BiQuad(owner.sampleRate, BiQuad.BiQuadOrder.Second, BiQuad.BiQuadMode.HighPass, Math.Sqrt(f1 * f2), Math.Pow(10, (q1 + q2) / 2 / 20)); } else { filter = new BiQuad(owner.sampleRate, BiQuad.BiQuadOrder.Second, BiQuad.BiQuadMode.LowPass, Math.Sqrt(f1 * f2), Math.Pow(10, (q1 + q2) / 2 / 20)); } } for (int i = 0; i < owner.blockSize; i++) { double fin = (dbf != null) ? dbf.data[i] : 0; double qin = (dbq != null) ? dbq.data[i] : 0; double sig = (dbin != null) ? dbin.data[i]:0; fin = f1 * Math.Pow(f2 / f1, (fin + 1.0) / 2.0); qin = Math.Pow(10, (q1 + (q2 - q1) * (qin + 1.0) / 2) / 20); filter.frequency = fin; filter.Q = qin; sig = filter.filter(sig); dbout.data[i] = sig; } }
public override void tick() { if (!_active) { return; } SignalBuffer dbout = getSignalOutputBuffer(ioOut); if (dbout == null) { return; } SignalBuffer dbin = null; if ((channels >= 1) && (input == 0)) { dbin = getSignalInputBuffer(io1); } if ((channels >= 2) && (input == 1)) { dbin = getSignalInputBuffer(io2); } if ((channels >= 3) && (input == 2)) { dbin = getSignalInputBuffer(io3); } if ((channels >= 4) && (input == 3)) { dbin = getSignalInputBuffer(io4); } if ((channels >= 5) && (input == 4)) { dbin = getSignalInputBuffer(io5); } if ((channels >= 6) && (input == 5)) { dbin = getSignalInputBuffer(io6); } if ((channels >= 7) && (input == 6)) { dbin = getSignalInputBuffer(io7); } if ((channels >= 8) && (input == 7)) { dbin = getSignalInputBuffer(io8); } if (dbin == null) { return; } dbout.CopyFrom(dbin); }
public override void tick() { SignalBuffer dbin = getSignalInputBuffer(ioI); SignalBuffer dbout = getSignalOutputBuffer(ioO); if ((dbin == null) || (dbout == null)) { return; } dbout.CopyFrom(dbin); }
public override void tick() { SignalBuffer dbA = getSignalInputBuffer(ioI0); SignalBuffer dbB = getSignalInputBuffer(ioI1); SignalBuffer dbSel = getSignalInputBuffer(ioSel); SignalBuffer dbOut = getSignalOutputBuffer(ioO); if (dbOut == null) { return; } if (dbSel == null) { // No Selector connected if (dbA != null) { dbOut.CopyFrom(dbA); } return; } if ((dbA == null) && (dbB == null)) { // No Inputs connected return; } if (dbA == null) { // Input A not connected for (int i = 0; i < owner.blockSize; i++) { dbOut.data[i] = (dbSel.data[i] > 0) ? dbB.data[i] : 0.0; } return; } if (dbB == null) { // Input B not connected for (int i = 0; i < owner.blockSize; i++) { dbOut.data[i] = (dbSel.data[i] > 0) ? 0.0 : dbA.data[i]; } return; } for (int i = 0; i < owner.blockSize; i++) { dbOut.data[i] = (dbSel.data[i] > 0) ? dbB.data[i] : dbA.data[i]; } }