|
|
|
@ -64,6 +64,7 @@ namespace ID
|
|
|
|
|
|
|
|
|
|
|
|
PARAMETER_ID(formantPreserve)
|
|
|
|
PARAMETER_ID(formantPreserve)
|
|
|
|
PARAMETER_ID(autoTuneSpeed)
|
|
|
|
PARAMETER_ID(autoTuneSpeed)
|
|
|
|
|
|
|
|
PARAMETER_ID(portTime)
|
|
|
|
PARAMETER_ID(mute)
|
|
|
|
PARAMETER_ID(mute)
|
|
|
|
PARAMETER_ID(filterType)
|
|
|
|
PARAMETER_ID(filterType)
|
|
|
|
|
|
|
|
|
|
|
|
@ -213,8 +214,13 @@ public:
|
|
|
|
autoTuneSpeed(addToLayout<AudioParameterFloat>(layout,
|
|
|
|
autoTuneSpeed(addToLayout<AudioParameterFloat>(layout,
|
|
|
|
ID::autoTuneSpeed,
|
|
|
|
ID::autoTuneSpeed,
|
|
|
|
"AutoTune Speed",
|
|
|
|
"AutoTune Speed",
|
|
|
|
NormalisableRange<float> {0.001f, 0.4f, .01f},
|
|
|
|
NormalisableRange<float> {0.001f, 0.4f, .001f},
|
|
|
|
.5f)),
|
|
|
|
.5f)),
|
|
|
|
|
|
|
|
portTime(addToLayout<AudioParameterFloat>(layout,
|
|
|
|
|
|
|
|
ID::portTime,
|
|
|
|
|
|
|
|
"Portamento Speed",
|
|
|
|
|
|
|
|
NormalisableRange<float> {0.001f, 0.2f, .001f},
|
|
|
|
|
|
|
|
.001f)),
|
|
|
|
mute(addToLayout<AudioParameterBool>(layout, ID::mute, "Mute", false)),
|
|
|
|
mute(addToLayout<AudioParameterBool>(layout, ID::mute, "Mute", false)),
|
|
|
|
filterType(addToLayout<AudioParameterChoice>(layout,
|
|
|
|
filterType(addToLayout<AudioParameterChoice>(layout,
|
|
|
|
ID::filterType,
|
|
|
|
ID::filterType,
|
|
|
|
@ -226,6 +232,7 @@ public:
|
|
|
|
|
|
|
|
|
|
|
|
AudioParameterFloat& formantPreserve;
|
|
|
|
AudioParameterFloat& formantPreserve;
|
|
|
|
AudioParameterFloat& autoTuneSpeed;
|
|
|
|
AudioParameterFloat& autoTuneSpeed;
|
|
|
|
|
|
|
|
AudioParameterFloat& portTime;
|
|
|
|
AudioParameterBool& mute;
|
|
|
|
AudioParameterBool& mute;
|
|
|
|
AudioParameterChoice& filterType;
|
|
|
|
AudioParameterChoice& filterType;
|
|
|
|
|
|
|
|
|
|
|
|
@ -320,6 +327,7 @@ void WebViewPluginAudioProcessor::processBlock(juce::AudioBuffer<float>& buffer,
|
|
|
|
buffer.clear(i, 0, buffer.getNumSamples());
|
|
|
|
buffer.clear(i, 0, buffer.getNumSamples());
|
|
|
|
shifter.SetFormantPreserve(parameters.formantPreserve.get());
|
|
|
|
shifter.SetFormantPreserve(parameters.formantPreserve.get());
|
|
|
|
shifter.SetAutoTuneSpeed(parameters.autoTuneSpeed.get());
|
|
|
|
shifter.SetAutoTuneSpeed(parameters.autoTuneSpeed.get());
|
|
|
|
|
|
|
|
shifter.SetPortamentoTime(parameters.portTime.get());
|
|
|
|
juce::AudioBuffer<float> const_buff;
|
|
|
|
juce::AudioBuffer<float> const_buff;
|
|
|
|
const_buff.makeCopyOf(buffer);
|
|
|
|
const_buff.makeCopyOf(buffer);
|
|
|
|
shifter.Process(const_buff.getArrayOfReadPointers(), (float**)buffer.getArrayOfWritePointers(), buffer.getNumSamples());
|
|
|
|
shifter.Process(const_buff.getArrayOfReadPointers(), (float**)buffer.getArrayOfWritePointers(), buffer.getNumSamples());
|
|
|
|
@ -466,6 +474,7 @@ private:
|
|
|
|
|
|
|
|
|
|
|
|
WebSliderRelay formantSliderRelay{ "formantSlider" };
|
|
|
|
WebSliderRelay formantSliderRelay{ "formantSlider" };
|
|
|
|
WebSliderRelay autoTuneSpeedSliderRelay{ "autoTuneSpeedSlider" };
|
|
|
|
WebSliderRelay autoTuneSpeedSliderRelay{ "autoTuneSpeedSlider" };
|
|
|
|
|
|
|
|
WebSliderRelay portTimeSliderRelay{ "portTimeSlider" };
|
|
|
|
WebToggleButtonRelay muteToggleRelay{ "muteToggle" };
|
|
|
|
WebToggleButtonRelay muteToggleRelay{ "muteToggle" };
|
|
|
|
WebComboBoxRelay filterTypeComboRelay{ "filterTypeCombo" };
|
|
|
|
WebComboBoxRelay filterTypeComboRelay{ "filterTypeCombo" };
|
|
|
|
|
|
|
|
|
|
|
|
@ -478,6 +487,7 @@ private:
|
|
|
|
.withNativeIntegrationEnabled()
|
|
|
|
.withNativeIntegrationEnabled()
|
|
|
|
.withOptionsFrom(formantSliderRelay)
|
|
|
|
.withOptionsFrom(formantSliderRelay)
|
|
|
|
.withOptionsFrom(autoTuneSpeedSliderRelay)
|
|
|
|
.withOptionsFrom(autoTuneSpeedSliderRelay)
|
|
|
|
|
|
|
|
.withOptionsFrom(portTimeSliderRelay)
|
|
|
|
.withOptionsFrom(muteToggleRelay)
|
|
|
|
.withOptionsFrom(muteToggleRelay)
|
|
|
|
.withOptionsFrom(filterTypeComboRelay)
|
|
|
|
.withOptionsFrom(filterTypeComboRelay)
|
|
|
|
.withOptionsFrom(controlParameterIndexReceiver)
|
|
|
|
.withOptionsFrom(controlParameterIndexReceiver)
|
|
|
|
@ -493,6 +503,7 @@ private:
|
|
|
|
|
|
|
|
|
|
|
|
WebSliderParameterAttachment formantAttachment;
|
|
|
|
WebSliderParameterAttachment formantAttachment;
|
|
|
|
WebSliderParameterAttachment autoTuneSpeedAttachment;
|
|
|
|
WebSliderParameterAttachment autoTuneSpeedAttachment;
|
|
|
|
|
|
|
|
WebSliderParameterAttachment portTimeAttachment;
|
|
|
|
WebToggleButtonParameterAttachment muteAttachment;
|
|
|
|
WebToggleButtonParameterAttachment muteAttachment;
|
|
|
|
WebComboBoxParameterAttachment filterTypeAttachment;
|
|
|
|
WebComboBoxParameterAttachment filterTypeAttachment;
|
|
|
|
|
|
|
|
|
|
|
|
@ -624,6 +635,9 @@ WebViewPluginAudioProcessorEditor::WebViewPluginAudioProcessorEditor(WebViewPlug
|
|
|
|
autoTuneSpeedAttachment(*processorRef.state.getParameter(ID::autoTuneSpeed.getParamID()),
|
|
|
|
autoTuneSpeedAttachment(*processorRef.state.getParameter(ID::autoTuneSpeed.getParamID()),
|
|
|
|
autoTuneSpeedSliderRelay,
|
|
|
|
autoTuneSpeedSliderRelay,
|
|
|
|
processorRef.state.undoManager),
|
|
|
|
processorRef.state.undoManager),
|
|
|
|
|
|
|
|
portTimeAttachment(*processorRef.state.getParameter(ID::portTime.getParamID()),
|
|
|
|
|
|
|
|
portTimeSliderRelay,
|
|
|
|
|
|
|
|
processorRef.state.undoManager),
|
|
|
|
muteAttachment(*processorRef.state.getParameter(ID::mute.getParamID()),
|
|
|
|
muteAttachment(*processorRef.state.getParameter(ID::mute.getParamID()),
|
|
|
|
muteToggleRelay,
|
|
|
|
muteToggleRelay,
|
|
|
|
processorRef.state.undoManager),
|
|
|
|
processorRef.state.undoManager),
|
|
|
|
@ -633,8 +647,8 @@ WebViewPluginAudioProcessorEditor::WebViewPluginAudioProcessorEditor(WebViewPlug
|
|
|
|
{
|
|
|
|
{
|
|
|
|
addAndMakeVisible(webComponent);
|
|
|
|
addAndMakeVisible(webComponent);
|
|
|
|
|
|
|
|
|
|
|
|
//webComponent.goToURL(localDevServerAddress);
|
|
|
|
webComponent.goToURL(localDevServerAddress);
|
|
|
|
webComponent.goToURL (WebBrowserComponent::getResourceProviderRoot());
|
|
|
|
//webComponent.goToURL (WebBrowserComponent::getResourceProviderRoot());
|
|
|
|
|
|
|
|
|
|
|
|
setSize(500, 500);
|
|
|
|
setSize(500, 500);
|
|
|
|
|
|
|
|
|
|
|
|
|