OpenFrameworks and Cinder Syphon Server

Home Forums Syphon Syphon Development – Developer OpenFrameworks and Cinder Syphon Server

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #5027
    astellato
    Participant

    First off let me say what an awesome framework Syphon is. Congrats to all of the developers.

    I’ve been playing around with Syphon and have made two quick implementations of a server.

    OpenFrameworks implementation can be found here:
    http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=4930

    Cinder implementation can be found here:
    http://forum.libcinder.org/#Topic/23286000000399013

    Can’t wait to see how this framework improves. Using Resolume, I’ve had great success. Only occasionally is there any dropped frames. Once again, well done.

    #5028
    vade
    Keymaster

    Hey that is *fantastic*. Let me check those out, and I can put those in SVN and build off of them.

    Thanks so much!

    #5029
    vade
    Keymaster

    Hey, interesting. I notice you are doing readback to the CPU via ofImage, you can make this a lot faster by using an ofTexture and using

    http://www.openframeworks.cc/documentation?detail=ofTexture#ofTexture-loadScreenData

    Rather than using the ofImage. When using ofImage for that, as far as I know, you readback to the CPU, rather than keeping the data on the GPU which is the main advantage of Syphon in general. Also, NSAutoreleasePools need to be made, and server needs to be released and stopped in the deconstructor. Otherwise, awesome!

    I’ve changed your ofxSyphonServer, if its ok with you, I can throw this in SVN, giving you credit for the initial implementation.

    Thanks so much!

    #5031
    vade
    Keymaster

    Ok, here is an updated and fixed example using auto release pools and proper server retirement protocol. I also extended the server to be able to publish a passed in texture. Technically speaking it should not need its own internal ofTexture but having a one-shot publishScreen function is kind of nice. I think it could use a bit of cleaning up, but all in all its pretty nice and works exactly as the QC implementation does, which is nice.

    Here is a link to the updated XCode Project.

    http://syphon.v002.info/downloads/testing/ofxSyphonServerExampleSimple.zip

    #5032
    astellato
    Participant

    I placed the autorelease pool in main.mm, you could remove it from there now that it’s contained in the class itself. I’m pretty new to ObjC, I was surprised that I could even make it this far.

    Yeah, I completely forgot about loadScreenData(), nice catch. The Cinder implementation doesn’t move the data off the GPU and back again. I’ll update that with a publishTexture method as well.

    Anything I can do to help with Syphon is cool with me.

    #5033
    vade
    Keymaster

    Oh, I never looked at main.mm since its usually “the same old thing”, sorry about missing that. Im going to attempt a client shortly. Ill put it up on the SVN, add a readme, put your info on it, and what not.

    Thanks for helping out, its much appreciated! I have not used Cinder or gotten heavily into it, but ill have to check it out. Thanks again!

    #5034
    astellato
    Participant

    No problem. I’ve posted a much simpler Cinder example with updated methods similar to the OF rewrite now. IMHO, Cinder is very powerful, especially in 3D applications. It’s for a bit more advanced crowd, as it uses iterators and pointers all over the place and does away with GLUT for native OpenGL on Windows and Mac. You need a decent comp to run most of the examples. My four year old Mac Pro is right on the edge, anything with integrated graphics, forget it. Cinder’s still in its infancy, but it’s coming along nicely.

    #5035
    bangnoise
    Keymaster

    Hey thanks, this is great. I’ve put this up on svn as an OF addon – it should integrate with the OF directory structure, but if I’ve got things wrong give a holler.

    Further to vade’s changes I’ve removed all the Objective-C code from all the files except ofxSyphonServer.mm so the rest of the project remains pure C++ – makes it easier for folk to integrate with the rest of OF.

    We’ll take a look at your Cinder stuff and get it up on svn soon too… many thanks for this.

    #5036
    vade
    Keymaster

    Thanks for the help. I just committed a working ofxSyphonClient to SVN along with a new project file. Feel free to base the Cinder port of a client off of it, it should be pretty straightforward!

    Thanks for your help and enthusiasm!

Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.