annotate win95kggui/dep/ft2play/README.md @ 126:8e4ee43d3b81

remove submodules
author Paper <mrpapersonic@gmail.com>
date Sun, 01 Oct 2023 03:48:43 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
126
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
1 # ft2play
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
2 Aims to be a bit-accurate C port of Fasttracker 2.09's XM replayer (SB16/WAV render mode). \
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
3 This is a direct port of the original asm/Pascal source codes. \
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
4 \
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
5 The project contains example code in the ft2play folder on how to interface with the API.
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
6
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
7 # Notes
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
8 - To compile ft2play (the test program) on macOS/Linux, you need SDL2
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
9 - When compiling, you need to pass the driver to use as a compiler pre-processor definition (f.ex. AUDIODRIVER_WINMM, check "pmplay.h")
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
10 - This is <i>not</i> the same replayer/mixer code used in the FT2 clone (the FT2 clone also uses a port, but it has some audio precision improvements)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
11 - The accuracy has only been compared against a handful of songs
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
12 - The code may not be 100% thread-safe (or safe in general), and as such I don't really recommend using this replayer in other projects. My primary goal was to create an accurate C port that people can use for reference.
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
13
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
14 # How to test accuracy
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
15 1) Open FT2.08 or FT2.09 (use a fresh program start for every render) and load an XM/MOD module. Make sure "Stereo" and "Interpolation" are enabled in the config screen
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
16 2) Save as WAV with the following settings: Frequency = 44100, Amplification = 10 (not 4!)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
17 3) Render the same song to WAV using ft2play (f.ex. "ft2play mysong.xm --render-to-wav")
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
18 4) Use a program capable of verifying the binary integrity between the two output files. If they differ, you found a problem, please create a GitHub issue for it :)