I’d like to get started with the cplusplus OPs and it would be great if derivative would add some examples using openframeworks and/or libcinder in the cplusplus OPs. I assume that many of us who never touched c++ will have a hard time getting started, and these projects seem to hide a lot of the complexity of c++, while at the same time offering access to features that would be very useful
oh yes please! (I’m terrified of getting into C++ but, if there are some higher-level examples to tweak, I could take the plunge).
r.
Agree with all!
just to make sure, the idea is to give us access to the power of c++ while reducing the initial learning period to a minimum. There are so many OF/cinder examples out there, providing useful data/functionality, but for a novice c++ guy, getting these to run inside touch is just too complicated.
Hence the idea for a setup that automatially maps some of touch functionality to the matching OF/cinder inputs/functions and also somehow modify/extend/… their base class in a way that it directly draws to the TOP (and not to a glut window). Ideally in a way that you can directly compile an OF/cinder example without any modifications.
I can also imagine that some of the OF/cinder guys might become interested in having their creations run inside touch due to the additional benefits touch offers. And as the whole OF/cinder community seems to be willing to share almost everything they create, this has a huge potential to bring a constant flow of new functionality to touch. And at the same time, both libraries get quite a bit of media coverage, so touch could benefit from this as well.
thanks!
excellent idea Achim.
Up,
great idea !
I can’t wait.
Hey!
this for sure sounds very very promising! I’ve been only toying with TD for the last 24 hours but I am just amazed by its features. In particular this idea of using c++ for writing externals is seriously making me consider purchasing a commercial license
In regards porting cinder or ofw examples:
Both frameworks rely on two libraries( cinder = boost, ofw = poco). In particular cinder has an amazing design which deeply relies on shared pointers and other boost dependencies, for instance the signal library. The use of shared pointers really makes your life better and healthier, are any of these libraries available on the TD sdk? how are the memory pools managed on TD?
In general i find cinder far better designed and elegant, but OFW has an amazingly big community and in general their code is more ‘readable’. It would be interesting to see how the code can be implemented and how the different functions( in particular the clocks) can be used within TD. This sounds like a dream come true!
Finally, there’s a new born to the c++ framework family:
polycode.org/
this seems to be very promising as it uses LUA on the surface.
-emmanuel
When writing code for the CPlusPlus TOP/CHOP you don’t need to worry about how Touch does it’s memory management, because there is no memory sharing between Touch and the .dll. The pointers you get during your callbacks are only valid during that function call, so if you need to keep the data around for longer then it’s up to you to allocation and copy the data. This means you can use whatever memory management tools you want in your .dll, like the boost shared pointers.
Nice
I get back on this topic.
Any news on this side ??
Any sample or tutorial on how to use OFW or cinder … in the Cplusplus OPs ?
thanks
xavier
Sadly I don’t have time to learn OFW and do a sample. The CPlusPlus TOP is pretty easy to program for, so if you know OFW it shouldn’t be difficult.
I’m happy to answer any questions you have though.
Has anyone ever done this?
It would be IMMENSELY useful to have a basic example of how to setup a project and compile as a .dll.
I totally agree.
Hi all,
I am using Cinder in a CPP TOP and it’s been pretty nice. A major caveat is that I haven’t been able to use Cinder’s gl.h, because of conflicts with the GL instance that Touch initializes. So for all my draw code and textures, I write my own functions or cherry-pick from Cinder. Eventually figuring out how to use Cinder’s Texture.h and GL.h would be great.
I’ll get it cleaned up and share it shortly!
That’s great news!
It does sound like being able to use Texture.h and GL.h would be extremely useful as far as using Cinder as a visually driving component.
Whatever you can share would be very helpful. Thanks quillme.
Ok, here’s my source tree.
bitbucket.org/quilime/cindertop
I’m building with Visual Studio 2010, Windows 7, Touch Designer 77.
I just added the DLL to the source tree, so you can run a demo: touch/FluidSimTOP.toe
I hope this is useful even if it’s a starting point. It would be great to make an OF one, too.
Hi Everyone,
I’ve cleaned up my Cinder+TouchDesigner code somewhat and published it publicly on GitHub.
github.com/quilime/Cinder-TouchDesigner-TOP
I’ve updated the outstanding issues (which are pretty crippling – ie, Texture.h is giving me trouble), but overall, Cinder’s working great as a CPLUSPLUS TOP. My next task is integrating it into a CHOP, and experiment with getting OpenFrameworks running.
The installation procedure has yet to be written. Setting up Boost took a while to get right – I ended up compiling all the components from scratch.
Hey,
just added a little example to the Forum showing openFrameworks used with the c++ TOP.
viewtopic.php?f=4&t=5361&p=19722#p19722
cheers
Markus