diff --git a/CMakeLists.txt b/CMakeLists.txt index e6a1e9cb08..9495f80589 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,7 +110,7 @@ option(WITH_DEMOS "Install demo songs" ON) option(WITH_INSTRUMENTS "Install instruments" ON) option(WITH_WAVETABLES "Install wavetables" ON) -set(DEPENDENCIES_INCLUDE_DIRS "") +set(DEPENDENCIES_INCLUDE_DIRS "extern/IconFontCppHeaders") if (ANDROID AND NOT TERMUX) set(DEPENDENCIES_DEFINES "IS_MOBILE") @@ -919,7 +919,6 @@ if (BUILD_GUI) list(APPEND DEPENDENCIES_INCLUDE_DIRS extern/imgui_patched extern/imgui_patched/backends - extern/IconFontCppHeaders extern/igfd ) if (WIN32 OR APPLE) diff --git a/src/engine/platform/pce.cpp b/src/engine/platform/pce.cpp index 920af9afa8..ba2af10e57 100644 --- a/src/engine/platform/pce.cpp +++ b/src/engine/platform/pce.cpp @@ -20,7 +20,7 @@ #include "pce.h" #include "../engine.h" // TODO: move this away -#include "../../src/gui/furIcons.h" +#include "../../gui/furIcons.h" #include //#define rWrite(a,v) pendingWrites[a]=v; diff --git a/src/engine/platform/snes.cpp b/src/engine/platform/snes.cpp index 8564708f9f..fd0a6be539 100644 --- a/src/engine/platform/snes.cpp +++ b/src/engine/platform/snes.cpp @@ -21,7 +21,7 @@ #include "../engine.h" #include "../../ta-log.h" // TODO: move this away -#include "../../src/gui/furIcons.h" +#include "../../gui/furIcons.h" #include #define CHIP_FREQBASE 131072 diff --git a/src/engine/platform/swan.cpp b/src/engine/platform/swan.cpp index 4e5fb4cca2..315b6c47ef 100644 --- a/src/engine/platform/swan.cpp +++ b/src/engine/platform/swan.cpp @@ -19,6 +19,9 @@ #include "swan.h" #include "../engine.h" +// TODO: move this away +#include "../../gui/furIcons.h" +#include "IconsFontAwesome4.h" #include #define rWrite(a,v) if (!skipRegisterWrites) {writes.push(QueuedWrite(a,v)); if (dumpWrites) {addWrite(a,v);}} @@ -480,6 +483,30 @@ unsigned short DivPlatformSwan::getPan(int ch) { return ((chan[ch].pan&0xf0)<<4)|(chan[ch].pan&15); } +DivChannelModeHints DivPlatformSwan::getModeHints(int ch) { + DivChannelModeHints ret; + + switch (ch) { + case 1: // PCM + ret.count=1; + ret.hint[0]=ICON_FA_VOLUME_UP; + ret.type[0]=pcm?4:0; + break; + case 2: // sweep + ret.count=1; + ret.hint[0]=ICON_FUR_SAW; + ret.type[0]=sweep?2:0; + break; + case 3: // noise + ret.count=1; + ret.hint[0]=ICON_FUR_NOISE; + ret.type[0]=noise?4:0; + break; + } + + return ret; +} + DivDispatchOscBuffer* DivPlatformSwan::getOscBuffer(int ch) { return oscBuf[ch]; } diff --git a/src/engine/platform/swan.h b/src/engine/platform/swan.h index 5f33e81c05..4dab6eb7c0 100644 --- a/src/engine/platform/swan.h +++ b/src/engine/platform/swan.h @@ -63,6 +63,7 @@ class DivPlatformSwan: public DivDispatch { void* getChanState(int chan); DivMacroInt* getChanMacroInt(int ch); unsigned short getPan(int chan); + DivChannelModeHints getModeHints(int chan); DivDispatchOscBuffer* getOscBuffer(int chan); unsigned char* getRegisterPool(); int getRegisterPoolSize(); diff --git a/src/gui/furIcons.h b/src/gui/furIcons.h index 26eca38c49..718e6822be 100644 --- a/src/gui/furIcons.h +++ b/src/gui/furIcons.h @@ -1,7 +1,7 @@ // not auto-generated. update every time you change icons.ttf! #define ICON_MIN_FUR 0xe0f0 -#define ICON_MAX_FUR 0xe14d +#define ICON_MAX_FUR 0xe158 // test #define ICON_FUR_TEST0 u8"\ue0f0" @@ -82,6 +82,18 @@ #define ICON_FUR_SAMPLE_SIGN u8"\ue140" #define ICON_FUR_SAMPLE_TRIM u8"\ue141" +// waveforms +#define ICON_FUR_NOISE u8"\ue14f" +#define ICON_FUR_PULSE1 u8"\ue150" +#define ICON_FUR_PULSE2 u8"\ue151" +#define ICON_FUR_PULSE3 u8"\ue152" +#define ICON_FUR_PULSE4 u8"\ue153" +#define ICON_FUR_PULSE5 u8"\ue154" +#define ICON_FUR_PULSE6 u8"\ue155" +#define ICON_FUR_PULSE7 u8"\ue156" +#define ICON_FUR_SAW u8"\ue157" +#define ICON_FUR_TRI u8"\ue158" + // misc #define ICON_FUR_SINE u8"\ue144" #define ICON_FUR_ADSR_A u8"\ue145" @@ -92,4 +104,5 @@ #define ICON_FUR_DEC_EXP u8"\ue14a" #define ICON_FUR_INC_LINEAR u8"\ue14b" #define ICON_FUR_INC_BENT u8"\ue14c" -#define ICON_FUR_VOL_DIRECT u8"\ue14d" \ No newline at end of file +#define ICON_FUR_VOL_DIRECT u8"\ue14d" +#define ICON_FUR_ADSR u8"\ue14e" \ No newline at end of file