diff --git a/src/coding/adx_decoder.c b/src/coding/adx_decoder.c index c2d8470c..f6fd7dbc 100644 --- a/src/coding/adx_decoder.c +++ b/src/coding/adx_decoder.c @@ -1,4 +1,4 @@ -#include "adx.h" +#include "adx_decoder.h" #include "../util.h" void decode_adx(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) { diff --git a/src/fmt/adx_decoder.h b/src/coding/adx_decoder.h similarity index 69% rename from src/fmt/adx_decoder.h rename to src/coding/adx_decoder.h index 742fabd3..b5ba38cf 100644 --- a/src/fmt/adx_decoder.h +++ b/src/coding/adx_decoder.h @@ -4,10 +4,9 @@ #include "../vgmstream.h" -#ifndef _ADX_H -#define _ADX_H +#ifndef _ADX_DECODER_H +#define _ADX_DECODER_H -VGMSTREAM * init_vgmstream_adx(const char * const filename); void decode_adx(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do); #endif diff --git a/src/coding/pcm_decoder.c b/src/coding/pcm_decoder.c index b27dd3a0..f5c837d3 100644 --- a/src/coding/pcm_decoder.c +++ b/src/coding/pcm_decoder.c @@ -1,4 +1,4 @@ -#include "adx.h" +#include "pcm_decoder.h" #include "../util.h" void decode_pcm16LE(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) { diff --git a/src/fmt/adx_header.h b/src/fmt/adx_header.h deleted file mode 100644 index 742fabd3..00000000 --- a/src/fmt/adx_header.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * adx.h - ADX reading and decoding - */ - -#include "../vgmstream.h" - -#ifndef _ADX_H -#define _ADX_H - -VGMSTREAM * init_vgmstream_adx(const char * const filename); -void decode_adx(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do); - -#endif diff --git a/src/fmt/interleave.c b/src/layout/interleave.c similarity index 98% rename from src/fmt/interleave.c rename to src/layout/interleave.c index 7aa58371..1e99ee4f 100644 --- a/src/fmt/interleave.c +++ b/src/layout/interleave.c @@ -1,7 +1,7 @@ #include "interleave.h" -#include "adx.h" -#include "gcdsp_decoder.h" -#include "pcm_decoder.h" +#include "../coding/adx_decoder.h" +#include "../coding/gcdsp_decoder.h" +#include "../coding/pcm_decoder.h" void render_vgmstream_interleave(sample * buffer, int32_t sample_count, VGMSTREAM * vgmstream) { int samples_written=0; diff --git a/src/fmt/interleave.h b/src/layout/interleave.h similarity index 100% rename from src/fmt/interleave.h rename to src/layout/interleave.h diff --git a/src/fmt/nolayout.c b/src/layout/nolayout.c similarity index 88% rename from src/fmt/nolayout.c rename to src/layout/nolayout.c index 516f3a43..e99983a5 100644 --- a/src/fmt/nolayout.c +++ b/src/layout/nolayout.c @@ -1,6 +1,7 @@ #include "nolayout.h" -#include "adx.h" -#include "gcdsp_decoder.h" +#include "../coding/adx_decoder.h" +#include "../coding/gcdsp_decoder.h" +#include "../coding/pcm_decoder.h" void render_vgmstream_nolayout(sample * buffer, int32_t sample_count, VGMSTREAM * vgmstream) { int samples_written=0; @@ -15,6 +16,11 @@ void render_vgmstream_nolayout(sample * buffer, int32_t sample_count, VGMSTREAM case coding_NGC_DSP: samples_per_frame = 14; break; + case coding_PCM16LE: + case coding_PCM16BE: + case coding_PCM8: + samples_per_frame = 1; + break; } while (samples_writtensamples_into_block%samples_per_frame)+samples_to_do>samples_per_frame) samples_to_do=samples_per_frame-(vgmstream->samples_into_block%samples_per_frame); + if (samples_per_frame > 1 && (vgmstream->samples_into_block%samples_per_frame)+samples_to_do>samples_per_frame) samples_to_do=samples_per_frame-(vgmstream->samples_into_block%samples_per_frame); if (samples_written+samples_to_do > sample_count) samples_to_do=sample_count-samples_written; diff --git a/src/fmt/nolayout.h b/src/layout/nolayout.h similarity index 100% rename from src/fmt/nolayout.h rename to src/layout/nolayout.h diff --git a/src/fmt/adx_header.c b/src/meta/adx_header.c similarity index 99% rename from src/fmt/adx_header.c rename to src/meta/adx_header.c index cd35b756..fd24bcef 100644 --- a/src/fmt/adx_header.c +++ b/src/meta/adx_header.c @@ -1,5 +1,5 @@ #include -#include "adx.h" +#include "adx_header.h" #include "../util.h" VGMSTREAM * init_vgmstream_adx(const char * const filename) { diff --git a/src/meta/adx_header.h b/src/meta/adx_header.h new file mode 100644 index 00000000..77d40344 --- /dev/null +++ b/src/meta/adx_header.h @@ -0,0 +1,12 @@ +/* + * adx.h - ADX reading and decoding + */ + +#include "../vgmstream.h" + +#ifndef _ADX_HEADER_H +#define _ADX_HEADER_H + +VGMSTREAM * init_vgmstream_adx(const char * const filename); + +#endif diff --git a/src/fmt/brstm.c b/src/meta/brstm.c similarity index 100% rename from src/fmt/brstm.c rename to src/meta/brstm.c diff --git a/src/fmt/brstm.h b/src/meta/brstm.h similarity index 100% rename from src/fmt/brstm.h rename to src/meta/brstm.h diff --git a/src/vgmstream.c b/src/vgmstream.c index a5124f35..74c0a23d 100644 --- a/src/vgmstream.c +++ b/src/vgmstream.c @@ -1,8 +1,8 @@ #include "vgmstream.h" -#include "fmt/adx.h" -#include "fmt/brstm.h" -#include "fmt/interleave.h" -#include "fmt/nolayout.h" +#include "meta/adx_header.h" +#include "meta/brstm.h" +#include "layout/interleave.h" +#include "layout/nolayout.h" /* * List of functions that will recognize files. These should correspond pretty diff --git a/test/Makefile b/test/Makefile index 19cc68dd..8d49b646 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,6 +1,6 @@ CFLAGS=-lm -O3 -test: test.c ../src/streamfile.c ../src/vgmstream.c ../src/util.c ../src/fmt/adx_header.c ../src/fmt/adx_decoder.c ../src/fmt/gcdsp_decoder.c ../src/fmt/brstm.c ../src/fmt/interleave.c ../src/fmt/nolayout.c ../src/fmt/pcm_decoder.c +test: test.c ../src/streamfile.c ../src/vgmstream.c ../src/util.c ../src/meta/adx_header.c ../src/coding/adx_decoder.c ../src/coding/gcdsp_decoder.c ../src/meta/brstm.c ../src/layout/interleave.c ../src/layout/nolayout.c ../src/coding/pcm_decoder.c clean: rm test