I have a batch file where I run files listed in a text file through an audio codec. The text file is set out as follows:
BGM_Name file flag LoopStart Length title 7001 0x01 1810432 5921928; map 7552 0x01 0073664 4997136;
There are many more listings in the real file. The parts I`m interested in are the loopstart and the length properties, as the audio format I`m dealing with encodes loop starts and lengths internally and these are the sample counts from the start of the file.
The codec is run at the command line as follows with command line arguments:
codec loopstart loopend input output
so loopend is obviously the LoopStart plus the Length.
The batch file I use to process all the files is as follows
for /f "tokens=1-5" %%l in (test.txt) do ( set /a endloop1=%%p set /a endloop2=%%q set /a endloop = endloop1 + endloop2 codec -loop %endloop1% %endloop% *input and output file names omitted for the example* )
%%p is the value of loopStart and %%q is the length, and even though a fair few files are processed correctly and even though I`ve checked via using @echo that the values of p and q change each time the values aren`t always set to endloop1 and endloop2 so the values from the previous iteration are used and thusly the audio file is encoded incorrectly and during gameplay goes into jarring loops.
Can anyone explain why endloop1 and endloop2 sometimes don`t get assigned the correct val even if p and q are set correctly?
Thanks in advance