Looks very well-rounded and complete, nice job!
Props for the mass of examples(!), and the clean repository structure (except for the .DS_Store files, I guess). Will try to find the time to dig in further.
What did you miss in existing addons (http://ofxaddons.com/#gui)? What motivated you to write your own?
How much CPU resources does it need, compared to, e.g., ofxControlPanel and ofxhGui (which are about on par feature-wise)?
In terms of missing, I don’t think they were missing much, in fact they are pretty good for prototyping and debugging.
I designed ofxUI so that if I present my work to a client or put out an App on the App store, it would have a decent aesthetic and be presentable to non-hackers/programmers. I really like the widgets in MaxMsp, so I wanted to have something similar so when I prototype in C++ I could easily go about creating a UI that is pleasing to use and works robustly.
In terms of performance, I haven’t compared it to other GUIs out there, but since its written using OF drawing calls and uses Listeners built in to OF, it run very fast and doesn’t take a lot of CPU…atleast when I tested it when my sketches. On my laptop without vertical sync the all widgets example runs upwards of ~350 fps.
When I first started programming with C++ it was difficult for me to use the other GUIs…their either depended on other libraries, which weren’t included in the download, and it wouldn’t work out of the box, or they were complicated to integrate into my projects.
Additionally, I was motived to write my own since I wanted something like ControlP5 (which is easy to get up and running) for Processing for OF. I use ControlP5 a lot an love its minimal aesthetic. I also love simpleGUI for Cinder, but since I primarily code using OF, I developed ofxUI with the intentions that it needs to be minimally designed, intuitive to use, easily integrated, flexible and customizable.
Awesome reza! Can’t wait to try this. I love that you’ve integrated image buttons. It would be great to be able to add images to some of the other components too, but this looks like a great start!
ah, thanks for the comments, sounds reasonable
I haven’t dug into the code yet (so it might already be in there), but one thing that could be really useful is saving/loading GUI layouts/configs to XML (via ofxXmlSettings).
yeah, great!
although, something must have happened with that-commit… it’s huge, there’s loads of strange files in there which shouldn’t be in the repo, I think. Maybe update your gitignore file and purge those. Maybe some XCode/MacOS user can advise here?
Whoa, thanks for catching that…I accidentally added all files and git added the precompiled binaries… I cleaned up the directory a bit and updated my ignore file.
Just downloaded it, I’m running Lubuntu on a 1005HA netbook. Will report back if anything acts funny with the integrated chipset and such. Will also report back if everything just works as it should, of course ;).
I have a quick test on the latest version on WinXP-OF007-VS2010 again. example-ofxUIAllWidgets and example-ofxUISaveLoadSettings ran suncessfully, while example-ofxUIButtons encountered the same error:
GLUT: Fatal Error in openframeworks: pixel format with necessary capabilities not found.
I hope someone will make an example of the UI used with a multiple display setup (1display for the UI, x displays projected)
Using extended windows (2 displays sized) or ofxFenster.
So many people use such setups but there are no default or commonly shared method to doing so.