Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        public override void tick()
        {
            SignalBuffer dbin  = getSignalInputBuffer(ioI);
            SignalBuffer dbout = getSignalOutputBuffer(ioO);

            if ((dbin == null) || (dbout == null))
            {
                return;
            }

            dbout.CopyFrom(dbin);
        }
Esempio n. 4
0
        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];
            }
        }