CPP / JUCE 音频编程框架 - 滑块阵列不工作 - 单滑块工作

Posted

技术标签:

【中文标题】CPP / JUCE 音频编程框架 - 滑块阵列不工作 - 单滑块工作【英文标题】:CPP / JUCE Audioprogramming Framework - Array of Sliders not working - Single Slider works 【发布时间】:2017-10-06 16:40:57 【问题描述】:

我在编写自定义组件时遇到了一些问题。但是我尝试使用这样的单个滑块实例:

ScopedPointer<Slider> slider001;
ScopedPointer<Slider> slider002;

slider001->setBounds  (0        ,       sliderY , sliderWidth, sliderHeight );
slider002->setBounds  (0+ 1*sliderX ,   sliderY , sliderWidth, sliderHeight );

addAndMakeVisible (slider001 = new Slider ("new slider"));
addAndMakeVisible (slider002 = new Slider ("new slider"));

一切都按预期工作,但是你知道人们很懒,所以我尝试使用数组:

ScopedPointer<Slider> sliderArray[128];


  for(int i=0; i==128; i++) 
sliderArray[i]->setBounds  (0   +i  *sliderX    ,       sliderY , sliderWidth, sliderHeight );


                                     


for(int i=0; i==128; i++) 
  
    addAndMakeVisible (sliderArray[i]= new Slider ("Value"));
    sliderArray[i]->setRange (sliderMinimumRange, sliderMaximumRange, sliderRangeStepsize );
    sliderArray[i]->setSliderStyle (Slider::LinearBarVertical);

现在屏幕只是保持空白。 我尝试用数组替换单个滑块元素并遍历它们,但我完全不知道从哪里开始修复这种行为。

谢谢

【问题讨论】:

【参考方案1】:

您的问题在于您配置循环的方式:

for(int i=0; i==128; i++) 

这可以解释为:

“将i 设置为0,而i == 128,则执行 然后i++

你可能想写的是:

for(int i=0; i<128; i++) 

【讨论】:

以上是关于CPP / JUCE 音频编程框架 - 滑块阵列不工作 - 单滑块工作的主要内容,如果未能解决你的问题,请参考以下文章

在 JUCE 中为音频插件使用 GUI 编辑器

从 JUCE 音频 VST 插件控制主机播放

JUCE 无法在音频插件上插入按钮

局部变量的赋值导致音频在 JUCE 中停止处理

如何使用 Juce 为脉冲响应加载音频文件

如何将可播放的音频文件添加到 TableListBox 播放列表(JUCE C++)