Skip to content
Snippets Groups Projects
Commit 44cbddc9 authored by jsiegle's avatar jsiegle
Browse files

Reduced ControlPanel CPU usage

parent c78f8fb4
No related branches found
No related tags found
No related merge requests found
...@@ -104,14 +104,14 @@ bool AudioComponent::callbacksAreActive() { ...@@ -104,14 +104,14 @@ bool AudioComponent::callbacksAreActive() {
void AudioComponent::restartDevice() void AudioComponent::restartDevice()
{ {
//deviceManager.restartLastAudioDevice(); deviceManager.restartLastAudioDevice();
} }
void AudioComponent::stopDevice() void AudioComponent::stopDevice()
{ {
//deviceManager.closeAudioDevice(); deviceManager.closeAudioDevice();
} }
void AudioComponent::beginCallbacks() { void AudioComponent::beginCallbacks() {
......
...@@ -398,7 +398,7 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip ...@@ -398,7 +398,7 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip
} }
sendActionMessage("New source node created."); //sendActionMessage("New source node created.");
} else if (processorType.equalsIgnoreCase("Filters")) { } else if (processorType.equalsIgnoreCase("Filters")) {
...@@ -417,7 +417,7 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip ...@@ -417,7 +417,7 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip
processor = new SpikeDetector(); processor = new SpikeDetector();
} }
sendActionMessage("New filter node created."); //sendActionMessage("New filter node created.");
} else if (processorType.equalsIgnoreCase("Utilities")) { } else if (processorType.equalsIgnoreCase("Utilities")) {
...@@ -426,14 +426,14 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip ...@@ -426,14 +426,14 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip
std::cout << "Creating a new splitter." << std::endl; std::cout << "Creating a new splitter." << std::endl;
processor = new Splitter(); processor = new Splitter();
sendActionMessage("New splitter created."); //sendActionMessage("New splitter created.");
} else if (subProcessorType.equalsIgnoreCase("Merger")) { } else if (subProcessorType.equalsIgnoreCase("Merger")) {
std::cout << "Creating a new merger." << std::endl; std::cout << "Creating a new merger." << std::endl;
processor = new Merger(); processor = new Merger();
sendActionMessage("New merger created."); //sendActionMessage("New merger created.");
} }
...@@ -456,7 +456,7 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip ...@@ -456,7 +456,7 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip
processor = new WiFiOutput(); processor = new WiFiOutput();
} }
sendActionMessage("New sink created."); //sendActionMessage("New sink created.");
} }
return processor; return processor;
......
...@@ -429,9 +429,10 @@ ControlPanel::ControlPanel(ProcessorGraph* graph_, AudioComponent* audio_) : ...@@ -429,9 +429,10 @@ ControlPanel::ControlPanel(ProcessorGraph* graph_, AudioComponent* audio_) :
""); "");
addChildComponent(filenameComponent); addChildComponent(filenameComponent);
startTimer(100); //diskMeter->updateDiskSpace(graph->getRecordNode()->getFreeSpace());
//diskMeter->repaint();
refreshMeters();
startTimer(5000); // update disk space every 10 seconds
setWantsKeyboardFocus(true); setWantsKeyboardFocus(true);
...@@ -557,10 +558,12 @@ void ControlPanel::buttonClicked(Button* button) ...@@ -557,10 +558,12 @@ void ControlPanel::buttonClicked(Button* button)
std::cout << "Record button pressed." << std::endl; std::cout << "Record button pressed." << std::endl;
if (recordButton->getToggleState()) if (recordButton->getToggleState())
{ {
playButton->setToggleState(true,false); playButton->setToggleState(true,false);
graph->getRecordNode()->setParameter(1,10.0f); graph->getRecordNode()->setParameter(1,10.0f);
masterClock->startRecording(); // turn on recording masterClock->startRecording(); // turn on recording
} else { } else {
graph->getRecordNode()->setParameter(0,10.0f); // turn off recording graph->getRecordNode()->setParameter(0,10.0f); // turn off recording
masterClock->stopRecording(); masterClock->stopRecording();
...@@ -598,6 +601,8 @@ void ControlPanel::buttonClicked(Button* button) ...@@ -598,6 +601,8 @@ void ControlPanel::buttonClicked(Button* button)
if (recordButton->getToggleState()) if (recordButton->getToggleState())
graph->getRecordNode()->setParameter(1,10.0f); graph->getRecordNode()->setParameter(1,10.0f);
stopTimer();
startTimer(250); // refresh every 250 ms
audio->beginCallbacks(); audio->beginCallbacks();
masterClock->start(); masterClock->start();
} }
...@@ -609,8 +614,10 @@ void ControlPanel::buttonClicked(Button* button) ...@@ -609,8 +614,10 @@ void ControlPanel::buttonClicked(Button* button)
if (audio->callbacksAreActive()) { if (audio->callbacksAreActive()) {
audio->endCallbacks(); audio->endCallbacks();
graph->disableProcessors(); graph->disableProcessors();
cpuMeter->updateCPU(0.0f); refreshMeters();
masterClock->stop(); masterClock->stop();
stopTimer();
startTimer(10000); // back to refresh every 10 seconds
} }
...@@ -630,7 +637,9 @@ void ControlPanel::disableCallbacks() ...@@ -630,7 +637,9 @@ void ControlPanel::disableCallbacks()
std::cout << "Disabling processors." << std::endl; std::cout << "Disabling processors." << std::endl;
graph->disableProcessors(); graph->disableProcessors();
std::cout << "Updating control panel." << std::endl; std::cout << "Updating control panel." << std::endl;
cpuMeter->updateCPU(0.0f); refreshMeters();
stopTimer();
startTimer(10000); // back to refresh every 10 seconds
} }
...@@ -642,26 +651,35 @@ void ControlPanel::disableCallbacks() ...@@ -642,26 +651,35 @@ void ControlPanel::disableCallbacks()
} }
void ControlPanel::actionListenerCallback(const String & msg) // void ControlPanel::actionListenerCallback(const String & msg)
{ // {
//std::cout << "Message Received." << std::endl; // //std::cout << "Message Received." << std::endl;
if (playButton->getToggleState()) { // if (playButton->getToggleState()) {
cpuMeter->updateCPU(audio->deviceManager.getCpuUsage()); // cpuMeter->updateCPU(audio->deviceManager.getCpuUsage());
} // }
cpuMeter->repaint(); // cpuMeter->repaint();
diskMeter->updateDiskSpace(graph->getRecordNode()->getFreeSpace()); // diskMeter->updateDiskSpace(graph->getRecordNode()->getFreeSpace());
diskMeter->repaint(); // diskMeter->repaint();
} // }
void ControlPanel::timerCallback() void ControlPanel::timerCallback()
{ {
//std::cout << "Message Received." << std::endl; //std::cout << "Message Received." << std::endl;
refreshMeters();
}
void ControlPanel::refreshMeters()
{
if (playButton->getToggleState()) { if (playButton->getToggleState()) {
cpuMeter->updateCPU(audio->deviceManager.getCpuUsage()); cpuMeter->updateCPU(audio->deviceManager.getCpuUsage());
} else {
cpuMeter->updateCPU(0.0f);
} }
cpuMeter->repaint(); cpuMeter->repaint();
...@@ -670,8 +688,6 @@ void ControlPanel::timerCallback() ...@@ -670,8 +688,6 @@ void ControlPanel::timerCallback()
diskMeter->updateDiskSpace(graph->getRecordNode()->getFreeSpace()); diskMeter->updateDiskSpace(graph->getRecordNode()->getFreeSpace());
diskMeter->repaint(); diskMeter->repaint();
} }
bool ControlPanel::keyPressed(const KeyPress& key) bool ControlPanel::keyPressed(const KeyPress& key)
......
...@@ -209,7 +209,7 @@ class UtilityButton; ...@@ -209,7 +209,7 @@ class UtilityButton;
class ControlPanel : public Component, class ControlPanel : public Component,
public Button::Listener, public Button::Listener,
public ActionListener, // public ActionListener,
public Timer, public Timer,
public AccessClass public AccessClass
...@@ -247,11 +247,12 @@ private: ...@@ -247,11 +247,12 @@ private:
void resized(); void resized();
void buttonClicked(Button* button); void buttonClicked(Button* button);
void actionListenerCallback(const String& msg); //void actionListenerCallback(const String& msg);
void updateChildComponents(); void updateChildComponents();
void timerCallback(); void timerCallback();
void refreshMeters();
bool keyPressed(const KeyPress &key); bool keyPressed(const KeyPress &key);
......
...@@ -228,9 +228,13 @@ const PopupMenu UIComponent::getMenuForIndex(int menuIndex, const String& menuNa ...@@ -228,9 +228,13 @@ const PopupMenu UIComponent::getMenuForIndex(int menuIndex, const String& menuNa
{ {
menu.addCommandItem (commandManager, openConfiguration); menu.addCommandItem (commandManager, openConfiguration);
menu.addCommandItem (commandManager, saveConfiguration); menu.addCommandItem (commandManager, saveConfiguration);
menu.addSeparator();
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::quit); #if !JUCE_MAC
} else if (menuIndex == 1) menu.addSeparator();
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::quit);
#endif
} else if (menuIndex == 1)
{ {
menu.addCommandItem (commandManager, undo); menu.addCommandItem (commandManager, undo);
menu.addCommandItem (commandManager, redo); menu.addCommandItem (commandManager, redo);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment