This commit is contained in:
bnnm 2020-06-14 15:50:50 +02:00
parent 3164eaa2ae
commit 5aa09d45e0
3 changed files with 24 additions and 15 deletions

View File

@ -91,7 +91,7 @@ BIK_E1_6A_DialEnd_00000000.audio.multi.bik#3
mode = layers
```
Note that the number of channels is the sum of all layers, so three 2ch layers play as a 6ch file. If all layers share loop points they are automatically kept.
Note that the number of channels is the sum of all layers, so three 2ch layers play as a 6ch file (you can downmix to stereo using mixing commands, described later). If all layers share loop points they are automatically kept.
### Mixed groups
You can set "groups" to 'fold' various files into one, as layers or segments, to allow complex cases:
@ -166,7 +166,7 @@ mainB_2ch.at3
group = 2L2 #@layer-v 2
# finally resulting layers are played as segments (2ch, 2ch)
# (could set a group = S and ommit S here, too)
# (could set a group = S and ommit mode here, too)
mode = segments
# if the last group joins all as segments you can use loop_start
@ -239,34 +239,42 @@ music_Home.ps3.scd#C3 4
### Play settings
**`#l(loops)`**, **`#f(fade)`**, **`#d(fade-delay)`**, **`#i(ignore loop)`**, **`#F(ignore fade)`**, **`#E(end-to-end loop)`**
Those setting should override player's defaults if set (except "loop forever"). They are equivalent to some test.exe options.
Those setting should override player's defaults if set. They are equivalent to some test.exe options.
**God Hand (PS2)**: *boss2_3ningumi_ver6.txtp* (each line is a separate TXTP)
**God Hand (PS2)**: *boss2_3ningumi_ver6.txtp*
```
# set number of loops
boss2_3ningumi_ver6.adx#l3
```
```
# set fade time (in seconds)
boss2_3ningumi_ver6.adx#f10.5
```
```
# set fade delay (in seconds)
boss2_3ningumi_ver6.adx#d0.5
```
```
# ignore and disable loops
boss2_3ningumi_ver6.adx#i
```
```
# don't fade out and instead play the song ending after
boss2_3ningumi_ver6.adx#F # this song has a nice stop
```
```
# force full loops from end-to-end
boss2_3ningumi_ver6.adx#E
```
```
# settings can be combined
boss2_3ningumi_ver6.adx#l2#F # 2 loops + ending
```
```
# settings can be combined
boss2_3ningumi_ver6.adx#l1.5#d1#f5
```
```
# boss2_3ningumi_ver6.adx#l1.0#F # this is equivalent to #i
```
@ -284,7 +292,7 @@ main.fsb
Similarly other games don't use loop points, but rather repeat/loops the song internally many times:
```
intro.vag #t3:20 #i #l1.0 #trim + combine with forced loops for easy fades
bgm01.vag #t3:20 #i #l1.0 # trim + combine with forced loops for easy fades
```
Note that if you need to remove very few samples (like 1) to get smooth transitions it may be a bug in vgmstream, consider reporting.

View File

@ -155,7 +155,8 @@ int ffmpeg_make_riff_xma1(uint8_t * buf, size_t buf_size, size_t sample_count, s
put_16bitLE(buf+off+0x12, speakers);
}
/* xmaencode decoding rejects XMA1 without "seek" chunk, though it doesn't seem to use it */
/* xmaencode decoding rejects XMA1 without "seek" chunk, though it doesn't seem to use it
* (needs to be have entries but can be bogus, also generates seek for even small sounds) */
memcpy(buf+riff_size-4-4, "data", 4);
put_32bitLE(buf+riff_size-4, data_size); /* data size */

View File

@ -936,7 +936,7 @@ static size_t get_ue4_msadpcm_interleave(STREAMFILE *sf, riff_fmt_chunk *fmt, of
return v2_interleave; /* favor newer games */
}
/* same but big endian, seen in the spec and in Kitchenette (PC) */
/* same but big endian, seen in the spec and in Kitchenette (PC) (possibly from Adobe Director) */
VGMSTREAM * init_vgmstream_rifx(STREAMFILE *streamFile) {
VGMSTREAM * vgmstream = NULL;
riff_fmt_chunk fmt = {0};