Example #1
0
    //Connect components to eachother - called in audio engine
    public void createConnection(CoreComponent input, CoreComponent output, CoreSocketCasing inputSocket, CoreSocketCasing outputSocket)
    {
        if (inputSocket is AudioInputSocketCasing && outputSocket is AudioOutputSocketCasing)
        {
            AudioSocketComponent inSocComp  = audioInputs[inputSocket.getSocketNum()];
            AudioSocketComponent outSocComp = output.io.audioOutputs[outputSocket.getSocketNum()];

            inSocComp.connect(outSocComp);
            inSocComp.setSocketNum(inputSocket.getSocketNum());

            outSocComp.connect(inSocComp);
            outSocComp.setSocketNum(outputSocket.getSocketNum());
        }
        else if (inputSocket is DataInputSocketCasing && outputSocket is DataOutputSocketCasing)
        {
            DataSocketComponent inSocComp  = dataInputs[inputSocket.getSocketNum()];
            DataSocketComponent outSocComp = output.io.dataOutputs[outputSocket.getSocketNum()];

            DataSocketCasing dataInputSocket  = inputSocket as DataSocketCasing;
            DataSocketCasing dataOutputSocket = outputSocket as DataSocketCasing;

            inSocComp.connect(outSocComp);
            inSocComp.setSocketNum(dataInputSocket.getSocketNum());
            inSocComp.setControlNum(dataInputSocket.getControlNum());

            outSocComp.connect(inSocComp);
            outSocComp.setSocketNum(dataOutputSocket.getSocketNum());
            outSocComp.setControlNum(dataOutputSocket.getControlNum());
        }
    }
Example #2
0
    //Push the data from to the next block
    public void push()
    {
        AudioSocketComponent connectedAudioSocket = connectedSocket as AudioSocketComponent;

        if (connectedAudioSocket != null)
        {
            connectedAudioSocket.buffer = buffer;
        }
    }
Example #3
0
    protected override void processBuffer()
    {
        bool firstConnectedSocketFound = false;

        float[] output = io.audioOutputs[0].getBuffer();

        if (output != null)
        {
            for (int i = 0; i < io.audioInputs.Count; i++)
            {
                AudioSocketComponent input = io.audioInputs[i];

                float[] tempBuffer = input.getBuffer();

                if (tempBuffer != null)
                {
                    if (!firstConnectedSocketFound)
                    {
                        firstConnectedSocketFound = true;
                        tempBuffer.CopyTo(output, 0);

                        for (int n = 0; n < bufferLength; n++)
                        {
                            output[n] *= channelVolumes[i];
                        }
                    }
                    else
                    {
                        for (int n = 0; n < bufferLength; n++)
                        {
                            output[n] += tempBuffer[n] * channelVolumes[i];
                        }
                    }
                }
            }

            for (int n = 0; n < bufferLength; n++)
            {
                output[n] *= outputVolume;
            }

            if (!firstConnectedSocketFound)
            {
                for (int n = 0; n < bufferLength; n++)
                {
                    output[n] = 0;
                }
            }
            io.audioOutputs[0].setBuffer(output);
        }
        io.audioOutputs[0].push();
    }
Example #4
0
    public float[] getBuffer()
    {
        AudioSocketComponent connectedAudioSocket = connectedSocket as AudioSocketComponent;

        if (connectedAudioSocket != null)
        {
            return(buffer);
        }
        else
        {
            return(null);
        }
    }