AudioAppComponent and TopLevelWindow


#1

What is the difference of AudioAppComponent and TopLevelWindow?

Can I have an AudioAppComponent with a MenuBar using TopLevelWindow::setMenuBar()?

<!--break-->

I'm starting a new audio app (as virtual instruments host). AudioAppComponent seems the way to go, but as it is derived from Component (and not as I thought first from JuceApplication), so how can I make use of the TopLevelWindow (especially setMenuBar (this); and setMacMainMenu (this); as in the example PluginHost and many more?

Multiple inheritance would give me redundant symbols from Component.

Thanks for clarification...


#2

A TopLevelWindow is something like e.g. a DocumentWindow. It contains a content component, which could be something like an AudioAppComponent. If you look at any of our demos you'll see this kind of pattern in use.


#3

Thanks for the hint. The name "AppComponent" confused me, but now I understand.

Now I'm wondering, what the functionality of AudioAppComponent is. At the moment I wonder how the streaming functionality in AudioAppComponent relates to a GUI-element, but I think I need to learn first, how multithreading in JUCE is done and especially what comes already in different threads. I reckon that AudioAppComponent has it's own thread apart from the GUI thread?

Thanks again for your response and for the good work.