Exemple #1
0
void ControlPanel::disableCallbacks()
{

    std::cout << "Control panel received signal to disable callbacks." << std::endl;

    if (audio->callbacksAreActive())
    {
        std::cout << "Stopping audio." << std::endl;
        audio->endCallbacks();
        std::cout << "Disabling processors." << std::endl;
        graph->disableProcessors();
        std::cout << "Updating control panel." << std::endl;
        refreshMeters();
        stopTimer();
        startTimer(60000); // back to refresh every 10 seconds

    }

    playButton->setToggleState(false, dontSendNotification);
    recordButton->setToggleState(false, dontSendNotification);
    masterClock->stopRecording();
    masterClock->stop();


}
Exemple #2
0
void ControlPanel::timerCallback()
{
    //std::cout << "Message Received." << std::endl;

    refreshMeters();

}
Exemple #3
0
void ControlPanel::buttonClicked(Button* button)

{

    if (button == newDirectoryButton && newDirectoryButton->getEnabledState())
    {
        graph->getRecordNode()->newDirectoryNeeded = true;
        newDirectoryButton->setEnabledState(false);
        masterClock->resetRecordTime();

        dateText->setColour(Label::textColourId, Colours::grey);

        return;

    }

    if (button == playButton)
    {
        if (playButton->getToggleState())
        {

            if (graph->enableProcessors()) // start the processor graph
            {
                audio->beginCallbacks();
                masterClock->start();
                audioEditor->disable();

                stopTimer();
                startTimer(250); // refresh every 250 ms

            }
        }
        else
        {

            if (recordButton->getToggleState())
            {
                stopRecording();
            }

            audio->endCallbacks();
            graph->disableProcessors();
            refreshMeters();
            masterClock->stop();
            stopTimer();
            startTimer(60000); // back to refresh every minute
            audioEditor->enable();

        }

        return;
    }

    if (button == recordButton)
    {
        if (recordButton->getToggleState())
        {
            if (playButton->getToggleState())
            {
                startRecording();
            }
            else
            {
                if (graph->enableProcessors()) // start the processor graph
                {
                    audio->beginCallbacks();
                    masterClock->start();
                    audioEditor->disable();

                    stopTimer();
                    startTimer(250); // refresh every 250 ms

                    startRecording();

                    playButton->setToggleState(true, dontSendNotification);

                }
            }
        }
        else
        {
            stopRecording();
        }
    }

}
Exemple #4
0
void ControlPanel::buttonClicked(Button* button)

{
    
    if (button == recordButton)
    {
        std::cout << "Record button pressed." << std::endl;
        if (recordButton->getToggleState())
        {

            startRecording();

        }
        else
        {
            stopRecording();
        }

        dateText->setColour(Label::textColourId, Colours::black);

    }
    else if (button == playButton)
    {
        std::cout << "Play button pressed." << std::endl;
        if (!playButton->getToggleState())
        {
            if (recordButton->getToggleState())
            {
                recordButton->setToggleState(false,false);
                newDirectoryButton->setEnabledState(true);
            }

        }

    }
    else if (button == newDirectoryButton && newDirectoryButton->getEnabledState())
    {
        graph->getRecordNode()->newDirectoryNeeded = true;
        newDirectoryButton->setEnabledState(false);
        masterClock->resetRecordTime();

        dateText->setColour(Label::textColourId, Colours::grey);

        return;

    }

    if (playButton->getToggleState())
    {

        if (!audio->callbacksAreActive())
        {

            if (graph->enableProcessors())
            {
                
                //std::cout << "Enabling processors from " << getThreadName() << " thread." << std::endl;
                
                if (recordButton->getToggleState())
                    graph->setRecordState(true);

                stopTimer();
                
                audio->beginCallbacks();
                masterClock->start();
                
                startTimer(250); // refresh every 250 ms

            }

        }
        else
        {

            if (recordButton->getToggleState())
            {
                graph->setRecordState(true); //getRecordNode()->setParameter(1,10.0f);
            }

        }

    }
    else
    {

        if (audio->callbacksAreActive())
        {
            
            std::cout << "Control panel requesting to end callbacks." << std::endl;
            
            audio->endCallbacks();
            
            std::cout << "Control panel requesting to disable processors." << std::endl;
            graph->disableProcessors();
            
            refreshMeters();
            masterClock->stop();
            stopTimer();
            startTimer(60000); // back to refresh every minute

        }

    }

}