Spotlight On posts focus on Xojo community members. We’ll use this space to tell the stories of people using Xojo, share amazing Xojo-made apps and spread awareness of community resources. If you have an app, a project or a person you want to see featured in Spotlight On, tell us about it!
Aaron Andrew Hunt has used Xojo for over 20 years. Recently, he and Geoff Perlman got into a conversation about their shared love of music and coding. Aaron is a composer who uses Xojo (along with MBS plugins) to develop desktop apps for music and publishing. He also creates bespoke music-related apps, in fact, he has been collaborating with a UK-based composer since 2012 on an intensive music database app.
Mac, Windows or Linux?
I’ve been a Mac user since the 90’s, and Xojo lets me write software on the Mac, then port that with minimal effort to Windows. Linux has never held enough incentive for me, but Xojo works on that too. There are obvious differences between the platforms, but Xojo minimises them. Porting code from Mac to Windows sometimes includes a bit of tweaking on Windows, but in many cases it’s a matter of minutes. There have been a few times I’ve developed on Windows and then ported to the Mac. It’s a big plus that Xojo lets us use whichever platform we prefer, and switch platforms easily.
How would you explain your most recent project to a new developer?
My most recent project is protected under a strict NDA, so I’m afraid I’m not allowed to explain it to anyone!
What’s on your “Learn Next” list?
A large part of coding is fairly simple logic, but a project of any complexity is going to present problems that will lead to learning something new, or sometimes re-learning something long forgotten. That learning aspect is one of the most attractive parts of the work for me. I make task lists, but “learn this or that” usually isn’t on the list; I write down the goal, and if I’m able to reach that, it means I’ve learned what I needed to know.
How did you find Xojo? And when did you start using Xojo?
By my count I’ve been using Xojo for 23 years. I had just started a new job teaching at a University, and my mentor, a senior colleague in the department, introduced me to REALBasic. He knew I had been looking for a tool to write music software for the Mac, and RB was relatively new and gaining notoriety. A few years before this I had been using the quirky graphical programming tool called Max (which later became Max/MSP, similar to PureData) on macOS 9. I had learned Max well enough to do some pretty impressive things with it, but I didn’t like because there was no code! Or precious little. Once I started with RB, it took me a while to adjust my antiquated linear thinking to an event-driven object-oriented model, but once enough light-bulbs went off, I was happily coding away (and I never went back to Max).
What did you first build with Xojo? And when was that?
My first projects were ports of the apps I had written in Max, for microtonal music. I also wrote several apps to demonstrate things in the classroom, for example a sprite-based app with a video-game-like feel called The Tonal Solar System, where triads and seventh chords appear as planets orbiting around a tonic sun, and chord progressions happen by “activating” planets in a particular order. It supported inversions and alterations and had some pretty advanced functions. The graphics were nothing spectacular, somewhat similar to the kinds of games I had made as a kid on the Commodore 64. The more serious tools for microtonal music were the beginnings of what later became my business, H-Pi Instruments (https://hpi.zentral.zone) where software works in combination with microtonal hardware I designed with my partner Jordan Petkov in Bulgaria. There was a microtonal keyboard I designed called the Tonal Plexus, and a micro-tuning device called TBX1, which later became TBX2, and TBX2b. These all worked with apps built using Xojo and the MBS plugins for cross-platform MIDI and audio functions. The Xojo / MBS combination allowed me to develop these apps relatively quickly and easily without getting bogged down with the kinds of management tasks other tools require.
What do you build with it now?
I still maintain and occasionally expand the capabilities of apps that have long histories going back decades. Some more recent projects include PDF Bookmaker a self-publishing tool, MIDI Router a tool for managing and scripting MIDI traffic on desktop macOS, and MIDI Tapper an assisted performance tool for making realistic-sounding recordings by “tapping” through MIDI files using just one or two MIDI keys rather than having to play all the right notes in the conventional sense. These are all apps I developed for my own needs, which I also use on a regular basis. Features are added at customer request, and also whenever I need the app to do something it doesn’t do yet.
MIDI Router is essential for my work – it’s always running in the background, with scripts that solve specific quirky hardware problems in my setup. I use PDF Bookmaker every time I publish a new score, and MIDI Tapper to make quick recordings for myself and for my students. The latter is a really powerful app with a small but enthusiastic user base, which deserves to gain a wider audience (marketing is not really in my skillset). The concept is based on the graphical music animation work of Stephen Malinowski https://www.youtube.com/@smalin.
Do you earn a living with Xojo?
My focus at this point is on writing music and teaching private students, but software sales and hired coding work have definitely been an important part of my livelihood for a long time now, and Xojo is the essential tool for those things. It’s hard to imagine being where I am today without Xojo. I’ve stuck with it because of its consistency and reliability, its friendly management, and the forum, with its very helpful user-base. My licenses will continue to be renewed after retirement. I plan to keep on using it as long as I’m around.
Do you use it for any hobbies?
I use Xojo for all kinds of things for my own private use, not intended for sale (though sometimes such projects do develop into something I eventually offer for sale). Being able to try out ideas and solve practical problems by writing my own apps is a beautiful kind of private joy. An app for exploring Gematria? Prime numbers? Bit-shifted integer encodings? Why not? It’s all fun stuff.
I’ve written many apps to do specific things when I needed some problem solved. Others might search the app store to find a tool they need. Nerds write their own. I wrote my own password manager, for example (why worry about trusting anyone else’s tool with my passwords?) Xojo makes coding easier than any other tool I’ve tried, and for me that’s very important. I don’t want to be fighting with the tool I’m using to try to do something creative. I want to have a pleasant time working as quickly as possible, and that’s basically what I get with Xojo and the MBS plugins.
What’s your biggest Xojo success?
An app called Universal Tuning Editor (UTE) is part of the biggest success I’ve had with my business, because it works in combination with all the hardware devices I’ve developed over the years, the latest being a mini-synthesizer I was able to make with the help of mitxela, called FLASH. This is the world’s smallest polyphonic microtonal MIDI synth, and it communicates with UTE over UART, using the Serial object in Xojo. I can use the UART port to communicate with the bootloader of the chip containing the synth firmware, or I can run that firmware and open the port at MIDI baud rate to control the synth through UTE. This combination lets users program their own patches and upload tuning tables to the synth, which they can then plug into any standard MIDI controller – without a power supply! UTE uses Xojo’s Object2D for scalable, rotatable vector graphics, with XML-based scripting so users can design their own interfaces. Xojo does an amazing job keeping up with the rapid changes in the industry, so I know as long as I do my part, my existing apps will continue to work. If I work on my coding as hard as they do, who knows, some new success could be right around the corner.
Thank you to Aaron Andrew Hunt for answering questions and sharing his Xojo experience with the community. You can see all his programs at https://hpi.zentral.zone.
If you have an app, a project or a person you want to see featured in Spotlight On, tell us about it!