Previous Page
- True looping support for XMPlay by JFD62780 at 7:57 PM EDT on August 20, 2026
- Hello!
First login in years. (remember me?)
Okay, I got a feature request for whoever's still making the thing.
Can you add the Loop Forever feature to the XMPlay plugin port of this thing?
I used to rely on the standard 'in_*.dll' thingy from the Winamp of old for this.
In short, I am hoping for an actual configuration window for VGMStream, like Winamp has, but for XMPlay.
(Also, something (either XMPlay or the plugin) is stubbornly choosing to ignore the Play Track Endlessly feature, insisting on fading out and ending after two loops, even when I want it to play endlessly.)
edited 8:03 PM EDT August 20, 2026
edited 8:22 PM EDT August 20, 2026
- Wii My Fitness Coach Audio by rndmfc at 8:30 AM EDT on September 11, 2026
- (Apologies in advance for a longish message, hoping I have given enough detail).
I ran vgmstream on files extracted from the Wii game "My Fitness Coach". What I did:
- extract music files via Dolphin, which gives one .pak file per track
- examine the contents and work out how to extract three .bao files from each one. Names are provided in clear text and I inferred file sizes and boundaries from the contents
- File names look like 100a0000.bao, 200a0008.bao, and 3ebac404.bao (much the largest)
- put these in one directory and run "vgmstream-cli -m 200a0008.bao" with latest build
- it reports "failed opening 200a0008.bao"
Debugging I can see that:
- it reads the version from the first four bytes of the file (0x011B0100) and figures out that it's an Ubisoft .bao file which is the right version to be My Fitness Coach (according to the comments). This gives me some confidence that I've extracted them correctly.
- It locates the correct 3ebac404.bao name to open (the name is embedded in the 200a0008.bao file) and looks for stream details.
- in processing the file it calls ffmpeg_fmt_chunk_swap_endian with a codec extracted from specific bytes in the file
- ffmpeg_fmt_chunk_swap_endian is expecting 0x6501 or 0x6601 (accepting either endian-ness), but it's seeing 0x2b00, so it fails at that point.
What I tried:
- ffmpeg_fmt_chunk_swap_endian is called from ffmpeg_make_riff_xma_chunk, which has a check that the codec is bigger than 0x1000; I tried increasing that to 0x3000 so it would process these files the other way but this still fails
- Adding 0x2b00 to the switch in ffmpeg_fmt_chunk_swap_endian to make it an XMA1 format fails in avcodec_find_decoder somewhere.
- Adding 0x2b00 to the switch in ffmpeg_fmt_chunk_swap_endian to make it an XMA2 format fails because the chunk size is too small
- jumping back to a few different checkins in hope that it had worked in the past; none succeeded but I didn't delve into exactly where they failed.
I looked through the various tracks to compare what was in the codec bytes; they were all 0x2n00 with n being 0xa to 0xe (and one outlier that was 0x2600).
It looks like vgmstream is supposed to decode these files, but unfortunately I don't know enough about the internals of codecs to figure out what might be wrong. I am hoping someone can tell me. I've included the contents of 200a0008.bao and I can provide more files if needed.
00 | 01 1B 01 00 28 00 00 00 14 00 00 00 00 00 00 00 bytes 0-3 are the version, 4-7 is header size
10 | FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
20 | 20 00 00 00 10 00 00 00 00 0A 00 08 00 00 00 01 header ends at 0x28
30 | 00 15 B3 80 00 00 00 00 00 00 00 00 FF FB 00 00
40 | 00 00 00 00 3E BA C4 04 00 00 00 00 00 00 00 00 3ebac404 names the large bao file with the stream data
50 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
70 | 00 00 56 22 00 00 31 38 00 00 00 00 00 00 00 00
80 | 00 25 FA 20 00 15 B3 80 FF FF FF FF 00 00 00 00
90 | 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 00
A0 | 00 00 00 00 00 2B 67 02 00 00 00 02 00 2B 66 FF 0x2b00 is the codec read out, starting at byte 0xA4
B0 | 00 00 00 02 03 7D FF CA 0B 04 FA D0 08 2D FE 3D
C0 | 0D C3 F9 BD 04 EF 01 87 0C 96 FA 6C 08 FD FE 93
D0 | 0D B3 FA 24 00 00 00 2A 00 00 00 00 00 2A 00 00
E0 | 00 00 00 00
- by bnnm at 9:52 AM EDT on September 12, 2026
- @rndmfc - I've fixed the .bao issue
@JFD62780 - xmplay can use the winamp plugin (in_vgmstream) and show its config. If you mean the native plugin, the userbase is minuscule and there are no actual advantages vs using winamp plugin, so I don't think it's worth the effort.
- by JFD62780 at 6:10 AM EDT on September 14, 2026
- @bnnm - oh well.
That's what I get for rushing my plugin update to current, dumbly hearing the hypnotic call of the XMPlay plugin, unlike last time when I used the Winamp version anyways!
It's okay, I've since gotten to my senses and reverted back to the Winamp version of the current plugin! :)
- Wii My Fitness Coach Audio by rndmfc at 6:52 AM EDT on September 14, 2026
- @bnnm Indeed you did, and vgmstream now extracts all the music tracks successfully. Much appreciated!
- Astro's Playroom by MurraySkull at 8:37 PM EDT on September 26, 2026
- The track for GPU Jungle (pri_gpu_jungle_01_bgm_transition) won't play. It seems this file has an extended header.
Previous Page
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273
Search this thread
Show all threads
Reply to this thread:
HCS Forum Index
Halley's Comet Software
forum source