E4x is the correct ID, not E3x, for MOD and XM.
Additionally, updated the coding style for MOD to be more consistent with the
pre-existing code, namely by not using hex for the effect IDs being checked.
Fine print:
- Enabling and disabling panning envelopes take up two effect columns instead of
one due to the macro being split into left and right sides.
Fine print:
- OpenMPT hacks are not implemented here for MOD and XM for random waveform
- Retrigger/Continuous setting is not handled for MOD, XM and S3M
-- For S3M, I can't confirm if the setting even existed:
I'm pretty sure it got cut out of Impulse Tracker.
- Your waveform may sound different here than in the original player
If tremolo and panbrello waveforms are implemented in Furnace, then their
corresponding conversions can be implemented. For now, though, they can't make
the cut since there is no corresponding effect to change those waveforms from
the default setting.
Automatic modulation speed, using effect 16xy, was not documented for the
Famicom Disk System. This commit adds documentation. It was adapted from
pre-existing documentation for envelope speeds that says roughly the same
thing.
Partially revert previous commit
Add notifyInsAddition in dispatch for instrument addition
Refresh sample memory when instrument type changed
Fix naming for consistency
Also, this commit fixes a some possible issue in MultiPCM on openMSX core.
Chip ID: Already determined
for refresh sample memory when loop/end pointer and instrument parameter changed. Also, this PR has minor code style fixes and add warning in MultiPCM sample map usage.
Add QSound ADPCM sample warning:
Because QSound ADPCM has twice long max sample length but start/end addresses are byte aligned, doesn't have loop and pitch (fixed to output rate / 3).
Add/Fix missing warnings in:
YMZ280B: start/loop/end address are byte aligned in any sample format, Sample frequency limit is different at ADPCM and PCM
NDS: start/loop/length are 32 bit word aligned, loop length = loop start + sample length (see https://problemkaputt.de/gbatek.htm#dssound)
ES5506: each sample bank is 4MiB (2Misamples), excluding padding for looping
K007232: each sample bank is 128KiB
ADPCM-B: max sample rate is ((output rate * 65535) / 65536)
X1-010: Sample limit is only for with bankswitch (128KiB in Seta 2 hardware)
MSM6295: Sample frequency is only determined by input clock and frequency divider select pin (sample frequency = input clock / 33 / (4 or 5, determined at frequency divider select pin)).
Add loop point hints for NDS, YMZ280B(ADPCM)