Couple of questions from a JUCE beginner

Hi all. Just started to wrap my head around JUCE and so far I really like it! Got a couple of questions now that I've started with it.


1. Whats the best way of designing application GUIs? A project created with introJuicer doesnt allow me to add any GUI objects to the main window? Not all object are available to add this way (ListBox is an example).

2. I would like to encode MP3 files from wave files and embed ID3V2 tags is there something there already to do this? I've looked around but nothing regarding ID3V2 tags are mentioned. Has anyone implemented the direct use of LAME dll and call it from a JUCE application?






1. IMHO Introducer - Copy the extras/example project to some other location, build it, run it (just to prove to yourself that it builds and works), build extras/Introjucer. Open your copy of the example project's .jucer project file, and explore. [one or two of the tabs will allow you to modify bits of the simple UI ]...

2. Build the JuceDemo project - explore the various areas/tabs of that project (I won't spell it all out, best if you have a play IMHO)

[BTW, I don't know the answer to your second question, but I'd be surprised if it isn't all that difficult to get something working]

Ok so I've managed to get the 'LAMEEncoderAudioFormat' stuff to work. It's a bit awkward that it has to write a temp wavefile first but I'll take it. Simple enough to use.


I'm really curios on what the best way is to design GUI's though.

So a follow up. I've added a new GUI component and done a basic GUI through introJucer. I just want to understand the flow of using JUCE so my MainComponent.h would have:

    ScopedPointer<ConverterWindow> m_ConverterWindow;

and the CPP would have:

    m_ConverterWindow = new ConverterWindow();

So the whole GUI is done in ConverterWindow, should this also contain all the data or is the 'JUCE' way to have it all in MainComponent? The source has this "This component lives inside our window, and this is where you should put all your controls and content." info in it which is why I'm confused. If the data should live in MainComponent, how does ConverterWindow access it?



That blurb is just saying that JUCE Windows need to have a component that acts as the main background component.  i.e.  Don't try to put your gui components in the window itself, put them in the background component instead.  So consider MainComponent to be your background component and do whatever you like from there.