Friday, August 16, 2024

Noise Station v1.23

A full day of programming working on Noise Station v1.23.

First, creating new skins for the possible wider layout, and dividing the images into 5 bitmaps. Then auto-extending the number of tracks, and auto-sizing the sequencer to fit the screen. Then lots of fixes to new and delete commands. At some point in the mid 2000s I realised that the C++ 'delete' command was different from 'delete[]'; so I had to fix all of those. There were loads of NULL pointer checks which I'd ignored too.

Many other changes, including silencing things (at last) when the file requestors were opened. New commands to create events from the new menu. New icons and logo:

New keyboard shortcuts for F2/F3/F4, it's better that these open windows rather than activate output frequency (44100hz is easily attained on modern computers, this was not so in 2001). Refinements to the frequency of Middle C (which means my old NS-songs are now unique and can't be recreated), and setting this to C4. I also added half-rectangular dithering (the best sort I think) to the output. Adding FLOAT or 24-bit support is more work, it would needed new wav structures and new 32-bit buffers. I'll leave it.

All done as planned. I created a new test song and noticed that the high-pass filter has an interesting behaviour, as though it has a fixed Q which is a bit higher than mine. I'll not change it, or plan any changes to the sound processing. So much of my DSP algorithms have changed over the last 23 years, so I could technically 'improve' all of these; but changes like this might not be improvement. Noise Station sounds unique and I wouldn't want to change anything which could harm that. Here it is:

I must now prepare to distribute the program and file the project. This can wait for a day or two. Every project needs a least one night to settle. I'm suitably refreshed by this work and will now get back to painting.