From e01c2bcf14851b0baec9e35000c9946f19d9bd8f Mon Sep 17 00:00:00 2001 From: bnnm Date: Tue, 29 Oct 2024 22:52:08 +0100 Subject: [PATCH 1/3] Fix some play settings not working in groups --- src/base/render.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/base/render.c b/src/base/render.c index 700d92b2f..de878d4f4 100644 --- a/src/base/render.c +++ b/src/base/render.c @@ -181,6 +181,7 @@ static void play_op_trim(VGMSTREAM* vgmstream, sbuf_t* sbuf) { if (to_do > buf_samples) to_do = buf_samples; + sbuf_tmp.filled = 0; sbuf_tmp.samples = to_do; int done = render_layout(&sbuf_tmp, vgmstream); /* no mixing */ From 67dfa1cf5540fdb7c411428272127a92af738faa Mon Sep 17 00:00:00 2001 From: bnnm Date: Tue, 29 Oct 2024 22:54:39 +0100 Subject: [PATCH 2/3] Add some .ogg loops [Kamaitachi no Yoru 2 (PS2)] --- src/meta/ogg_vorbis.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/meta/ogg_vorbis.c b/src/meta/ogg_vorbis.c index e51bbf26f..8f3188d6f 100644 --- a/src/meta/ogg_vorbis.c +++ b/src/meta/ogg_vorbis.c @@ -739,6 +739,11 @@ static VGMSTREAM* _init_vgmstream_ogg_vorbis_config(STREAMFILE* sf, off_t start, loop_end_found = 1; } } + else if (strstr(comment,"L=") == comment) { /* Kamaitachi no Yoru 2 (PS2) */ + //sscanf(strrchr(comment,'=')+1,"%d", &loop_start); + loop_start = atol(strrchr(comment,'=')+1); + loop_flag = 1; + } /* Hatsune Miku Project DIVA games, though only 'Arcade Future Tone' has >4ch files * ENCODER tag is common but ogg_vorbis_encode looks unique enough From 1ef9392f6c15fec90ec63fa501edb0ffb6731489 Mon Sep 17 00:00:00 2001 From: bnnm Date: Tue, 29 Oct 2024 22:55:52 +0100 Subject: [PATCH 3/3] Fix some .ckd [Rayman Legends (XONE)] --- src/meta/ubi_raki.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/meta/ubi_raki.c b/src/meta/ubi_raki.c index 82626b29e..2e490ab6d 100644 --- a/src/meta/ubi_raki.c +++ b/src/meta/ubi_raki.c @@ -183,7 +183,8 @@ VGMSTREAM* init_vgmstream_ubi_raki(STREAMFILE* sf) { #endif #ifdef VGM_USE_FFMPEG - case 0x58333630786D6132: { /* "X360xma2" */ + case 0x58333630786D6132: /* "X360xma2" */ + case 0x44757261786D6132: { /* "Duraxma2" */ /* chunks: "seek" (XMA2 seek table), "data" */ if (!block_align) goto fail;