diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 14577b40e..1c5d4dd2e 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -414,6 +414,7 @@ void DivEngine::runExportThread() { } } +// TODO: properly export ExtCh songs in per-channel mode bool DivEngine::saveAudio(const char* path, int loops, DivAudioExportModes mode) { exportPath=path; exportMode=mode; diff --git a/src/engine/waveSynth.cpp b/src/engine/waveSynth.cpp index 4d776ba4c..e38ee228e 100644 --- a/src/engine/waveSynth.cpp +++ b/src/engine/waveSynth.cpp @@ -2,6 +2,10 @@ #include "engine.h" #include "instrument.h" +// TODO: +// - add missing license header +// - implement waveSynth on Amiga and N163 + bool DivWaveSynth::activeChanged() { if (activeChangedB) { activeChangedB=false; diff --git a/src/gui/editControls.cpp b/src/gui/editControls.cpp index 5e8d72574..8d9480242 100644 --- a/src/gui/editControls.cpp +++ b/src/gui/editControls.cpp @@ -20,6 +20,9 @@ #include "gui.h" #include "IconsFontAwesome4.h" +// TODO: +// - "play from start" button/action +// - fix behavior of play buttons void FurnaceGUI::drawEditControls() { if (nextWindow==GUI_WINDOW_EDIT_CONTROLS) { editControlsOpen=true; diff --git a/src/gui/gui.h b/src/gui/gui.h index 7cc66c847..53b2f1715 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -46,6 +46,9 @@ #define BIND_FOR(x) getKeyName(actionKeys[x],true).c_str() +// TODO: +// - add colors for FM envelope and waveform +// - maybe add "alternate" color for FM modulators/carriers (a bit difficult) enum FurnaceGUIColors { GUI_COLOR_BACKGROUND=0, GUI_COLOR_FRAME_BACKGROUND, diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 3e1416128..f53db474c 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -1253,6 +1253,8 @@ if (ImGui::BeginTable("MacroSpace",2)) { \ #define CENTER_VSLIDER \ ImGui::SetCursorPosX(ImGui::GetCursorPosX()+0.5f*ImGui::GetContentRegionAvail().x-10.0f*dpiScale); +// TODO: +// - add right click line draw in macro editor void FurnaceGUI::drawInsEdit() { if (nextWindow==GUI_WINDOW_INS_EDIT) { insEditOpen=true; diff --git a/src/gui/osc.cpp b/src/gui/osc.cpp index c0ce978cf..e43dee1e0 100644 --- a/src/gui/osc.cpp +++ b/src/gui/osc.cpp @@ -22,6 +22,10 @@ #include #include +// TODO: +// - potentially move oscilloscope seek position to the end, and read the last samples +// - this allows for setting up the window size +// - reduce initial latency (it's too high) void FurnaceGUI::readOsc() { int writePos=e->oscWritePos; int readPos=e->oscReadPos; @@ -65,6 +69,9 @@ void FurnaceGUI::readOsc() { e->oscReadPos=readPos; } +// TODO: +// - draw reference level +// - draw guidelines void FurnaceGUI::drawOsc() { if (nextWindow==GUI_WINDOW_OSCILLOSCOPE) { oscOpen=true; diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 0decef970..de0e5a61f 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -408,6 +408,7 @@ void FurnaceGUI::drawPattern() { patWindowSize=ImGui::GetWindowSize(); //char id[32]; ImGui::PushFont(patFont); + // TODO: separate GUI curOrder from engine curOrder int ord=e->isPlaying()?oldOrder:e->getOrder(); oldOrder=e->getOrder(); int chans=e->getTotalChannelCount(); diff --git a/src/gui/piano.cpp b/src/gui/piano.cpp index d3a3d35ef..aa18996f3 100644 --- a/src/gui/piano.cpp +++ b/src/gui/piano.cpp @@ -20,6 +20,7 @@ #include "gui.h" #include "guiConst.h" +// TODO: actually implement a piano! void FurnaceGUI::drawPiano() { if (nextWindow==GUI_WINDOW_PIANO) { pianoOpen=true; diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index 04af4cab3..34cb23d5f 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -28,6 +28,12 @@ #include "sampleUtil.h" #include "util.h" +// TODO: +// - resample should change C-4 note +// - clicking on waveform should give this window focus +// - add "create instrument using this sample" option +// - .dmc loading +// - duplicate sample void FurnaceGUI::drawSampleEdit() { if (nextWindow==GUI_WINDOW_SAMPLE_EDIT) { sampleEditOpen=true; diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 87b798572..d8070dc65 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -198,6 +198,10 @@ struct MappedInput { scan(s), val(v) {} }; +// TODO: +// - add metronome volume setting +// - maybe add metronome sound setting +// - add a "close" button to this window void FurnaceGUI::drawSettings() { if (nextWindow==GUI_WINDOW_SETTINGS) { settingsOpen=true;