//-------------------------------------------------------------- void gamuzaMain::printFrame(){ #if defined (TARGET_OSX) || defined(TARGET_LINUX) tempFrame.grabScreen(mainScreenW+1,0,projectionScreenW,projectionScreenH); tempFrame.saveImage("export/frames/printFrame.jpg"); string commandStr = "lp ../../../data/export/frames/printFrame.jpg"; system(commandStr.c_str()); sendPrivateMessage(GAMUZA_CONSOLE_LOG, "Sending frame for Printing"); sendPrivateMessage(GAMUZA_CONSOLE_LOG, " "); #endif }
void Server::textRead(){ QTcpSocket *source = dynamic_cast<QTcpSocket*>(sender()); QByteArray data = source->readAll(); QByteArray namePrefix = "/Name::"; QByteArray challengePrefix = "/Challenge::"; QByteArray challengeAcceptedPrefix = "/ChallengeAccepted::"; QByteArray settingsPrefix = "/Settings::"; QByteArray startPrefix = "/Start::"; QByteArray turnPrefix = "/Turn::"; QByteArray locationPrefix = "/Location::"; QByteArray multiplayerMatchPrefix = "/MultiplayerMatch::"; if (data.startsWith(namePrefix)){ QString tempNick(data); QStringRef name(&tempNick, namePrefix.length(), tempNick.length() - namePrefix.length()); QString validName = isAvailable(name.toString()); nickContainer->append(validName); if (name != validName){ source->write("/ValidName::" + validName.toLatin1()); } sendClientList(); } else if (data.startsWith(challengePrefix)){ QString tempNick(data); QStringRef name(&tempNick, challengePrefix.length(), tempNick.length() - challengePrefix.length()); sendChallenge(source, name); } else if (data.startsWith(challengeAcceptedPrefix)){ QString tempNick(data); QStringRef name(&tempNick, challengeAcceptedPrefix.length(), tempNick.length() - challengeAcceptedPrefix.length()); sendChallengeAccepted(name); } else if (data.startsWith(settingsPrefix)){ QString tempString(data); QStringRef values(&tempString, settingsPrefix.length(), tempString.length() - settingsPrefix.length()); sendSettingsData(values.toString()); } else if (data.startsWith(startPrefix)){ QString tempString(data); QStringRef values(&tempString, startPrefix.length(), tempString.length() - startPrefix.length()); sendStartMessage(values); } else if (data.startsWith(turnPrefix)){ QString tempString(data); QStringRef name(&tempString, turnPrefix.length(), tempString.length() - turnPrefix.length()); sendTurnChangeMessage(name); } else if (data.startsWith(locationPrefix)){ QString tempString(data); QStringRef values(&tempString, locationPrefix.length(), tempString.length() - locationPrefix.length()); sendLocationMessage(values); } else if (data.startsWith(multiplayerMatchPrefix)){ QString tempString(data); sendPrivateMessage(tempString, multiplayerMatchPrefix); } else { QTime time = QTime::currentTime(); QString timeString = time.toString() + " "; for (int i = 0; i < clientContainer->size(); ++i){ clientContainer->at(i)->write(timeString.toLatin1() + data); } } }
//-------------------------------------------------------------- void gamuzaMain::saveFrame(){ string _d = getDateTimeAsString("%d_%m_%Y"); string start = "export/frames/frame"+ofToString(currentSavedFrame); string fin = start+"_"+_d+".tif"; currentSavedFrame++; if(useSecondaryScreen && useShader){ finalTexture.readToPixels(outputPix); }else{ drawingTexture.readToPixels(outputPix); } tempFrame.setFromPixels(outputPix); tempFrame.saveImage(fin.c_str()); sendPrivateMessage(GAMUZA_CONSOLE_LOG, "Frame SAVED"); sendPrivateMessage(GAMUZA_CONSOLE_LOG, " "); }
//-------------------------------------------------------------- void gamuzaMain::update(){ char temp_message[512]; ////////////////////////////////////////////// // INIT PROGRAM | splash image control if(ofGetElapsedTimeMillis() > splashWait){ splashFinish = true; if(flagSystemLoaded){ flagSystemLoaded = false; sprintf(temp_message,"OpenGL version: %s", glGetString (GL_VERSION)); sendPrivateMessage(GAMUZA_CONSOLE_LOG, temp_message); sendPrivateMessage(GAMUZA_CONSOLE_LOG, " "); if(GL_ARB_shader_objects){ sprintf(temp_message,"GL_ARB_shader SUPPORTED by your Graphic Card: %s", glGetString (GL_RENDERER)); sendPrivateMessage(GAMUZA_CONSOLE_LOG, temp_message); sendPrivateMessage(GAMUZA_CONSOLE_LOG, " "); }else{ sprintf(temp_message,"GL_ARB_shader NOT SUPPORTED by your Graphic Card: %s", glGetString (GL_RENDERER)); sendPrivateMessage(GAMUZA_CONSOLE_LOG, temp_message); sendPrivateMessage(GAMUZA_CONSOLE_LOG, "switching to SHADER OFF MODE"); sendPrivateMessage(GAMUZA_CONSOLE_LOG, " "); } if(audioActivated){ soundStream.start(); sendPrivateMessage(GAMUZA_CONSOLE_LOG, "soundStream STARTED"); sendPrivateMessage(GAMUZA_CONSOLE_LOG, " "); for(unsigned int i = 0; i < audioInputChannels; i++){ inputAudioCH[i].computeChannel = true; } computeAudioInput = true; computeAudioOutput = true; } if(arduinoActivated){ sendPrivateMessage(GAMUZA_CONSOLE_LOG, "ARDUINO connection established"); sendPrivateMessage(GAMUZA_CONSOLE_LOG, " "); } } ////////////////////////////////////////////// // Main settings control ofSetVerticalSync(useVSync); ////////////////////////////////////////////// ////////////////////////////////////////////// // GUI update updateGui(); gui.update(); ////////////////////////////////////////////// ////////////////////////////////////////////// // FBO Output Texture update updateFBO(); ////////////////////////////////////////////// ////////////////////////////////////////////// // OPENNI if(openniActivated && sensorKinect.useKinect && sensorKinect.isOniConnected){ sensorKinect.updateDevice(); } ////////////////////////////////////////////// ////////////////////////////////////////////// // WEBCAM input devices update if(trackingActivated){ for(unsigned int i=0;i<numCamInputs;i++){ if(inputCam[i].captureVideo){ inputCam[i].update(); } } } ////////////////////////////////////////////// ////////////////////////////////////////////// // ARDUINO update if(arduinoActivated && useArduino){ updateArduino(); } ////////////////////////////////////////////// } ////////////////////////////////////////////// ////////////////////////////////////////////// // OSC update updateOSC(); // OSC messages receiving receiveOSC(); ////////////////////////////////////////////// ////////////////////////////////////////////// // SYSTEM gamuzaRealFPS = ofGetFrameRate(); gaFrameCounter++; ////////////////////////////////////////////// }
//-------------------------------------------------------------- void gamuzaMain::setup(){ flagSystemLoaded = false; // first line of gamuza setup ////////////////////////////////////////////// // load settings from xml loadGamuzaSettings(); // automation isFullscreen = false; if(autoPilot){ gamuzaFullscreen(); } ////////////////////////////////////////////// ////////////////////////////////////////////// // init general openframeworks settings ofSetEscapeQuitsApp(false); ofSetFrameRate(200); ofEnableSmoothing(); ofSetLogLevel(OF_LOG_VERBOSE); ////////////////////////////////////////////// ////////////////////////////////////////////// // OSC data sending @ host_number(IP),host_port gamuzaSetup.lock(); setupOSC(); gamuzaSetup.unlock(); ////////////////////////////////////////////// ////////////////////////////////////////////// // AUDIO if(audioActivated){ gamuzaSetup.lock(); setupAudio(); gamuzaSetup.unlock(); } ////////////////////////////////////////////// ////////////////////////////////////////////// // MIDI gamuzaSetup.lock(); setupMidi(); gamuzaSetup.unlock(); ////////////////////////////////////////////// ////////////////////////////////////////////// // OPENNI if(openniActivated){ gamuzaSetup.lock(); sensorKinect.setupDevice(workingW,workingH,useKinectInfrared,sensorKinectLedState); gamuzaSetup.unlock(); } ////////////////////////////////////////////// ////////////////////////////////////////////// // FBO second screen output texture gamuzaSetup.lock(); setupFBO(); gamuzaSetup.unlock(); ////////////////////////////////////////////// ////////////////////////////////////////////// // ARDUINO if(arduinoActivated){ gamuzaSetup.lock(); setupArduino(); gamuzaSetup.unlock(); } ////////////////////////////////////////////// ////////////////////////////////////////////// // GUI // include setup of webcams & audio inputs gamuzaSetup.lock(); setupSettingPanel(); setupGui(); gamuzaSetup.unlock(); ////////////////////////////////////////////// ////////////////////////////////////////////// // SYSTEM currentSavedFrame = 0; gaFrameCounter = 0; ////////////////////////////////////////////// ////////////////////////////////////////////// // set log level to error only ofSetLogLevel(OF_LOG_ERROR); sendPrivateMessage(GAMUZA_CONSOLE_LOG, " "); ////////////////////////////////////////////// }
void MoodBoxServer::sendPrivateMessage(Callback callback, qint32 recipientId, QByteArray message, QString metadata) { sendPrivateMessage(callback, QVariant(), recipientId, message, metadata); }