Re-layout the controls as 3 columns
This commit is contained in:
parent
35dc738e18
commit
65005afa79
1 changed files with 42 additions and 74 deletions
|
|
@ -323,112 +323,89 @@ void SfizzVstEditor::createFrameContents()
|
||||||
CRect row = topRow;
|
CRect row = topRow;
|
||||||
row.top += 45.0;
|
row.top += 45.0;
|
||||||
row.bottom += 45.0;
|
row.bottom += 45.0;
|
||||||
row.left += 100.0;
|
row.left += 20.0;
|
||||||
row.right -= 100.0;
|
row.right -= 20.0;
|
||||||
|
|
||||||
CCoord interRow = 35.0;
|
static const CCoord interRow = 35.0;
|
||||||
|
static const CCoord interColumn = 20.0;
|
||||||
|
static const int numColumns = 3;
|
||||||
|
|
||||||
auto leftSide = [&row]() -> CRect {
|
auto nthColumn = [&row](int colIndex) -> CRect {
|
||||||
CRect div = row;
|
CRect div = row;
|
||||||
div.right = 0.5 * (div.left + div.right);
|
CCoord columnWidth = (div.right - div.left + interColumn) / numColumns - interColumn;
|
||||||
return div;
|
div.left = div.left + colIndex * (columnWidth + interColumn);
|
||||||
};
|
div.right = div.left + columnWidth;
|
||||||
|
|
||||||
auto rightSide = [&row]() -> CRect {
|
|
||||||
CRect div = row;
|
|
||||||
div.left = 0.5 * (div.left + div.right);
|
|
||||||
return div;
|
|
||||||
};
|
|
||||||
|
|
||||||
auto labelArea = [&topRow, &row]() -> CRect {
|
|
||||||
CRect div = row;
|
|
||||||
div.right = topRow.right - 10.0;
|
|
||||||
div.left = div.right - 100.0 + 20.0;
|
|
||||||
return div;
|
return div;
|
||||||
};
|
};
|
||||||
|
|
||||||
CTextLabel* label;
|
CTextLabel* label;
|
||||||
SimpleSlider* slider;
|
SimpleSlider* slider;
|
||||||
|
|
||||||
label = new CTextLabel(leftSide(), "Volume");
|
label = new CTextLabel(nthColumn(0), "Volume");
|
||||||
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
||||||
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setHoriAlign(kLeftText);
|
label->setHoriAlign(kLeftText);
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
slider = new SimpleSlider(rightSide(), this, kTagSetVolume);
|
slider = new SimpleSlider(nthColumn(1), this, kTagSetVolume);
|
||||||
panel->addView(slider);
|
panel->addView(slider);
|
||||||
adjustMinMaxToRangeParam(slider, kPidVolume);
|
adjustMinMaxToRangeParam(slider, kPidVolume);
|
||||||
_volumeSlider = slider;
|
_volumeSlider = slider;
|
||||||
label = new CTextLabel(labelArea(), "");
|
label = new CTextLabel(nthColumn(2), "");
|
||||||
_volumeLabel = label;
|
_volumeLabel = label;
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
|
|
||||||
row.top += interRow;
|
row.top += interRow;
|
||||||
row.bottom += interRow;
|
row.bottom += interRow;
|
||||||
|
|
||||||
label = new CTextLabel(leftSide(), "Polyphony");
|
label = new CTextLabel(nthColumn(0), "Polyphony");
|
||||||
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
||||||
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setHoriAlign(kLeftText);
|
label->setHoriAlign(kLeftText);
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
slider = new SimpleSlider(rightSide(), this, kTagSetNumVoices);
|
slider = new SimpleSlider(nthColumn(1), this, kTagSetNumVoices);
|
||||||
panel->addView(slider);
|
panel->addView(slider);
|
||||||
adjustMinMaxToRangeParam(slider, kPidNumVoices);
|
adjustMinMaxToRangeParam(slider, kPidNumVoices);
|
||||||
_numVoicesSlider = slider;
|
_numVoicesSlider = slider;
|
||||||
label = new CTextLabel(labelArea(), "");
|
label = new CTextLabel(nthColumn(2), "");
|
||||||
_numVoicesLabel = label;
|
_numVoicesLabel = label;
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
|
|
||||||
row.top += interRow;
|
row.top += interRow;
|
||||||
row.bottom += interRow;
|
row.bottom += interRow;
|
||||||
|
|
||||||
label = new CTextLabel(leftSide(), "Oversampling");
|
label = new CTextLabel(nthColumn(0), "Oversampling");
|
||||||
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
||||||
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setHoriAlign(kLeftText);
|
label->setHoriAlign(kLeftText);
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
slider = new SimpleSlider(rightSide(), this, kTagSetOversampling);
|
slider = new SimpleSlider(nthColumn(1), this, kTagSetOversampling);
|
||||||
panel->addView(slider);
|
panel->addView(slider);
|
||||||
adjustMinMaxToRangeParam(slider, kPidOversampling);
|
adjustMinMaxToRangeParam(slider, kPidOversampling);
|
||||||
_oversamplingSlider = slider;
|
_oversamplingSlider = slider;
|
||||||
label = new CTextLabel(labelArea(), "");
|
label = new CTextLabel(nthColumn(2), "");
|
||||||
_oversamplingLabel = label;
|
_oversamplingLabel = label;
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
|
|
||||||
row.top += interRow;
|
row.top += interRow;
|
||||||
row.bottom += interRow;
|
row.bottom += interRow;
|
||||||
|
|
||||||
label = new CTextLabel(leftSide(), "Preload size");
|
label = new CTextLabel(nthColumn(0), "Preload size");
|
||||||
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
||||||
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setHoriAlign(kLeftText);
|
label->setHoriAlign(kLeftText);
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
slider = new SimpleSlider(rightSide(), this, kTagSetPreloadSize);
|
slider = new SimpleSlider(nthColumn(1), this, kTagSetPreloadSize);
|
||||||
panel->addView(slider);
|
panel->addView(slider);
|
||||||
adjustMinMaxToRangeParam(slider, kPidPreloadSize);
|
adjustMinMaxToRangeParam(slider, kPidPreloadSize);
|
||||||
_preloadSizeSlider = slider;
|
_preloadSizeSlider = slider;
|
||||||
label = new CTextLabel(labelArea(), "");
|
label = new CTextLabel(nthColumn(2), "");
|
||||||
_preloadSizeLabel = label;
|
_preloadSizeLabel = label;
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
|
|
||||||
// row.top += interRow;
|
|
||||||
// row.bottom += interRow;
|
|
||||||
|
|
||||||
// label = new CTextLabel(leftSide(), "Freewheel");
|
|
||||||
// label->setFontColor(CColor(0x00, 0x00, 0x00));
|
|
||||||
// label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
|
||||||
// label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
|
||||||
// label->setHoriAlign(kLeftText);
|
|
||||||
// panel->addView(label);
|
|
||||||
// slider = new SimpleSlider(rightSide(), this, kTag);
|
|
||||||
// panel->addView(slider);
|
|
||||||
// adjustMinMaxToRangeParam(slider, kPid);
|
|
||||||
// _aSlider = slider;
|
|
||||||
|
|
||||||
_subPanels[kPanelSettings] = panel;
|
_subPanels[kPanelSettings] = panel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -446,27 +423,18 @@ void SfizzVstEditor::createFrameContents()
|
||||||
CRect row = topRow;
|
CRect row = topRow;
|
||||||
row.top += 45.0;
|
row.top += 45.0;
|
||||||
row.bottom += 45.0;
|
row.bottom += 45.0;
|
||||||
row.left += 100.0;
|
row.left += 20.0;
|
||||||
row.right -= 100.0;
|
row.right -= 20.0;
|
||||||
|
|
||||||
CCoord interRow = 35.0;
|
static const CCoord interRow = 35.0;
|
||||||
|
static const CCoord interColumn = 20.0;
|
||||||
|
static const int numColumns = 3;
|
||||||
|
|
||||||
auto leftSide = [&row]() -> CRect {
|
auto nthColumn = [&row](int colIndex) -> CRect {
|
||||||
CRect div = row;
|
CRect div = row;
|
||||||
div.right = 0.5 * (div.left + div.right);
|
CCoord columnWidth = (div.right - div.left + interColumn) / numColumns - interColumn;
|
||||||
return div;
|
div.left = div.left + colIndex * (columnWidth + interColumn);
|
||||||
};
|
div.right = div.left + columnWidth;
|
||||||
|
|
||||||
auto rightSide = [&row]() -> CRect {
|
|
||||||
CRect div = row;
|
|
||||||
div.left = 0.5 * (div.left + div.right);
|
|
||||||
return div;
|
|
||||||
};
|
|
||||||
|
|
||||||
auto labelArea = [&topRow, &row]() -> CRect {
|
|
||||||
CRect div = row;
|
|
||||||
div.right = topRow.right - 10.0;
|
|
||||||
div.left = div.right - 100.0 + 20.0;
|
|
||||||
return div;
|
return div;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -474,66 +442,66 @@ void SfizzVstEditor::createFrameContents()
|
||||||
SimpleSlider* slider;
|
SimpleSlider* slider;
|
||||||
CTextButton* textbutton;
|
CTextButton* textbutton;
|
||||||
|
|
||||||
label = new CTextLabel(leftSide(), "Scala file");
|
label = new CTextLabel(nthColumn(0), "Scala file");
|
||||||
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
||||||
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setHoriAlign(kLeftText);
|
label->setHoriAlign(kLeftText);
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
textbutton = new CTextButton(rightSide(), this, kTagLoadScalaFile, "Choose");
|
textbutton = new CTextButton(nthColumn(1), this, kTagLoadScalaFile, "Choose");
|
||||||
panel->addView(textbutton);
|
panel->addView(textbutton);
|
||||||
label = new CTextLabel(labelArea(), "");
|
label = new CTextLabel(nthColumn(2), "");
|
||||||
_scalaFileLabel = label;
|
_scalaFileLabel = label;
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
|
|
||||||
row.top += interRow;
|
row.top += interRow;
|
||||||
row.bottom += interRow;
|
row.bottom += interRow;
|
||||||
|
|
||||||
label = new CTextLabel(leftSide(), "Scala root key");
|
label = new CTextLabel(nthColumn(0), "Scala root key");
|
||||||
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
||||||
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setHoriAlign(kLeftText);
|
label->setHoriAlign(kLeftText);
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
slider = new SimpleSlider(rightSide(), this, kTagSetScalaRootKey);
|
slider = new SimpleSlider(nthColumn(1), this, kTagSetScalaRootKey);
|
||||||
panel->addView(slider);
|
panel->addView(slider);
|
||||||
adjustMinMaxToRangeParam(slider, kPidScalaRootKey);
|
adjustMinMaxToRangeParam(slider, kPidScalaRootKey);
|
||||||
_scalaRootKeySlider = slider;
|
_scalaRootKeySlider = slider;
|
||||||
label = new CTextLabel(labelArea(), "");
|
label = new CTextLabel(nthColumn(2), "");
|
||||||
_scalaRootKeyLabel = label;
|
_scalaRootKeyLabel = label;
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
|
|
||||||
row.top += interRow;
|
row.top += interRow;
|
||||||
row.bottom += interRow;
|
row.bottom += interRow;
|
||||||
|
|
||||||
label = new CTextLabel(leftSide(), "Tuning frequency");
|
label = new CTextLabel(nthColumn(0), "Tuning frequency");
|
||||||
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
||||||
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setHoriAlign(kLeftText);
|
label->setHoriAlign(kLeftText);
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
slider = new SimpleSlider(rightSide(), this, kTagSetTuningFrequency);
|
slider = new SimpleSlider(nthColumn(1), this, kTagSetTuningFrequency);
|
||||||
panel->addView(slider);
|
panel->addView(slider);
|
||||||
adjustMinMaxToRangeParam(slider, kPidTuningFrequency);
|
adjustMinMaxToRangeParam(slider, kPidTuningFrequency);
|
||||||
_tuningFrequencySlider = slider;
|
_tuningFrequencySlider = slider;
|
||||||
label = new CTextLabel(labelArea(), "");
|
label = new CTextLabel(nthColumn(2), "");
|
||||||
_tuningFrequencyLabel = label;
|
_tuningFrequencyLabel = label;
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
|
|
||||||
row.top += interRow;
|
row.top += interRow;
|
||||||
row.bottom += interRow;
|
row.bottom += interRow;
|
||||||
|
|
||||||
label = new CTextLabel(leftSide(), "Stretched tuning");
|
label = new CTextLabel(nthColumn(0), "Stretched tuning");
|
||||||
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
label->setFontColor(CColor(0x00, 0x00, 0x00));
|
||||||
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00));
|
||||||
label->setHoriAlign(kLeftText);
|
label->setHoriAlign(kLeftText);
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
slider = new SimpleSlider(rightSide(), this, kTagSetStretchedTuning);
|
slider = new SimpleSlider(nthColumn(1), this, kTagSetStretchedTuning);
|
||||||
panel->addView(slider);
|
panel->addView(slider);
|
||||||
adjustMinMaxToRangeParam(slider, kPidStretchedTuning);
|
adjustMinMaxToRangeParam(slider, kPidStretchedTuning);
|
||||||
_stretchedTuningSlider = slider;
|
_stretchedTuningSlider = slider;
|
||||||
label = new CTextLabel(labelArea(), "");
|
label = new CTextLabel(nthColumn(2), "");
|
||||||
_stretchedTuningLabel = label;
|
_stretchedTuningLabel = label;
|
||||||
panel->addView(label);
|
panel->addView(label);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue