* 'master' of https://github.com/tildearrow/furnace: (70 commits)
whoops
GUI: AY8930 credits
GUI: fix inability to close subsongs
BANK
OPN: wire up ExtCh system
fix build failure
dev95 - multiple songs in a single file (READ)
DO NOT USE - THIS FAILS - WORK IN PROGRESS
enforce asset limits
old .dmf loading improvements
add AICA and YMZ ADPCM formats
allocate ID for YMZ280B
harden .fur file saver
Fix AY VGM output, Fix presets
preparations for UI improvements
GUI: add more presets
prepare for ExtCh OPN/OPNA
GUI: clarify that lock layout doesn't work yet
GUI: remember last state of order edit mode
GUI: store edit/followOrders/followPattern state
...
# Conflicts:
# src/engine/fileOps.cpp
# src/engine/platform/ym2610.cpp
# src/engine/platform/ym2610b.cpp
# src/engine/sample.cpp
# src/engine/sample.h
# src/engine/sysDef.cpp
# src/gui/doAction.cpp
# src/gui/sysConf.cpp
its 16 channel wavetable/PCM chip, with (optional) stereo support.
Its also has envelope, this feature has similar as AY PSG's one but its shape is also stored at RAM, and each nibble in envelope data is for each output: so i decided to added some feature for more stereo-ish envelope.
Split: Envelope shape will be splitted to Left and Right half for each output.
HInv, Vinv: Envelope shape will be Horizontally/Vertically mirrored the left one.
Max sample length is sample bank size of Seta 2 arcade hardware (currently not emulated yet, nor it doesn't support on VGM).
Chip id is temporary, it can be changed with to suggestions.
this commit mostly rewrites the sample system.
as of now samples can be ADPCM, 8-bit, BRR or 16-bit
or something...
consider this VERY EXPERIMENTAL.
if you find any issues REPORT THEM immediately.
it's nearly 4am...
as of now we store and use the actual sample rate as opposed to an index
fo a fixed rate table.
this allows for more flexibility in a future file format...