When I’m not writing songs and making music – In my spare time I often find myself programming code.
My first days of programming (after a brief time learning CECIL at school) were back in the days of the renowned Sinclair ZX Spectrum. What a great little machine that was. And what amazing things we could make it do, considering it contained a mere 48kB of memory!
The Spectrum taught me BASIC (Beginner’s All-purpose Symbolic Instruction Code). A great way to start, as BASIC is a pretty logical language, using line numbers and many plain English commands. The nice thing with the Spectrum was that the main BASIC commands were accessible directly from single keys. This helped to avoid those annoying “syntax errors” (typos) that we often run into.
What is 48K of memory? 1GB = 1,048,576kB. My current PC has 24GB of RAM. That is around five hundred thousand (524,288 to be precise) times more than the Sinclair ZX Spectrum 48K had!
Later on, for fun I used to write scripts for Counter Strike Source using a language called Event Scripts – Under the alias of Ace Rimmer – One of my favourite Red Dwarf characters played by Chris Barrie. Some of them were (and still are) very popular among the gaming community. My Ace Match Script had over 100,000 downloads last time I checked. The scripts can still be downloaded in the Ace Rimmer section of the site. They are also still alive at Mattie’s EventScripts Site. This whole process taught me a lot about being organised when coding and how to write good instructions.
I started using a product call Macro Scheduler a few years ago. Macro Scheduler is basically a Windows tool for automating tasks in your Windows environment. It is capable of so much more though. For instance it is quite easy to build dialog boxes to interact with your code. It also has a great feature that enables you to search for an image on your screen and interact with it. Find out more about Macro Scheduler at their Website here. The product is constantly growing and their support is fantastic, In fact I have modelled my product support on their excellent service.
I develop a lot of free applications. Most of which are of use in the music and audio world. They are usually small projects that take a matter of days to put together and then sometimes they get updates and improved features over time. My free applications can be found at the Applications section of this very site.
I find it quite therapeutic developing these applications. It requires concentration and tests the logic and brain constantly. There are often puzzles and conundrums that need to be solved. Sometimes I can spend hours on a problem, only to realise that I have typed the name of a command or variable incorrectly. Ahh for the old Spectrum! Although to be fair – MS does have a code builder built in.
Here’s a sample of code from the popular UAD Mover application. This is the section that shows the main dialog and reads some of the required information.
Label>showdialog GetDialogAction>UADMover,dialog_var IF>dialog_var=3,Exit IF>dialog_var=5,Start IF>dialog_var=30 GOSUB>Write MDL>Paths written to ini file. RDA>UADMover ENDIF // Let>oldplugindir=%UADMover.msEdit1% Let>newplugindir=%UADMover.msEdit2% Let>rename_var=%UADMover.msCheckBox1% // IF>dialog_var=10 RegistryReadKey>HKEY_LOCAL_MACHINE,SOFTWARE\VST,VSTPluginsPath,original_path Let>oldplugindir=%original_path%\Powered Plugins Let>newplugindir=%original_path%\UAD Powered Plugins GOSUB>Write Let>UADMover.msEdit1=%oldplugindir% Let>UADMover.msEdit2=%newplugindir% RDA>UADMover ENDIF IF>dialog_var=100 MDL>%uadmversion%%CRLF%%CRLF%by%CRLF%%CRLF%Phil Pendlebury%CRLF%%CRLF%http://www.pendlebury.biz/papbiz/%CRLF%%CRLF%Thanks to all the UAD comminuty for continuing support RDA>UADMover ENDIF IF>dialog_var=200 Executefile>%UADINIFILE%\uadm_manual.chm RDA>UADMover ENDIF IF>dialog_var=250 Executefile>%UADINIFILE%\uadmove.ini RDA>UADMover ENDIF IF>dialog_var=300 Executefile>http://www.meap.biz/ RDA>UADMover ENDIF Wait>0.001 GOTO>showdialog
As you can see, much of it is quite self-explanatory and in many ways similar to my old BASIC friend.
Free Application Release.
I’ve just released another of these applications. Based around an idea that some of my colleagues had. We grew tired of having to create folders for various purposes within our Digital Audio project folder. For example, in your latest DAW project folder – You will usually have sub folders for Mixdowns, Backups, Stems etc. All these folders usually have to be created manually, which is often a time-consuming and intrusive process. So my Project Folder Creator simplifies that task by offering a set of (configurable) preset folders that can be created with a single click. It’s not a perfect solution but it helps.
One of the things I like about this is that since the advent of the internet and of course, ever-increasing speed of internet connections; I can develop a product and have it released almost instantly to the folks who need it most. It’s a very satisfying process, especially when the feedback is positive – Which it usually is.
My application MEAP – Multi Export Audio Pro started off as a pastime and ended up being a fully blown (and fully supported) product. MEAP is used along with Steinberg audio products, to export “stems” of audio from Cubase or Nuendo, for use in other applications and for sending to various sources for remixes, additional production or printing to master.
MEAP was originally intended to fill a gap in the usability market but since then it has grown. Many of the features have been integrated into certain DAW applications but some have not and MEAP is still going strong.
MEAP has many options to make the exporting of the stems as efficient as possible. You can find out more about MEAP at the MEAP Website.
If anyone has any ideas or suggestions for future applications – Please feel free to leave a comment or two.
Thanks for reading.