Пример #1
0
void FilterEditor::buttonEvent (Button* button)
{
	//std::cout << button->getRadioGroupId() << " " << button->getName() << std::endl;
	
	//if (!checkDrawerButton(button) && !checkChannelSelectors(button)) {

		String value = button->getName();
		float val;

		val = value.getFloatValue();

		Array<int> chans = getActiveChannels();
		
		GenericProcessor* p = (GenericProcessor*) getAudioProcessor();

		for (int n = 0; n < chans.size(); n++) {
			
			p->setCurrentChannel(chans[n]);

			if (button->getRadioGroupId() == 1)
	 			getAudioProcessor()->setParameter(0,val);
	 		else 
	 			getAudioProcessor()->setParameter(1,val*1000.0f);

		}	

 	//std::cout << button->getRadioGroupId() << " " << val << std::endl;
 //	}

}
Пример #2
0
void AudioEditor::sliderValueChanged(Slider* slider)
{
    if (slider == volumeSlider)
        getAudioProcessor()->setParameter(1,slider->getValue());
    else if (slider == noiseGateSlider)
        getAudioProcessor()->setParameter(2,slider->getValue());
}
AudioProcessorEditor* StandaloneFilterWindow::createEditorComp()
{
    if (AudioProcessorEditor* ed = getAudioProcessor()->createEditorIfNeeded())
    {
        return getAudioProcessor()->createEditorIfNeeded();
    }
    else
        return nullptr;
}
Пример #4
0
void AudioEditor::buttonClicked(Button* button)
{
	if (button == muteButton)
	{
		
		if(muteButton->getToggleState()) {
			getAudioProcessor()->setParameter(1,0.0f);
			std::cout << "Mute on." << std::endl;
	    } else {
	    	getAudioProcessor()->setParameter(1,1.0f);
	    	std::cout << "Mute off." << std::endl;
	    }
	}

}
Пример #5
0
void SpikeDetectorEditor::sliderValueChanged (Slider* slider)
{

	if (slider == threshSlider)
		getAudioProcessor()->setParameter(0,slider->getValue());

}
Пример #6
0
void AudioEditor::buttonClicked(Button* button)
{
    if (button == muteButton)
    {

        if (muteButton->getToggleState())
        {
            lastValue = volumeSlider->getValue();
            getAudioProcessor()->setParameter(1,0.0f);
            std::cout << "Mute on." << std::endl;
        }
        else
        {
            getAudioProcessor()->setParameter(1,lastValue);
            std::cout << "Mute off." << std::endl;
        }
    }
    else if (button == audioWindowButton)
    {
        if (audioWindowButton->getToggleState())
        {
            if (acw == 0)
            {

                // AudioComponent* audioComponent = getAudioComponent();
                // audioComponent->restartDevice();

                // if (audioComponent != 0) {
                acw = new AudioConfigurationWindow(getAudioComponent()->deviceManager, (Button*) audioWindowButton);
                acw->setUIComponent(getUIComponent());
                //}
            }

            getAudioComponent()->restartDevice();
            acw->setVisible(true);

        }
        else
        {

            acw->setVisible(false);
            //deleteAndZero(acw);
            getAudioComponent()->stopDevice();
        }
    }

}
Пример #7
0
AudioProcessorGraph::NodeID FilterIOConfigurationWindow::getNodeID() const
{
    if (auto* graph = getGraph())
        for (auto* node : graph->getNodes())
            if (node->getProcessor() == getAudioProcessor())
                return node->nodeID;

    return {};
}
Пример #8
0
void OsctoMidiAudioProcessorEditor::timerCallback()
{
    const OwnedArray<AudioProcessorParameter>& params = getAudioProcessor()->getParameters();
    
    for (int i = 0; i < params.size(); ++i)
    {
        const AudioProcessorParameter* param = params[i];
        const float paramValue = param->getValue();
        
        switch (i)
        {
            case CV1:
                processor.cvMute[CV1] = paramValue;
                muteCV1->setToggleState(paramValue, dontSendNotification);
                break;
            case CV2:
                processor.cvMute[CV2] = paramValue;
                muteCV2->setToggleState(paramValue, dontSendNotification);
                break;
            case CV3:
                processor.cvMute[CV4] = paramValue;
                muteCV3->setToggleState(paramValue, dontSendNotification);
                break;
            case CV4:
                processor.cvMute[CV4] = paramValue;
                muteCV4->setToggleState(paramValue, dontSendNotification);
                break;
                
            case Scale:
                scaleSelect->setSelectedId(paramValue * 7 + 1);
                break;
                
            case BitRes:
                resolution->setSelectedId(paramValue * 3 + 1);
                break;
                
            default:
                break;
        }
    }
    
    // update cv meter
    if (!processor.cvMute[CV1]) { cvMeter1->setValue(processor.cvValue[CV1]); }
    if (!processor.cvMute[CV2]) { cvMeter2->setValue(processor.cvValue[CV2]); }
    if (!processor.cvMute[CV3]) { cvMeter3->setValue(processor.cvValue[CV3]); }
    if (!processor.cvMute[CV4]) { cvMeter4->setValue(processor.cvValue[CV4]); }
    
    if (reconnect)
    {
        uint16_t port = portText->getText().getIntValue();
        processor.setOSCConnection(port);
        
        reconnect = false;
    }
    
}
Пример #9
0
void TremoloAudioProcessorEditor::sliderDragEnded (Slider* slider)
{
    for (int i = 0; i < Parameters::numParameters; i++)
    {
        if (slider == sliders[i])
        {
            getAudioProcessor()->endParameterChangeGesture (i);
        }
    }    
}
Пример #10
0
void TremoloAudioProcessorEditor::resized()
{
    const int w = getWidth();
    const int h = getHeight();
    
    sliders[Parameters::rate]->setBounds (20, 35, 70, 70);
	sliders[Parameters::depth]->setBounds (105, 35, 70, 70);
	sliders[Parameters::shape]->setBounds (5, 140, w - 170, 20);
	sliders[Parameters::phase]->setBounds (5, 180, w - 170, 20);
    
	if (getAudioProcessor()->getNumInputChannels() > 1)
	{
		bufferViewL->setBounds (w - 125, 20,
								115, ((h - 15) * 0.5f) - 14);
		bufferViewR->setBounds (w - 125, ((h - 15) * 0.5f) + 15 + 2,
								115, ((h - 15) * 0.5f) - 14);
	}
	else if (getAudioProcessor()->getNumInputChannels() == 1)
    {
		bufferViewL->setBounds (w - 150, 20,
								140, (h - 15 - 15));	
    }
}
Пример #11
0
void GenericEditor::constructorInitialize(GenericProcessor* owner, bool useDefaultParameterEditors)
{

    name = getAudioProcessor()->getName();
    displayName = name;

    nodeId = owner->getNodeId();

    //MemoryInputStream mis(BinaryData::silkscreenserialized, BinaryData::silkscreenserializedSize, false);
    //Typeface::Ptr typeface = new CustomTypeface(mis);
    titleFont = Font ("Default", 14, Font::bold);

    if (!owner->isMerger() && !owner->isSplitter() && !owner->isUtility())
    {
        // std::cout << "Adding drawer button." << std::endl;

        drawerButton = new DrawerButton("name");
        drawerButton->addListener(this);
        addAndMakeVisible(drawerButton);

        if (!owner->isSink())
        {
            channelSelector = new ChannelSelector (true, titleFont);
        }
        else
        {
            channelSelector = new ChannelSelector (false, titleFont);
        }

        addChildComponent(channelSelector);
        channelSelector->setVisible(false);

        isSplitOrMerge=false;
    }
    else
    {
        isSplitOrMerge=true;
    }

    backgroundGradient = ColourGradient(Colour(190, 190, 190), 0.0f, 0.0f,
                                        Colour(185, 185, 185), 0.0f, 120.0f, false);
    backgroundGradient.addColour(0.2f, Colour(155, 155, 155));

    addParameterEditors(useDefaultParameterEditors);

    backgroundColor = Colour(10,10,10);

    //fadeIn();

}
Пример #12
0
void OsctoMidiAudioProcessorEditor::comboBoxChanged (ComboBox* comboBoxThatHasChanged)
{
    const OwnedArray<AudioProcessorParameter>& params = getAudioProcessor()->getParameters();
    
    if (comboBoxThatHasChanged == scaleSelect)
    {
        float selectedScale = scaleSelect->getSelectedId();
        params[Scale]->beginChangeGesture();
        params[Scale]->setValueNotifyingHost ((selectedScale - 1) / 7);
        params[Scale]->endChangeGesture();
        
        processor.currentScale = selectedScale;
        
    } else  if (comboBoxThatHasChanged == resolution) {
        
        float selectedBitRes = resolution->getSelectedId();
        params[BitRes]->beginChangeGesture();
        params[BitRes]->setValueNotifyingHost ((selectedBitRes - 1) / 3);
        params[BitRes]->endChangeGesture();
        
        uint16_t range;
        
        switch (static_cast<int>(selectedBitRes))
        {
            case Bit10:
                range = Bit10Reso;
                break;
            case Bit14:
                range = Bit14Reso;
                break;
            case Bit16:
                range = Bit16Reso;
                break;
                
            default:
                range = Bit12Reso;
                break;
        }
        
        cvMeter1->setRange (0, range, 1);
        cvMeter2->setRange (0, range, 1);
        cvMeter3->setRange (0, range, 1);
        cvMeter4->setRange (0, range, 1);
        
        processor.currentResolution = range;
    }
}
Пример #13
0
void OsctoMidiAudioProcessorEditor::buttonClicked (Button* buttonThatWasClicked)
{
    const OwnedArray<AudioProcessorParameter>& params = getAudioProcessor()->getParameters();
    
    if (buttonThatWasClicked == muteCV1)
    {
        processor.cvMute[CV1] ? processor.cvMute[CV1] = false : processor.cvMute[CV1] = true;
        
        muteCV1->setToggleState(processor.cvMute[CV1], dontSendNotification);
        
        params[CV1]->beginChangeGesture();
        params[CV1]->setValueNotifyingHost (static_cast<float>(processor.cvMute[CV1]));
        params[CV1]->endChangeGesture();
        
    } else if (buttonThatWasClicked == muteCV2) {
        
        processor.cvMute[CV2] ? processor.cvMute[CV2] = false : processor.cvMute[CV2] = true;
        
        muteCV2->setToggleState(processor.cvMute[CV2], dontSendNotification);
        
        params[CV2]->beginChangeGesture();
        params[CV2]->setValueNotifyingHost (static_cast<float>(processor.cvMute[CV2]));
        params[CV2]->endChangeGesture();
        
    } else if (buttonThatWasClicked == muteCV3) {
        
        processor.cvMute[CV3] ? processor.cvMute[CV3] = false : processor.cvMute[CV3] = true;
        
        muteCV3->setToggleState(processor.cvMute[CV3], dontSendNotification);
        
        params[CV3]->beginChangeGesture();
        params[CV3]->setValueNotifyingHost (static_cast<float>(processor.cvMute[CV3]));
        params[CV3]->endChangeGesture();
        
    } else if (buttonThatWasClicked == muteCV4) {
        
        processor.cvMute[CV4] ? processor.cvMute[CV4] = false : processor.cvMute[CV4] = true;
        
        muteCV4->setToggleState(processor.cvMute[CV4], dontSendNotification);
        
        params[CV4]->beginChangeGesture();
        params[CV4]->setValueNotifyingHost (static_cast<float>(processor.cvMute[CV4]));
        params[CV4]->endChangeGesture();
    }
    
}
Пример #14
0
AudioEditor::AudioEditor (AudioNode* owner) 
	: AudioProcessorEditor (owner), isSelected(false),
	  desiredWidth(150)

