Tweaking numeric input steps.

Hopefully these all make more sense for how they're used.
This commit is contained in:
Electric Keet 2023-12-11 15:58:48 -08:00 committed by tildearrow
parent ffcd4a89c9
commit adba445cd2
13 changed files with 63 additions and 59 deletions

View file

@ -135,7 +135,7 @@ void FurnaceGUI::drawChanOsc() {
ImGui::Text("Columns");
ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::InputInt("##COSColumns",&chanOscCols,1,1)) {
if (ImGui::InputInt("##COSColumns",&chanOscCols,1,3)) {
if (chanOscCols<1) chanOscCols=1;
if (chanOscCols>64) chanOscCols=64;
}
@ -144,7 +144,7 @@ void FurnaceGUI::drawChanOsc() {
ImGui::Text("Size (ms)");
ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::InputFloat("##COSWinSize",&chanOscWindowSize,1.0f,1.0f)) {
if (ImGui::InputFloat("##COSWinSize",&chanOscWindowSize,1.0f,10.0f)) {
if (chanOscWindowSize<1.0f) chanOscWindowSize=1.0f;
if (chanOscWindowSize>50.0f) chanOscWindowSize=50.0f;
}

View file

@ -687,7 +687,7 @@ void FurnaceGUI::drawEditControls() {
ImGui::Text("Octave");
ImGui::TableNextColumn();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::InputInt("##Octave",&curOctave,1,1)) {
if (ImGui::InputInt("##Octave",&curOctave,1,3)) {
if (curOctave>7) curOctave=7;
if (curOctave<-5) curOctave=-5;
e->autoNoteOffAll();
@ -704,7 +704,7 @@ void FurnaceGUI::drawEditControls() {
ImGui::Text("Edit Step");
ImGui::TableNextColumn();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::InputInt("##EditStep",&editStep,1,1)) {
if (ImGui::InputInt("##EditStep",&editStep,1,3)) {
if (editStep>=e->curSubSong->patLen) editStep=e->curSubSong->patLen-1;
if (editStep<0) editStep=0;
@ -835,7 +835,7 @@ void FurnaceGUI::drawEditControls() {
ImGui::Text("Octave");
ImGui::SameLine();
ImGui::SetNextItemWidth(96.0f*dpiScale);
if (ImGui::InputInt("##Octave",&curOctave,1,1)) {
if (ImGui::InputInt("##Octave",&curOctave,1,3)) {
if (curOctave>7) curOctave=7;
if (curOctave<-5) curOctave=-5;
e->autoNoteOffAll();
@ -850,7 +850,7 @@ void FurnaceGUI::drawEditControls() {
ImGui::Text("Edit Step");
ImGui::SameLine();
ImGui::SetNextItemWidth(96.0f*dpiScale);
if (ImGui::InputInt("##EditStep",&editStep,1,1)) {
if (ImGui::InputInt("##EditStep",&editStep,1,3)) {
if (editStep>=e->curSubSong->patLen) editStep=e->curSubSong->patLen-1;
if (editStep<0) editStep=0;
@ -1094,7 +1094,7 @@ void FurnaceGUI::drawEditControls() {
float cursor=ImGui::GetCursorPosX();
float avail=ImGui::GetContentRegionAvail().x;
ImGui::SetNextItemWidth(avail);
if (ImGui::InputInt("##Octave",&curOctave,1,1)) {
if (ImGui::InputInt("##Octave",&curOctave,1,3)) {
if (curOctave>7) curOctave=7;
if (curOctave<-5) curOctave=-5;
e->autoNoteOffAll();
@ -1110,7 +1110,7 @@ void FurnaceGUI::drawEditControls() {
ImGui::SameLine();
ImGui::SetCursorPosX(cursor);
ImGui::SetNextItemWidth(avail);
if (ImGui::InputInt("##EditStep",&editStep,1,1)) {
if (ImGui::InputInt("##EditStep",&editStep,1,3)) {
if (editStep>=e->curSubSong->patLen) editStep=e->curSubSong->patLen-1;
if (editStep<0) editStep=0;

View file

@ -924,14 +924,14 @@ void FurnaceGUI::drawFindReplace() {
if (queryReplaceIns>255) queryReplaceIns=255;
}
} else if (queryReplaceInsMode==GUI_QUERY_REPLACE_ADD || queryReplaceInsMode==GUI_QUERY_REPLACE_ADD_OVERFLOW) {
if (ImGui::InputInt("##IRValue",&queryReplaceIns,1,12)) {
if (ImGui::InputInt("##IRValue",&queryReplaceIns,1,16)) {
if (queryReplaceIns<-255) queryReplaceIns=-255;
if (queryReplaceIns>255) queryReplaceIns=255;
}
} else if (queryReplaceInsMode==GUI_QUERY_REPLACE_SCALE) {
if (queryReplaceIns<0) queryReplaceIns=0;
if (queryReplaceIns>400) queryReplaceIns=400;
if (ImGui::InputInt("##IRValue",&queryReplaceIns,1,12)) {
if (ImGui::InputInt("##IRValue",&queryReplaceIns,1,10)) {
if (queryReplaceIns<0) queryReplaceIns=0;
if (queryReplaceIns>400) queryReplaceIns=400;
}
@ -953,14 +953,14 @@ void FurnaceGUI::drawFindReplace() {
if (queryReplaceVol>255) queryReplaceVol=255;
}
} else if (queryReplaceVolMode==GUI_QUERY_REPLACE_ADD || queryReplaceVolMode==GUI_QUERY_REPLACE_ADD_OVERFLOW) {
if (ImGui::InputInt("##VRValue",&queryReplaceVol,1,12)) {
if (ImGui::InputInt("##VRValue",&queryReplaceVol,1,16)) {
if (queryReplaceVol<-255) queryReplaceVol=-255;
if (queryReplaceVol>255) queryReplaceVol=255;
}
} else if (queryReplaceVolMode==GUI_QUERY_REPLACE_SCALE) {
if (queryReplaceVol<0) queryReplaceVol=0;
if (queryReplaceVol>400) queryReplaceVol=400;
if (ImGui::InputInt("##VRValue",&queryReplaceVol,1,12)) {
if (ImGui::InputInt("##VRValue",&queryReplaceVol,1,10)) {
if (queryReplaceVol<0) queryReplaceVol=0;
if (queryReplaceVol>400) queryReplaceVol=400;
}
@ -984,14 +984,14 @@ void FurnaceGUI::drawFindReplace() {
if (queryReplaceEffect[i]>255) queryReplaceEffect[i]=255;
}
} else if (queryReplaceEffectMode[i]==GUI_QUERY_REPLACE_ADD || queryReplaceEffectMode[i]==GUI_QUERY_REPLACE_ADD_OVERFLOW) {
if (ImGui::InputInt("##ERValue",&queryReplaceEffect[i],1,12)) {
if (ImGui::InputInt("##ERValue",&queryReplaceEffect[i],1,16)) {
if (queryReplaceEffect[i]<-255) queryReplaceEffect[i]=-255;
if (queryReplaceEffect[i]>255) queryReplaceEffect[i]=255;
}
} else if (queryReplaceEffectMode[i]==GUI_QUERY_REPLACE_SCALE) {
if (queryReplaceEffect[i]<0) queryReplaceEffect[i]=0;
if (queryReplaceEffect[i]>400) queryReplaceEffect[i]=400;
if (ImGui::InputInt("##ERValue",&queryReplaceEffect[i],1,12)) {
if (ImGui::InputInt("##ERValue",&queryReplaceEffect[i],1,10)) {
if (queryReplaceEffect[i]<0) queryReplaceEffect[i]=0;
if (queryReplaceEffect[i]>400) queryReplaceEffect[i]=400;
}
@ -1013,14 +1013,14 @@ void FurnaceGUI::drawFindReplace() {
if (queryReplaceEffectVal[i]>255) queryReplaceEffectVal[i]=255;
}
} else if (queryReplaceEffectValMode[i]==GUI_QUERY_REPLACE_ADD || queryReplaceEffectValMode[i]==GUI_QUERY_REPLACE_ADD_OVERFLOW) {
if (ImGui::InputInt("##ERValueV",&queryReplaceEffectVal[i],1,12)) {
if (ImGui::InputInt("##ERValueV",&queryReplaceEffectVal[i],1,16)) {
if (queryReplaceEffectVal[i]<-255) queryReplaceEffectVal[i]=-255;
if (queryReplaceEffectVal[i]>255) queryReplaceEffectVal[i]=255;
}
} else if (queryReplaceEffectValMode[i]==GUI_QUERY_REPLACE_SCALE) {
if (queryReplaceEffectVal[i]<0) queryReplaceEffectVal[i]=0;
if (queryReplaceEffectVal[i]>400) queryReplaceEffectVal[i]=400;
if (ImGui::InputInt("##ERValueV",&queryReplaceEffectVal[i],1,12)) {
if (ImGui::InputInt("##ERValueV",&queryReplaceEffectVal[i],1,10)) {
if (queryReplaceEffectVal[i]<0) queryReplaceEffectVal[i]=0;
if (queryReplaceEffectVal[i]>400) queryReplaceEffectVal[i]=400;
}

View file

@ -2854,7 +2854,7 @@ void FurnaceGUI::editOptions(bool topMenu) {
ImGui::Text("transpose");
ImGui::SameLine();
ImGui::SetNextItemWidth(120.0f*dpiScale);
if (ImGui::InputInt("##TransposeAmount",&transposeAmount,1,1)) {
if (ImGui::InputInt("##TransposeAmount",&transposeAmount,1,12)) {
if (transposeAmount<-96) transposeAmount=-96;
if (transposeAmount>96) transposeAmount=96;
}
@ -2886,7 +2886,7 @@ void FurnaceGUI::editOptions(bool topMenu) {
if (!basicMode) {
if (ImGui::BeginMenu("gradient/fade...")) {
if (ImGui::InputInt("Start",&fadeMin,1,1)) {
if (ImGui::InputInt("Start",&fadeMin,1,16)) {
if (fadeMin<0) fadeMin=0;
if (fadeMode) {
if (fadeMin>15) fadeMin=15;
@ -2894,7 +2894,7 @@ void FurnaceGUI::editOptions(bool topMenu) {
if (fadeMin>255) fadeMin=255;
}
}
if (ImGui::InputInt("End",&fadeMax,1,1)) {
if (ImGui::InputInt("End",&fadeMax,1,16)) {
if (fadeMax<0) fadeMax=0;
if (fadeMode) {
if (fadeMax>15) fadeMax=15;
@ -2918,7 +2918,7 @@ void FurnaceGUI::editOptions(bool topMenu) {
ImGui::EndMenu();
}
if (ImGui::BeginMenu("scale...")) {
if (ImGui::InputFloat("##ScaleMax",&scaleMax,1,1,"%.1f%%")) {
if (ImGui::InputFloat("##ScaleMax",&scaleMax,1,10,"%.1f%%")) {
if (scaleMax<0.0f) scaleMax=0.0f;
if (scaleMax>25600.0f) scaleMax=25600.0f;
}
@ -2929,7 +2929,7 @@ void FurnaceGUI::editOptions(bool topMenu) {
ImGui::EndMenu();
}
if (ImGui::BeginMenu("randomize...")) {
if (ImGui::InputInt("Minimum",&randomizeMin,1,1)) {
if (ImGui::InputInt("Minimum",&randomizeMin,1,16)) {
if (randomizeMin<0) randomizeMin=0;
if (randomMode) {
if (randomizeMin>15) randomizeMin=15;
@ -2938,7 +2938,7 @@ void FurnaceGUI::editOptions(bool topMenu) {
}
if (randomizeMin>randomizeMax) randomizeMin=randomizeMax;
}
if (ImGui::InputInt("Maximum",&randomizeMax,1,1)) {
if (ImGui::InputInt("Maximum",&randomizeMax,1,16)) {
if (randomizeMax<0) randomizeMax=0;
if (randomizeMax<randomizeMin) randomizeMax=randomizeMin;
if (randomMode) {
@ -2970,7 +2970,7 @@ void FurnaceGUI::editOptions(bool topMenu) {
if (ImGui::MenuItem("flip selection",BIND_FOR(GUI_ACTION_PAT_FLIP_SELECTION))) doFlip();
ImGui::SetNextItemWidth(120.0f*dpiScale);
if (ImGui::InputInt("collapse/expand amount##CollapseAmount",&collapseAmount,1,1)) {
if (ImGui::InputInt("collapse/expand amount##CollapseAmount",&collapseAmount,1,4)) {
if (collapseAmount<2) collapseAmount=2;
if (collapseAmount>256) collapseAmount=256;
}
@ -4212,7 +4212,7 @@ bool FurnaceGUI::loop() {
if (ImGui::BeginMenu("export ZSM...")) {
exitDisabledTimer=1;
ImGui::Text("Commander X16 Zsound Music File");
if (ImGui::InputInt("Tick Rate (Hz)",&zsmExportTickRate,1,2)) {
if (ImGui::InputInt("Tick Rate (Hz)",&zsmExportTickRate,1,10)) {
if (zsmExportTickRate<1) zsmExportTickRate=1;
if (zsmExportTickRate>44100) zsmExportTickRate=44100;
}
@ -6088,7 +6088,7 @@ bool FurnaceGUI::loop() {
ImGui::Text("Channels");
ImGui::SameLine();
ImGui::SetNextItemWidth(120.0f*dpiScale);
if (ImGui::InputInt("##RSChans",&pendingRawSampleChannels)) {
if (ImGui::InputInt("##RSChans",&pendingRawSampleChannels,1,2)) {
}
ImGui::Text("(will be mixed down to mono)");
ImGui::Checkbox("Unsigned",&pendingRawSampleUnsigned);

View file

@ -1858,7 +1858,7 @@ void FurnaceGUI::drawMacros(std::vector<FurnaceGUIMacroDesc>& macros, FurnaceGUI
float lenAvail=ImGui::GetContentRegionAvail().x;
//ImGui::Dummy(ImVec2(120.0f*dpiScale,dpiScale));
ImGui::SetNextItemWidth(120.0f*dpiScale);
if (ImGui::InputInt("##MacroPointSize",&macroPointSize,1,16)) {
if (ImGui::InputInt("##MacroPointSize",&macroPointSize,1,4)) {
if (macroPointSize<1) macroPointSize=1;
if (macroPointSize>256) macroPointSize=256;
}
@ -2064,7 +2064,7 @@ void FurnaceGUI::drawMacros(std::vector<FurnaceGUIMacroDesc>& macros, FurnaceGUI
ImGui::Button(ICON_FA_SEARCH_PLUS "##MacroZoomB");
if (ImGui::BeginPopupContextItem("MacroZoomP",ImGuiPopupFlags_MouseButtonLeft)) {
ImGui::SetNextItemWidth(120.0f*dpiScale);
if (ImGui::InputInt("##MacroPointSize",&macroPointSize,1,16)) {
if (ImGui::InputInt("##MacroPointSize",&macroPointSize,1,4)) {
if (macroPointSize<1) macroPointSize=1;
if (macroPointSize>256) macroPointSize=256;
}
@ -2250,7 +2250,7 @@ void FurnaceGUI::alterSampleMap(int column, int val) {
} \
} \
ImGui::TableNextColumn(); \
if (ImGui::InputInt(df,&fNum,1,1)) { \
if (ImGui::InputInt(df,&fNum,1,16)) { \
if (fNum<0) fNum=0; \
if (ins->type==DIV_INS_OPLL) { \
if (fNum>511) fNum=511; \
@ -4799,7 +4799,7 @@ void FurnaceGUI::drawInsEdit() {
int len=ins->gb.hwSeq[i].data+1;
curFrame+=ins->gb.hwSeq[i].data+1;
if (ImGui::InputInt("Ticks",&len)) {
if (ImGui::InputInt("Ticks",&len,1,4)) {
if (len<1) len=1;
if (len>255) len=256;
somethingChanged=true;
@ -4818,7 +4818,7 @@ void FurnaceGUI::drawInsEdit() {
case DivInstrumentGB::DIV_GB_HWCMD_LOOP_REL: {
int pos=ins->gb.hwSeq[i].data;
if (ImGui::InputInt("Position",&pos)) {
if (ImGui::InputInt("Position",&pos,1,1)) {
if (pos<0) pos=0;
if (pos>(ins->gb.hwSeqLen-1)) pos=(ins->gb.hwSeqLen-1);
somethingChanged=true;
@ -5159,7 +5159,7 @@ void FurnaceGUI::drawInsEdit() {
case DivInstrumentSoundUnit::DIV_SU_HWCMD_LOOP_REL: {
int pos=ins->su.hwSeq[i].val;
if (ImGui::InputInt("Position",&pos)) {
if (ImGui::InputInt("Position",&pos,1,4)) {
if (pos<0) pos=0;
if (pos>(ins->su.hwSeqLen-1)) pos=(ins->su.hwSeqLen-1);
somethingChanged=true;
@ -5354,7 +5354,7 @@ void FurnaceGUI::drawInsEdit() {
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("only use for compatibility with .dmf modules!\n- initializes modulation table with first wavetable\n- does not alter modulation parameters on instrument change");
}
if (ImGui::InputInt("Modulation depth",&ins->fds.modDepth,1,32)) {
if (ImGui::InputInt("Modulation depth",&ins->fds.modDepth,1,4)) {
if (ins->fds.modDepth<0) ins->fds.modDepth=0;
if (ins->fds.modDepth>63) ins->fds.modDepth=63;
}
@ -5938,23 +5938,23 @@ void FurnaceGUI::drawInsEdit() {
ImGui::EndTable();
}
if (ImGui::InputScalar("Update Rate",ImGuiDataType_U8,&ins->ws.rateDivider,&_ONE,&_SEVEN)) {
if (ImGui::InputScalar("Update Rate",ImGuiDataType_U8,&ins->ws.rateDivider,&_ONE,&_EIGHT)) {
wavePreviewInit=true;
}
int speed=ins->ws.speed+1;
if (ImGui::InputInt("Speed",&speed,1,16)) {
if (ImGui::InputInt("Speed",&speed,1,8)) {
if (speed<1) speed=1;
if (speed>256) speed=256;
ins->ws.speed=speed-1;
wavePreviewInit=true;
}
if (ImGui::InputScalar("Amount",ImGuiDataType_U8,&ins->ws.param1,&_ONE,&_SEVEN)) {
if (ImGui::InputScalar("Amount",ImGuiDataType_U8,&ins->ws.param1,&_ONE,&_EIGHT)) {
wavePreviewInit=true;
}
if (ins->ws.effect==DIV_WS_PHASE_MOD) {
if (ImGui::InputScalar("Power",ImGuiDataType_U8,&ins->ws.param2,&_ONE,&_SEVEN)) {
if (ImGui::InputScalar("Power",ImGuiDataType_U8,&ins->ws.param2,&_ONE,&_EIGHT)) {
wavePreviewInit=true;
}
}

View file

@ -22,7 +22,9 @@
const int _ZERO=0;
const int _ONE=1;
const int _THREE=3;
const int _FOUR=4;
const int _SEVEN=7;
const int _EIGHT=8;
const int _TEN=10;
const int _FIFTEEN=15;
const int _SIXTEEN=16;

View file

@ -24,7 +24,9 @@
extern const int _ZERO;
extern const int _ONE;
extern const int _THREE;
extern const int _FOUR;
extern const int _SEVEN;
extern const int _EIGHT;
extern const int _TEN;
extern const int _FIFTEEN;
extern const int _SIXTEEN;

View file

@ -1123,11 +1123,11 @@ void FurnaceGUI::drawSampleEdit() {
float highP=sampleFilterH*100.0f;
float resP=sampleFilterRes*100.0f;
ImGui::Text("Cutoff:");
if (ImGui::InputFloat("From",&sampleFilterCutStart,1.0f,100.0f,"%.0f")) {
if (ImGui::InputFloat("From",&sampleFilterCutStart,10.0f,1000.0f,"%.0f")) {
if (sampleFilterCutStart<0.0) sampleFilterCutStart=0.0;
if (sampleFilterCutStart>sample->rate*0.5) sampleFilterCutStart=sample->rate*0.5;
}
if (ImGui::InputFloat("To",&sampleFilterCutEnd,1.0f,100.0f,"%.0f")) {
if (ImGui::InputFloat("To",&sampleFilterCutEnd,1.00f,1000.0f,"%.0f")) {
if (sampleFilterCutEnd<0.0) sampleFilterCutEnd=0.0;
if (sampleFilterCutEnd>sample->rate*0.5) sampleFilterCutEnd=sample->rate*0.5;
}

View file

@ -444,7 +444,7 @@ void FurnaceGUI::drawSettings() {
}
pushWarningColor(settings.chanOscThreads>cpuCores,settings.chanOscThreads>(cpuCores*2));
if (ImGui::InputInt("Per-channel oscilloscope threads",&settings.chanOscThreads)) {
if (ImGui::InputInt("Per-channel oscilloscope threads",&settings.chanOscThreads,1,4)) {
if (settings.chanOscThreads<0) settings.chanOscThreads=0;
if (settings.chanOscThreads>(cpuCores*3)) settings.chanOscThreads=cpuCores*3;
if (settings.chanOscThreads>256) settings.chanOscThreads=256;
@ -474,7 +474,7 @@ void FurnaceGUI::drawSettings() {
settingsChanged=true;
}
if (ImGui::InputInt("Number of recent files",&settings.maxRecentFile)) {
if (ImGui::InputInt("Number of recent files",&settings.maxRecentFile,1,5)) {
if (settings.maxRecentFile<0) settings.maxRecentFile=0;
if (settings.maxRecentFile>30) settings.maxRecentFile=30;
settingsChanged=true;
@ -957,7 +957,7 @@ void FurnaceGUI::drawSettings() {
ImGui::AlignTextToFramePadding();
ImGui::Text("Outputs");
ImGui::TableNextColumn();
if (ImGui::InputInt("##AudioChansI",&settings.audioChans,1,1)) {
if (ImGui::InputInt("##AudioChansI",&settings.audioChans,1,2)) {
if (settings.audioChans<1) settings.audioChans=1;
if (settings.audioChans>16) settings.audioChans=16;
settingsChanged=true;
@ -1011,7 +1011,7 @@ void FurnaceGUI::drawSettings() {
if (renderPoolThreadsB) {
pushWarningColor(settings.renderPoolThreads>cpuCores,settings.renderPoolThreads>cpuCores);
if (ImGui::InputInt("Number of threads",&settings.renderPoolThreads)) {
if (ImGui::InputInt("Number of threads",&settings.renderPoolThreads,1,4)) {
if (settings.renderPoolThreads<2) settings.renderPoolThreads=2;
if (settings.renderPoolThreads>32) settings.renderPoolThreads=32;
settingsChanged=true;
@ -1781,7 +1781,7 @@ void FurnaceGUI::drawSettings() {
ImGui::TableNextColumn();
if (i.val<100) {
snprintf(id,4095,"##SNValue_%d",i.scan);
if (ImGui::InputInt(id,&i.val,1,1)) {
if (ImGui::InputInt(id,&i.val,1,12)) {
if (i.val<0) i.val=0;
if (i.val>96) i.val=96;
noteKeys[i.scan]=i.val;
@ -2398,7 +2398,7 @@ void FurnaceGUI::drawSettings() {
} rightClickable
}
if (ImGui::InputInt("Icon size",&settings.iconSize)) {
if (ImGui::InputInt("Icon size",&settings.iconSize,1,3)) {
if (settings.iconSize<3) settings.iconSize=3;
if (settings.iconSize>48) settings.iconSize=48;
settingsChanged=true;
@ -2434,7 +2434,7 @@ void FurnaceGUI::drawSettings() {
settingsChanged=true;
}
}
if (ImGui::InputInt("Size##MainFontSize",&settings.mainFontSize)) {
if (ImGui::InputInt("Size##MainFontSize",&settings.mainFontSize,1,3)) {
if (settings.mainFontSize<3) settings.mainFontSize=3;
if (settings.mainFontSize>96) settings.mainFontSize=96;
settingsChanged=true;
@ -2453,7 +2453,7 @@ void FurnaceGUI::drawSettings() {
settingsChanged=true;
}
}
if (ImGui::InputInt("Size##HeadFontSize",&settings.headFontSize)) {
if (ImGui::InputInt("Size##HeadFontSize",&settings.headFontSize,1,3)) {
if (settings.headFontSize<3) settings.headFontSize=3;
if (settings.headFontSize>96) settings.headFontSize=96;
settingsChanged=true;
@ -2472,7 +2472,7 @@ void FurnaceGUI::drawSettings() {
settingsChanged=true;
}
}
if (ImGui::InputInt("Size##PatFontSize",&settings.patFontSize)) {
if (ImGui::InputInt("Size##PatFontSize",&settings.patFontSize,1,3)) {
if (settings.patFontSize<3) settings.patFontSize=3;
if (settings.patFontSize>96) settings.patFontSize=96;
settingsChanged=true;

View file

@ -108,7 +108,7 @@ void FurnaceGUI::drawSongInfo(bool asChild) {
float tune=e->song.tuning;
float avail=ImGui::GetContentRegionAvail().x;
ImGui::SetNextItemWidth(avail);
if (ImGui::InputFloat("##Tuning",&tune,1.0f,3.0f,"%g")) { MARK_MODIFIED
if (ImGui::InputFloat("##Tuning",&tune,1.0f,10.0f,"%g")) { MARK_MODIFIED
if (tune<220.0f) tune=220.0f;
if (tune>880.0f) tune=880.0f;
e->song.tuning=tune;

View file

@ -53,7 +53,7 @@ void FurnaceGUI::drawSpeed(bool asChild) {
float halfAvail=(avail-ImGui::GetStyle().ItemSpacing.x)*0.5;
ImGui::SetNextItemWidth(halfAvail);
float setHz=tempoView?e->curSubSong->hz*2.5:e->curSubSong->hz;
if (ImGui::InputFloat("##Rate",&setHz,1.0f,1.0f,"%g")) { MARK_MODIFIED
if (ImGui::InputFloat("##Rate",&setHz,1.0f,10.0f,"%g")) { MARK_MODIFIED
if (tempoView) setHz/=2.5;
if (setHz<1) setHz=1;
if (setHz>999) setHz=999;
@ -169,7 +169,7 @@ void FurnaceGUI::drawSpeed(bool asChild) {
ImGui::Text("Virtual Tempo");
ImGui::TableNextColumn();
ImGui::SetNextItemWidth(halfAvail);
if (ImGui::InputScalar("##VTempoN",ImGuiDataType_S16,&e->curSubSong->virtualTempoN,&_ONE,&_THREE)) { MARK_MODIFIED
if (ImGui::InputScalar("##VTempoN",ImGuiDataType_S16,&e->curSubSong->virtualTempoN,&_ONE,&_TEN)) { MARK_MODIFIED
if (e->curSubSong->virtualTempoN<1) e->curSubSong->virtualTempoN=1;
if (e->curSubSong->virtualTempoN>255) e->curSubSong->virtualTempoN=255;
}
@ -178,7 +178,7 @@ void FurnaceGUI::drawSpeed(bool asChild) {
}
ImGui::SameLine();
ImGui::SetNextItemWidth(halfAvail);
if (ImGui::InputScalar("##VTempoD",ImGuiDataType_S16,&e->curSubSong->virtualTempoD,&_ONE,&_THREE)) { MARK_MODIFIED
if (ImGui::InputScalar("##VTempoD",ImGuiDataType_S16,&e->curSubSong->virtualTempoD,&_ONE,&_TEN)) { MARK_MODIFIED
if (e->curSubSong->virtualTempoD<1) e->curSubSong->virtualTempoD=1;
if (e->curSubSong->virtualTempoD>255) e->curSubSong->virtualTempoD=255;
}
@ -208,12 +208,12 @@ void FurnaceGUI::drawSpeed(bool asChild) {
ImGui::Text("Highlight");
ImGui::TableNextColumn();
ImGui::SetNextItemWidth(halfAvail);
if (ImGui::InputScalar("##Highlight1",ImGuiDataType_U8,&e->curSubSong->hilightA,&_ONE,&_THREE)) {
if (ImGui::InputScalar("##Highlight1",ImGuiDataType_U8,&e->curSubSong->hilightA,&_ONE,&_FOUR)) {
MARK_MODIFIED;
}
ImGui::SameLine();
ImGui::SetNextItemWidth(halfAvail);
if (ImGui::InputScalar("##Highlight2",ImGuiDataType_U8,&e->curSubSong->hilightB,&_ONE,&_THREE)) {
if (ImGui::InputScalar("##Highlight2",ImGuiDataType_U8,&e->curSubSong->hilightB,&_ONE,&_FOUR)) {
MARK_MODIFIED;
}
ImGui::EndTable();
@ -233,7 +233,7 @@ void FurnaceGUI::drawSpeed(bool asChild) {
float avail=ImGui::GetContentRegionAvail().x;
ImGui::SetNextItemWidth(avail);
int patLen=e->curSubSong->patLen;
if (ImGui::InputInt("##PatLength",&patLen,1,3)) { MARK_MODIFIED
if (ImGui::InputInt("##PatLength",&patLen,1,16)) { MARK_MODIFIED
if (patLen<1) patLen=1;
if (patLen>DIV_MAX_PATTERNS) patLen=DIV_MAX_PATTERNS;
e->curSubSong->patLen=patLen;
@ -247,7 +247,7 @@ void FurnaceGUI::drawSpeed(bool asChild) {
ImGui::TableNextColumn();
ImGui::SetNextItemWidth(avail);
int ordLen=e->curSubSong->ordersLen;
if (ImGui::InputInt("##OrdLength",&ordLen,1,3)) { MARK_MODIFIED
if (ImGui::InputInt("##OrdLength",&ordLen,1,4)) { MARK_MODIFIED
if (ordLen<1) ordLen=1;
if (ordLen>DIV_MAX_PATTERNS) ordLen=DIV_MAX_PATTERNS;
e->curSubSong->ordersLen=ordLen;

View file

@ -2306,7 +2306,7 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl
altered=true;
}
ImGui::Indent();
if (ImGui::InputInt("Hz",&customClock)) {
if (ImGui::InputInt("Hz",&customClock,100,10000)) {
if (customClock<MIN_CUSTOM_CLOCK) customClock=0;
if (customClock>MAX_CUSTOM_CLOCK) customClock=MAX_CUSTOM_CLOCK;
altered=true;

View file

@ -455,7 +455,7 @@ void FurnaceGUI::drawWaveEdit() {
ImGui::TableNextColumn();
ImGui::SetNextItemWidth(80.0f*dpiScale);
if (ImGui::InputInt("##CurWave",&curWave,1,1)) {
if (ImGui::InputInt("##CurWave",&curWave,1,10)) {
if (curWave<0) curWave=0;
if (curWave>=(int)e->song.wave.size()) curWave=e->song.wave.size()-1;
}
@ -499,7 +499,7 @@ void FurnaceGUI::drawWaveEdit() {
}
ImGui::SameLine();
ImGui::SetNextItemWidth(96.0f*dpiScale);
if (ImGui::InputInt("##_WTW",&wave->len,1,2)) {
if (ImGui::InputInt("##_WTW",&wave->len,1,16)) {
if (wave->len>256) wave->len=256;
if (wave->len<1) wave->len=1;
e->notifyWaveChange(curWave);
@ -514,7 +514,7 @@ void FurnaceGUI::drawWaveEdit() {
ImGui::SameLine();
ImGui::SetNextItemWidth(96.0f*dpiScale);
int realMax=wave->max+1;
if (ImGui::InputInt("##_WTH",&realMax,1,2)) {
if (ImGui::InputInt("##_WTH",&realMax,1,16)) {
if (realMax>256) realMax=256;
if (realMax<2) realMax=2;
wave->max=realMax-1;