음악, 삶, 개발

플러그인 파라미터 만들기 (for DAW) - ValueTree 본문

개발 공부/Juce 공부방

플러그인 파라미터 만들기 (for DAW) - ValueTree

Lee_____ 2020. 9. 25. 05:54

몇번이고 까먹어서, 여기에 정리해놓으려한다.

무조건 juce::AudioProcessor 를 상속받은 main processor 에서 정의되어야한다.

결국 valueTree 를 지니고있는 AudioProcessorValueTreeState 의 객체를 생성후,

이안에 add 한다.

apvts 안에는 state 라는 valueTree 가 있는데,

state 를 통해 다른 클래스의 객체들과 송신한다. (gui callback 같은)

class MainProcessor : public juce::AudioProcessor {

    public :

        MainProcessor() 

            // 3. 초기화
            : apvts(*this, nullptr, "valueTreeName", createParams())
        
        {



        }

        // 2. 초기화할때 parameter 를 생성할 함수 정의.
        using Params = juce::AudioProcessorValueTreeState::ParameterLayout; // 너무 길어서.
        using ParamInt = juce::AudioParameterInt; // 역시 너무 김.
        using ParamFloat = juce::AudioPrameterFloat;

        Params createParams() {
            
            Params params;
            
            params.add(std::make_unique<ParamInt>("Chord", "Chord", 0, 40, 12));
            
            return params;

        }


    private :

        // 1. 먼저 AudioProcessorValueTreeState 객체 생성.
        juce::AudioProcessorValueTreeState apvts;

}