From cb220d41ec2108d7276d0e236f5ef916abe5977a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 29 Oct 2025 19:39:53 -0500 Subject: [PATCH] DivSongTimestamps, part 8 now remove walkSong() --- src/engine/cmdStreamOps.cpp | 7 +++---- src/engine/engine.cpp | 9 --------- src/engine/engine.h | 3 --- src/engine/export/amigaValidation.cpp | 7 +++---- src/engine/export/grub.cpp | 7 +++---- src/engine/export/ipod.cpp | 7 +++---- src/engine/export/sapr.cpp | 7 +++---- src/engine/export/tiuna.cpp | 9 ++++----- src/engine/export/zsm.cpp | 7 +++---- src/engine/vgmOps.cpp | 7 +++---- 10 files changed, 25 insertions(+), 45 deletions(-) diff --git a/src/engine/cmdStreamOps.cpp b/src/engine/cmdStreamOps.cpp index 4a7dc1718..51c47e020 100644 --- a/src/engine/cmdStreamOps.cpp +++ b/src/engine/cmdStreamOps.cpp @@ -1252,10 +1252,9 @@ SafeWriter* DivEngine::saveCommand(DivCSProgress* progress, DivCSOptions options setOrder(0); BUSY_BEGIN_SOFT; // determine loop point - int loopOrder=0; - int loopRow=0; - int loopEnd=0; - walkSong(loopOrder,loopRow,loopEnd); + calcSongTimestamps(); + int loopOrder=curSubSong->ts.loopStart.order; + int loopRow=curSubSong->ts.loopStart.row; logI("loop point: %d %d",loopOrder,loopRow); int cmdPopularity[256]; diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index e0e3e2b5b..0616f4f3b 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -201,15 +201,6 @@ const char* DivEngine::getEffectDesc(unsigned char effect, int chan, bool notNul return notNull?_("Invalid effect"):NULL; } -void DivEngine::walkSong(int& loopOrder, int& loopRow, int& loopEnd) { - if (curSubSong!=NULL) { - curSubSong->calcTimestamps(chans,song.grooves,song.jumpTreatment,song.ignoreJumpAtEnd,song.brokenSpeedSel,song.delayBehavior); - loopOrder=curSubSong->ts.loopStart.order; - loopRow=curSubSong->ts.loopStart.row; - loopEnd=curSubSong->ts.loopEnd.order; - } -} - void DivEngine::calcSongTimestamps() { if (curSubSong!=NULL) { curSubSong->calcTimestamps(chans,song.grooves,song.jumpTreatment,song.ignoreJumpAtEnd,song.brokenSpeedSel,song.delayBehavior); diff --git a/src/engine/engine.h b/src/engine/engine.h index 6601825ab..da98f565d 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -870,9 +870,6 @@ class DivEngine { int convertPanSplitToLinearLR(unsigned char left, unsigned char right, int range); unsigned int convertPanLinearToSplit(int val, unsigned char bits, int range); - // DEPRECATED - find song loop position - void walkSong(int& loopOrder, int& loopRow, int& loopEnd); - // calculate all song timestamps void calcSongTimestamps(); diff --git a/src/engine/export/amigaValidation.cpp b/src/engine/export/amigaValidation.cpp index b79694a51..30224e84f 100644 --- a/src/engine/export/amigaValidation.cpp +++ b/src/engine/export/amigaValidation.cpp @@ -55,10 +55,9 @@ void DivExportAmigaValidation::run() { EXTERN_BUSY_BEGIN_SOFT; // determine loop point - int loopOrder=0; - int loopRow=0; - int loopEnd=0; - e->walkSong(loopOrder,loopRow,loopEnd); + e->calcSongTimestamps(); + int loopOrder=e->curSubSong->ts.loopStart.order; + int loopRow=e->curSubSong->ts.loopStart.row; e->curOrder=0; e->freelance=false; diff --git a/src/engine/export/grub.cpp b/src/engine/export/grub.cpp index fc8bf6b2f..e48ae5195 100644 --- a/src/engine/export/grub.cpp +++ b/src/engine/export/grub.cpp @@ -76,10 +76,9 @@ void DivExportGRUB::run() { e->got.rate=rate; // Determine loop point. - int loopOrder=0; - int loopRow=0; - int loopEnd=0; - e->walkSong(loopOrder,loopRow,loopEnd); + e->calcSongTimestamps(); + int loopOrder=e->curSubSong->ts.loopStart.order; + int loopRow=e->curSubSong->ts.loopStart.row; logAppendf("loop point: %d %d",loopOrder,loopRow); e->warnings=""; diff --git a/src/engine/export/ipod.cpp b/src/engine/export/ipod.cpp index 5ffe98970..e05d5c074 100644 --- a/src/engine/export/ipod.cpp +++ b/src/engine/export/ipod.cpp @@ -75,10 +75,9 @@ void DivExportiPod::run() { e->got.rate=rate; // Determine loop point. - int loopOrder=0; - int loopRow=0; - int loopEnd=0; - e->walkSong(loopOrder,loopRow,loopEnd); + e->calcSongTimestamps(); + int loopOrder=e->curSubSong->ts.loopStart.order; + int loopRow=e->curSubSong->ts.loopStart.row; logAppendf("loop point: %d %d",loopOrder,loopRow); e->warnings=""; diff --git a/src/engine/export/sapr.cpp b/src/engine/export/sapr.cpp index c99c1254e..f638cfaab 100644 --- a/src/engine/export/sapr.cpp +++ b/src/engine/export/sapr.cpp @@ -92,10 +92,9 @@ void DivExportSAPR::run() { e->got.rate=sapRate; // Determine loop point. - int loopOrder=0; - int loopRow=0; - int loopEnd=0; - e->walkSong(loopOrder,loopRow,loopEnd); + e->calcSongTimestamps(); + int loopOrder=e->curSubSong->ts.loopStart.order; + int loopRow=e->curSubSong->ts.loopStart.row; logAppendf("loop point: %d %d",loopOrder,loopRow); e->warnings=""; diff --git a/src/engine/export/tiuna.cpp b/src/engine/export/tiuna.cpp index 104c38193..6a212c23f 100644 --- a/src/engine/export/tiuna.cpp +++ b/src/engine/export/tiuna.cpp @@ -181,7 +181,7 @@ static void writeCmd(std::vector& cmds, TiunaCmd& cmd, unsigned char } void DivExportTiuna::run() { - int loopOrder, loopOrderRow, loopEnd; + int loopOrder, loopOrderRow; int tick=0; SafeWriter* w; std::map allCmds[2]; @@ -199,10 +199,9 @@ void DivExportTiuna::run() { e->synchronizedSoft([&]() { // determine loop point // bool stopped=false; - loopOrder=0; - loopOrderRow=0; - loopEnd=0; - e->walkSong(loopOrder,loopOrderRow,loopEnd); + e->calcSongTimestamps(); + loopOrder=e->curSubSong->ts.loopStart.order; + loopOrderRow=e->curSubSong->ts.loopStart.row; logAppendf("loop point: %d %d",loopOrder,loopOrderRow); w=new SafeWriter; diff --git a/src/engine/export/zsm.cpp b/src/engine/export/zsm.cpp index 109e0e754..708340539 100644 --- a/src/engine/export/zsm.cpp +++ b/src/engine/export/zsm.cpp @@ -574,10 +574,9 @@ void DivExportZSM::run() { e->got.rate=zsmrate&0xffff; // determine loop point - int loopOrder=0; - int loopRow=0; - int loopEnd=0; - e->walkSong(loopOrder,loopRow,loopEnd); + e->calcSongTimestamps(); + int loopOrder=e->curSubSong->ts.loopStart.order; + int loopRow=e->curSubSong->ts.loopStart.row; logAppendf("loop point: %d %d",loopOrder,loopRow); zsm.init(zsmrate); diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index f48f2db7e..c7d1cbfde 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -1272,10 +1272,9 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p double origRate=got.rate; got.rate=correctedRate; // determine loop point - int loopOrder=0; - int loopRow=0; - int loopEnd=0; - walkSong(loopOrder,loopRow,loopEnd); + calcSongTimestamps(); + int loopOrder=curSubSong->ts.loopStart.order; + int loopRow=curSubSong->ts.loopStart.row; logI("loop point: %d %d",loopOrder,loopRow); warnings="";