why create another library for c++, since many libraries exist?
While they are quite useful to work with, we found that they weren’t simple or “bare-bones” enough for our taste or for our purposes. We wanted to write a library that would be the bare minimum necessary to get started doing audio-visual work with c++.
Also, another difference is that these libraries likely have different intended audiences – game developers, audio programmers, application developers, and so on. Our intended audience are folks using computers for creative, artistic expression, and who would like low level access to the data inside of media in order manipulate, analyze or explore. That audience we felt was significantly underserved by the current crop of C++ libraries.
Why did you choose to wrap this library?
For example, we chose glut as the windowing library. Primarily, because it’s fairly universal, has a good license and it’s rare to find a compiler or platform that doesn’t have a glut library working for it. We have used other windowing toolkits, such as glfw and wxWindows, and even hooked them up with openFrameworks, but in the end, we decided to go with the one of the easiest to get up and running.
where can I see the latest version of the code?
Svn info is here: http://wiki.openframeworks.cc/index.php?title=Svn
If you are interested in becoming an active developer please let us know. We have a developer mailing list, that has quite an active conversation with addon developers and folks who are interested in discussing the future the OF project.
who is developing openFrameworks?
what has been made with openframeworks?
how can I help?
The library is distributed non-compiled, why is that?
how can I learn c++?
why do you do mostly local linking?
at one level you have two folders:
app
libs
The libs folder contains the version of openFramework you are using (all of the code) along with the other libraries that openFrameworks links and includes (glut, rtAudio, quicktime, freeImage and freeType).
The apps folder cantains projects that link to those particular libs:
ie, search path: “../../libs/xxxxx/includes”
There are a some reasons for this – first, libraries change (especially openframeworks!), and if you put them at a root level, instead of a local one, you could be in trouble if you update the library and then try to re-compile old code.
This also makes you projects more portable – the less libraries you have to install on a given machine, the better.
Also, since the hard drive is not always “c:/” and the folder for program files is not always “Program Files” it can be quite hard for us and other OF users to make projects that can easily compile across different computers.
Finally, it means that beginning users can download the examples and get them to easily compile. It makes the example projecs easier to distribute.
The downside is the added file size to downloads. We will try to keep the examples file size down and in the future we might come up with an “expert” and “beginner” download path.
The trick, when you want to create a new project, is to copy and paste a working poject in the “apps” directory. This trick is described for dev-cpp here, for visual studio here and for xcode here. While we are working on creating wizards or tools for automatically making a good openFrameworks project, for the meantime we will suggest users to use cut and paste for making new projects.