This page is here to share some knowledge about how to work with openFrameworks.
+ before getting started
- for the current package of oF007 not all examples work out of the box
- better get the updated version from github, with lots of bugs fixed. i would recommend you the master from the repository, if no success either go for the develop branch (you can see the dates of updates)
+ download zips
-- master: https://github.com/openframeworks/openFrameworks/zipball/master
-- develop: https://github.com/openframeworks/openFrameworks/zipball/develop
+ version control
alternatively you could get the openframeworks sources through version control, so you can keep updating the framework when new issues have been solved or new features have been added. you can always go back in time with version control.
first you have to install git: http://git-scm.com/
than you can use git from command line, but nicer to use a client program as mentioned below:
- SourceTree (MAC): http://www.sourcetreeapp.com/
- TutoiseGit (WIN): https://code.google.com/p/tortoisegit/
- SmartGit(WIN/MAC): http://www.syntevo.com/index.html
You would need to 'clone' a repository from github (url = https://github.com/openframeworks/openFrameworks.git) to a workspace folder on your local disk.
In the advance options you could state clone from branch 'master' or 'develop'.
+ install your IDE
- mac: xcode
-- http://www.openframeworks.cc/setup/xcode/
- windows: codeblocks or visual studio
-- http://www.openframeworks.cc/setup/codeblocks/
-- https://github.com/openframeworks/openFrameworks/blob/develop/readme.win_cb
+ create example files
openframeworks moved to auto generated project files for xcode or codeblocks for instance. so you have to run an app that is creating these files on your local system.
for this follow these steps: https://github.com/openframeworks/openFrameworks/blob/develop/readme.txt
you have to do some stuff with python too to generate these files on windows, install this libxml and libxslt binaries:
- http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml and download lxml-2.3.4.win32-py2.7.exe
- install and restart computer
+ collaborate on code: version control
if you want to work on code in collaboration dynamically, you would also need a versioning control system.
as mentioned before in 'version control' you will have to install
- using git: http://git-scm.com/
- mercurial: http://mercurial.selenic.com/
there are some platforms around that can host your code:
- google code: https://code.google.com/intl/nl/ (open source only)
- bitbucket: http://bitbucket.org/ (private collaboration)
- github: http://www.github.com/ (private, but public in collaboration)
is the client programs to these platforms as mentioned:
- SourceTree (MAC): http://www.sourcetreeapp.com/
- TutoiseGit (WIN): https://code.google.com/p/tortoisegit/
- SmartGit(WIN/MAC): http://www.syntevo.com/index.html
there are specific words used in these programs:
- repository: the 'online folder' where all the code comes together and is stored online
- pull: get new code from the platform to your local version
- push: put the code of your local version to the platform
- commit: add your local changes for the waiting line of changes to be pushed
- merge: mix web and local code together when changed happened on same lines of code: choose which to use
- update: go to the revision selected: you can update to an older version that worked right before
the general idea is that person A writes some code, commits a change on file Z, commits another change to file Y and then pushes these commits of Z and Y to the online repository. person B could then pull the new changes (commits of Z and Y) from the repository and merge this with the local version.
the client program shows a path of all the commit changes that happened in the repository, mentioning who was responsible for the changes.
+ book
check out the programming interactivity book by o reilly for more instructions, guides, and getting started stuff
+ addons
download addons here to give your projects a kickstart
+ contributions to this info page by
- Studio Arne Boon, http://www.studioarneboon.nl/