closes #10
This commit is contained in:
@ -175,11 +175,28 @@ WebViewPluginAudioProcessorEditor::WebViewPluginAudioProcessorEditor(WebViewPlug
|
|||||||
addAndMakeVisible(*webComponent);
|
addAndMakeVisible(*webComponent);
|
||||||
|
|
||||||
webComponent->goToURL(localDevServerAddress);
|
webComponent->goToURL(localDevServerAddress);
|
||||||
//webComponent.goToURL (WebBrowserComponent::getResourceProviderRoot());
|
|
||||||
|
|
||||||
|
//webComponent.goToURL (WebBrowserComponent::getResourceProviderRoot());
|
||||||
setSize(800, 390);
|
setSize(800, 390);
|
||||||
|
|
||||||
|
|
||||||
startTimerHz(60);
|
startTimerHz(60);
|
||||||
|
/*for (int i = 0; i < processorRef.parameters.sliderIds.size(); ++i) {
|
||||||
|
slider_attatchments.push_back(new
|
||||||
|
WebSliderParameterAttachment(
|
||||||
|
*processorRef.state.getParameter(processorRef.parameters.sliderIds[i]),
|
||||||
|
*slider_relays.back(),
|
||||||
|
processorRef.state.undoManager));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < processorRef.parameters.toggleIds.size(); ++i) {
|
||||||
|
toggle_attatchments.push_back(new
|
||||||
|
WebToggleButtonParameterAttachment(
|
||||||
|
*processorRef.state.getParameter(processorRef.parameters.toggleIds[i]),
|
||||||
|
*toggle_relays.back(),
|
||||||
|
processorRef.state.undoManager));
|
||||||
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebViewPluginAudioProcessorEditor::paint(Graphics& g)
|
void WebViewPluginAudioProcessorEditor::paint(Graphics& g)
|
||||||
|
|||||||
@ -23,6 +23,10 @@ public:
|
|||||||
|
|
||||||
// Prevent page loads from navigating away from our single page web app
|
// Prevent page loads from navigating away from our single page web app
|
||||||
bool pageAboutToLoad(const String& newURL) override;
|
bool pageAboutToLoad(const String& newURL) override;
|
||||||
|
bool pageisLoaded = false;
|
||||||
|
void pageFinishedLoading(const String& newURL) override {
|
||||||
|
pageisLoaded = true;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
@ -60,6 +64,31 @@ public:
|
|||||||
|
|
||||||
void timerCallback() override
|
void timerCallback() override
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if(webComponent->pageisLoaded){
|
||||||
|
webComponent->pageisLoaded = false;
|
||||||
|
reload_count = 60;
|
||||||
|
}
|
||||||
|
if (reload_count) {
|
||||||
|
if (--reload_count == 0) {
|
||||||
|
/*for (int i = 0; i < processorRef.parameters.sliderIds.size(); ++i) {
|
||||||
|
slider_attatchments.push_back(new
|
||||||
|
WebSliderParameterAttachment(
|
||||||
|
*processorRef.state.getParameter(processorRef.parameters.sliderIds[i]),
|
||||||
|
*slider_relays.back(),
|
||||||
|
processorRef.state.undoManager));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < processorRef.parameters.toggleIds.size(); ++i) {
|
||||||
|
toggle_attatchments.push_back(new
|
||||||
|
WebToggleButtonParameterAttachment(
|
||||||
|
*processorRef.state.getParameter(processorRef.parameters.toggleIds[i]),
|
||||||
|
*toggle_relays.back(),
|
||||||
|
processorRef.state.undoManager));
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static constexpr size_t numFramesBuffered = 5;
|
static constexpr size_t numFramesBuffered = 5;
|
||||||
|
|
||||||
SpinLock::ScopedLockType lock{ processorRef.midiLock };
|
SpinLock::ScopedLockType lock{ processorRef.midiLock };
|
||||||
@ -108,6 +137,7 @@ private:
|
|||||||
SinglePageBrowser* webComponent = nullptr;
|
SinglePageBrowser* webComponent = nullptr;
|
||||||
|
|
||||||
std::deque<Array<var>> spectrumDataFrames;
|
std::deque<Array<var>> spectrumDataFrames;
|
||||||
|
int reload_count = 0;
|
||||||
|
|
||||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(WebViewPluginAudioProcessorEditor)
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(WebViewPluginAudioProcessorEditor)
|
||||||
};
|
};
|
||||||
@ -95,10 +95,15 @@ void WebViewPluginAudioProcessor::processBlock(juce::AudioBuffer<float>& buffer,
|
|||||||
//==============================================================================
|
//==============================================================================
|
||||||
void WebViewPluginAudioProcessor::getStateInformation(juce::MemoryBlock& destData)
|
void WebViewPluginAudioProcessor::getStateInformation(juce::MemoryBlock& destData)
|
||||||
{
|
{
|
||||||
juce::ignoreUnused(destData);
|
auto out_state = state.copyState();
|
||||||
|
std::unique_ptr<juce::XmlElement> xml(out_state.createXml());
|
||||||
|
copyXmlToBinary(*xml, destData);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebViewPluginAudioProcessor::setStateInformation(const void* data, int sizeInBytes)
|
void WebViewPluginAudioProcessor::setStateInformation(const void* data, int sizeInBytes)
|
||||||
{
|
{
|
||||||
juce::ignoreUnused(data, sizeInBytes);
|
std::unique_ptr<juce::XmlElement> xmlState(getXmlFromBinary(data, sizeInBytes));
|
||||||
|
|
||||||
|
if (xmlState.get() != nullptr && xmlState->hasTagName(state.state.getType()))
|
||||||
|
state.replaceState(juce::ValueTree::fromXml(*xmlState));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user