void MilluminApp::setup() { listener.setup(5001); host = "127.0.0.1"; port = 5000; sender.setup(host, port); mTex = gl::Texture(200, 100); //create our texture to publish mSurface = Surface8u(200, 100, false); //create a surface to manipulate randomizeSurface(&mSurface); //randomize our surface mTex.update(mSurface); //tell the texture about our changes archimedes.set(100.f, 0.6f); //set up and calculate our spiral archimedes.calc(); mRot = 0.f; mScreenSyphon.setName("Cinder Screen"); // set a name for each item to be published mTextureSyphon.setName("Cinder Texture"); mClientSyphon.setup(); // in order for this to work, you must run simple server from the testapps directory // any other syphon item you create would work as well, just change the name mClientSyphon.setApplicationName("Simple Server"); mClientSyphon.setServerName(""); mClientSyphon.bind(); }
void SyphonBasicApp::setup() { try { mLogo = gl::Texture::create( loadImage( loadAsset("cinder_logo_alpha.png") ) ); } catch( ... ) { std::cout << "unable to load the texture file!" << std::endl; } try { mShader = gl::GlslProg::create( loadAsset("passThru_vert.glsl"), loadAsset("gaussianBlur_frag.glsl") ); } catch( gl::GlslProgCompileExc &exc ) { std::cout << "Shader compile error: " << std::endl; std::cout << exc.what(); } catch( ... ) { std::cout << "Unable to load shader" << std::endl; } mAngle = 0.0f; mScreenSyphon.setName("Screen Output"); // set a name for each item to be published mTextureSyphon.setName("Texture Output"); mClientSyphon.setup(); // in order for this to work, you must run simple server which is a syphon test application // feel free to change the app and server name for your specific case mClientSyphon.set("", "Simple Server"); mClientSyphon.bind(); }
void MilluminApp::draw() { gl::enableAlphaBlending(); gl::clear( Color( 0.1f, 0.1f, 0.1f ) ); //draw our spiral gl::pushModelView(); gl::translate(Vec2f(getWindowWidth()/2, getWindowHeight()/2)); gl::rotate(mRot); gl::scale(Vec3f(4.f, 4.f, 1.f)); gl::color(ColorA(1.f, 0.f, 0.f, 1.f)); archimedes.draw(); gl::popModelView(); //draw our publishable texture if(mTex){ gl::color(ColorA(1.f, 1.f, 1.f, 1.f)); gl::draw(mTex); } mScreenSyphon.publishScreen(); //publish the screen mTextureSyphon.publishTexture(&mTex); //publish our texture //anything that we draw after here will not be published mClientSyphon.draw(Vec2f(300.0f, 0.0f)); //draw our client image }
void SyphonServerDirectoryApp::setClient(int _idx){ if(dir.isValidIndex(_idx)){ syphonServerDescription desc = dir.getDescription(_idx); client.set(desc); client.bind(); serverName = desc.serverName; appName = desc.appName; if(serverName == ""){ serverName = "null"; } if(appName == ""){ appName = "null"; } } }
void SyphonServerDirectoryApp::draw() { gl::clear( Color( 0, 0, 0 ) ); gl::color( ColorA::white() ); gl::enableAlphaBlending(); if(dir.isValidIndex(dirIdx)) client.draw(Vec2f::zero()); gl::drawStringCentered(serverName + ":" + appName, Vec2f(getWindowCenter().x, 20.f)); gl::drawStringCentered("press any key to move through available Syphon servers", Vec2f(getWindowCenter().x, 580.f)); }
void SyphonServerDirectoryApp::setup() { dir.getServerAnnouncedSignal()->connect(bind(&SyphonServerDirectoryApp::serverAnnounced, this, std::placeholders::_1)); dir.getServerRetiredSignal()->connect(bind(&SyphonServerDirectoryApp::serverRetired, this, std::placeholders::_1)); dir.setup(); client.setup(); serverName = "SyphonServerDirectory"; appName = "Example"; if(dir.size() > 0){ dirIdx = 0; setClient(dirIdx); } else { dirIdx = -1; } }
void SyphonBasicApp::draw() { gl::enableAlphaBlending(); gl::clear(Color::white()); gl::color(ColorA(1.f, 1.f, 1.f, 1.f)); mShader->bind(); mShader->uniform( "tex0", 0 ); mShader->uniform( "sampleOffset", Vec2f( cos( mAngle ), sin( mAngle ) ) * ( 3.0f / getWindowWidth() ) ); gl::draw(mLogo, Vec2f::zero()); mShader->unbind(); mClientSyphon.draw(Vec2f(16.f, 64.f)); //draw our client image mScreenSyphon.publishScreen(); //publish the screen's output mTextureSyphon.publishTexture(mLogo); //publish our texture without shader //anything that we draw after here will not be published gl::drawStringCentered("This text will not be published to Syphon.", Vec2f(getWindowCenter().x, 20.f), ColorA::black()); }