mirror of
https://github.com/vgmstream/vgmstream.git
synced 2024-09-25 03:38:20 +02:00
Minor fixes
This commit is contained in:
parent
4a6df9b3b9
commit
b81f8a6eed
14
README.md
14
README.md
@ -233,6 +233,14 @@ channel mask to allow only certain channels (ex. "song.adx#c1,2").
|
|||||||
Creation of those files is meant for advanced users, docs can be found in
|
Creation of those files is meant for advanced users, docs can be found in
|
||||||
vgmstream source.
|
vgmstream source.
|
||||||
|
|
||||||
|
### Plugin conflicts
|
||||||
|
Since vgmstream supports a huge amount of formats it's possibly that some of
|
||||||
|
them are also supported in other plugins, and this sometimes causes conflicts.
|
||||||
|
If a file that should isn't playing or looping, first make sure vgmstream is
|
||||||
|
really opening it (should show "vgmstream" somewhere in the file info), and
|
||||||
|
try to remove a few other plugins. foobar's ffmpeg plugin and foo_adpcm are
|
||||||
|
known to cause issues.
|
||||||
|
|
||||||
|
|
||||||
## Tagging
|
## Tagging
|
||||||
Some of vgmstream's plugins support simple read-only tagging via external files.
|
Some of vgmstream's plugins support simple read-only tagging via external files.
|
||||||
@ -282,7 +290,7 @@ are used in few games.
|
|||||||
- Sony PSX ADPCM a.k.a VAG (standard, badflags, configurable)
|
- Sony PSX ADPCM a.k.a VAG (standard, badflags, configurable)
|
||||||
- Sony HEVAG
|
- Sony HEVAG
|
||||||
- Electronic Arts EA-XA (stereo, mono, Maxis)
|
- Electronic Arts EA-XA (stereo, mono, Maxis)
|
||||||
- Electronic Arts EA-XAS
|
- Electronic Arts EA-XAS (v0, v1)
|
||||||
- DVI/IMA ADPCM (stereo/mono + high/low nibble, 3DS, Omikron, SNDS, etc)
|
- DVI/IMA ADPCM (stereo/mono + high/low nibble, 3DS, Omikron, SNDS, etc)
|
||||||
- Microsoft MS IMA ADPCM (standard, Xbox, NDS, Radical, Wwise, FSB, WV6, etc)
|
- Microsoft MS IMA ADPCM (standard, Xbox, NDS, Radical, Wwise, FSB, WV6, etc)
|
||||||
- Microsoft MS ADPCM (standard, Cricket Audio)
|
- Microsoft MS ADPCM (standard, Cricket Audio)
|
||||||
@ -298,7 +306,7 @@ are used in few games.
|
|||||||
- Konami XMD 4-bit ADPCM
|
- Konami XMD 4-bit ADPCM
|
||||||
- Argonaut ASF 4-bit ADPCM
|
- Argonaut ASF 4-bit ADPCM
|
||||||
- Circus XPCM ADPCM
|
- Circus XPCM ADPCM
|
||||||
- PC-FX ADPCM
|
- OKI 4-bit ADPCM (16-bit output, PC-FX)
|
||||||
- SDX2 2:1 Squareroot-Delta-Exact compression DPCM
|
- SDX2 2:1 Squareroot-Delta-Exact compression DPCM
|
||||||
- CBD2 2:1 Cuberoot-Delta-Exact compression DPCM
|
- CBD2 2:1 Cuberoot-Delta-Exact compression DPCM
|
||||||
- Activision EXAKT SASSC DPCM
|
- Activision EXAKT SASSC DPCM
|
||||||
@ -560,6 +568,8 @@ This list is not complete and many other files are supported.
|
|||||||
- .um3 (Ogg Vorbis)
|
- .um3 (Ogg Vorbis)
|
||||||
- .xa (CD-ROM XA audio)
|
- .xa (CD-ROM XA audio)
|
||||||
- .xma (MS XMA/XMA2)
|
- .xma (MS XMA/XMA2)
|
||||||
|
- .sb0/sb1/sb2/sb3/sb4/sb5/sb6/sb7 (many)
|
||||||
|
- .sm0/sm1/sm2/sm3/sm4/sm5/sm6/sm7 (many)
|
||||||
- artificial/generic headers:
|
- artificial/generic headers:
|
||||||
- .genh (lots)
|
- .genh (lots)
|
||||||
- .txth (lots)
|
- .txth (lots)
|
||||||
|
@ -44,7 +44,5 @@ void block_update_mul(off_t block_offset, VGMSTREAM * vgmstream) {
|
|||||||
|
|
||||||
for (i = 0; i < vgmstream->channels; i++) {
|
for (i = 0; i < vgmstream->channels; i++) {
|
||||||
vgmstream->ch[i].offset = block_offset + block_header + data_header + vgmstream->current_block_size*i;
|
vgmstream->ch[i].offset = block_offset + block_header + data_header + vgmstream->current_block_size*i;
|
||||||
//VGM_LOG("ch%i of=%lx\n", i, vgmstream->ch[i].offset);
|
|
||||||
}
|
}
|
||||||
//getchar();
|
|
||||||
}
|
}
|
||||||
|
@ -2279,14 +2279,25 @@ void describe_vgmstream(VGMSTREAM * vgmstream, char * desc, int length) {
|
|||||||
"encoding: ");
|
"encoding: ");
|
||||||
concatn(length,desc,temp);
|
concatn(length,desc,temp);
|
||||||
switch (vgmstream->coding_type) {
|
switch (vgmstream->coding_type) {
|
||||||
|
|
||||||
|
//todo codec bugs with layout inside layouts (ex. TXTP)
|
||||||
#ifdef VGM_USE_FFMPEG
|
#ifdef VGM_USE_FFMPEG
|
||||||
case coding_FFmpeg: {
|
case coding_FFmpeg: {
|
||||||
ffmpeg_codec_data *data = (ffmpeg_codec_data *)vgmstream->codec_data;
|
ffmpeg_codec_data *data = NULL;
|
||||||
if (!data && vgmstream->layout_data) {
|
|
||||||
|
if (vgmstream->layout_type == layout_layered) {
|
||||||
layered_layout_data* layout_data = vgmstream->layout_data;
|
layered_layout_data* layout_data = vgmstream->layout_data;
|
||||||
if (layout_data->layers[0]->coding_type == coding_FFmpeg)
|
if (layout_data->layers[0]->coding_type == coding_FFmpeg)
|
||||||
data = layout_data->layers[0]->codec_data;
|
data = layout_data->layers[0]->codec_data;
|
||||||
}
|
}
|
||||||
|
else if (vgmstream->layout_type == layout_segmented) {
|
||||||
|
segmented_layout_data* layout_data = vgmstream->layout_data;
|
||||||
|
if (layout_data->segments[0]->coding_type == coding_FFmpeg)
|
||||||
|
data = layout_data->segments[0]->codec_data;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
data = vgmstream->codec_data;
|
||||||
|
}
|
||||||
|
|
||||||
if (data) {
|
if (data) {
|
||||||
if (data->codec && data->codec->long_name) {
|
if (data->codec && data->codec->long_name) {
|
||||||
@ -2636,7 +2647,7 @@ int get_vgmstream_average_bitrate(VGMSTREAM * vgmstream) {
|
|||||||
return get_vgmstream_average_bitrate_from_size(vgmstream->stream_size, sample_rate, length_samples);
|
return get_vgmstream_average_bitrate_from_size(vgmstream->stream_size, sample_rate, length_samples);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//todo bitrate bugs with layout inside layouts (ex. TXTP)
|
||||||
/* make a list of used streamfiles (repeats will be filtered below) */
|
/* make a list of used streamfiles (repeats will be filtered below) */
|
||||||
if (vgmstream->layout_type==layout_segmented) {
|
if (vgmstream->layout_type==layout_segmented) {
|
||||||
segmented_layout_data *data = (segmented_layout_data *) vgmstream->layout_data;
|
segmented_layout_data *data = (segmented_layout_data *) vgmstream->layout_data;
|
||||||
|
Loading…
Reference in New Issue
Block a user