harkive is a Windows command-line Haken EaganMatrix preset archiver. It loads and saves user presets from any device with Haken Audio’s EaganMatrix engine (Continuum, Mini, Module, and Osmose). When complete it’s an easy way to backup and restore all the user presets on an Eagan matrix device. This was the primary scenario I wanted to accomplish with this tool.
- Print list of connected MIDI devices.
- Log MIDI received from the selected device. Unlike a generic MIDI monitor, this knows about the special MIDI produced by Haken-based devices.
- Clear all user presets
- Save all user presets to disk
- TBD: Load all user presets form disk. Currently in can only load a single preset into the current editing slot.
Everything is working except the last.
Repo is at Paul-Dempsey/harkive (github.com). The documentation is written and available in the repo.
It’s not quite finished yet – I have one last major feature to implement. I’ll follow up in this thread when it’s complete.
This is part of my personal Continuum (etc) programming projects. This is the first usable independent bit of useful functionality. I’ve started these to expand my knowledge of the Continuum, learn MDI and Rust, and maybe make something useful for others.
This project lays the groundwork for my next project: a full-featured performance companion software with a graphical touch-based UI. This would include performance-focused controls of macros, pedals (including on-screen pedals), and config parameters, along with all the preset management of harkive and more.
I’m hoping to have this ready for some kind of feature-complete release in a couple of weeks (depending on demands of the ongoing kitchen remodel, etc.)
Congrats on the release!
Macosx plans? iOS?
harkive could be fairly easily ported to Mac and Linux by replacing the MIDI interfacing. Not sure if this tool makes a lot of sense for iOS/Android, as phones aren’t great for mass storage unless you deal with some cloud backend, and there is already the SpringSound app for iOS.
For the future performance companion GUI software, I do want to explore doing multiplatform as I see good use cases for that: Mac, Android, iOS, and Raspberry Pi (or microcontroller) to build a small dedicated companion unit.
Developing for Mac and iOS requires a Mac development system, which I don’t have. So, my roadmap is to first target Windows and Linux, because I have these targets at hand, and I can learn about doing multiplatform development. Next might be Android, because the tools and device are readily available to me. Doing Mac / iOS will require income to fund getting the hardware, a benefactor to send me an M1 Mac Mini, or a willing Mac/iOS development partner. (My personal funding priorities are for one of the Voix de Luthier units, an Osmose, and some misc audio equipment as budget allows).
Like harkive I plan to make the GUI tool open source.
Just an update - Harkive is suspended. I couldn’t get it to work reliably, and I moved on to more productive efforts by shifting to creating a VCV Rack module for Eagan Matrix just announced in another thread. This is much more accessible than a windows command-line utility, plus as a VCV Rack module, it’s (mostly automatically), available for Windows, Linux, Mac and Mac ARM (M-1).
I may add preset archive and restore functions to the Eagan Matrix module, or another separate tool. There’s a lot I learned making Harkive that show up in HC-1, so it’s not all for naught. But I might move on from Rust and stick to modern C++, at least until there is better Rust GUI support on the OS platforms.