Hi,
just saw this:
http://www.flickr.com/photos/kylemcdonald/4636699390/
Does anyone (Kyle?!) have any more information?!
OF + Android would be over-awesome
Thanks,
Snoogie
Hi,
just saw this:
http://www.flickr.com/photos/kylemcdonald/4636699390/
Does anyone (Kyle?!) have any more information?!
OF + Android would be over-awesome
Thanks,
Snoogie
haha, that’s photo of Arturo who has been working on this recently…
It’s not complete yet but it will be forthcoming
Do you have any more infos about that?
Like what OS Version you will need, if there are any repos or beta versions lying around somewhere?
I can’t await it!
just started yesterday. opengl is mostly working and freetype/freeimage should work but haven’t had time to try them. will upload something as soon as it’s more usable. don’t know exactly what’s the minimum required version. do you know what’s the most common one?
As Android is upwards (does that word even exist?) compatible I think that 1.5 would be a good start. Some early models which are widespread won’t support never version than 1.5/1.6.
I also believe that Android 1.5 has all of the important features (I have the nehe opengl examples running on my Android with 1.5) that are essential for of.
Awesome work btw!
:roll:
have just uploaded a first pre-release. There’s instructions on how to setup everything here:
http://www.openframeworks.cc/setup/android-eclipse
this is not an official release yet, i haven’t even tested with a real phone.
i think the compatibility settings of the projects are higher than 1.5, but not really sure so if you find how to lower the requirements or any other problem/enhacement, please post here to be able to solve it before releasing. Also if some part of the instructions results confusing please tell me so i can change it.
whats working:
all graphics (fonts/drawBitmapString doesn’t work except with r4 of the ndk)
events (no keyboard) including multitouch. fist touch is the mouse
ofxDirList, ofxNetwork, ofxVectorMath, ofxXmlSettings
Poco, so all the poco based addons should work
ofToDataPath is working with a really ugly hack. i’m copying all the resources of the application to the sdcard in a folder with the name of the app from java, then pointing ofToDataPath there.
what’s not working yet:
audio: seems hard to get something usable, since you need to pass through java to get a buffer callback, it will be slooow, for what i’ve read lags of 300ms
video: there seems to be a version of gstreamer but hasn’t been updated in almost a year
the rest of the official addons except for 3dModelLoader should be easy to port, just haven’t had time
have fun!!
Arturo,
I love you !
OKay, lets get serious again, as I am on nightshift today and I don’t have my Samsung-USB-cable with me I will test the stuff tomorow and post results.
Cheers,
Snoogie
PS. I am on 1.5 so I will try to get that work somehow.
EDIT:
To create an emulator you need to install the fitting packge first. Just click on the “Available Packages” ?tab? the SDK Platform for the version you like.
Once that is done you can create a new virtual device. Just select a name, the target and a size for the virtual sd-card.
The first project we need to import is the OF source code, press browse and in the folder where youÂ’ve uncompressed OF go to libs/openFrameworks you will see the openFrameworks project in the list. Press Finish to import it.
Besides that, I don’t see a project there. All I get is :No projects are found to import.
hey thanks
i’ve updated the package, the eclipse project should be there now. also added your description for the emulator install.
Okay, just to clear something up – you’re right, audio is slow, but the Java callback has nothing to do with it. The performance is a function of the drivers for the audio interfaces on the device. Apparently performance can be as good as about 40ms, but yes, on some devices can top 300ms, which is pretty awful. You could bypass the Java callback, but you’d get the same result – and likewise, I’m told even under the best circumstances, the Java callback would add only a couple of microseconds. I have some tips on fixing timing jitter, though … can talk to y’all separately about that.
I think because of this, one likely application for Android dev will be finding a custom board and sort of building our own multimedia reference platform, at least in the long term.
Hi Arturo,
I don’t know if you have tested this but the projects won’t work under linux.
It seems like some files are not found.
Description Resource Path Location Type
'GLboolean' does not name a type glu.h /ofLibs/glu/include_android line 157 C/C++ Problem
'GLenum' has not been declared glu.h /ofLibs/glu/include_android line 162 C/C++ Problem
'GLenum' has not been declared glu.h /ofLibs/glu/include_android line 165 C/C++ Problem
'GLenum' has not been declared glu.h /ofLibs/glu/include_android line 172 C/C++ Problem
'GLenum' has not been declared glu.h /ofLibs/glu/include_android line 176 C/C++ Problem
'GLint' does not name a type glu.h /ofLibs/glu/include_android line 169 C/C++ Problem
'GLint' does not name a type glu.h /ofLibs/glu/include_android line 178 C/C++ Problem
'GLint' does not name a type glu.h /ofLibs/glu/include_android line 179 C/C++ Problem
'GLint' does not name a type ofImage.h /openFrameworks/graphics line 19 C/C++ Problem
'GLint' has not been declared glu.h /ofLibs/glu/include_android line 168 C/C++ Problem
'GLint' has not been declared ofTexture.h /openFrameworks/graphics line 77 C/C++ Problem
'GLint' has not been declared ofTexture.h /openFrameworks/graphics line 78 C/C++ Problem
'GLvoid' has not been declared glu.h /ofLibs/glu/include_android line 171 C/C++ Problem
'GLvoid' has not been declared glu.h /ofLibs/glu/include_android line 177 C/C++ Problem
expected ';' before '*' token ofTrueTypeFont.h /openFrameworks/graphics line 79 C/C++ Problem
expected initializer before '*' token glu.h /ofLibs/glu/include_android line 160 C/C++ Problem
expected initializer before '*' token glu.h /ofLibs/glu/include_android line 161 C/C++ Problem
GL/glu.h: No such file or directory ofConstants.h /openFrameworks/utils line 101 C/C++ Problem
GL/glut.h: No such file or directory ofAppGlutWindow.h /openFrameworks/app line 15 C/C++ Problem
GLee.h: No such file or directory ofConstants.h /openFrameworks/utils line 100 C/C++ Problem
ISO C++ forbids declaration of 'GLuint' with no type ofTrueTypeFont.h /openFrameworks/graphics line 79 C/C++ Problem
ofArduino.h: No such file or directory ofMain.h /openFrameworks line 15 C/C++ Problem
ofSerial.h: No such file or directory ofMain.h /openFrameworks line 14 C/C++ Problem
ofSoundPlayer.h: No such file or directory ofMain.h /openFrameworks line 33 C/C++ Problem
ofSoundStream.h: No such file or directory ofMain.h /openFrameworks line 32 C/C++ Problem
ofVideoGrabber.h: No such file or directory ofMain.h /openFrameworks line 38 C/C++ Problem
ofVideoPlayer.h: No such file or directory ofMain.h /openFrameworks line 39 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 106 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 116 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 159 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 227 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 287 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 300 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 314 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 327 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 444 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 469 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 495 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 518 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 582 C/C++ Problem
comparison between signed and unsigned integer expressions ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 629 C/C++ Problem
Invalid project path: Include path not found (/usr/include/ffmpeg). openFrameworks pathentry Path Entry Problem
Invalid project path: Include path not found (/usr/include/hal). openFrameworks pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/fmodex/inc). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/fmodex/inc). openFrameworks pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/freeimage/include). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/freetype/include_macosx/freetype2). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/freetype/include_macosx/freetype2/freetype). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/freetype/include_macosx/freetype2/freetype/config). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/freetype/include_macosx/freetype2/freetype/internal). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/freetype/include/freetype2/freetype/internal). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/GLee/include). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/portaudio/include). openFrameworks pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/rtAudio/include). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/rtAudio/include). openFrameworks pathentry Path Entry Problem
Invalid project path: Include path not found (ofLibs/unicap/include). openFrameworks pathentry Path Entry Problem
Invalid project path: Include path not found (openframeworks). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (openframeworks/app). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (openframeworks/communication). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (openframeworks/events). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (openframeworks/graphics). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (openframeworks/sound). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (openframeworks/utils). ofAddons pathentry Path Entry Problem
Invalid project path: Include path not found (openframeworks/video). ofAddons pathentry Path Entry Problem
unused variable ‘loadOkay’ ofxXmlSettings.cpp /ofAddons/ofxXmlSettings/src line 659 C/C++ Problem
I did everything that was explained.
I am on Ubuntu 10.4 at the moment but will test Windows tomorrow.
Have you tried all OS’s?
Cheers,
Snoogie
i have tried only under linux, but it shouldn’t matter. it seems like it doesn’t find some search path, perhaps you have some environment var wrong, or i left a var hardcoded in any of the projects.
also note that there’s several targets for different platforms, you need to build the android one and build first OF, the addons and then the examples.
can you post the output before the errors to see how gcc is being called, it should be something like:
arm-eabi-g++ -I"…
Hi Arturo,
here is the console output:
It seems like there are missing some includes for the core.
I tried to build the android outputs first.
Here is a screenshot of the includes:
http://img3.imageshack.us/img3/5016/bildschirmfotoh.png
As you can see, he tries to find gleeh.h and GL/glu.h
Cheers,
Snoogie
it seems it’s detecting not detecting the android platform and it’s trying to compile for linux. can you try to change line 31 in ofConstants.h this:
#elif defined (ANDROID)
#define TARGET_ANDROID
#define TARGET_OPENGLES
#else
#define TARGET_LINUX
#endif
with
#else
#define TARGET_ANDROID
#define TARGET_OPENGLES
#endif
i will take a look later to see why it’s detecting the wrong platform but that should work
Okay, I think I figured out why I get the errors:
The whole time I was working with a virtual device that was created for version 1.5. I changed that to 1.6, still the same errors.
After creating a new virtual device for 2.1, I was able to at least start the compile, now I got others errors.
while compiling ofAppRunner.cpp:
Building file: ../app/ofAppRunner.cpp
Invoking: GCC C++ Compiler
arm-eabi-g++ -DANDROID -I"/home/brandt/Downloads/Android/android-ndk-r4-crystax/build/platforms/android-4/arch-arm/usr/include/" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/openFrameworks/app" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/openFrameworks/events" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/openFrameworks/graphics" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/openFrameworks/utils" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/openFrameworks" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/glu/include_android" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/freetype/include" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/freetype/include/freetype2" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/FreeImage/include" -I"/home/brandt/Downloads/Android/of_preRelease_v0062_android_FAT/libs/poco/include" -O3 -Wall -c -nostdlib -fno-rtti -fno-short-enums -s -MMD -MP -MF"app/ofAppRunner.d" -MT"app/ofAppRunner.d" -o"app/ofAppRunner.o" "../app/ofAppRunner.cpp"
../app/ofAppRunner.cpp:25:33: error: ofAppAndroidWindow.h: No such file or directory
../app/ofAppRunner.cpp: In function 'void ofSetupOpenGL(int, int, int)':
../app/ofAppRunner.cpp:43: error: expected type-specifier before 'ofAppAndroidWindow'
../app/ofAppRunner.cpp:43: error: cannot convert 'int*' to 'ofAppBaseWindow*' in assignment
../app/ofAppRunner.cpp:43: error: expected ';' before 'ofAppAndroidWindow'
make: *** [app/ofAppRunner.o] Fehler 1
IT seems like ofAppAndroidWindow.h is missing. I will investigate that further now
it seems like it’s missing the search path for the ofxAndroid folder, something like:
${workspace_loc:ofAddons/ofxAndroid/src}
Hi~ thanks for providing this amazing tool! i’ve followed the instructions to setup my OF+Android. it seems everything goes fine. but when i run the examples, say, the imageExample, it says: “The application androidImageExample(process cc.openframeworks)has stopped unexpectedly. Please try again”. As shown below:
i have the bikers.jpg under res/raw
Could anybody help me with this?
plus, i just find this opencv for android:
http://billmccord.github.com/OpenCV-Android/
would it be possible to include this one in the OF project?
there is a problem with eclipse renaming some projects when importing them. i’ve already fixed it but cannot upload right now. will change it later and post when it’s done.
It should be fixed now. I’'ve removed the other platfoms targets from the eclipse projects in case it was confusing. now there’s only the android targets. be sure to compile both Debug and Release for openFrameworks and the addons before compiling the examples