diff --git a/src/audio/taAudio.h b/src/audio/taAudio.h index c1ef519dd..818122bf9 100644 --- a/src/audio/taAudio.h +++ b/src/audio/taAudio.h @@ -25,13 +25,13 @@ struct SampleRateChangeEvent { double rate; - SampleRateChangeEvent(double r): + explicit SampleRateChangeEvent(double r): rate(r) {} }; struct BufferSizeChangeEvent { unsigned int bufsize; - BufferSizeChangeEvent(unsigned int bs): + explicit BufferSizeChangeEvent(unsigned int bs): bufsize(bs) {} }; @@ -183,6 +183,7 @@ class TAAudio { inBufs(NULL), outBufs(NULL), audioProcCallback(NULL), + audioProcCallbackUser(NULL), sampleRateChanged(NULL), bufferSizeChanged(NULL), midiIn(NULL), diff --git a/src/engine/engine.h b/src/engine/engine.h index 3d5327565..0613d3edd 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -763,16 +763,21 @@ class DivEngine { totalCmds(0), lastCmds(0), cmdsPerSecond(0), + globalPitch(0), extValue(0), speed1(3), speed2(3), view(DIV_STATUS_NOTHING), haltOn(DIV_HALT_NONE), audioEngine(DIV_AUDIO_NULL), + exportMode(DIV_EXPORT_MODE_ONE), midiBaseChan(0), + samp_bb(NULL), samp_bbInLen(0), samp_temp(0), samp_prevSample(0), + samp_bbIn(NULL), + samp_bbOut(NULL), metroTick(NULL), metroTickLen(0), metroFreq(0), @@ -793,6 +798,17 @@ class DivEngine { qsoundAMem(NULL), qsoundAMemLen(0), dpcmMem(NULL), - dpcmMemLen(0) {} + dpcmMemLen(0), + x1_010Mem(NULL), + x1_010MemLen(0) { + memset(isMuted,0,DIV_MAX_CHANS*sizeof(bool)); + memset(keyHit,0,DIV_MAX_CHANS*sizeof(bool)); + memset(dispatchChanOfChan,0,DIV_MAX_CHANS*sizeof(int)); + memset(dispatchOfChan,0,DIV_MAX_CHANS*sizeof(int)); + memset(sysOfChan,0,DIV_MAX_CHANS*sizeof(int)); + memset(vibTable,0,64*sizeof(short)); + memset(reversePitchTable,0,4096*sizeof(int)); + memset(pitchTable,0,4096*sizeof(int)); + } }; #endif diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 460fee9e2..b5ed40890 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -876,8 +876,8 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) { reader.readC(); // reserved } - // more macros if (version>=76) { + // more macros std.panLMacro.len=reader.readI(); std.panRMacro.len=reader.readI(); std.phaseResetMacro.len=reader.readI(); @@ -922,10 +922,8 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) { reader.read(std.ex6Macro.val,4*std.ex6Macro.len); reader.read(std.ex7Macro.val,4*std.ex7Macro.len); reader.read(std.ex8Macro.val,4*std.ex8Macro.len); - } - // FDS - if (version>=76) { + // FDS fds.modSpeed=reader.readI(); fds.modDepth=reader.readI(); fds.initModTableWithFirstWave=reader.readC(); diff --git a/src/engine/instrument.h b/src/engine/instrument.h index 80df6ab49..d9e943866 100644 --- a/src/engine/instrument.h +++ b/src/engine/instrument.h @@ -161,7 +161,7 @@ struct DivInstrumentMacro { unsigned char len; signed char loop; signed char rel; - DivInstrumentMacro(String n, bool initOpen=false): + explicit DivInstrumentMacro(const String& n, bool initOpen=false): name(n), mode(0), open(initOpen), diff --git a/src/engine/sample.h b/src/engine/sample.h index 1a9e53d32..ae0c06dae 100644 --- a/src/engine/sample.h +++ b/src/engine/sample.h @@ -246,6 +246,7 @@ struct DivSample { offVOX(0), offSegaPCM(0), offQSound(0), + offX1_010(0), samples(0) {} ~DivSample(); }; diff --git a/src/gui/fileDialog.h b/src/gui/fileDialog.h index b7f21abf0..0dcd82a6d 100644 --- a/src/gui/fileDialog.h +++ b/src/gui/fileDialog.h @@ -23,7 +23,7 @@ class FurnaceGUIFileDialog { bool render(const ImVec2& min, const ImVec2& max); String getPath(); String getFileName(); - FurnaceGUIFileDialog(bool system): + explicit FurnaceGUIFileDialog(bool system): sysDialog(system), opened(false), saving(false), diff --git a/src/gui/gui.h b/src/gui/gui.h index 9167c9940..4711ce17b 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -644,6 +644,9 @@ struct MIDIMap { midiClock(false), midiTimeCode(false), valueInputStyle(1), + valueInputControlMSB(0), + valueInputControlLSB(0), + valueInputControlSingle(0), volExp(1.0f), valueInputCurMSB(0), valueInputCurLSB(0), diff --git a/src/ta-log.h b/src/ta-log.h index 27580e5e7..f7921c710 100644 --- a/src/ta-log.h +++ b/src/ta-log.h @@ -46,7 +46,9 @@ struct LogEntry { bool ready; LogEntry(): loglevel(0), - ready(false) {} + ready(false) { + memset(&time,0,sizeof(struct tm)); + } }; int writeLog(int level, const char* msg, fmt::printf_args args); diff --git a/src/ta-utils.h b/src/ta-utils.h index 98b184f31..014f65f6c 100644 --- a/src/ta-utils.h +++ b/src/ta-utils.h @@ -50,7 +50,7 @@ struct TAParam { String desc; bool value; bool (*func)(String); - TAParam(String sn, String n, bool v, bool (*f)(String), String vn, String d): + TAParam(const String& sn, const String& n, bool v, bool (*f)(String), const String& vn, const String& d): shortName(sn), name(n), valName(vn),