Skip to content

Commit

Permalink
Updated VGMStream to r1951-0-g4b2dc01c
Browse files Browse the repository at this point in the history
Updated to add one new extension, too.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
  • Loading branch information
kode54 committed Aug 24, 2024
1 parent ba91d2e commit fcddcdc
Show file tree
Hide file tree
Showing 46 changed files with 1,185 additions and 1,037 deletions.
20 changes: 12 additions & 8 deletions Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@
834F7EC52C70A786003AC386 /* api_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 834F7EA12C70A786003AC386 /* api_internal.h */; };
834F7EC62C70A786003AC386 /* api_libsf.c in Sources */ = {isa = PBXBuildFile; fileRef = 834F7EA22C70A786003AC386 /* api_libsf.c */; };
834F7EC72C70A786003AC386 /* api_tags.c in Sources */ = {isa = PBXBuildFile; fileRef = 834F7EA32C70A786003AC386 /* api_tags.c */; };
834F7EC82C70A786003AC386 /* config.c in Sources */ = {isa = PBXBuildFile; fileRef = 834F7EA42C70A786003AC386 /* config.c */; };
834F7EC82C70A786003AC386 /* play_config.c in Sources */ = {isa = PBXBuildFile; fileRef = 834F7EA42C70A786003AC386 /* play_config.c */; };
834F7EC92C70A786003AC386 /* decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 834F7EA52C70A786003AC386 /* decode.c */; };
834F7ECA2C70A786003AC386 /* decode.h in Headers */ = {isa = PBXBuildFile; fileRef = 834F7EA62C70A786003AC386 /* decode.h */; };
834F7ECB2C70A786003AC386 /* info.c in Sources */ = {isa = PBXBuildFile; fileRef = 834F7EA72C70A786003AC386 /* info.c */; };
Expand Down Expand Up @@ -454,6 +454,8 @@
835B9B932730BF2D00F87EE3 /* lpcm_shade.c in Sources */ = {isa = PBXBuildFile; fileRef = 835B9B8E2730BF2D00F87EE3 /* lpcm_shade.c */; };
835C883622CC17BE001B4B3F /* bwav.c in Sources */ = {isa = PBXBuildFile; fileRef = 835C883122CC17BD001B4B3F /* bwav.c */; };
835C883722CC17BE001B4B3F /* ogg_vorbis_streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 835C883522CC17BE001B4B3F /* ogg_vorbis_streamfile.h */; };
835DF7032C79ABB50008814A /* sbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 835DF7022C79ABB50008814A /* sbuf.c */; };
835DF7052C79AED70008814A /* play_state.c in Sources */ = {isa = PBXBuildFile; fileRef = 835DF7042C79AED70008814A /* play_state.c */; };
836C052B23F62F1A00FA07C7 /* libatrac9.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 835FC6C623F62AEF006960FA /* libatrac9.framework */; };
836C052C23F62F3100FA07C7 /* libatrac9.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 835FC6C623F62AEF006960FA /* libatrac9.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
836DF622298F83F400CD0580 /* cri_keys.h in Headers */ = {isa = PBXBuildFile; fileRef = 836DF61F298F83F400CD0580 /* cri_keys.h */; };
Expand Down Expand Up @@ -581,7 +583,6 @@
836F700B18BDC2190095E648 /* ps2_wad.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6ECF18BDC2190095E648 /* ps2_wad.c */; };
836F700C18BDC2190095E648 /* wb.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6ED018BDC2190095E648 /* wb.c */; };
836F700D18BDC2190095E648 /* ps2_wmus.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6ED118BDC2190095E648 /* ps2_wmus.c */; };
836F700F18BDC2190095E648 /* ps2_xa30.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6ED318BDC2190095E648 /* ps2_xa30.c */; };
836F701518BDC2190095E648 /* sndp.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6ED918BDC2190095E648 /* sndp.c */; };
836F701E18BDC2190095E648 /* redspark.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6EE218BDC2190095E648 /* redspark.c */; };
836F701F18BDC2190095E648 /* riff.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6EE318BDC2190095E648 /* riff.c */; };
Expand Down Expand Up @@ -1282,7 +1283,7 @@
834F7EA12C70A786003AC386 /* api_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = api_internal.h; sourceTree = "<group>"; };
834F7EA22C70A786003AC386 /* api_libsf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = api_libsf.c; sourceTree = "<group>"; };
834F7EA32C70A786003AC386 /* api_tags.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = api_tags.c; sourceTree = "<group>"; };
834F7EA42C70A786003AC386 /* config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = config.c; sourceTree = "<group>"; };
834F7EA42C70A786003AC386 /* play_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = play_config.c; sourceTree = "<group>"; };
834F7EA52C70A786003AC386 /* decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = decode.c; sourceTree = "<group>"; };
834F7EA62C70A786003AC386 /* decode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decode.h; sourceTree = "<group>"; };
834F7EA72C70A786003AC386 /* info.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = info.c; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1363,6 +1364,8 @@
835B9B8E2730BF2D00F87EE3 /* lpcm_shade.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpcm_shade.c; sourceTree = "<group>"; };
835C883122CC17BD001B4B3F /* bwav.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bwav.c; sourceTree = "<group>"; };
835C883522CC17BE001B4B3F /* ogg_vorbis_streamfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ogg_vorbis_streamfile.h; sourceTree = "<group>"; };
835DF7022C79ABB50008814A /* sbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sbuf.c; sourceTree = "<group>"; };
835DF7042C79AED70008814A /* play_state.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = play_state.c; sourceTree = "<group>"; };
835FC6C123F62AEE006960FA /* libatrac9.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libatrac9.xcodeproj; path = ../libatrac9/libatrac9.xcodeproj; sourceTree = "<group>"; };
836DF61F298F83F400CD0580 /* cri_keys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cri_keys.h; sourceTree = "<group>"; };
836DF620298F83F400CD0580 /* bitstream_msb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitstream_msb.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1491,7 +1494,6 @@
836F6ECF18BDC2190095E648 /* ps2_wad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ps2_wad.c; sourceTree = "<group>"; };
836F6ED018BDC2190095E648 /* wb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wb.c; sourceTree = "<group>"; };
836F6ED118BDC2190095E648 /* ps2_wmus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ps2_wmus.c; sourceTree = "<group>"; };
836F6ED318BDC2190095E648 /* ps2_xa30.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ps2_xa30.c; sourceTree = "<group>"; };
836F6ED918BDC2190095E648 /* sndp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sndp.c; sourceTree = "<group>"; };
836F6EE218BDC2190095E648 /* redspark.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = redspark.c; sourceTree = "<group>"; };
836F6EE318BDC2190095E648 /* riff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = riff.c; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1973,7 +1975,6 @@
834F7EA12C70A786003AC386 /* api_internal.h */,
834F7EA22C70A786003AC386 /* api_libsf.c */,
834F7EA32C70A786003AC386 /* api_tags.c */,
834F7EA42C70A786003AC386 /* config.c */,
834F7EA52C70A786003AC386 /* decode.c */,
834F7EA62C70A786003AC386 /* decode.h */,
834F7EA72C70A786003AC386 /* info.c */,
Expand All @@ -1986,10 +1987,13 @@
834F7EAE2C70A786003AC386 /* mixing_macros.c */,
834F7EAF2C70A786003AC386 /* mixing.c */,
834F7EB02C70A786003AC386 /* mixing.h */,
834F7EA42C70A786003AC386 /* play_config.c */,
835DF7042C79AED70008814A /* play_state.c */,
834F7EB12C70A786003AC386 /* plugins.c */,
834F7EB22C70A786003AC386 /* plugins.h */,
834F7EB32C70A786003AC386 /* render.c */,
834F7EB42C70A786003AC386 /* render.h */,
835DF7022C79ABB50008814A /* sbuf.c */,
834F7EB52C70A786003AC386 /* sbuf.h */,
834F7EB62C70A786003AC386 /* seek.c */,
834F7EB72C70A786003AC386 /* streamfile_api.c */,
Expand Down Expand Up @@ -2476,7 +2480,6 @@
836F6ECC18BDC2190095E648 /* ps2_vms.c */,
836F6ECF18BDC2190095E648 /* ps2_wad.c */,
836F6ED118BDC2190095E648 /* ps2_wmus.c */,
836F6ED318BDC2190095E648 /* ps2_xa30.c */,
8315868326F586E200803A3A /* psb.c */,
837CEAE823487F2B00E62A4A /* psf.c */,
836F6E5518BDC2180095E648 /* psnd.c */,
Expand Down Expand Up @@ -3105,6 +3108,7 @@
83A5F75F198DF021009AF94C /* bfwav.c in Sources */,
83FBB1792A4FF71B00CD0580 /* rstm_rockstar.c in Sources */,
8339B326280FDF4B0076F74B /* text_reader.c in Sources */,
835DF7052C79AED70008814A /* play_state.c in Sources */,
836F702018BDC2190095E648 /* rkv.c in Sources */,
834FE0F4215C79ED000A5D3D /* wsi.c in Sources */,
83D26A7A26E66D98001A9475 /* adp_wildfire.c in Sources */,
Expand Down Expand Up @@ -3268,6 +3272,7 @@
836F702418BDC2190095E648 /* rwsd.c in Sources */,
834F7DBE2C7093EA003AC386 /* ea_xas_decoder.c in Sources */,
834F7DBD2C7093EA003AC386 /* ea_xa_decoder.c in Sources */,
835DF7032C79ABB50008814A /* sbuf.c in Sources */,
830EBE142004656E0023AA10 /* ktss.c in Sources */,
836F6F6618BDC2190095E648 /* aax.c in Sources */,
8306B0BC20984552000302D4 /* blocked_vs.c in Sources */,
Expand All @@ -3285,7 +3290,6 @@
834FE101215C79ED000A5D3D /* csmp.c in Sources */,
8306B0A720984552000302D4 /* blocked_xvas.c in Sources */,
8349A9101FE6258200E26435 /* ea_eaac.c in Sources */,
836F700F18BDC2190095E648 /* ps2_xa30.c in Sources */,
835B9B912730BF2D00F87EE3 /* lopu_fb.c in Sources */,
8319017C28F67EE100B70711 /* miniz.c in Sources */,
8346D97B25BF838C00D1A8B0 /* ktac.c in Sources */,
Expand Down Expand Up @@ -3525,7 +3529,7 @@
834F7D312C709231003AC386 /* ea_sbk.c in Sources */,
836F6F9518BDC2190095E648 /* kraw.c in Sources */,
834F7E172C709A1D003AC386 /* ea_schl_map_mpf_mus.c in Sources */,
834F7EC82C70A786003AC386 /* config.c in Sources */,
834F7EC82C70A786003AC386 /* play_config.c in Sources */,
836F6FB718BDC2190095E648 /* ngc_ssm.c in Sources */,
8306B0E920984590000302D4 /* opus.c in Sources */,
83709E051ECBC1A4005C03D3 /* ghs.c in Sources */,
Expand Down
4 changes: 2 additions & 2 deletions Frameworks/vgmstream/vgmstream/src/base/api_decode_play.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ static void update_decoder_info(libvgmstream_priv_t* priv, int samples_done) {
priv->dec.done = priv->decode_done;
}

