More from Ian Mortimer's Time Traveler's Guide to Medieval England:

"...blind horses are usually worth only about half their usual price. In case you are wondering why there are so many blind horses, it is because they have been stolen, and blinding a horse is one way to prevent it from finding its way back home or recognizing its true master."

If you think we treat animals substantially better today, you need to do some fucking research.


Sequencer & synthesizer — Android — C++, Android NDK

Syntheogen™ is a step sequencer and synthesizer I developed for Android phones and tablets:

Syntheogen screen shots
LOOP STEPS dialog TRACK EFFECTS dialog TRIM CLIP dialog SONG dialog

I started this project because I thought it would be really fun. Looking back, though, it was just a pain in the ass. Android is a frustrating platform, and some of my design choices made the project harder than it needed to be. The app turned out well — it's really fast, the sound quality is good, and there are some interesting UI features — but I have no desire to work on it again. Maybe I will open-source it some day.

Anyway, Syntheogen was mostly written with C++ and the Android NDK. Production builds targeted Android, but the app also runs on Windows, which I used for development and testing. It was extra work to make everything cross-platform, but it ultimately saved a lot of time.

The interface was built on a custom GUI framework. The sequencing and synthesis engines are also custom designs, and the sequencer offers features not found in other music apps: measures can be sized and divided almost arbitrarily, patterns of different length can be mixed in the same loop, and notes can be tied to produce legato phrases of any length.

To learn more, visit the Syntheogen site or watch the Quick Start video.