Documentation

Hi you all!

is there any documentation for the openFrameworks libraries?

I’m looking for a way to have a sound analysis not on the signal wave (as is the example) but on the spectrum.

Thanks, F.

An added question: will the documentation be solely in English? I.e. is this web site a static one, or is it built around something that could have different languages?

This was a problem with Processing, as only recently that site is multi-language ready. I’m thinking mostly of the documentation, or AT LEAST the setup tutotials. As you might imagine, it is difficult to get everyone organized around (in my case) a French-langauge version when the site itself isn’t multi-lingual.

This might be less of an issue for OpenFrameworks, as most people who are advanced enough with code to move onto C++, tend also to be advanced enough in English (imperialism does have its advantages).

I think it is harder to officially support many languages from the outset when the API is still quite young and subject to change but I think once it is a bit more solidified it would be a worthwhile thing to aim for.

Right now our documentation is basically just a list of the classes and functions but very soon it will include instructions on usage and notes etc.

We are still working out how we will do this but it is possible the documentation will be based around a wiki type system, so that it would be easy to have different languages etc.

We are always looking for help with these sorts of things - so if anyone feels like helping out with translations, documentation etc. Let us know!

[quote author=“parmendil”]Hi you all!

is there any documentation for the openFrameworks libraries?

I’m looking for a way to have a sound analysis not on the signal wave (as is the example) but on the spectrum.

Thanks, F.[/quote]

What you need is a FFT example. I think we have one somewhere maybe we will try and add it the next time we update the examples.

and FYI - here is a skeleton of the API documentation:

http://www.openframeworks.cc/documentation

there are a couple of folks working on this right now - adding examples and explanations.

this document is basically most of the entries pulled from the H files, and it could be a handy reference in the meantime, while we get the documents in order.

a wiki system would be great, and we would welcome any help to provide internationalization to the documentation. Also, any comments about API naming choices that might be confusing to non-native english speakers is also well appreciated!

thanks - zach

Ok. We’ll follow it as it evolves and let you know when we run into trouble and when we’re ready to contribute language-wise.

May I make a heartfelt plea *not* to be tempted to go the wiki route for documentation?

Wikis are great for a lot of purposes, but are just horrible for documentation: every Rails programmer I know curses the Rails and Script.aculo.us wikis - both of which are sobering examples of how a docs wiki can degenerate into a series of inconclusive conversation threads:

http://wiki.rubyonrails.com/rails/pages/LoginGenerator

Compare the simplicity and utility of the processing docs:

http://www.processing.org/reference/loadImage-.html

Wikis suit browsable, discursive, survey type articles (Wikipedia is a perfect form-fit), but nothing about them encourages clarity, brevity, uniformity of format or intuitive, normalised navigation, all of which I personally find highly desirable in documentation.

In fact, IMO, Processing nailed documentation full stop, by having very simple, approacable and authoritative docs (with brief examples of *every* function) - supported by a separate discussion board for longer or more specialist techniques contributed by users.

If user-generated content is important to the vision of the documententation, how about something more along the lines of php.net,

http://uk2.php.net/manual/en/function.array-shift.php

or (the current state of) the Macromedia developer livedocs?? - ie a simple and authoritative writeup, followed by (moderated) comments?

I strongly believe that documentation is central to the acceptance of projects such as this, and would be absolutely willing to help out in that department… on anything but a wiki! :slight_smile:

Perhaps, just cut&paste here will do by now ;). Can you show me that example?

Thanks a lot.

fft is coming in the next release, which is very soon now!

hang on while we get through a couple other issues…

in the meantime, If you are desperate, I don’t have that code in front of me, but this fft class (audacity-fft) could be useful, if you felt like using it. Start a new thread about fft and we can discuss using it in the interim if you’d like. It’s not a necessarily a beginners topic :wink:

thanks !
zach

here’s a first attempt a documentation, I’m sure there is a lot of corrections we will make, and please let us know what doesn’t make sense, etc.

http://www.openframeworks.cc/documentation

we took processing as a starting point. there are still more things to fill in and add (and the api is changing a bit for the next release) and if you have suggestions we are very happy to take them.

thanks!
zach

GREAT work so far! I love it.

What I would love, is a little tutorial how things work in c++. In combination with OF of course. Yesyes, there are many resources on the net, I know. But still. It just would be very comfortable.

Stuff like why global variables have to be defined in *.h file. And what the differences between unsigned, const and just char is. Or how you define an array and why movieList[0] = “000.mov”; doesn’t work :smiley:

No actually I’m totally happy. Please keep on doing the good work!

MONKEEPOWER!!!

hi monkee.

I also started with no idea of how things work in c++. My background was mainly actionscript, p5, java… And i found this manual particularly useful:

java-to-c+±transition-tutorial

might be helpful for you too.

Halleluja, thank you very much.