ProTracker 2 clone changelog (starting from v1.00 and up) NOTE: This may contain stuff that only a programmer understands! v1.67 - 18.03.2024 - Fullscreen mode code has been refactored, as I apparently had coded it the wrong way. "Stretched" mode always fills the whole screen now too, and other issues may have been fixed as well. The "INTEGERSCALING" option in protracker.ini has been removed as it wouldn't work with the new code anyway. - Windows/macOS: Updated SDL to v2.30.1 v1.66 - 21.01.2024 - Fixed major sample trigger bugs with PAT2SMP - Windows/macOS: Updated SDL to v2.28.5 v1.65 - 30.10.2023 - Removed audio output dithering. It seemed to be wrongly implemented anyway. - Removed CTRL+G and CTRL+V keybinding (boost/filter all samples) - The BOOST (Edit Op. #3) function was not 100% accurate to Amiga ProTracker - Windows/macOS: Updated SDL to v2.28.4 v1.64 - 07.09.2023 - Bugfix: A buffer overrun would occur if MOD2WAVFREQUENCY was set higher than FREQUENCY in protracker.ini while using MOD2WAV. - Right mouse button can now be held down while scrolling in Pos Ed. for faster scrolling speeds (forgot to implement this) v1.63 - 29.08.2023 - When loading raw samples, use the filename as the sample name v1.62 - 12.08.2023 - Bugfix: It was possible to scroll out of bounds in Disk Op. by using shift+key - Bugfix: Don't set "song unsaved" flag if text editing didn't make a change - Bugfix: Editing the Disk Op. path text would set the "song unsaved" flag (lol) - Bugfix: Using the "CLEAR" button while Edit. Op. or the about screen was open could lead to a screen redrawing issue. - Disk Op. file entry jumping (left shift + key) now works a bit differently. If the last pressed jump key didn't change, cycle through pages if there are more matches to be found. This allows for quicker module finding. Thanks to Fireb0y for this suggestion! I know I usually do not accept requests, but this one was simple and very useful. - Re-implemented the Pos Ed. pattern naming feature. Be aware that this data is not saved to the module, and is only used to temporarily keep track of the patterns while making the module. Yes, it's a quite crippled feature, but some people asked me to implement it again! - Code refactoring, a small portion of the code should be easier to understand now (still a long way to go...). - Windows/macOS: Updated SDL to v2.28.2 v1.61 - 29.06.2023 - Windows: On double-click of file associated with program, de-minimize window (if minimized) and set input focus. - De-minimize window (if minimized) and set focus after drag n' drop of file - Windows/macOS: Updated SDL to v2.28.0 v1.60 - 19.06.2023 - Added an AUTO mode for VIDEOSCALE in protracker.ini. This is now the default. It will use the most optimal window size based on the screen resolution. If you want this feature but don't want to replace protracker.ini, set VIDEOSCALE to AUTO (make sure you have v1.60 or later). Manual settings (2X, 3X, ...) still work like expected. - Removed VIDEOSCALE limit of 2X for ARM systems. This was originally meant for Raspberry Pi, but it would affect all ARM systems (except Apple). v1.59 - 08.06.2023 - The "normalize" function in the sample editor's volume toolbox didn't work like it should if you had only selected one single sample point (for example after cutting sample data). - The (fake) spectrum analyzer is now more accurate to real PT in quirky cases - Some very small code changes not really worthy of a description - Updated effects.txt with the little known and undocumented effect "E8x" v1.58 - 12.05.2023 (updated 19.05.2023) > 19.05.2023 - macOS build: Don't make command+q trigger quit. This keybinding is used for pattern transposing. - Added support for loading FLAC samples - The IFF sample saver was writing somewhat broken files for non-looped samples - The "UPSAMP" button in Edit Op. was showing the wrong status text - Small code refactor for how the song is timed/ticked. Longer song-to-WAV renders may have a filesize change of a few bytes, but this is actually more correct. - Increased number of precision bits for song BPM, playback time counter and audio->video syncing. This is a minor change and does very little in practice as the previous precision was already quite good. - Audio/video sync timestamps are reset every half an hour to prevent possible sync drifting after several hours of playing a song without a single song stop (resets timestamp) in-between. - The HPC timers are reset every half an hour instead of every hour. The video (if no vsync) and the scopes use these timers. This hopefully fixes potential timing drifting issues that were still lingering. - Code refactoring for module/sample loaders - Windows/macOS: Updated SDL to v2.26.5 v1.57 - 24.01.2023 - For users with >60Hz displays: *hopefully* fixed possible slowdown/timing problems after leaving the program open for many hours. - Windows/macOS: Updated SDL to v2.26.2 v1.56 - 27.12.2022 - Fixed: MOD2WAV renders were faulty if you had set the tracker audio frequency to 96kHz or higher. - "Amiga 1200" high-pass filter cutoff was off by a small fraction v1.55 - 09.12.2022 - Disk Op.: Fixed a bug from v1.54 where sequential ask dialogs resulted in an empty file list inbetween the two dialogs. v1.54 - 04.12.2022 - Fixed a bug where the downsample dialog was not properly erased after loading samples through the Disk Op. screen. - Don't include Amiga 1200 low-pass filter since its cutoff is well above human audible range anyway (~34kHz). - Paula emulator code refactoring (should sound the same) - Reduced memory consumption by about 3..6 megabytes (was a simple change) v1.53 - 14.10.2022 - Fixed a quadrascope bug for non-looping samples during step-play. This bug was from v1.52. v1.52 - 11.10.2022 - Windows/macOS: Updated SDL to v2.24.1 - The default Disk Op. directory is now set to the user's desktop - SHIFT+F12 now toggles audio panning between centered/Amiga/custom - Show "[EDITING]" in window title when you are in pattern edit mode - The default MOD2WAV output frequency is now set to 44100Hz, and it now has its own config entry in protracker.ini. - MOD2WAV now supports looping. You can select the number of times to loop the song. - MOD2WAV now supports end fadeout (in number of seconds) - Bugfix: After dragging a sample into the program and it asks about downsampling, the first mouse click would not be registered. - PAT2SMP: You can now manually select the note (frequency), row start and number of rows - Bugfix: On sample trigger, some of the first sample points would be zero - Bugfix: The playback counter was very slightly off in VBL/vblank tempo mode - Bugfix: If the program received a sigterm while MOD2WAV was ongoing, weird things could happen. - The tuning tone (SAMPLER screen) now sounds slightly cleaner - Code refactoring ("ask dialogs" now work in a much simpler and cleaner way) - Code cleanup - Updated help.txt and keybindings.txt - Updated protracker.ini (added MOD2WAVFREQUENCY) - NOTE: Because of the new Paula and replayer changes, you may get a short click before a voice plays for the first time in the tracker after pressing PLAY. This is how it is on real Amiga as well. v1.51 - 17.08.2022 - Fixed note cut (ECx, where x=speed-1) during step-play - The playback counter wouldn't progress if the BPM was set to 32 v1.50 - 11.07.2022 - Fixed some possible issues with fullscreen in Linux (still buggy) - Bugfix: Focus was lost when drag-n-dropping a file onto the tracker, which meant that the first following mouse click was ignored. - Windows/macOS: Updated SDL from 2.0.20 to 2.0.22 v1.49 - 22.05.2022 - Fixed: The Position Jump (Bxx) effect would misbehave in "play pattern" and "record pattern" mode. v1.48 - 17.05.2022 - Key repeat (when caps lock is on) was missing for certain key combinations: ALT/CTRL + delete ALT/CTRL + enter ALT/CTRL + backspace ALT + 0..9 ALT + "\" (US keyboard layout) ALT + "=" (US keyboard layout) ALT + "-" (US keyboard layout) - Updated keybindings.txt v1.47 - 15.05.2022 - If fullscreen mode has black borders, allow top left corner to act as program quit. - The "LED" filter's quality factor (Q) should now be nominally correct - Some minor changes to the audio filtering code v1.46 - 09.04.2022 - Added a new config entry called "STEPPLAY_KEEP_EDITMODE", which allows for step-play (return/backspace) to not leave edit mode after use. v1.45 - 08.04.2022 - Windows: Fix crash message when double-clicking a .MOD while a PT2 clone instance is already running. This bug appeared in v1.44. v1.44 - 07.04.2022 - Fix possible out-of-sync state between tracker and replayer if the module was stopped during a position transition. The replayer is one tick ahead, so this can very well happen (f.ex. during pattern loop, pattern break, position jump, row 63->0 transition). v1.43 - 17.03.2022 (updated 19.03.2022) - Fixed: CTRL+T (Swap Channel) didn't refresh the pattern data view, nor did it update the "song is modified" state. > 19.03.2022: - macOS: Fixed problem with silence when attempting to sample audio v1.42 - 13.03.2022 - Fixed (rarely audible) click bug in the BLEP synthesis code (audio mixer). This bug was introduced in v1.34. v1.41 - 24.02.2022 - Added support for loading XPK-compressed MOD files v1.40 - 01.02.2022 - Don't handle mouse click if window wasn't in focus v1.39 - 12.01.2022 - macOS/Windows: Updated SDL 2.0.16 to SDL 2.0.20. SDL 2.0.18 would have issues with custom mouse cursors on Windows, so I had to skip it. v1.38 - 30.12.2021 - Added 128kB sample support again. This can be turned on by adjusting the 64K_LIMIT setting in (the new) protracker.ini to FALSE. Please read the 64K_LIMIT comment in protracker.ini first before doing this. - Fixed a bug where it wasn't always possible to mark the last sample point in the sample editor. - Some other minor code changes v1.37 - 28.10.2021 - Fixed potential thread issues between user input thread and audio thread, like when jamming a sample, toggling tuning tone, playing sample in the sample editor, adjusting sample loop, etc. v1.36 - 10.10.2021 (23:12 GMT+2) - Fixed clicking issues in v1.35 during sample looping. Sorry! - Fixed an issue where the quadrascope was not updated properly when a F00 command was triggered before the last channel. v1.35 - 10.10.2021 - Implemented a config entry in protracker.ini for disabling the 2x downsample dialog that shows up when attempting to load >22kHz samples. (NO_DWNSMP_ON_SMP_LOAD) - Don't attempt to center window after leaving fullscreen mode. This could lead to issues on multi-monitor setups. - Further accuracy changes to the Paula emulator. Read two samples at once into the AUDxDAT buffer. This is a minor change, but it can have a very small impact on sample-changing commands (EFx/E8x). v1.34 - 16.09.2021 - Bugfix: Pattern delay (EEx) did nothing on muted channels - Bugfix: Less clicks/pops during E0x command (Set LED Filter) - Added the missing Karplus-Strong command (E8x). Since this effect was sometimes replaced with visuals-syncing in demo music, it can be turned off by setting DISABE_E8X to TRUE in protracker.ini. - Fix: Only do 2x oversampling if the audio output rate is below 96kHz. It would otherwise be a waste of CPU time (diminishing returns). - Paula emulation is now slightly more accurate to a real Amiga (verified): 1) Period/volume changes are now only updated when it's time to read a new sample point (period refetch). It was recently discovered that volume is also fetched (and cached) in the period refetch stage. 2) During sample point fetching, the new sample point is now cached until it's time to read the next sample point. This can sometimes make a very small difference for sampledata-changing ProTracker effects (E8x / EFx). - Removed BLEP'ing of volume changes, as it was no longer needed with the new way of doing volume changing, and it saves up some CPU time. v1.33 - 04.09.2021 - The tracker now uses 2x oversampling and decimation for mixing and filtering, for (theoretically) less aliasing. - Added Amiga 1200 low-pass filter (~34.4kHz, when not in A500 mode). This makes sense now, since we have twice the render/filter frequency than before. - PAT2SMP now renders in higher quality thanks to the new high quality 2x decimator routine. Especially noticable in LO mode on high-frequency content. - The "2x downsample" option while loading samples results in slightly less aliasing than before because of the new high quality 2x decimator. - The MOD2WAV audio rate is now the same as the tracker's audio rate - Stereo separation now works like it should. The volume is a bit louder than before if you increase the separation, but that's expected. - Removed the hand-made cutoff tweak on the Amiga 500 low-pass filter. It now uses the correct nominal cutoff frequency. The RC filter routines have been replaced with new ones, and with these I didn't have to tweak the cutoff to make it sound similar to an A500 (probably related to filter prewarping?). - Windows/macOS: Updated SDL2 from version 2.0.14 to 2.0.16 v1.32 - 12.08.2021 - Bugfix: If you had accidentally clicked somewhere on the sample data before using the "ramp volume" tool, it wouldn't work as expected. - Bugfix: The BPM was a tiny fraction off because of an off-by-one error in the Amiga CIA period -> Hz calculation. The error was about ~0.02%, so it would only be measurable when comparing several minutes of recorded audio. v1.31 - 19.06.2021 - The Disk Op. file sorting routine is now simplified and more ProTracker like (names are converted to uppercase before sorting). This affects the sorting. - Bugfix: Don't allow mouse wheel scrolling while the volume/filter toolbox is open (sample editor). v1.30 - 29.04.2021 - Windows bugfix: Prevent ever-increasing memory usage while minimized. Possibly a bug in SDL_RenderClear(). Might affect other systems too. - Bugfix: MOD2WAV would in some cases not render the correct amount of data - Fixed an old PT bug where the pattern editor could sometimes show the next pattern's data one tick too early at the end of the pattern. - Some small code refactoring v1.29 - 14.03.2021 - Bugfix: Characters A..F were not accepted in the "Mix" text box in Edit Op. #3 - Screensaver is no longer disabled when the program is running v1.28 - 01.01.2021 - Updated SDL from version 2.0.12 to version 2.0.14 - Windows: Because of a bugfix in SDL 2.0.14, the drumpad now works like it should (when numlock is off the numpad cursor keys still act as drumpad keys). However, pressing the numpad key (which is part of the drumpad) will still toggle the numlock state. v1.27 - 18.12.2020 - The A500 audio mode (press F12 or edit protracker.ini) now sounds much closer to a typical real A500, after hand-tweaking the filter cutoff and looking at many plotted frequency analyses (of sine sweeps). It would previously cut off too much treble, because the RC filter implementation is too imprecise at lower audio rates. v1.26 - 30.11.2020 - Fixed possible string-corruption/crash if you saved a sample/module whose name contained an extra overflown character (which replaced the NUL terminator) v1.25 - 18.11.2020 (updated half an hour after release) - Bugfix: Fixed BPM duration issues when rendering song to WAV (MOD2WAV/PAT2SMP) - Fixed some mouse problems in fullscreen mode on multi-monitor setups >> update: - Fixed filter coeffs being wrong on MOD2WAV v1.24 - 04.10.2020 - BPM is now slightly more accurate to CIA specifications, and also more accurate in vblank (VBL) timing mode using the true Amiga PAL vblank rate. NOTE: We're speaking tiny variations in BPM here... - Vblank (VBL) timing mode: Fixed a bug with setting a speed of FF (255) on the first row. The tick duration would be about twice as long... - Small code cleanup v1.23 - 18.09.2020 - PAT2SMP now has higher quality sound. Especially noticable in LO mode. - PAT2SMP LO mode now uses 20864Hz (E-3 finetune 0) instead of 22168Hz (F-3 finetune +1) for slightly more room, and still has better quality than before because of the improvement above! - The optional 2x downsample during sample load is now of better quality. Or it should be, at least... - Fixed some bugs in the "sampling" screen (SAMPLER screen -> Sample) - The sampling feature now takes up less CPU time while downsampling. Also fixed a small error in the sinc resampling interpolation. - Don't block GUI input and don't show red mouse pointer for a while every time you cancel a requester. No idea why PT did this in the first place, what a workflow limiter! - Bugfix: Don't reset playback time counter on "play pattern" - protracker.ini: "A500LOWPASSFILTER" has been replaced with "FILTERMODEL" (A1200 or A500). Removed NORMALIZESAMPLING and SAMPLELOWPASS (deprecated). - Some other minor changes not worth of a mention - Code cleanup v1.22 - 24.07.2020 - Fixed a small stuttering issue in the audio/video syncing - Changed the PT2 clone text in the About screen (PT2.3D clone -> PT2 clone) v1.21 - 03.07.2020 - Bugfix: If you were to load a .MOD with samples >65534 bytes in length, the alignment of the sample data would get messed up. Note: Only 65534 bytes will be loaded for such big samples! v1.20 - 23.06.2020 - Song BPM is now more accurate (it used to be slightly off for some BPMs). Please note that every Amiga's system clock is off by a very small fraction. This means that the true PT BPM (based on CIA) differs very slightly from machine to machine, so the PT2 clone's BPM will not precisely match a real Amiga. - Added a delay when using left/right/delete/backspace keys in text edit mode. This makes it harder to do accidents! - Bugfix: MOD2WAV didn't stop rendering even if a F00 pattern command was triggered. - Bugfix: PAT2SMP would sometimes not render the very last song tick v1.19 - 12.06.2020 - Allow loading .WAV samples whose header can have different chunks before the "fmt " chunk. Makes the .WAV loader less picky. v1.18 - 07.06.2020 - Bugfix: Pasting copied sample data to an empty sample didn't work! Also fixed an issue with the sample length not changing when pasting data. - Bugfix: Scopes would never stop showing looped samples after channel muting - Bugfix: The sampling position line in the sampler screen would not behave correctly during "sample swapping". - Bugfix: Left/right/up/down cursor keys should not be repeated in keyrepeat mode (toggled with Caps Lock). - Windows bugfix: The Windows key could get stuck if you held down ALT while pressing it. - Windows bugfix: Num Lock now works ike it should when the program is in focus (yes, this ruins drumpad mode, but it never worked right to begin with). - The "real VU-meter" bars are now sinking a bit faster - Code cleanup 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