An addon is code that extends openFrameworks in some way. There are usually two main reasons to make an addon
There are two easy ways to install any addon you find here. Anywhere you see this icon: ⇣ you can click it to immediately downloaded the code.
Or you can checkout a copy of the code using git. If you browse to the addon on github and copy the URL bar, then open up a terminal and move to the addons directory and clone it like so:
Watch this video for detailed instructions for OSX:
$cd of_preRelease/addons/ $git clone https://github.com/obviousjim/ofxSomeAddon
Once you've got the code using either of these methods you should be able to open up the project files in the examples folders of the addons and build->go to see them work. To start your own project, just copy the example folder into a new apps/ folder and modify it from there. If the addon doesn't build right away, it may required dependent addons or libraries. Those should be described by the addon developer in their README file. If there are no project files or the addon is structured in a way that makes openFrameworks show up missing when you open them, please email the addon developer pointing them to this page so they can change the structure to make it easier for people to use.
Being included on the site is no guarantee that the code works or is useful. We couldn't possibly test and run them all ourselves, so it's between you and the developer to sort out issues if they don't work.
We wrote scripts to discover addons on github.com. The scripts look at the repository name and description for things like 'openFrameworks' and 'ofx'. We have manual admin tools to discard the results that aren't openFrameworks related, empty, or blatantly incomplete. The ones we keep are dividing into categories after doing a bit of research about them.
The best addons make something that was hard easy. They allow you to do complicated things with really little code. If you have just conqured a big library, algorithm, or invented a new process you should consider making it an addon. If you're still wondering, maybe these questions will help:
of_preRelease/ addons/ ofxMyAddon/ src/ ofxMyAddon.h ofxMyAddon.cpp ... libs/ libwhatever/ src/ lib_implementation.h lib_implementation.cpp ... includes/ libwhatever.h ... lib/ osx/ static_libwhatever.a linux/ static_libwhatever.a ... //other platforms example-anExample/ src/ main.cpp testApp.h testApp.cpp ... //other source MyAddonExample.xcodeproj ... //other project files for other platforms bin/ data/ necessaryAsset.txt
Everything should go into of_preRelease/addons/. The name of the repository should be ofxMyAddon. The point being when someone clones your git repository into their addons/ folder your examples will run without having to shuffle any files around
ofxMyAddon/src/ofxMyAddon.h ofxMyAddon/src/ofxMyAddon.cpp ...
ofxMyAddon/example/MyAddonExample.xcodeproj ... //other project files for other platforms ofxMyAddon/example/src/main.cpp ofxMyAddon/example/src/testApp.h ofxMyAddon/example/src/testApp.cpp ... ofxMyAddon/example/bin/data
You don't have to! Uploading it to github is enough, as long as you have the 'ofx' prefix in your repository name then we'll find it. Feel free to send us a note if you want to tell us about it and let us know what category it belongs in.