5 Commits

Author SHA1 Message Date
AliceLR
d80946d046 Move interpolation wraparound handling out of sample loader. 2021-12-22 08:26:04 -07:00
AliceLR
c2ce363dda Fix support for most Farandole Composer effects and other features.
* Fixes support for the following previously broken FAR effects:
  `1?` Pitch offset up
  `2?` Pitch offset down
  `3?` Tone portamento
  `4?` Retrigger
  `5?` Set vibrato depth
  `6?` Vibrato
  `7?` Volume slide up
  `8?` Volume slide down
  `9?` Sustained vibrato
  `c?` Note offset
  `f?` Tempo

* Adds support for previously unimplemented FAR effects:
  `03` Fulfill loop
  `04` Old tempo mode
  `05` New tempo mode
  `a?` Slide-to-volume
  `b?` Balance
  `d?` Fine tempo down
  `e?` Fine tempo up

* Adds FAR effects loader test.
* Adds FAR effects regression tests.
* libxmp no longer ignores the header length field in FAR modules.
* libxmp now loads module comment text from FAR modules.
* libxmp now loads channel panning and mute values from FAR modules.

The portions of this patch related to tempo handling had to be
partially based on Dan Potter's example playercode, which *should*
be license friendly.
2021-11-19 20:36:51 -07:00
AliceLR
0cede85be3 Fix test-dev FAR, STM, and mseek tests.
* Fixed test_read_mem_hio.c for commit 0db60b18.
* Updated format_stm.data for commit ca111900.
* Updated format_far.data for commit 7d6d8243.
* Added a C implementation of the gen_module_data utility
  since the Python version currently seems quite broken.
* Fixed a multiple definition bug between two tests.
* Improved failed test output messages so they're easier
  to find and more informative.
2020-10-31 07:11:19 +03:00
Claudio Matsuoka
c53f1cf947 [test] Update format loader tests
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2015-01-29 22:26:01 -02:00
Claudio Matsuoka
646c595b03 [test] Add test for FAR loader
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2013-10-01 16:11:44 -03:00