sample filter ui: add sweep option
This commit is contained in:
parent
0d7ef2e8eb
commit
37d49ffe0f
|
@ -8731,6 +8731,7 @@ FurnaceGUI::FurnaceGUI():
|
|||
sampleFilterRes(0.25f),
|
||||
sampleFilterCutStart(16000.0f),
|
||||
sampleFilterCutEnd(100.0f),
|
||||
sampleFilterSweep(true),
|
||||
sampleCrossFadeLoopLength(0),
|
||||
sampleCrossFadeLoopLaw(50),
|
||||
sampleFilterPower(1),
|
||||
|
|
|
@ -2570,6 +2570,7 @@ class FurnaceGUI {
|
|||
ImVec2 sampleDragAreaSize;
|
||||
unsigned int sampleDragLen;
|
||||
float sampleFilterL, sampleFilterB, sampleFilterH, sampleFilterRes, sampleFilterCutStart, sampleFilterCutEnd;
|
||||
bool sampleFilterSweep;
|
||||
int sampleCrossFadeLoopLength, sampleCrossFadeLoopLaw;
|
||||
unsigned char sampleFilterPower;
|
||||
short* sampleClipboard;
|
||||
|
|
|
@ -1191,15 +1191,28 @@ void FurnaceGUI::drawSampleEdit() {
|
|||
float bandP=sampleFilterB*100.0f;
|
||||
float highP=sampleFilterH*100.0f;
|
||||
float resP=sampleFilterRes*100.0f;
|
||||
float minCutoff=10.0f;
|
||||
float maxCutoff=sample->centerRate*0.5f;
|
||||
ImGui::Text(_("Cutoff:"));
|
||||
if (ImGui::InputFloat(_("From"),&sampleFilterCutStart,10.0f,1000.0f,"%.0f")) {
|
||||
if (sampleFilterCutStart<0.0) sampleFilterCutStart=0.0;
|
||||
if (sampleFilterCutStart>sample->centerRate*0.5) sampleFilterCutStart=sample->centerRate*0.5;
|
||||
}
|
||||
if (ImGui::InputFloat(_("To"),&sampleFilterCutEnd,10.0f,1000.0f,"%.0f")) {
|
||||
if (sampleFilterCutEnd<0.0) sampleFilterCutEnd=0.0;
|
||||
if (sampleFilterCutEnd>sample->centerRate*0.5) sampleFilterCutEnd=sample->centerRate*0.5;
|
||||
|
||||
ImGui::Checkbox(_("Sweep (2 frequencies)"),&sampleFilterSweep);
|
||||
|
||||
if (sampleFilterSweep) {
|
||||
if (ImGui::SliderFloat(_("From"),&sampleFilterCutStart,minCutoff,maxCutoff,"%.0f Hz")) {
|
||||
if (sampleFilterCutStart<minCutoff) sampleFilterCutStart=minCutoff;
|
||||
if (sampleFilterCutStart>maxCutoff) sampleFilterCutStart=maxCutoff;
|
||||
}
|
||||
if (ImGui::SliderFloat(_("To"),&sampleFilterCutEnd,minCutoff,maxCutoff,"%.0f Hz")) {
|
||||
if (sampleFilterCutEnd<minCutoff) sampleFilterCutEnd=minCutoff;
|
||||
if (sampleFilterCutEnd>maxCutoff) sampleFilterCutEnd=maxCutoff;
|
||||
}
|
||||
} else {
|
||||
if (ImGui::SliderFloat(_("Frequency"),&sampleFilterCutStart,minCutoff,maxCutoff,"%.0f Hz")) {
|
||||
if (sampleFilterCutStart<minCutoff) sampleFilterCutStart=minCutoff;
|
||||
if (sampleFilterCutStart>maxCutoff) sampleFilterCutStart=maxCutoff;
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::Separator();
|
||||
if (ImGui::SliderFloat(_("Resonance"),&resP,0.0f,99.0f,"%.1f%%")) {
|
||||
sampleFilterRes=resP/100.0f;
|
||||
|
|
Loading…
Reference in a new issue