{
	name = getAudioProcessor()->getName();

	nodeId = owner->getNodeId();

	backgroundColor = Colours::lightgrey.withAlpha(0.5f);

	muteButton = new MuteButton();
	muteButton->addListener(this);
	muteButton->setBounds(95,5,15,15);
	muteButton->setToggleState(false,false);
	addAndMakeVisible(muteButton);

}
Пример #15
0
GenericEditor::GenericEditor (GenericProcessor* owner) 
	: AudioProcessorEditor (owner), isSelected(false),
	  desiredWidth(150), tNum(-1), isEnabled(true),
	  accumulator(0.0), isFading(false), drawerButton(0),
	  channelSelector(0)

{
	name = getAudioProcessor()->getName();

	nodeId = owner->getNodeId();

	MemoryInputStream mis(BinaryData::silkscreenserialized, BinaryData::silkscreenserializedSize, false);
    Typeface::Ptr typeface = new CustomTypeface(mis);
    titleFont = Font(typeface);

    if (!owner->isMerger() && !owner->isSplitter())
    {
    	drawerButton = new DrawerButton("name");
    	drawerButton->addListener(this);
    	addAndMakeVisible(drawerButton);

    	if (!owner->isSink())
    	{
    		channelSelector = new ChannelSelector(true, titleFont);
    	} else {
    		channelSelector = new ChannelSelector(false, titleFont);
    	}

    	addChildComponent(channelSelector);
    	channelSelector->setVisible(false);


	}

	backgroundGradient = ColourGradient(Colour(190, 190, 190), 0.0f, 0.0f, 
										 Colour(185, 185, 185), 0.0f, 120.0f, false);
	backgroundGradient.addColour(0.2f, Colour(155, 155, 155));

	addParameterEditors();

	backgroundColor = Colour(10,10,10);

	//fadeIn();
}
Пример #16
0
GenericEditor::GenericEditor (GenericProcessor* owner, FilterViewport* vp)
    : AudioProcessorEditor (owner), isSelected(false), viewport(vp),
      desiredWidth(150), tNum(-1), isEnabled(true)

