sample filter ui: clamp frequency on popup
This commit is contained in:
parent
37d49ffe0f
commit
f2d6ae78fa
|
@ -8732,6 +8732,7 @@ FurnaceGUI::FurnaceGUI():
|
|||
sampleFilterCutStart(16000.0f),
|
||||
sampleFilterCutEnd(100.0f),
|
||||
sampleFilterSweep(true),
|
||||
sampleFilterFirstFrame(true),
|
||||
sampleCrossFadeLoopLength(0),
|
||||
sampleCrossFadeLoopLaw(50),
|
||||
sampleFilterPower(1),
|
||||
|
|
|
@ -2570,7 +2570,7 @@ class FurnaceGUI {
|
|||
ImVec2 sampleDragAreaSize;
|
||||
unsigned int sampleDragLen;
|
||||
float sampleFilterL, sampleFilterB, sampleFilterH, sampleFilterRes, sampleFilterCutStart, sampleFilterCutEnd;
|
||||
bool sampleFilterSweep;
|
||||
bool sampleFilterSweep, sampleFilterFirstFrame;
|
||||
int sampleCrossFadeLoopLength, sampleCrossFadeLoopLaw;
|
||||
unsigned char sampleFilterPower;
|
||||
short* sampleClipboard;
|
||||
|
|
|
@ -1182,8 +1182,11 @@ void FurnaceGUI::drawSampleEdit() {
|
|||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip(_("Apply filter"));
|
||||
}
|
||||
float minCutoff=10.0f;
|
||||
float maxCutoff=sample->centerRate*0.5f;
|
||||
if (openSampleFilterOpt) {
|
||||
openSampleFilterOpt=false;
|
||||
sampleFilterFirstFrame=true;
|
||||
ImGui::OpenPopup("SFilterOpt");
|
||||
}
|
||||
if (ImGui::BeginPopupContextItem("SFilterOpt",ImGuiPopupFlags_MouseButtonLeft)) {
|
||||
|
@ -1191,12 +1194,9 @@ 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:"));
|
||||
|
||||
ImGui::Checkbox(_("Sweep (2 frequencies)"),&sampleFilterSweep);
|
||||
|
||||
if (sampleFilterSweep) {
|
||||
if (ImGui::SliderFloat(_("From"),&sampleFilterCutStart,minCutoff,maxCutoff,"%.0f Hz")) {
|
||||
if (sampleFilterCutStart<minCutoff) sampleFilterCutStart=minCutoff;
|
||||
|
@ -1307,6 +1307,15 @@ void FurnaceGUI::drawSampleEdit() {
|
|||
MARK_MODIFIED;
|
||||
ImGui::CloseCurrentPopup();
|
||||
}
|
||||
|
||||
if (sampleFilterFirstFrame) {
|
||||
if (sampleFilterCutStart<minCutoff) sampleFilterCutStart=minCutoff;
|
||||
if (sampleFilterCutStart>maxCutoff) sampleFilterCutStart=maxCutoff;
|
||||
if (sampleFilterCutEnd<minCutoff) sampleFilterCutEnd=minCutoff;
|
||||
if (sampleFilterCutEnd>maxCutoff) sampleFilterCutEnd=maxCutoff;
|
||||
sampleFilterFirstFrame=false;
|
||||
}
|
||||
|
||||
ImGui::EndPopup();
|
||||
}
|
||||
ImGui::EndDisabled();
|
||||
|
|
Loading…
Reference in a new issue