diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index 2c5e67898..4a52cc0e1 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -252,6 +252,7 @@ const char* chanNames[CHANNEL_TYPE_MAX+1]={ _N("Drums"), _N("Slope"), // PowerNoise _N("Wave"), // not wavetable (VERA, 5E01) + _N("PSG"), _N("Channel"), // if neither _N("Channels") // in case this makes l10n easier diff --git a/src/gui/guiConst.h b/src/gui/guiConst.h index 85b5ce126..c88729ca8 100644 --- a/src/gui/guiConst.h +++ b/src/gui/guiConst.h @@ -35,6 +35,7 @@ enum FurnaceGUIChanTypes { CHANNEL_TYPE_DRUMS, CHANNEL_TYPE_SLOPE, CHANNEL_TYPE_WAVE, + CHANNEL_TYPE_PSG, CHANNEL_TYPE_OTHER, CHANNEL_TYPE_MAX diff --git a/src/gui/newSong.cpp b/src/gui/newSong.cpp index 1609eaf34..344b0de61 100644 --- a/src/gui/newSong.cpp +++ b/src/gui/newSong.cpp @@ -81,6 +81,7 @@ void FurnaceGUI::drawSysDefs(std::vector& category, bool& acce ImGui::PushTextWrapPos(MIN(scrW*dpiScale,400.0f*dpiScale)); ImGui::Text("%s (x%d): ",sysDef->name,chipCounts[chip]); ImGui::Text("%s",sysDef->description); + ImGui::Separator(); drawSystemChannelInfoText(sysDef); drawSystemChannelInfo(sysDef); ImGui::PopTextWrapPos(); diff --git a/src/gui/sysManager.cpp b/src/gui/sysManager.cpp index b6bda6433..c2b7dc836 100644 --- a/src/gui/sysManager.cpp +++ b/src/gui/sysManager.cpp @@ -94,6 +94,7 @@ void FurnaceGUI::drawSysManager() { if (ImGui::BeginTooltip()) { ImGui::PushTextWrapPos(420.0f*dpiScale); // arbitrary constant ImGui::TextWrapped("%s",sysDef->description); + ImGui::Separator(); drawSystemChannelInfoText(sysDef); drawSystemChannelInfo(sysDef); ImGui::PopTextWrapPos(); diff --git a/src/gui/sysMiscInfo.cpp b/src/gui/sysMiscInfo.cpp index 4f8d9f500..b55e13b70 100644 --- a/src/gui/sysMiscInfo.cpp +++ b/src/gui/sysMiscInfo.cpp @@ -300,8 +300,8 @@ void FurnaceGUI::drawSystemChannelInfo(const DivSysDef* whichDef) { float scaler=5.0f*dpiScale; float x=p.x+dpiScale; for (int i=0; ichannels; i++) { - dl->AddRectFilled(ImVec2(x,p.y),ImVec2(x+2.0f*scaler,p.y+1.0f*scaler),ImGui::GetColorU32(uiColors[whichDef->chanTypes[i]+GUI_COLOR_CHANNEL_FM]),scaler); - x+=3.0f*scaler; + dl->AddRectFilled(ImVec2(x,p.y),ImVec2(x+1.5f*scaler,p.y+1.0f*scaler),ImGui::GetColorU32(uiColors[whichDef->chanTypes[i]+GUI_COLOR_CHANNEL_FM]),scaler); + x+=2.0f*scaler; } ImGui::Dummy(ImVec2(0,4*scaler)); } @@ -342,6 +342,10 @@ void FurnaceGUI::drawSystemChannelInfoText(const DivSysDef* whichDef) { chanCount[whichDef->chanTypes[i]]++; } break; + case DIV_INS_AY: + case DIV_INS_AY8930: + chanCount[CHANNEL_TYPE_PSG]++; + break; case DIV_INS_OPL_DRUMS: case DIV_INS_OPL: case DIV_INS_OPLL: @@ -403,6 +407,13 @@ void FurnaceGUI::drawSystemChannelInfoText(const DivSysDef* whichDef) { } chanCount[whichDef->chanTypes[i]]++; break; + case DIV_INS_SID3: + if (whichDef->chanTypes[i]!=DIV_CH_WAVE) { + chanCount[CHANNEL_TYPE_OTHER]++; + } else { + chanCount[CHANNEL_TYPE_WAVE]++; + } + break; case DIV_INS_C64: // uncategorizable (by me) case DIV_INS_TIA: case DIV_INS_PET: diff --git a/src/gui/sysPicker.cpp b/src/gui/sysPicker.cpp index 84cae29f9..4628dcd7e 100644 --- a/src/gui/sysPicker.cpp +++ b/src/gui/sysPicker.cpp @@ -92,6 +92,7 @@ DivSystem FurnaceGUI::systemPicker(bool fullWidth) { if (hoveredSys!=DIV_SYSTEM_NULL) { const DivSysDef* sysDef=e->getSystemDef(hoveredSys); ImGui::TextWrapped("%s",sysDef->description); + ImGui::Separator(); drawSystemChannelInfoText(sysDef); drawSystemChannelInfo(sysDef); }