{
    name = getAudioProcessor()->getName();

    nodeId = owner->getNodeId();

    Random r = Random(99);
    r.setSeedRandomly();

    //titleFont = new Font(14.0, Font::plain);

    //titleFont->setTypefaceName(T("Miso"));

    backgroundColor = Colour(3, 143, 255);

}
Пример #17
0
FilterIOConfigurationWindow::~FilterIOConfigurationWindow()
{
    if (auto* graph = getGraph())
    {
        if (auto* p = getAudioProcessor())
        {
            ScopedLock renderLock (graph->getCallbackLock());

            graph->suspendProcessing (true);
            graph->releaseResources();

            p->prepareToPlay (graph->getSampleRate(), graph->getBlockSize());
            p->suspendProcessing (false);

            graph->prepareToPlay (graph->getSampleRate(), graph->getBlockSize());
            graph->suspendProcessing (false);
        }
    }
}
Пример #18
0
void EventNodeEditor::buttonEvent(Button* button)
{
    std::cout << button->getRadioGroupId() << " " << button->getName() << std::endl;

    String value = button->getName();
    //float val;

    getAudioProcessor()->setParameter(0,value.getFloatValue());

    // if (value.getLastCharacter() == juce_wchar('k')) {
    // 	val = value.dropLastCharacters(1).getFloatValue() * 1000.0f;
    // }
    // else {
    // 	val = value.getFloatValue();
    // }

    //if (button->getRadioGroupId() == 1)
    ///	//getAudioProcessor()->setParameter(0,val);
    //else
    //getAudioProcessor()->setParameter(1,val);

    //std::cout << button->getRadioGroupId() << " " << val << std::endl;

}
Пример #19
0
//==============================================================================
void TremoloAudioProcessorEditor::paint (Graphics& g)
{
	// just clear the window
    PluginLookAndFeel::drawPluginBackgroundBase (g, *this);
    
    const int verticalLineX = sliders[Parameters::shape]->getRight() + 10;
	PluginLookAndFeel::drawInsetLine (g, 0, 115, verticalLineX, 115, 2);
	PluginLookAndFeel::drawInsetLine (g, verticalLineX, 0, verticalLineX, 210, 2);

    Rectangle<int> bevel (bufferViewL->getBounds().expanded (2, 2));
    LookAndFeel::drawBevel (g, bevel.getX(), bevel.getY(), bevel.getWidth(), bevel.getHeight(), 2,
                            Colour (0xFF455769).darker (0.5f), Colour (0xFF455769).brighter (0.3f),
                            false, true);
    
    if (getAudioProcessor()->getNumInputChannels() > 1)
    {
        bevel  = bufferViewR->getBounds().expanded (2, 2);
        LookAndFeel::drawBevel (g, bevel.getX(), bevel.getY(), bevel.getWidth(), bevel.getHeight(), 2,
                                Colour (0xFF455769).darker (0.5f), Colour (0xFF455769).brighter (0.3f),
                                false, true);
    }
    
    PluginLookAndFeel::drawPluginBackgroundHighlights (g, *this);
}
Пример #20
0
GenericProcessor* GenericEditor::getProcessor() const
{
    return (GenericProcessor*)getAudioProcessor();
}
PluginAudioProcessor* PluginAudioProcessorEditor::getPluginAudioProcessor() const
{
	return static_cast <PluginAudioProcessor*> (getAudioProcessor());
}	
Пример #22
0
	DemoJuceFilter* getFilter() const throw()       { return (DemoJuceFilter*) getAudioProcessor(); }
Пример #23
0
void AudioEditor::sliderValueChanged(Slider* slider)
{
    getAudioProcessor()->setParameter(1,slider->getValue());
}
Пример #24
0
BlankenhainAudioProcessor* BlankenhainAudioProcessorEditor::getProcessor() const {
    return static_cast<BlankenhainAudioProcessor*>(getAudioProcessor());
}