> Not exactly simpler, though scriptable. For sure there's many ways to do
> this, here's one example that uses Jack for MIDI and audio.
> The only manual step involved is to select stops in aeolus, though that
> could be automated by selecting a preset via MIDI (haven't tried that
> part).

> # start aeolus without the -A option (defaults to Jack)
> aeolus &
> # start a jack-MIDI aware smf file player like jpmidi or jack-smf-player
> from jack-smf-utils
> jack-smf-player -n foo.mid &
> # give a little time for ports to show up
> sleep 5
> # using ecasound as a jack-aware command-line recorder
> ecasound -i jack -o foo.ogg &
> sleep 1
> # ==== make connections in jack
> # == midi
> jack_connect 'jack-smf-player:midi_out' 'aeolus:Midi/in'
> # == audio
> jack_connect 'aeolus:out.L' 'ecasound:in_1'
> jack_connect 'aeolus:out.R' 'ecasound:in_2'
> # not required but you might want to listen
> jack_connect 'aeolus:out.L' 'system:playback_1'
> jack_connect 'aeolus:out.R' 'system:playback_2'
> sleep 1
> # make sure to locate transport TL to zero
> echo locate 0 | jack_transport
> # start jack_transport
> echo play | jack_transport
> # ..recording..


By using jack_capture instead of ecasound, this should be enough:

jack_capture --jack-transport
jack-smf-player -n foo.mid &
sleep 5
echo locate 0 | jack_transport
echo play | jack_transport