Tuesday, July 18, 2023

More Programming Than Music, Washing Machine

Ah, sigh, a very busy day of exactitude!

I started by developing a new panning plug-in called Vector Pan; this includes Shell and Core parameters and two pan values, each added to each other. This means it can effectively replace the Basic Pan, the Axial Pan and the Complex Pan. I did a search of how many songs used the Complex Pan, about 50 or so, so copied those over and used a Conversion Matrix to update all of them with the new Vector Pan.

Then I thought I'd continue my Prometheus efficiencies by seeing how many songs used the Randy (random!) Monotone Samples with delay. Not too many... most of the time only the volume is random, giving a more naturalistic sound. Those with a delay could be converted to Randy Monotone Sample II, so I did that, then removed the 200ms delays from the Randy Monotone Sample plug-in, thus saving memory during the majority of the time when this common plug-in is used.

Then I updated the Random Pitch II plug-in; this was only used 3 times, so I did that manually. Now that has a 'Core' parameter too. That attenuates (or raises) the volume in the 'centre', so can be used for more (or less) extreme pan effects.

Those changes all involve about 100 or so sequences/songs. For these, the results should be identical as all plug-ins are being replaced with new ones with the same plus more functionality, and making things more efficient by removing unused parameters or sharing features. This is only possible because of the Conversion Matrix option, which can batch update a directory full of song files.

I discovered a minor bug in Prometheus too; a rare crash, and added a couple of little features to the batch conversion process, to stop dialog boxes, and one to check that the destination plug-in actually exists - I'll add that feature to the next SFXEngine update too. So, Prometheus was updated to v3.14 today.

After all of this I had a folder of 1,393 song files, all (hopefully!) converted to the latest set of plug-ins, with all obsolete ones now gone forever. My fear is that these mass changes will cause an error somewhere. Like a digital cancer, one small error could proliferate among my archive, so I must be as careful as possible.

I then filed the updated program and plug-in code, and darted to work on the 'Someone Else's A.I.' song. I started by sampling a banjo and added that. It's timbre really helps the mix, but this song needs a lot of layers yet. That music work was a brief respite from my coding and admin.

Then, a final stage of the program updates. I needed to copy the right songs to the right folders. I have 70 albums, singles, and EPs filed, each with a subfolder containing the sequences for that song. The correct ones needed to be copied from the master list now that they have all been updated. So, that's about 700 songs... I started by using DirectoryListPrint to compile a list of all of those filenames, then pasted them into a spreadsheet. I then used the Concatenate function to create a list of 700(ish) xcopy commands to custom-copy those exact files from the source folder to the destinations, using the "/d" flag to copy only the new ones (a minority).

I've never done something like this before, but it worked brilliantly... except for one instance. The Cycles & Shadows album has the ampersand in the folder name, so when the command prompt hit it, it expected a batch file - eek! I don't think any damage was done. Ultimately, I seem to have copied all 700 files (well, those new ones) over in under an hour. This will be a useful trick for similar updates in future.

All of this plus, in other parts of the day, a new washing machine came. Not new, but my brother's old one. This was heavy and required moving into the kitchen. The old one was too heavy for me to shift; a local scrap-metal man came for that.

My father has managed to sell all of his work at Nantwich Museum to the café opposite for a lump-sum (I have no doublt that he hasn't even considered paying the museum the commission he should; unlike him, I must and do behave professionally and with a long-term and stable attitude). So, he's sold more paintings in a day than I have in many years put together, but, of course, for small sums; one of my paintings can fetch as much as his entire oeuvre. My work isn't to the average taste of the public and would probably not suit a café; disturbing, ironically, due to his effect on my life and psychology. Of course he made sure to belittle me with his news.