Hello. Thank you for allowing me to use “choice4genesis.” I have created and published several games, and during that process I came across a question.When I use the “sound” command to play background music, the track loops, but when I use the “music” command, the track plays once and then stops. Is this the intended behavior, or is there some option that needs to be set? Since .wav files take up a lot of space, I would prefer not to use them for BGM if possible.
I am happy to have received a reply despite your busy schedule. Regarding the BGM issue, you mentioned that this behavior is not by design, so I tested it again using “Actraiser - Fillmore.vgm,” which is used in the sample program. As a result, the track looped correctly when played with the “music” command.
Is it possible that, even within the same .vgm format, some files do not loop? For example, none of the tracks from the following collection published on itch.io looped when I tested them:
https://safetystoatstudios.itch.io/free-vgms
I just used vgmcheck to test it: https://www.smspower.org/forums/12009-VgmcheckExtractLoopAndTimeInformationFromV...
I took a look at both "Actraiser - Fillmore.vgm" (from SGDK examples) and "golf.vgm" (from "free-vgms") and those were the results:
D:\Pessoal\Util\vgmcheck-2.0>vgmcheck "Actraiser - Fillmore.vgm" --Raw VGM information-- Total samples: 2275559 Total time in mm:ss: 0:51.60 Loop start: 17639 Loop start in mm:ss: 0:00.40 Loop time: 2257920 Loop time in mm:ss: 0:51.20 --Usage in SSBB-- (.brstm conversion) New loop start: 28672 New loop end: 2286592 D:\Pessoal\Util\vgmcheck-2.0>vgmcheck golf.vgm --Raw VGM information-- Total samples: 1693440 Total time in mm:ss: 0:38.40 Loop start: 1693440 Loop start in mm:ss: 0:38.40 Loop time: 0 Loop time in mm:ss: 0:00.00 --Usage in SSBB-- (.brstm conversion) New loop start: 1705984 New loop end: 1705984
It seems that "Actraiser - Fillmore.vgm" has a loop set up on it, while "golf.vgm" does not have a loop. (it's loop time is zero)
It looks like in order to use "golf.vgm" in a loop, it will be necessary to edit it in order to explicitly define loop ponts on it; please see: https://vgmrips.net/wiki/Manual_looping_tutorial