New Jucer - first check-in

An initial build of the new Jucer is now checked-in for the perusal of any interested parties…

As mentioned elsewhere, this is very much “phase 1” of a long development process! It currently lets you create a project and save that project with projects for XCode, MSVC and Linux, and edit the source files in an extremely basic way. Component and UI editing will be added in “phase 2”.

Using it should be fairly self-explanatory (I hope!)… Let me know if there are aspects that are entirely confusing, and I’ll try to make them clearer.

It currently supports apps, command-line apps, and plugins as project types. There’s also a ‘library’ type, which is designed primarily to let me manage the juce lib itself as a jucer project, and I’ll be converting it to use that in due course. You’re unlikely to want to use that in your own projects.

Anyone who’s interested in the export formats should be able to find the code pretty easily - there are obviously-named classes for each of the target IDEs, and the code is quite concise - the hardest format is XCode, but even that’s only about 1000 lines of code. If anyone fancies adding new format classes for things like Code::blocks or VC6, feel free to have a go!

most excellent! looking forward to checking it out…

i’m getting this on a newly cloned git tree

$ make
jucer_ComponentDocument.cpp
jucer_DrawableDocument.cpp
jucer_NewFileWizard.cpp
jucer_Project.cpp
jucer_ProjectExporter.cpp
jucer_ProjectWizard.cpp
jucer_ResourceFile.cpp
Drawable jucer_DrawableEditor.cpp
../../Source/ui/Drawable Editor/jucer_DrawableEditor.cpp:30:40: error: jucer_DrawableTreeViewItem.h: No such file or directory
../../Source/ui/Drawable Editor/jucer_DrawableEditor.cpp: In constructor ‘RightHandPanel::RightHandPanel(DrawableEditor&)’:
../../Source/ui/Drawable Editor/jucer_DrawableEditor.cpp:48: error: ‘DrawableTreeViewItem’ has not been declared
make: *** [build/intermediate/Debug/jucer_DrawableEditor.o] Error 1

Maybe it didn’t all download correctly? jucer_DrawableTreeViewItem.h is right there, definitely checked-in.

you checked in jucer_DrawableTreeviewItem.h not jucer_DrawableTreeViewItem.h …

Ah! Ok, have renamed it now!

wicked stuff btw !

i noticed a couple of fixes to make in order to correctly build linux plugins, but i will take some time to test this before reporting anything !

great man, you’ve done it again !

Thanks! The linux plugin stuff is completely untested, so any fixes you’ve got for that would be appreciated!

Jucer IDE project creation absolutely blazing!

Thanks!

AWESOOOOOOMEEEEE!!!

That made me chuckle. It was actually a (very brief) problem for me being so fast; there is little confirmation that it’s saved, and being so fast, at first I didn’t really believe it did anything. :smiley: It’s wicked fast; wicked clever; wicked good.

What I meant was “absolutely blazing”; as in “somebody make some noise”?

Ah, well I’m using it now. :slight_smile:

I could talk about how I am trying to find a short/mid-term solution for how to hook the new Jucer 3.x for project maintenance, together with the old Jucer 1.x for the U/I editing of the components in those files.

I can still use the two of them side-by-side, 3.x for multi-file project maintenance, and 1.x for editing each component, but it complains [color=#BF0000]Cannot open include file: ‘juce.h’[/color] when it gets to the Jucer 1 component header file.

The Jucer 3 project is set to [color=#008040]Include Source Juce Code Directly (Split across several files)[/color], so I would have thought it could find juce.h without any fiddling. I tried adding -I “…/…/…/juce” to the compiler options in Jucer 3, but that didn’t seem to do it, so eventually I broke down and changed the [color=#008040]#include [/color]to [color=#008040]“…/…/…/juce/juce.h”[/color] …

That seemed “legal” since it was inside a //[Headers] block that said “-- You can add your own extra header files here --”. That implied it was editable, even though it wasn’t one of my headers.

Yep, the jucer files let you change the headers to whatever you need.