diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 2670f1ad9..b93e513ba 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -8732,6 +8732,7 @@ FurnaceGUI::FurnaceGUI(): sampleFilterCutStart(16000.0f), sampleFilterCutEnd(100.0f), sampleFilterSweep(true), + sampleFilterFirstFrame(true), sampleCrossFadeLoopLength(0), sampleCrossFadeLoopLaw(50), sampleFilterPower(1), diff --git a/src/gui/gui.h b/src/gui/gui.h index 114f1c7ee..ece471084 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -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; diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index c97e816e9..f3eb98865 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -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 (sampleFilterCutStartmaxCutoff) sampleFilterCutStart=maxCutoff; + if (sampleFilterCutEndmaxCutoff) sampleFilterCutEnd=maxCutoff; + sampleFilterFirstFrame=false; + } + ImGui::EndPopup(); } ImGui::EndDisabled();