Hey All,
I have been busy today customising Celestia, to allow it to take incoming OSC messages, to allow for remote control from OpenFrameworks.
http://www.shatters.net/celestia/download.html
You can download my customised source from here:
http://dl.getdropbox.com/u/370155/cosmos/celestia-1.5.1-withOSC.zip
I have already included OSCPack (http://www.audiomulch.com/~rossb/code/oscpack/) and compiled it successfully within my customised version of Celestia, so I know the problems described below aren’t to do with that addition.Zach Gage put me on to the iPhone version of OSCPack, which gets around a nasty “nil” bug with using C++ and Objective C together.
The problems arise when I attempt to add the OSCReceiver class to the Celestia project.
I have made additions to celestiacore.h, celestiacore.cpp, in the CelestiaCore::CelestiaCore() constructor and the CelestiaCore::tick() methods.
I get this error multiple times:
stl_deque.h: In member function 'void std::_Deque_base<_Tp, _Alloc>::_M_initialize_map(size_t)':
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_deque.h:452: error: expected unqualified-id before '(' token
I realise that ofxOSC uses a deque, but for the life of me haven’t been able to track down the problem. The error is obviously_not_with the std library.
I am compiliing on OS X 10.5.6 on a Macbook Pro (Intel).
My feeling is that somehow a constant or keyword has been used in the ofxOSC code, and that this causes the error messages above. Or is it the usage of the std namespace in celestiacore.cpp?
All my additions to Celestia are in the celestiacore.cpp and .h files. The Xcode project can be found in the celestia.xcodeproj in the macosx folder of the zip file linked to above.
I took the ofxOSC addon code from 00573-Xcode-Fat-YCAM-WithGui OF version.
You may need to download Celestia and copy the CelestiaResources folder to the “Application Support” folder in your “Library” folder (’~/Library/Application Support’) in order for the data files to be loaded correctly, but at the moment the program doesn’t even get that far. Removing the additions allows the program to build correctly.
If anyone has any ideas, I’d love to hear them.
Best,
JGL