LIBVGMSTREAM_API int libvgmstream_play(libvgmstream_t* lib) {
LIBVGMSTREAM_API int libvgmstream_render(libvgmstream_t* lib) {
if (!lib || !lib->priv)
return LIBVGMSTREAM_ERROR_GENERIC;

Expand Down Expand Up @@ -85,7 +85,7 @@ LIBVGMSTREAM_API int libvgmstream_fill(libvgmstream_t* lib, void* buf, int buf_s
return LIBVGMSTREAM_ERROR_GENERIC;

if (priv->buf.consumed >= priv->buf.samples) {
int err = libvgmstream_play(lib);
int err = libvgmstream_render(lib);
if (err < 0) return err;
}

Expand Down
4 changes: 4 additions & 0 deletions Frameworks/vgmstream/vgmstream/src/base/api_helpers.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,8 @@ LIBVGMSTREAM_API int libvgmstream_get_title(libvgmstream_t* lib, libvgmstream_ti
return LIBVGMSTREAM_OK;
}

LIBVGMSTREAM_API bool libvgmstream_is_virtual_filename(const char* filename) {
return vgmstream_is_virtual_filename(filename);
}

#endif
54 changes: 31 additions & 23 deletions Frameworks/vgmstream/vgmstream/src/base/decode.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "decode.h"
#include "mixing.h"
#include "plugins.h"
#include "sbuf.h"

/* custom codec handling, not exactly "decode" stuff but here to simplify adding new codecs */

Expand Down Expand Up @@ -824,18 +825,19 @@ bool decode_uses_internal_offset_updates(VGMSTREAM* vgmstream) {
return vgmstream->coding_type == coding_MS_IMA || vgmstream->coding_type == coding_MS_IMA_mono;
}

/* Decode samples into the buffer. Assume that we have written samples_written into the
/* Decode samples into the buffer. Assume that we have written samples_filled into the
* buffer already, and we have samples_to_do consecutive samples ahead of us (won't call
* more than one frame if configured above to do so).
* Called by layouts since they handle samples written/to_do */
void decode_vgmstream(VGMSTREAM* vgmstream, int samples_written, int samples_to_do, sample_t* buffer) {
void decode_vgmstream(VGMSTREAM* vgmstream, int samples_filled, int samples_to_do, sample_t* buffer) {
int ch;

buffer += samples_written * vgmstream->channels; /* passed externally to simplify I guess */
buffer += samples_filled * vgmstream->channels; /* passed externally to simplify I guess */
//samples_to_do -= samples_filled; /* pre-adjusted */

switch (vgmstream->coding_type) {
case coding_SILENCE:
memset(buffer, 0, samples_to_do * vgmstream->channels * sizeof(sample_t));
sbuf_silence(buffer, samples_to_do, vgmstream->channels, 0);
break;

case coding_CRI_ADX:
Expand Down Expand Up @@ -1601,10 +1603,10 @@ int decode_get_samples_to_do(int samples_this_block, int samples_per_frame, VGMS
return samples_to_do;
}

/* Detect loop start and save values, or detect loop end and restore (loop back).
* Returns 1 if loop was done. */
int decode_do_loop(VGMSTREAM* vgmstream) {
/*if (!vgmstream->loop_flag) return 0;*/

/* Detect loop start and save values, or detect loop end and restore (loop back). Returns true if loop was done. */
bool decode_do_loop(VGMSTREAM* vgmstream) {
//if (!vgmstream->loop_flag) return false;

/* is this the loop end? = new loop, continue from loop_start_sample */
if (vgmstream->current_sample == vgmstream->loop_end_sample) {
Expand All @@ -1613,8 +1615,8 @@ int decode_do_loop(VGMSTREAM* vgmstream) {
* (only needed with the "play stream end after looping N times" option enabled) */
vgmstream->loop_count++;
if (vgmstream->loop_target && vgmstream->loop_target == vgmstream->loop_count) {
vgmstream->loop_flag = 0; /* could be improved but works ok, will be restored on resets */
return 0;
vgmstream->loop_flag = false; /* could be improved but works ok, will be restored on resets */
return false;
}

/* against everything I hold sacred, preserve adpcm history before looping for certain types */
Expand All @@ -1623,8 +1625,7 @@ int decode_do_loop(VGMSTREAM* vgmstream) {
vgmstream->meta_type == meta_DSP_CSTR ||
vgmstream->coding_type == coding_PSX ||
vgmstream->coding_type == coding_PSX_badflags) {
int ch;
for (ch = 0; ch < vgmstream->channels; ch++) {
for (int ch = 0; ch < vgmstream->channels; ch++) {
vgmstream->loop_ch[ch].adpcm_history1_16 = vgmstream->ch[ch].adpcm_history1_16;
vgmstream->loop_ch[ch].adpcm_history2_16 = vgmstream->ch[ch].adpcm_history2_16;
vgmstream->loop_ch[ch].adpcm_history1_32 = vgmstream->ch[ch].adpcm_history1_32;
Expand All @@ -1633,12 +1634,13 @@ int decode_do_loop(VGMSTREAM* vgmstream) {
}

//TODO: improve
/* loop codecs that need special handling, usually:
* - on hit_loop, current offset is copied to loop_ch[].offset
* - some codecs will overwrite loop_ch[].offset with a custom value
* - loop_ch[] is copied to ch[] (with custom value)
* - then codec will use ch[]'s offset
* regular codecs may use copied loop_ch[] offset without issue */
/* codecs with codec_data that decode_seek need special handling, usually:
* - during decode, codec uses vgmstream->ch[].offset to handle current offset
* - on hit_loop, current offset is auto-copied to vgmstream->loop_ch[].offset
* - decode_seek codecs may overwrite vgmstream->loop_ch[].offset with a custom value (such as start_offset)
* - vgmstream->loop_ch[] is copied below to vgmstream->ch[] (with the newly assigned custom value)
* - then codec will use vgmstream->ch[].offset during decode
* regular codecs will use copied vgmstream->loop_ch[].offset without issue */
decode_seek(vgmstream);

/* restore! */
Expand All @@ -1649,7 +1651,7 @@ int decode_do_loop(VGMSTREAM* vgmstream) {
vgmstream->current_block_samples = vgmstream->loop_block_samples;
vgmstream->current_block_offset = vgmstream->loop_block_offset;
vgmstream->next_block_offset = vgmstream->loop_next_block_offset;
//vgmstream->pstate = vgmstream->lstate; /* play state is applied over loops */
vgmstream->full_block_size = vgmstream->loop_full_block_size;

/* loop layouts (after restore, in case layout needs state manipulations) */
switch(vgmstream->layout_type) {
Expand All @@ -1663,24 +1665,30 @@ int decode_do_loop(VGMSTREAM* vgmstream) {
break;
}

return 1; /* looped */
/* play state is applied over loops and stream decoding, so it's not restored on loops */
//vgmstream->pstate = vgmstream->lstate;

return true; /* has looped */
}


/* is this the loop start? save if we haven't saved yet (right when first loop starts) */
if (!vgmstream->hit_loop && vgmstream->current_sample == vgmstream->loop_start_sample) {
/* save! */
memcpy(vgmstream->loop_ch, vgmstream->ch, sizeof(VGMSTREAMCHANNEL)*vgmstream->channels);
memcpy(vgmstream->loop_ch, vgmstream->ch, sizeof(VGMSTREAMCHANNEL) * vgmstream->channels);
vgmstream->loop_current_sample = vgmstream->current_sample;
vgmstream->loop_samples_into_block = vgmstream->samples_into_block;
vgmstream->loop_block_size = vgmstream->current_block_size;
vgmstream->loop_block_samples = vgmstream->current_block_samples;
vgmstream->loop_block_offset = vgmstream->current_block_offset;
vgmstream->loop_next_block_offset = vgmstream->next_block_offset;
//vgmstream->lstate = vgmstream->pstate; /* play state is applied over loops */
vgmstream->loop_full_block_size = vgmstream->full_block_size;

/* play state is applied over loops and stream decoding, so it's not saved on loops */
//vgmstream->lstate = vgmstream->pstate;

vgmstream->hit_loop = true; /* info that loop is now ready to use */
}

return 0; /* not looped */
return false; /* has not looped */
}
8 changes: 4 additions & 4 deletions Frameworks/vgmstream/vgmstream/src/base/decode.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ void decode_free(VGMSTREAM* vgmstream);
void decode_seek(VGMSTREAM* vgmstream);
void decode_reset(VGMSTREAM* vgmstream);

/* Decode samples into the buffer. Assume that we have written samples_written into the
/* Decode samples into the buffer. Assume that we have written samples_filled into the
* buffer already, and we have samples_to_do consecutive samples ahead of us. */
void decode_vgmstream(VGMSTREAM* vgmstream, int samples_written, int samples_to_do, sample_t* buffer);
void decode_vgmstream(VGMSTREAM* vgmstream, int samples_filled, int samples_to_do, sample_t* buffer);

/* Detect loop start and save values, or detect loop end and restore (loop back). Returns 1 if loop was done. */
int decode_do_loop(VGMSTREAM* vgmstream);
/* Detect loop start and save values, or detect loop end and restore (loop back). Returns true if loop was done. */
bool decode_do_loop(VGMSTREAM* vgmstream);

/* Calculate number of consecutive samples to do (taking into account stopping for loop start and end) */
int decode_get_samples_to_do(int samples_this_block, int samples_per_frame, VGMSTREAM* vgmstream);
Expand Down
3 changes: 2 additions & 1 deletion Frameworks/vgmstream/vgmstream/src/base/info.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
#include "../util/channel_mappings.h"
#include "../util/sf_utils.h"

#define TEMPSIZE (256+32)

/*******************************************************************************/
/* TEXT */
/*******************************************************************************/
Expand All @@ -21,7 +23,6 @@ static void describe_get_time(int32_t samples, int sample_rate, double* p_time_m
/* Write a description of the stream into array pointed by desc, which must be length bytes long.
* Will always be null-terminated if length > 0 */
void describe_vgmstream(VGMSTREAM* vgmstream, char* desc, int length) {
#define TEMPSIZE (256+32)
char temp[TEMPSIZE];
double time_mm, time_ss;

Expand Down
Loading

0 comments on commit fcddcdc

Please sign in to comment.