- Initialisation is now interruptible.
- All data is now loaded from MT32_CONTROL.ROM. drumpat.rom, Preset1.syx, Preset2.syx and patchlog.cfg are no longer used.
- Major cleanup. In particular, separated Rhythm part into a new class, instead of dealing with it as a special case everywhere.
- Improved accuracy of pitch key-follow.
- Recaching now happens lazily.
- Changed some right-shifts to divs, due to the former not being arithmetic on some architectures.
- Setting "MT32EMU_ACCURATENOTES" to 1 will generate lookup tables for the exact frequency of every note played. Not recommended.
- Several small bugs fixed.
svn-id: r15929
NOTE: This breaks most ports, and they will not pass assertions. If you will
fix it (by moving violating OSystem calls to go() method), I'll be grateful.
If you don't bother to fix it, there is a workaround. Just comment out
beginGFXTransaction() and endGFXTransaction() in backends/sdl/graphics.cpp.
This will tunr it off and will use default transaction-less implementation.
svn-id: r15870
- No longer stores a sawtooth waveform twice, once with each sample negated.
- More graceful handling of truncated waveformcache files.
- Fixed tuning of patterns for non-32KHz sample rates (needs checking).
- Note: Waveform cache format changed, will automatically be rebuilt.
svn-id: r15804
- Cleanup
MT32Emu:
- Lots more cleanup.
- Properly implemented pitch bending (not fast, but theoretically perfect).
- Full position delta is now calculated before PCM interpolation/decimation is performed, so that pitch modifiers will be considered.
- Now reports when using SSE or 3DNow, and when the samplerate is invalid.
svn-id: r15801
- Channels now ignore effectLevel() and chorusLevel(), instead of sending unsupported control change messages to MT32Emu (they're not supported in a real MT-32, either, according to docs).
- Implemented setPitchBendRange() by sending a sysex write command to adjust the patch.
- _outputRate is now hard-coded at 32000, until tuning can be fixed for other sample rates.
MT32EMu:
- Extended File interface to deal with reading/writing 16/32-bit values endian-independently (they're always big-endian on file).
- Improved usage of packing-related pragmas.
- Should now be endian-agnostic (without depending on #defines for the endianness).
svn-id: r15800
- now modular
- modules are located on memory card and imported to storage memory when needed
- renamed AddArgs(..) -> ArgsAdd
- args related fucntions moved to args.* source files
- make some args passed even if no game was selected
- modules management stuffs
svn-id: r15770
- bLauched var : to know if we have launched an engine
- new info panel
- sysAppLaunchCustomDeleteEngine : if the back to launcher option is disabled
svn-id: r15766