mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-23 21:15:11 +00:00
parent
13f14b6854
commit
96bc63470f
3 changed files with 18 additions and 8 deletions
|
@ -1086,6 +1086,7 @@ class FurnaceGUI {
|
||||||
int doubleClickColumn;
|
int doubleClickColumn;
|
||||||
int blankIns;
|
int blankIns;
|
||||||
int dragMovesSelection;
|
int dragMovesSelection;
|
||||||
|
int unsignedDetune;
|
||||||
unsigned int maxUndoSteps;
|
unsigned int maxUndoSteps;
|
||||||
String mainFontPath;
|
String mainFontPath;
|
||||||
String patFontPath;
|
String patFontPath;
|
||||||
|
@ -1187,6 +1188,7 @@ class FurnaceGUI {
|
||||||
doubleClickColumn(1),
|
doubleClickColumn(1),
|
||||||
blankIns(0),
|
blankIns(0),
|
||||||
dragMovesSelection(1),
|
dragMovesSelection(1),
|
||||||
|
unsignedDetune(0),
|
||||||
maxUndoSteps(100),
|
maxUndoSteps(100),
|
||||||
mainFontPath(""),
|
mainFontPath(""),
|
||||||
patFontPath(""),
|
patFontPath(""),
|
||||||
|
|
|
@ -1894,11 +1894,11 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ins->type==DIV_INS_FM || ins->type==DIV_INS_OPZ) {
|
if (ins->type==DIV_INS_FM || ins->type==DIV_INS_OPZ) {
|
||||||
int detune=(op.dt&7)-3;
|
int detune=(op.dt&7)-(settings.unsignedDetune?0:3);
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
CENTER_VSLIDER;
|
CENTER_VSLIDER;
|
||||||
if (CWVSliderInt("##DT",ImVec2(20.0f*dpiScale,sliderHeight),&detune,-3,4)) { PARAMETER
|
if (CWVSliderInt("##DT",ImVec2(20.0f*dpiScale,sliderHeight),&detune,-3,4)) { PARAMETER
|
||||||
op.dt=detune+3;
|
op.dt=detune+(settings.unsignedDetune?0:3);
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
@ -2224,11 +2224,11 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_MULT));
|
snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_MULT));
|
||||||
P(CWSliderScalar("##MULT",ImGuiDataType_U8,&op.mult,&_ZERO,&_FIFTEEN,tempID)); rightClickable
|
P(CWSliderScalar("##MULT",ImGuiDataType_U8,&op.mult,&_ZERO,&_FIFTEEN,tempID)); rightClickable
|
||||||
|
|
||||||
int detune=(op.dt&7)-3;
|
int detune=(op.dt&7)-(settings.unsignedDetune?0:3);
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_DT));
|
snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_DT));
|
||||||
if (CWSliderInt("##DT",&detune,-3,4,tempID)) { PARAMETER
|
if (CWSliderInt("##DT",&detune,-3,4,tempID)) { PARAMETER
|
||||||
op.dt=detune+3;
|
op.dt=detune+(settings.unsignedDetune?0:3);
|
||||||
} rightClickable
|
} rightClickable
|
||||||
|
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
|
@ -2369,11 +2369,11 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_MULT));
|
snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_MULT));
|
||||||
P(CWSliderScalar("##MULT",ImGuiDataType_U8,&op.mult,&_ZERO,&_FIFTEEN,tempID)); rightClickable
|
P(CWSliderScalar("##MULT",ImGuiDataType_U8,&op.mult,&_ZERO,&_FIFTEEN,tempID)); rightClickable
|
||||||
|
|
||||||
int detune=(op.dt&7)-3;
|
int detune=(op.dt&7)-(settings.unsignedDetune?0:3);
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_DT));
|
snprintf(tempID,1024,"%s: %%d",FM_NAME(FM_DT));
|
||||||
if (CWSliderInt("##DT",&detune,-3,4,tempID)) { PARAMETER
|
if (CWSliderInt("##DT",&detune,-3,4,tempID)) { PARAMETER
|
||||||
op.dt=detune+3;
|
op.dt=detune+(settings.unsignedDetune?0:3);
|
||||||
} rightClickable
|
} rightClickable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2666,12 +2666,12 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
ImGui::Text("%s",FM_NAME(FM_MULT));
|
ImGui::Text("%s",FM_NAME(FM_MULT));
|
||||||
|
|
||||||
if (ins->type==DIV_INS_FM || ins->type==DIV_INS_OPZ) {
|
if (ins->type==DIV_INS_FM || ins->type==DIV_INS_OPZ) {
|
||||||
int detune=(op.dt&7)-3;
|
int detune=(op.dt&7)-(settings.unsignedDetune?0:3);
|
||||||
ImGui::TableNextRow();
|
ImGui::TableNextRow();
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
if (CWSliderInt("##DT",&detune,-3,4)) { PARAMETER
|
if (CWSliderInt("##DT",&detune,-3,4)) { PARAMETER
|
||||||
op.dt=detune+3;
|
op.dt=detune+(settings.unsignedDetune?0:3);
|
||||||
} rightClickable
|
} rightClickable
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::Text("%s",FM_NAME(FM_DT));
|
ImGui::Text("%s",FM_NAME(FM_DT));
|
||||||
|
|
|
@ -1197,6 +1197,11 @@ void FurnaceGUI::drawSettings() {
|
||||||
if (ImGui::Checkbox("Use German notation",&germanNotationB)) {
|
if (ImGui::Checkbox("Use German notation",&germanNotationB)) {
|
||||||
settings.germanNotation=germanNotationB;
|
settings.germanNotation=germanNotationB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool unsignedDetuneB=settings.unsignedDetune;
|
||||||
|
if (ImGui::Checkbox("Unsigned FM detune values",&unsignedDetuneB)) {
|
||||||
|
settings.unsignedDetune=unsignedDetuneB;
|
||||||
|
}
|
||||||
|
|
||||||
// sorry. temporarily disabled until ImGui has a way to add separators in tables arbitrarily.
|
// sorry. temporarily disabled until ImGui has a way to add separators in tables arbitrarily.
|
||||||
/*bool sysSeparatorsB=settings.sysSeparators;
|
/*bool sysSeparatorsB=settings.sysSeparators;
|
||||||
|
@ -2049,6 +2054,7 @@ void FurnaceGUI::syncSettings() {
|
||||||
settings.doubleClickColumn=e->getConfInt("doubleClickColumn",1);
|
settings.doubleClickColumn=e->getConfInt("doubleClickColumn",1);
|
||||||
settings.blankIns=e->getConfInt("blankIns",0);
|
settings.blankIns=e->getConfInt("blankIns",0);
|
||||||
settings.dragMovesSelection=e->getConfInt("dragMovesSelection",2);
|
settings.dragMovesSelection=e->getConfInt("dragMovesSelection",2);
|
||||||
|
settings.unsignedDetune=e->getConfInt("unsignedDetune",0);
|
||||||
|
|
||||||
clampSetting(settings.mainFontSize,2,96);
|
clampSetting(settings.mainFontSize,2,96);
|
||||||
clampSetting(settings.patFontSize,2,96);
|
clampSetting(settings.patFontSize,2,96);
|
||||||
|
@ -2134,6 +2140,7 @@ void FurnaceGUI::syncSettings() {
|
||||||
clampSetting(settings.doubleClickColumn,0,1);
|
clampSetting(settings.doubleClickColumn,0,1);
|
||||||
clampSetting(settings.blankIns,0,1);
|
clampSetting(settings.blankIns,0,1);
|
||||||
clampSetting(settings.dragMovesSelection,0,2);
|
clampSetting(settings.dragMovesSelection,0,2);
|
||||||
|
clampSetting(settings.unsignedDetune,0,1);
|
||||||
|
|
||||||
settings.initialSys=e->decodeSysDesc(e->getConfString("initialSys",""));
|
settings.initialSys=e->decodeSysDesc(e->getConfString("initialSys",""));
|
||||||
if (settings.initialSys.size()<4) {
|
if (settings.initialSys.size()<4) {
|
||||||
|
@ -2268,6 +2275,7 @@ void FurnaceGUI::commitSettings() {
|
||||||
e->setConf("doubleClickColumn",settings.doubleClickColumn);
|
e->setConf("doubleClickColumn",settings.doubleClickColumn);
|
||||||
e->setConf("blankIns",settings.blankIns);
|
e->setConf("blankIns",settings.blankIns);
|
||||||
e->setConf("dragMovesSelection",settings.dragMovesSelection);
|
e->setConf("dragMovesSelection",settings.dragMovesSelection);
|
||||||
|
e->setConf("unsignedDetune",settings.unsignedDetune);
|
||||||
|
|
||||||
// colors
|
// colors
|
||||||
for (int i=0; i<GUI_COLOR_MAX; i++) {
|
for (int i=0; i<GUI_COLOR_MAX; i++) {
|
||||||
|
|
Loading…
Reference in a new issue