ProTracker 2 clone changelog (starting from v1.00 and up)
NOTE: This may contain stuff that only a programmer understands!
v1.17 - 28.05.2020
- Added audio sampling capability. It can be accessed by clicking the new
"SAMPLE" button in the SAMPLER screen. Pressing the right mouse button is
the same as pressing the [SAMPLE] button, which is handy for easier timing.
This is experimental and can contain bugs! Let me know if you find any.
- Fixed a bug where clicking to the left of the song/sample name could cause
a temporary UI lock up.
- Bugfix: After loading a new sample, the sample restore (CTRL+Z) buffer
would not be updated.
- The scopes, VU-meters and (fake) spectrum analyzer should now be less delayed,
and better in sync with the music. Only a slight difference though.
- The PAT2SMP HI mode was changed from A-3 finetune +5 (28836.54Hz, period 123)
to A-3 finetune +4 (28603.99Hz, period 124). After reading the Amiga Hardware
Reference Manual and doing some basic testing, I found out that this rate is
not safe for channel #4 on a real Amiga. The absolute minium safe period is
period 124 (28603.991Hz, PAL).
- Very minor code cleanup/changes
v1.16 - 12.05.2020
- Added three new entries to protracker.ini:
1) FULLSCREEN (start in fullscreen mode)
2) PIXELFILTER (smooth out upscaled pixels to make them less grainy)
3) INTEGERSCALING (if set to false, force vertical stretch of image in
fullscreen mode while maintaining aspect ratio)
- Linux: Fixed the mouse not working with KMSDRM (hopefully)
v1.15 - 07.05.2020
- Bugfix: The EFx (Invert Loop) effect didn't work on the whole sample loop, but
only on the half of it.
- Bugfix: The quadrascope didn't show the volume changes from the 7xy (Tremolo)
effect.
- Windows bugfix: Certain key modifiers didn't work (bug appeared in v1.13)
- The "real VU-meters" mode now acts more like real VU-meters by showing average
amplitudes instead of peak amplitudes. This mode can be toggled on/off by
pressing ALT+F11 or changing a setting in protracker.ini.
- The quadrascope code has been refactored a little bit to be slightly simpler
- Some other cosmetic changes to the code (to better match the PT source code,
which makes it easier to verify that it's correct).
v1.14 - 05.05.2020
- Windows crashfix: When double-clicking .mod files associated with the program,
the new temporary program instance would crash before getting terminated.
v1.13 - 04.05.2020
- Windows bugfix: Left Amiga key (Win-key) didn't work!
- Windows: Removed a broken Num Lock-specific hack. Seems like it didn't work
anymore in later SDL2 versions. This means that the drumpad feature is pretty
useless...
- Bugfix: Saving samples as .IFF would result in broken .IFF files
- Bugfix: Don't allow sample modifications in "sample zero" mode
- Bugfix: The "numpad 0" key wasn't behaving the way it should
- Bugfix: The "numpad enter" key wasn't behaving the way it should if
the current sample was set to 16 (0010).
- Code cleanup. Moved certain chunks to new files, renamed modEntry struct etc.
v1.12 - 29.04.2020
- Fixed a bug where the right loop-pin could sometimes disappear when zoomed in
and scrolled all the way to the right.
- A much needed code refactoring of data structs. The code now also compiles
with GCC 10 (fixed GitHub issue #7).
v1.11 - 26.04.2020
- The BLEP synthesis has been improved for slightly less resampling aliasing.
aciddose (the writer of the BLEP implementation) is currently working on it
to see if it can be further improved, but as for now this should in theory be
a little bit better than the old one.
- Bugfix: Reset play mode to "Play song" when double-clicking files associated
with the PT2 clone.
- Bugfix: The MOD2WAV buffer was too small and could cause nasty issues when
rendering a song with low BPM values.
- MOD2WAV now renders the song at 96kHz, so that the user has more resolution
before converting the WAV to the format/frequency of choice.
- Don't include high-pass filter and dithering in PAT2SMP
- Code cleanup
v1.10 - 19.04.2020
- Bugfix: note(s) displayed in SAMPLER (resample note) and Edit Op. screen #4
were wrong.
- After a long talk with aciddose I have found out that I did several things
wrong in the Amiga audio filtering. I have now removed the filter cutoff
tweaking, gotten a slightly improved low-pass/high-pass routine, and also
replaced the naive "LED" filter implementation with another one that is
slightly more accurate (but still not perfect).
v1.09 - 09.04.2020
- Bug fix: "Play pattern" mode didn't work like it should in v1.08
- PATTDOTS mode (protracker.ini) is now even easier on the eye
- Overflown arpeggios on -1 finetuned samples now behave exactly like real PT.
This is a special case where overflown arpeggios sound very different.
- Code cleanup
v1.08 - 03.04.2020
- The mouse system has been rewritten so that we don't need to do mouse
capturing while interacting with GUI widgets, which could be buggy sometimes.
- Fixed a bug when exiting from Edit Op. screen #4 ("Sample chord editor") and
reopening it. It could mess up the UI in worst case scenarios.
- Some other small miscellaneous changes not worth of a mention
- Small code cleanup (and also the opposite :-)
v1.07 - 18.03.2020
- Linux: Fixed CMakeLists.txt to work on Arch Linux
- Windows: The DPI-scaling is now per-monitor aware instead of system aware.
Maybe this solves the issue of blurry pixels for some people...
- Windows/macOS: SDL was upgraded from 2.0.10 to 2.0.12
v1.06 - 16.02.2020
- Fix: Don't cut off voices when changing the sample length from the GUI
- When loading a WAV/AIFF sample that has a frequency above 22kHz, show a big
ask dialog with more details about what is being asked. Some users got
confused about the old "2X DOWNSAMPLING ?" status text that appeared when
loading some samples.
- When selecting "Yes" to downsampling a sample before loading it, apply a
low-pass filter first to get rid of some potential aliasing after
downsampling. This can now be turned off in protracker.ini (SAMPLELOWPASS).
I recommend leaving this on, as it might remove quite a bit of aliasing in
samples with a lot of high frequencies, like hi-hats and cymbals. However,
some sharpness might get lost. If you need more sharpness, try the "BOOST"
button in "Edit Op." screen #3. The low-pass filter is only applied to samples
that are going to get 2x downsampled during load. You'll get a dialog where
you click yes/no on samples that has a frequency higher than 22kHz.
- Only filter forwards (not backwards as well) when filtering samples in the
FILTERS toolbox in the sample editor. This makes the selected cutoff more
correct.
- The sample marking in the sample editor now looks slightly nicer (different
color on the centerline).
v1.05 - 12.02.2020
- The audio dithering has been slightly improved. It was changed from 1.5-bit
rectangular to 1-bit triangular.
- Bugfix: Don't load sample data after loop end when importing The Ultimate
SoundTracker (STK/UST) modules. The data would be one-shot played in PT,
which is not how it works in STK/UST. Fixes several modules...
- Bugfix: Reset tempo mode to CIA when loading a new module
- The module loader code has been cleaned up a little bit
v1.04 - 29.01.2020
- Fixed a bug where loading certain .MODs would lead to messed up sample data
(so far I have only found one, so it was rare).
- Made some small optimizations to the audio channel mixer. The mixing is still
bit-exact to the previous version...
- Windows 32-bit: This version now requires your CPU to have the SSE2
instruction set, which the audio channel mixer takes good advantage of. Intel
CPUs from around 2000 (AMD around 2003) and later have it. In other words,
it's not worth my time trying to make the clone run on such old machines...
v1.03 - 22.01.2020
- Bugfix: The MOD2WAV function would write .wav files with a wrong chunk length.
Some .wav loaders didn't like this...
- Bugfix: Don't allow toggling scope muting with right mouse button while
MOD2WAV is ongoing.
v1.02 - 06.01.2020
- The paulaSetLength() function now takes length in words, not bytes. This
doesn't really change anything, but it's more correct.
- Fixed a very minor bug with VOL up/down button in Edit Op.
- Fixed a bug where the scopes could show the wrong volume for the tunetone
waveform (sampler screen).
- Some code cleanup
v1.01 - 19.12.2019
- Hardware mouse ("HWMOUSE" in config) now has the same colors and shape as the
original PT cursor. This mode is now the new config default.
- MacOS: Pass NDEBUG to clang preprocessor defines, to prevent debug code from
being compiled in release mode.
v1.00 - 02.12.2019:
- This is now the first "stable" release, and it's not in beta anymore
- Renamed binary/folder/zip names
- This version is otherwise identical with the previous "beta #37" version