diff --git a/Source/Processors/AudioNode.cpp b/Source/Processors/AudioNode.cpp index 3d516ee6ddc1b552cae5da1e4ff4da4b42a708d2..802077e0a3f3830b6974f52eb73e041c9f440c22 100755 --- a/Source/Processors/AudioNode.cpp +++ b/Source/Processors/AudioNode.cpp @@ -55,6 +55,8 @@ AudioProcessorEditor* AudioNode::createEditor() { audioEditor = new AudioEditor(this); + //audioEditor->setUIComponent(getUIComponent()); + //audioEditor->updateBufferSizeText(); //setEditor(editor); @@ -72,6 +74,13 @@ void AudioNode::resetConnections() } +void AudioNode::updateBufferSize() +{ + AudioEditor* editor = (AudioEditor*) getEditor(); + editor->updateBufferSizeText(); + +} + void AudioNode::setChannel(Channel* ch) { diff --git a/Source/Processors/AudioNode.h b/Source/Processors/AudioNode.h index 48a1c19105cb60da50cfbcf5e49b8cd3c97cb1ce..4cdbb6614e8ad22b1df15ec0eca4ee3f830fc25a 100755 --- a/Source/Processors/AudioNode.h +++ b/Source/Processors/AudioNode.h @@ -93,6 +93,8 @@ public: /** A pointer to the AudioNode's editor. */ ScopedPointer<AudioEditor> audioEditor; + + void updateBufferSize(); private: diff --git a/Source/Processors/Editors/AudioEditor.cpp b/Source/Processors/Editors/AudioEditor.cpp index de5df16313072dc4b6035965f6d655bda2dd2562..fd40547588e1606c545273a50a6dd30069a1f399 100755 --- a/Source/Processors/Editors/AudioEditor.cpp +++ b/Source/Processors/Editors/AudioEditor.cpp @@ -50,10 +50,12 @@ AudioWindowButton::AudioWindowButton() { setClickingTogglesState(true); - MemoryInputStream mis(BinaryData::silkscreenserialized, BinaryData::silkscreenserializedSize, false); - Typeface::Ptr typeface = new CustomTypeface(mis); - font = Font(typeface); - font.setHeight(12); + //MemoryInputStream mis(BinaryData::silkscreenserialized, BinaryData::silkscreenserializedSize, false); + //Typeface::Ptr typeface = new CustomTypeface(mis); + font = Font("Small Text", 12, Font::plain); //Font(typeface); + //font.setHeight(12); + textString = "AUDIO"; + setTooltip("Change the buffer size"); } AudioWindowButton::~AudioWindowButton() @@ -69,7 +71,12 @@ void AudioWindowButton::paintButton(Graphics& g, bool isMouseOver, bool isButton g.setFont(font); //g.drawSingleLineText(" AUDIO",0,0); - g.drawSingleLineText("AUDIO",0,15); + g.drawSingleLineText(textString,0,15); +} + +void AudioWindowButton::setText(String text) +{ + textString = text; } AudioEditor::AudioEditor(AudioNode* owner) @@ -85,6 +92,9 @@ AudioEditor::AudioEditor(AudioNode* owner) audioWindowButton = new AudioWindowButton(); audioWindowButton->addListener(this); audioWindowButton->setToggleState(false,false); + + //AccessClass* audioNode = (AccessClass*) getAudioProcessor(); + // addAndMakeVisible(audioWindowButton); volumeSlider = new Slider("High-Cut Slider"); @@ -107,8 +117,8 @@ AudioEditor::~AudioEditor() void AudioEditor::resized() { muteButton->setBounds(0,0,30,25); - volumeSlider->setBounds(35,0,100,getHeight()); - audioWindowButton->setBounds(140,0,200,getHeight()); + volumeSlider->setBounds(35,0,50,getHeight()); + audioWindowButton->setBounds(90,0,200,getHeight()); } bool AudioEditor::keyPressed(const KeyPress& key) @@ -118,6 +128,12 @@ bool AudioEditor::keyPressed(const KeyPress& key) } +void AudioEditor::updateBufferSizeText() +{ + // currently crashing + // audioWindowButton->setText(String(getAudioComponent()->getBufferSize())); +} + void AudioEditor::buttonClicked(Button* button) { if (button == muteButton) @@ -146,7 +162,7 @@ void AudioEditor::buttonClicked(Button* button) // audioComponent->restartDevice(); // if (audioComponent != 0) { - acw = new AudioConfigurationWindow(getAudioComponent()->deviceManager, (Button*) audioWindowButton); + acw = new AudioConfigurationWindow(getAudioComponent()->deviceManager, audioWindowButton); acw->setUIComponent(getUIComponent()); //} } @@ -157,7 +173,7 @@ void AudioEditor::buttonClicked(Button* button) } else { - + audioWindowButton->setText(String(getAudioComponent()->getBufferSize())); acw->setVisible(false); //deleteAndZero(acw); getAudioComponent()->stopDevice(); @@ -179,7 +195,7 @@ void AudioEditor::paint(Graphics& g) -AudioConfigurationWindow::AudioConfigurationWindow(AudioDeviceManager& adm, Button* cButton) +AudioConfigurationWindow::AudioConfigurationWindow(AudioDeviceManager& adm, AudioWindowButton* cButton) : DocumentWindow("Audio Settings", Colours::red, DocumentWindow::closeButton), @@ -220,6 +236,7 @@ AudioConfigurationWindow::~AudioConfigurationWindow() void AudioConfigurationWindow::closeButtonPressed() { controlButton->setToggleState(false,false); + controlButton->setText(String(getAudioComponent()->getBufferSize())); getAudioComponent()->stopDevice(); setVisible(false); } diff --git a/Source/Processors/Editors/AudioEditor.h b/Source/Processors/Editors/AudioEditor.h index f84b3659ef2b6d2741efcb3ccae817dd405823f1..926db62d98c6b04da4574670b1307a526804da60 100755 --- a/Source/Processors/Editors/AudioEditor.h +++ b/Source/Processors/Editors/AudioEditor.h @@ -58,8 +58,10 @@ public: AudioWindowButton(); ~AudioWindowButton(); void paintButton(Graphics& g, bool isMouseOver, bool isButtonDown); + void setText(String); private: Font font; + String textString; }; /** @@ -73,7 +75,7 @@ class AudioConfigurationWindow : public DocumentWindow, public AccessClass { public: - AudioConfigurationWindow(AudioDeviceManager& adm, Button* b); + AudioConfigurationWindow(AudioDeviceManager& adm, AudioWindowButton* b); ~AudioConfigurationWindow(); void paint(Graphics& g); @@ -83,7 +85,7 @@ private: void closeButtonPressed(); - Button* controlButton; + AudioWindowButton* controlButton; }; @@ -109,6 +111,8 @@ public: bool keyPressed(const KeyPress& key); void resized(); + + void updateBufferSizeText(); private: diff --git a/Source/Processors/ProcessorGraph.cpp b/Source/Processors/ProcessorGraph.cpp index e929c69fc1d76b45cd5e63cad9e926e607f49e30..c380fce118816e7abfe22daa937599d8414697c5 100644 --- a/Source/Processors/ProcessorGraph.cpp +++ b/Source/Processors/ProcessorGraph.cpp @@ -118,6 +118,7 @@ void ProcessorGraph::createDefaultNodes() void ProcessorGraph::updatePointers() { getAudioNode()->setUIComponent(getUIComponent()); + getAudioNode()->updateBufferSize(); getRecordNode()->setUIComponent(getUIComponent()); } diff --git a/Source/UI/UIComponent.cpp b/Source/UI/UIComponent.cpp index 60b253f605345638c3a38e27ea24d73eee07a07e..63298a814eee151351728d68882de48f6b571b78 100755 --- a/Source/UI/UIComponent.cpp +++ b/Source/UI/UIComponent.cpp @@ -74,12 +74,14 @@ UIComponent::UIComponent(MainWindow* mainWindow_, ProcessorGraph* pgraph, AudioC std::cout << "Finished UI stuff." << std::endl << std::endl << std::endl; processorGraph->setUIComponent(this); - processorGraph->updatePointers(); // needs to happen after processorGraph gets the right pointers + processorList->setUIComponent(this); editorViewport->setUIComponent(this); dataViewport->setUIComponent(this); controlPanel->getAudioEditor()->setUIComponent(this); controlPanel->setUIComponent(this); + + processorGraph->updatePointers(); // needs to happen after processorGraph gets the right pointers //processorGraph->sendActionMessage("Test.");