JUCE: ползунок, ошибка ValueTree - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь сделать основной плагин синтезатора.У меня проблема с моим слайдером.Когда я соединяю его с ValueTree, я ИНОГДА получаю следующую ошибку.Иногда это работает без ошибок.

// for a two-value style slider, you should use the setMinValue() and setMaxValue()
// methods to set the two values.
 jassert (style != TwoValueHorizontal && style != TwoValueVertical);

Я не могу объяснить, почему я получаю ошибку о ползунке с двумя значениями, даже если я им не пользуюсь.Я что-то пропустил?Я новичок в JUCE и C ++ в целом, поэтому, пожалуйста, извините, если я пропустил что-то очевидное.

Вот как я добавляю параметр в PluginProcessor.cpp:

tree (*this, nullptr)

tree.createAndAddParameter("osc1_attack", "Osc1_Attack", "Osc1_Attack", envParam, 0, nullptr ,nullptr);

//Initialize Tree 
tree.state = ValueTree("SynthTree");

Вот какЯ создаю Slider в PluginEditor.cpp:

osc1AttackSlider.setSliderStyle(Slider::SliderStyle::LinearVertical);
osc1AttackSlider.setRange(0.1f, 500.0f);
osc1AttackSlider.setValue(0.1f);
osc1AttackSlider.addListener(this);
osc1AttackSlider.setTextBoxStyle(Slider::TextBoxBelow, false, 50, 20);
addAndMakeVisible(&osc1AttackSlider);

sliderTree = new AudioProcessorValueTreeState::SliderAttachment(processor.tree, "osc1_attack", osc1AttackSlider);

Вот как я объявил переменную sliderTree в PluginEditor.h:

AudioProcessorValueTreeState::SliderAttachment* sliderTree;

Я следовал очень хорошему учебнику YouTube «theAudioProgrammer»»И он использовал ScopedPointer для этого.Для меня это работает только для ComboBoxes, если я использую его здесь, я получаю следующую ошибку:

/** Returns a raw pointer to the allocated data.
    This may be a null pointer if the data hasn't yet been allocated, or if it has been
    freed by calling the free() method.
*/
inline ElementType* get() const noexcept                                 { return data; }
...