we got custom icons
This commit is contained in:
parent
1848484831
commit
6ae8f615d9
|
@ -649,6 +649,7 @@ src/gui/font_proggyClean.cpp
|
|||
src/gui/font_ptMono.cpp
|
||||
src/gui/font_unifont.cpp
|
||||
src/gui/font_icon.cpp
|
||||
src/gui/font_furicon.cpp
|
||||
src/gui/fonts.cpp
|
||||
|
||||
src/gui/image_icon.cpp
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
#!/bin/bash
|
||||
# run after exporting to .ttf
|
||||
# make sure you're running this on a Linux or Unix-like system with GCC
|
||||
|
||||
if [ ! -e binary_to_compressed_c ]; then
|
||||
g++ -o binary_to_compressed_c ../extern/imgui_patched/misc/fonts/binary_to_compressed_c.cpp || exit 1
|
||||
fi
|
||||
|
||||
./binary_to_compressed_c icons.ttf furIcons > ../src/gui/font_furicon.cpp
|
||||
echo "#include \"fonts.h\"" > ../src/gui/font_furicon.cpp
|
||||
./binary_to_compressed_c icons.ttf furIcons | sed "s/static //" >> ../src/gui/font_furicon.cpp
|
||||
#xxd -i -n "furIcons" icons.ttf | sed -r "s/^ +//g;s/, /,/g;s/ = /=/g;s/unsigned/const unsigned/g" > ../src/gui/font_furIcons.cpp
|
||||
|
|
|
@ -76,223 +76,26 @@ void FurnaceGUI::insListItem(int i, int dir, int asset) {
|
|||
const char* insType="Bug!";
|
||||
if (i>=0 && i<e->song.insLen) {
|
||||
DivInstrument* ins=e->song.ins[i];
|
||||
insType=(ins->type>DIV_INS_MAX)?"Unknown":insTypes[ins->type];
|
||||
switch (ins->type) {
|
||||
case DIV_INS_FM:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_FM]);
|
||||
name=fmt::sprintf(ICON_FA_AREA_CHART "##_INS%d",i);
|
||||
insType=(ins->type>DIV_INS_MAX)?"Unknown":insTypes[ins->type][0];
|
||||
const char** insIcon=NULL;
|
||||
|
||||
if (ins->type>=DIV_INS_MAX) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_UNKNOWN]);
|
||||
insIcon=insTypes[DIV_INS_MAX];
|
||||
} else {
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_STD+ins->type]);
|
||||
insIcon=insTypes[ins->type];
|
||||
}
|
||||
|
||||
switch (settings.insIconsStyle) {
|
||||
case 1:
|
||||
name=fmt::sprintf("%s##_INS%d",insIcon[1],i);
|
||||
break;
|
||||
case DIV_INS_STD:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_STD]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_GB:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_GB]);
|
||||
name=fmt::sprintf(ICON_FA_GAMEPAD "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_C64:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_C64]);
|
||||
name=fmt::sprintf(ICON_FA_KEYBOARD_O "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_AMIGA:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_AMIGA]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_PCE:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_PCE]);
|
||||
name=fmt::sprintf(ICON_FA_ID_BADGE "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_AY:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_AY]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_AY8930:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_AY8930]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_TIA:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_TIA]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_SAA1099:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_SAA1099]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_VIC:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_VIC]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_PET:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_PET]);
|
||||
name=fmt::sprintf(ICON_FA_SQUARE "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_VRC6:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_VRC6]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_VRC6_SAW:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_VRC6_SAW]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_OPLL:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_OPLL]);
|
||||
name=fmt::sprintf(ICON_FA_AREA_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_OPL:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_OPL]);
|
||||
name=fmt::sprintf(ICON_FA_AREA_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_FDS:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_FDS]);
|
||||
name=fmt::sprintf(ICON_FA_FLOPPY_O "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_VBOY:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_VBOY]);
|
||||
name=fmt::sprintf(ICON_FA_BINOCULARS "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_N163:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_N163]);
|
||||
name=fmt::sprintf(ICON_FA_CALCULATOR "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_SCC:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_SCC]);
|
||||
name=fmt::sprintf(ICON_FA_CALCULATOR "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_OPZ:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_OPZ]);
|
||||
name=fmt::sprintf(ICON_FA_AREA_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_POKEY:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_POKEY]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_BEEPER:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_BEEPER]);
|
||||
name=fmt::sprintf(ICON_FA_SQUARE "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_SWAN:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_SWAN]);
|
||||
name=fmt::sprintf(ICON_FA_GAMEPAD "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_MIKEY:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_MIKEY]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_VERA:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_VERA]);
|
||||
name=fmt::sprintf(ICON_FA_KEYBOARD_O "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_X1_010:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_X1_010]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_ES5506:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_ES5506]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_MULTIPCM:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_MULTIPCM]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_SNES:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_SNES]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_SU:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_SU]);
|
||||
name=fmt::sprintf(ICON_FA_MICROCHIP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_NAMCO:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_NAMCO]);
|
||||
name=fmt::sprintf(ICON_FA_PIE_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_OPL_DRUMS:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_OPL_DRUMS]);
|
||||
name=fmt::sprintf(ICON_FA_COFFEE "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_OPM:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_OPM]);
|
||||
name=fmt::sprintf(ICON_FA_AREA_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_NES:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_NES]);
|
||||
name=fmt::sprintf(ICON_FA_GAMEPAD "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_MSM6258:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_MSM6258]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_MSM6295:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_MSM6295]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_ADPCMA:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_ADPCMA]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_ADPCMB:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_ADPCMB]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_SEGAPCM:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_SEGAPCM]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_QSOUND:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_QSOUND]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_YMZ280B:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_YMZ280B]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_RF5C68:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_RF5C68]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_MSM5232:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_MSM5232]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_T6W28:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_T6W28]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_K007232:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_K007232]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_GA20:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_GA20]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_POKEMINI:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_POKEMINI]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_SM8521:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_SM8521]);
|
||||
name=fmt::sprintf(ICON_FA_GAMEPAD "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_PV1000:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_PV1000]);
|
||||
name=fmt::sprintf(ICON_FA_GAMEPAD "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_K053260:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_K053260]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_TED:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_TED]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_C140:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_C140]);
|
||||
name=fmt::sprintf(ICON_FA_VOLUME_UP "##_INS%d",i);
|
||||
case 2:
|
||||
name=fmt::sprintf("%s##_INS%d",insIcon[2],i);
|
||||
break;
|
||||
default:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_UNKNOWN]);
|
||||
name=fmt::sprintf(ICON_FA_QUESTION "##_INS%d",i);
|
||||
name=fmt::sprintf("##_INS%d",i);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include "fonts.h"
|
||||
// File: 'icons.ttf' (25980 bytes)
|
||||
// Exported using binary_to_compressed_c.cpp
|
||||
static const unsigned int furIcons_compressed_size = 12613;
|
||||
static const unsigned int furIcons_compressed_data[12616/4] =
|
||||
const unsigned int furIcons_compressed_size = 12613;
|
||||
const unsigned int furIcons_compressed_data[12616/4] =
|
||||
{
|
||||
0x0000bc57, 0x00000000, 0x7c650000, 0x00000400, 0x00010037, 0x000e0000, 0x00030080, 0x54464660, 0xd753a24d, 0x650000e9, 0x28158260, 0x4544471c,
|
||||
0x00150046, 0x200f8214, 0x2b0f8344, 0x322f534f, 0x6952fa8c, 0x68010000, 0x562c0f82, 0x70616d63, 0xb9c7ffcb, 0x48020000, 0xc82c1382, 0x20747663,
|
||||
|
|
|
@ -40,6 +40,8 @@ extern const unsigned int font_unifont_compressed_size;
|
|||
extern const unsigned int font_unifont_compressed_data[];
|
||||
extern const unsigned int iconFont_compressed_size;
|
||||
extern const unsigned int iconFont_compressed_data[];
|
||||
extern const unsigned int furIcons_compressed_size;
|
||||
extern const unsigned int furIcons_compressed_data[];
|
||||
|
||||
extern const unsigned int* builtinFont[];
|
||||
extern const unsigned int builtinFontLen[];
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
#define ICON_FUR_INS_SM8521 u8"\ue130"
|
||||
#define ICON_FUR_INS_PV1000 u8"\ue131"
|
||||
#define ICON_FUR_INS_K053260 u8"\ue132"
|
||||
#define ICON_FUR_INS_YMF292 u8"\ue133"
|
||||
#define ICON_FUR_INS_SCSP u8"\ue133"
|
||||
#define ICON_FUR_INS_TED u8"\ue134"
|
||||
#define ICON_FUR_INS_C140 u8"\ue135"
|
||||
|
||||
|
|
|
@ -5633,7 +5633,7 @@ bool FurnaceGUI::loop() {
|
|||
if (ImGui::BeginPopup("InsTypeList",ImGuiWindowFlags_NoMove|ImGuiWindowFlags_AlwaysAutoResize|ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoSavedSettings)) {
|
||||
char temp[1024];
|
||||
for (DivInstrumentType& i: makeInsTypeList) {
|
||||
strncpy(temp,insTypes[i],1023);
|
||||
strncpy(temp,insTypes[i][0],1023);
|
||||
if (ImGui::MenuItem(temp)) {
|
||||
// create ins
|
||||
curIns=e->addInstrument(-1,i);
|
||||
|
@ -6883,6 +6883,7 @@ FurnaceGUI::FurnaceGUI():
|
|||
learning(-1),
|
||||
mainFont(NULL),
|
||||
iconFont(NULL),
|
||||
furIconFont(NULL),
|
||||
patFont(NULL),
|
||||
bigFont(NULL),
|
||||
headFont(NULL),
|
||||
|
|
|
@ -1385,6 +1385,7 @@ class FurnaceGUI {
|
|||
|
||||
ImFont* mainFont;
|
||||
ImFont* iconFont;
|
||||
ImFont* furIconFont;
|
||||
ImFont* patFont;
|
||||
ImFont* bigFont;
|
||||
ImFont* headFont;
|
||||
|
@ -1551,6 +1552,7 @@ class FurnaceGUI {
|
|||
int insTypeMenu;
|
||||
int capitalMenuBar;
|
||||
int centerPopup;
|
||||
int insIconsStyle;
|
||||
unsigned int maxUndoSteps;
|
||||
String mainFontPath;
|
||||
String headFontPath;
|
||||
|
@ -1715,6 +1717,7 @@ class FurnaceGUI {
|
|||
insTypeMenu(1),
|
||||
capitalMenuBar(0),
|
||||
centerPopup(1),
|
||||
insIconsStyle(1),
|
||||
maxUndoSteps(100),
|
||||
mainFontPath(""),
|
||||
headFontPath(""),
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#include "gui.h"
|
||||
#include "guiConst.h"
|
||||
#include "../engine/song.h"
|
||||
#include "IconsFontAwesome4.h"
|
||||
#include "furIcons.h"
|
||||
|
||||
const int opOrder[4]={
|
||||
0, 2, 1, 3
|
||||
|
@ -116,62 +118,63 @@ const int vgmVersions[7]={
|
|||
0x172
|
||||
};
|
||||
|
||||
const char* insTypes[DIV_INS_MAX+1]={
|
||||
"SN76489/Sega PSG",
|
||||
"FM (OPN)",
|
||||
"Game Boy",
|
||||
"C64",
|
||||
"Generic Sample",
|
||||
"PC Engine",
|
||||
"AY-3-8910/SSG",
|
||||
"AY8930",
|
||||
"TIA",
|
||||
"SAA1099",
|
||||
"VIC",
|
||||
"PET",
|
||||
"VRC6",
|
||||
"FM (OPLL)",
|
||||
"FM (OPL)",
|
||||
"FDS",
|
||||
"Virtual Boy",
|
||||
"Namco 163",
|
||||
"Konami SCC/Bubble System WSG",
|
||||
"FM (OPZ)",
|
||||
"POKEY",
|
||||
"Beeper",
|
||||
"WonderSwan",
|
||||
"Atari Lynx",
|
||||
"VERA",
|
||||
"X1-010",
|
||||
"VRC6 (saw)",
|
||||
"ES5506",
|
||||
"MultiPCM",
|
||||
"SNES",
|
||||
"Sound Unit",
|
||||
"Namco WSG",
|
||||
"OPL (drums)",
|
||||
"FM (OPM)",
|
||||
"NES",
|
||||
"MSM6258",
|
||||
"MSM6295",
|
||||
"ADPCM-A",
|
||||
"ADPCM-B",
|
||||
"SegaPCM",
|
||||
"QSound",
|
||||
"YMZ280B",
|
||||
"RF5C68",
|
||||
"MSM5232",
|
||||
"T6W28",
|
||||
"K007232",
|
||||
"GA20",
|
||||
"Pokémon Mini/QuadTone",
|
||||
"SM8521",
|
||||
"PV-1000",
|
||||
"K053260",
|
||||
"SCSP",
|
||||
"TED",
|
||||
"C140",
|
||||
NULL
|
||||
// name, icon, letter icon
|
||||
const char* insTypes[DIV_INS_MAX+1][3]={
|
||||
{"SN76489/Sega PSG",ICON_FA_AREA_CHART,ICON_FUR_INS_STD},
|
||||
{"FM (OPN)",ICON_FA_BAR_CHART,ICON_FUR_INS_FM},
|
||||
{"Game Boy",ICON_FA_GAMEPAD,ICON_FUR_INS_GB},
|
||||
{"C64",ICON_FA_KEYBOARD_O,ICON_FUR_INS_C64},
|
||||
{"Generic Sample",ICON_FA_VOLUME_UP,ICON_FUR_INS_AMIGA},
|
||||
{"PC Engine",ICON_FA_ID_BADGE,ICON_FUR_INS_PCE},
|
||||
{"AY-3-8910/SSG",ICON_FA_BAR_CHART,ICON_FUR_INS_AY},
|
||||
{"AY8930",ICON_FA_BAR_CHART,ICON_FUR_INS_AY8930},
|
||||
{"TIA",ICON_FA_BAR_CHART,ICON_FUR_INS_TIA},
|
||||
{"SAA1099",ICON_FA_BAR_CHART,ICON_FUR_INS_SAA1099},
|
||||
{"VIC",ICON_FA_BAR_CHART,ICON_FUR_INS_VIC},
|
||||
{"PET",ICON_FA_SQUARE,ICON_FUR_INS_PET},
|
||||
{"VRC6",ICON_FA_BAR_CHART,ICON_FUR_INS_VRC6},
|
||||
{"FM (OPLL)",ICON_FA_AREA_CHART,ICON_FUR_INS_OPLL},
|
||||
{"FM (OPL)",ICON_FA_AREA_CHART,ICON_FUR_INS_OPL},
|
||||
{"FDS",ICON_FA_FLOPPY_O,ICON_FUR_INS_FDS},
|
||||
{"Virtual Boy",ICON_FA_BINOCULARS,ICON_FUR_INS_VBOY},
|
||||
{"Namco 163",ICON_FA_CALCULATOR,ICON_FUR_INS_N163},
|
||||
{"Konami SCC/Bubble System WSG",ICON_FA_CALCULATOR,ICON_FUR_INS_SCC},
|
||||
{"FM (OPZ)",ICON_FA_AREA_CHART,ICON_FUR_INS_OPZ},
|
||||
{"POKEY",ICON_FA_BAR_CHART,ICON_FUR_INS_POKEY},
|
||||
{"Beeper",ICON_FA_SQUARE,ICON_FUR_INS_BEEPER},
|
||||
{"WonderSwan",ICON_FA_GAMEPAD,ICON_FUR_INS_SWAN},
|
||||
{"Atari Lynx",ICON_FA_BAR_CHART,ICON_FUR_INS_MIKEY},
|
||||
{"VERA",ICON_FA_KEYBOARD_O,ICON_FUR_INS_VERA},
|
||||
{"X1-010",ICON_FA_BAR_CHART,ICON_FUR_INS_X1_010},
|
||||
{"VRC6 (saw)",ICON_FA_BAR_CHART,ICON_FUR_INS_VRC6_SAW},
|
||||
{"ES5506",ICON_FA_VOLUME_UP,ICON_FUR_INS_ES5506},
|
||||
{"MultiPCM",ICON_FA_VOLUME_UP,ICON_FUR_INS_MULTIPCM},
|
||||
{"SNES",ICON_FA_VOLUME_UP,ICON_FUR_INS_SNES},
|
||||
{"Sound Unit",ICON_FA_MICROCHIP,ICON_FUR_INS_SU},
|
||||
{"Namco WSG",ICON_FA_PIE_CHART,ICON_FUR_INS_NAMCO},
|
||||
{"OPL (drums)",ICON_FA_COFFEE,ICON_FUR_INS_OPL_DRUMS},
|
||||
{"FM (OPM)",ICON_FA_AREA_CHART,ICON_FUR_INS_OPM},
|
||||
{"NES",ICON_FA_GAMEPAD,ICON_FUR_INS_NES},
|
||||
{"MSM6258",ICON_FA_VOLUME_UP,ICON_FUR_INS_MSM6258},
|
||||
{"MSM6295",ICON_FA_VOLUME_UP,ICON_FUR_INS_MSM6295},
|
||||
{"ADPCM-A",ICON_FA_VOLUME_UP,ICON_FUR_INS_ADPCMA},
|
||||
{"ADPCM-B",ICON_FA_VOLUME_UP,ICON_FUR_INS_ADPCMB},
|
||||
{"SegaPCM",ICON_FA_VOLUME_UP,ICON_FUR_INS_SEGAPCM},
|
||||
{"QSound",ICON_FA_VOLUME_UP,ICON_FUR_INS_QSOUND},
|
||||
{"YMZ280B",ICON_FA_VOLUME_UP,ICON_FUR_INS_YMZ280B},
|
||||
{"RF5C68",ICON_FA_VOLUME_UP,ICON_FUR_INS_RF5C68},
|
||||
{"MSM5232",ICON_FA_BAR_CHART,ICON_FUR_INS_MSM5232},
|
||||
{"T6W28",ICON_FA_BAR_CHART,ICON_FUR_INS_T6W28},
|
||||
{"K007232",ICON_FA_BAR_CHART,ICON_FUR_INS_K007232},
|
||||
{"GA20",ICON_FA_BAR_CHART,ICON_FUR_INS_GA20},
|
||||
{"Pokémon Mini/QuadTone",ICON_FA_BAR_CHART,ICON_FUR_INS_POKEMINI},
|
||||
{"SM8521",ICON_FA_GAMEPAD,ICON_FUR_INS_SM8521},
|
||||
{"PV-1000",ICON_FA_GAMEPAD,ICON_FUR_INS_PV1000},
|
||||
{"K053260",ICON_FA_BAR_CHART,ICON_FUR_INS_K053260},
|
||||
{"SCSP",ICON_FA_QUESTION,ICON_FUR_INS_SCSP},
|
||||
{"TED",ICON_FA_BAR_CHART,ICON_FUR_INS_TED},
|
||||
{"C140",ICON_FA_VOLUME_UP,ICON_FUR_INS_C140},
|
||||
{NULL,ICON_FA_QUESTION,ICON_FA_QUESTION}
|
||||
};
|
||||
|
||||
const char* sampleLoopModes[DIV_SAMPLE_LOOP_MAX]={
|
||||
|
@ -1255,3 +1258,9 @@ const char* chipCategoryNames[]={
|
|||
"Sample",
|
||||
NULL
|
||||
};
|
||||
|
||||
// NORMAL, LETTER,
|
||||
const char* insIcons[]={
|
||||
ICON_FA_AREA_CHART,
|
||||
|
||||
};
|
|
@ -41,7 +41,7 @@ extern const char* noteNamesG[180];
|
|||
extern const char* noteNamesF[180];
|
||||
extern const char* noteNamesGF[180];
|
||||
extern const char* pitchLabel[11];
|
||||
extern const char* insTypes[];
|
||||
extern const char* insTypes[][3];
|
||||
extern const char* sampleLoopModes[];
|
||||
extern const char* sampleDepths[];
|
||||
extern const char* resampleStrats[];
|
||||
|
|
|
@ -2306,17 +2306,17 @@ void FurnaceGUI::drawInsEdit() {
|
|||
ins->type=(DivInstrumentType)insType;
|
||||
}
|
||||
*/
|
||||
if (ImGui::BeginCombo("##Type",insTypes[insType])) {
|
||||
if (ImGui::BeginCombo("##Type",insTypes[insType][0])) {
|
||||
std::vector<DivInstrumentType> insTypeList;
|
||||
if (settings.displayAllInsTypes) {
|
||||
for (int i=0; insTypes[i]; i++) {
|
||||
for (int i=0; insTypes[i][0]; i++) {
|
||||
insTypeList.push_back((DivInstrumentType)i);
|
||||
}
|
||||
} else {
|
||||
insTypeList=e->getPossibleInsTypes();
|
||||
}
|
||||
for (DivInstrumentType i: insTypeList) {
|
||||
if (ImGui::Selectable(insTypes[i],insType==i)) {
|
||||
if (ImGui::Selectable(insTypes[i][0],insType==i)) {
|
||||
ins->type=i;
|
||||
|
||||
// reset macro zoom
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include "intConst.h"
|
||||
#include "ImGuiFileDialog.h"
|
||||
#include "IconsFontAwesome4.h"
|
||||
#include "furIcons.h"
|
||||
#include "misc/cpp/imgui_stdlib.h"
|
||||
#include <fmt/printf.h>
|
||||
#include <imgui.h>
|
||||
|
@ -2312,6 +2313,19 @@ void FurnaceGUI::drawSettings() {
|
|||
}
|
||||
ImGui::EndDisabled();
|
||||
|
||||
ImGui::Text("Instrument list icon style:");
|
||||
ImGui::Indent();
|
||||
if (ImGui::RadioButton("None##iis0",settings.insIconsStyle==0)) {
|
||||
settings.insIconsStyle=0;
|
||||
}
|
||||
if (ImGui::RadioButton("Graphical icons##iis1",settings.insIconsStyle==1)) {
|
||||
settings.insIconsStyle=1;
|
||||
}
|
||||
if (ImGui::RadioButton("Letter icons##iis2",settings.insIconsStyle==2)) {
|
||||
settings.insIconsStyle=2;
|
||||
}
|
||||
ImGui::Unindent();
|
||||
|
||||
bool insEditColorizeB=settings.insEditColorize;
|
||||
if (ImGui::Checkbox("Colorize instrument editor using instrument type",&insEditColorizeB)) {
|
||||
settings.insEditColorize=insEditColorizeB;
|
||||
|
@ -3061,6 +3075,7 @@ void FurnaceGUI::syncSettings() {
|
|||
settings.insTypeMenu=e->getConfInt("insTypeMenu",1);
|
||||
settings.capitalMenuBar=e->getConfInt("capitalMenuBar",0);
|
||||
settings.centerPopup=e->getConfInt("centerPopup",1);
|
||||
settings.insIconsStyle=e->getConfInt("insIconsStyle",1);
|
||||
|
||||
clampSetting(settings.mainFontSize,2,96);
|
||||
clampSetting(settings.headFontSize,2,96);
|
||||
|
@ -3198,6 +3213,7 @@ void FurnaceGUI::syncSettings() {
|
|||
clampSetting(settings.insTypeMenu,0,1);
|
||||
clampSetting(settings.capitalMenuBar,0,1);
|
||||
clampSetting(settings.centerPopup,0,1);
|
||||
clampSetting(settings.insIconsStyle,0,1);
|
||||
|
||||
if (settings.exportLoops<0.0) settings.exportLoops=0.0;
|
||||
if (settings.exportFadeOut<0.0) settings.exportFadeOut=0.0;
|
||||
|
@ -3434,6 +3450,7 @@ void FurnaceGUI::commitSettings() {
|
|||
e->setConf("insTypeMenu",settings.insTypeMenu);
|
||||
e->setConf("capitalMenuBar",settings.capitalMenuBar);
|
||||
e->setConf("centerPopup",settings.centerPopup);
|
||||
e->setConf("insIconsStyle",settings.insIconsStyle);
|
||||
|
||||
// colors
|
||||
for (int i=0; i<GUI_COLOR_MAX; i++) {
|
||||
|
@ -4198,6 +4215,11 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
|
|||
logE("could not load icon font!");
|
||||
}
|
||||
|
||||
static const ImWchar fontRangeFurIcon[]={ICON_MIN_FUR,ICON_MAX_FUR,0};
|
||||
if ((furIconFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(furIcons_compressed_data,furIcons_compressed_size,MAX(1,e->getConfInt("iconSize",16)*dpiScale),&fc,fontRangeFurIcon))==NULL) {
|
||||
logE("could not load Furnace icons font!");
|
||||
}
|
||||
|
||||
if (settings.mainFontSize==settings.patFontSize && settings.patFont<5 && builtinFontM[settings.patFont]==builtinFont[settings.mainFont]) {
|
||||
logD("using main font for pat font.");
|
||||
patFont=mainFont;
|
||||
|
|
Loading…
Reference in New Issue