Here’s a pair of utility addons I’m throwing out there. As always feel free to fork and make pull requests via Github.
As my advanced logger was causing problems within OF 007 and has been removed for now, I’ve spun it out as an addon for use and testing. I have used it in a few projects and not had any problems so far. You’re fine as long as you don’t try to call it in a destructor since the main logger object is in a singleton object and, as such, you can never know when it will be destroyed.
This is a wrapper around the Poco::Logger which provides:
C++ stream operator (automatic string conversion, no ofToString needed!)
handy log level named calls: ofxLog, ofxLogVerbose, ofxLogWarning, etc
file logging, including automatic trimming and rotation
switchable log channels between console and/or file (could be extended for logging over a socket, etc)
automatic header with timestamp, millis, frame num
user level log topics for log filtering
You use it like so:
[tt]ofxLog() << “a string” << 100 << 20.234f;[/tt]
Additionally, there is an ofxBitmapString which provides a C++ ostream interface to ofDrawBitmap string. I grew tired of having to add a stringstream every time I wanted to draw some text, so this does it for you.
Use like so:
[tt]ofxBitmapString(10, 10) << “a string” << 100 << 20.234f;[/tt]
This is a bunch of OpenFrameworks utility code from my last project that might be useful.
ofxAppUtils is a set utilites for application development including:
ofxApp: an ofBaseApp extension with built in screen scaling, projection mapping transforms, quad warping, and an ofxControlPanel
ofxScene: a mini ofBaseApp for writing stand alone scenes
ofxSceneManager: handles a list of scenes using a std::map
ofxTransformer: open gl transformer for origin translation, screen scaling, mirroring, and quad warping
ofxQuadWarper: an open gl matrix quad warper (useful for oblique projection mapping)
ofxTimer: a simple millis timer