1: Start with an application framework that existing software can be ported. (requires SDK and cross-compilation) [User Friendly UI: requires window-switching]
2: Create one strong native-armel studio application to accomplish all of these tasks (Monolithic structure) [User Friendly UI: entirely controllable but requires lots of developers]
3: Create a plugin & transport framework(or sequencer since the less = the easier synchronization gets) in which each plugin may use the same output mixer and user-interface.