"No people ever recognize their dictator in advance. ... When our dictator turns up you can depend on it that he will be one of the boys, and he will stand for everything traditionally American."

Dorothy Thompson, who interviewed Hitler and was the first American journalist expelled from Nazi Germany

"You know things are looking grim for President Trump when he starts tweeting about Hillary Clinton again. Monday evening he sounded trapped and wounded: 'Why isn’t the House Intelligence Committee looking into the Bill & Hillary deal that allowed big Uranium to go to Russia, Russian speech.' Well, perhaps it is because she is not president, did not hold back her tax returns, did not constantly cheer for Vladimir Putin, did not hire a host of pro-Putin flunkies and did not have aides who lied about contact with Russian officials."

— Jennifer Rubin in The Washington Post

Syntheogen

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, but, looking back, it was just a pain in the ass. Android is such an awful platform, and though music synthesis is very interesting, the synthesis code is a relatively small part of the app. Maybe I will open-source this if I can find the time.

Anyway, the app was mostly written with C++ and the Android NDK. Production builds target Android, but the app also runs on Windows, which I used for development and testing.

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.