> 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: