This version fixes a bug which appeared when loading a new sound while one was still playing. Plus, there are lots of internal changes to improve speed (lower CPU usage), and there’s a new-but-buggy “Loop” function.
Here’s the usual download link! Because of all the changes I made to make the program more efficient, this download is actually half a kilobyte smaller than the previous version, despite me adding lots of text to “version info.txt”!
For details of everything that’s changed, please see below~
EDIT: Whoops, that EXE name had become “Waveform Attempt” again, like it was in ye olden days… Fixed.
From most important to least important (and least interesting):
- When loading a new sound while still playing the “current” one (thereby queueing a new sound), the program would believe that the length of the currently-playing sound was actually the length of the newly-loaded sound. If the newly-loaded sound was longer than the currently-playing one, trying to skip past the real length of the current sound would cause a crash. This bug has been fixed (new length is now used only once playback has stopped).
- Added checkbox to loop playback. Playback position display (in seconds) will be calculated in a different way when looping is enabled, and seeking is more difficult (clicking to left of the seek slider’s tab often moves the slider to the right instead of to the left). Also, there is a bug: If “Loop” is unticked during playback after playback has looped, the seek slider will stay at the far right (end).
- Speed of logarithmic scaling of the waveform is greatly increased, especially when displaying the waveform in more than one way (e.g. both drawing the green line and bending a picture).
- Bending a picture is now done more efficiently (1 less division per line).
- Fractional speed improvements for drawing the green line, sending to the G15 and writing to the EasyLase.
- Possibly improved PC speaker playback…? Either that, or I’ve really messed it up. I’m not able to test it myself at the moment.
- Cleaned up some unused code that had been lying around since revision 1 and revision 6… I wonder what that was still doing there.