Whats the best projucer template for this use case?

I was trying to understand whats the best modular structure for this: I want to make an app that has a GUI and can read and proces sound from the following sources:

  • microphone (save to disk)
  • load audio from disk
  • playback mix of the above sources
  • add effects (e.g.) on individual pieces or on the mix itself

Thre are a few threads around here that discuss modularity, what I am interested in is: what is the best starter template here and how should I structure the app to support multiple audio sources and reference them in the GUI?

  1. Should I start with a GUI application template and add the audio components as children of the GUI component, so that they can reference the GUI elements in them? (regarding this idea, it somehow feels wrong to have audio compnents inherit from the GUI. perhaps there should be a middle layer where all audio sources hook into, and the GUI just communicates with that layer.
  2. Should I start with just the Blank project template as that would probably be the most flexible to make everything work together? What would the recommended practice be?

Many thanks and sorry if its a dumb question.
Best regards

There is also the “Audio Application” project template, it might be the best option.

thanks, I have used it so far in order to learn, but I understood it has limitations. This is explained here: Multiple AudioAppComponents - basically if you want anything more complex then you need to ditch the Audioappcomponent.

So I wanted to understand from the start whats the best way to structure when you need multiple sources that should be fed into a mixer, add effects, play them together and control them from a GUI.

By the sounds of things you should setup an AudioProcessorGraph. This can be hosted in an AudioApp, or a plugin. There is a tutorial here:

1 Like

Thank you very much! I think also, instead of asking on this forum how to do x or y, I should go through all the tutorials first.
Thank you. Best regards,

AudioProcessorGraph is one way of doing it. But if you are after a linear chain of effects it’s pretty easy to do it manually, or as a chain of hosted VST plugins if that’s what you need.

1 Like

Thanks a lot!