void ShaderToyApp::fileDrop( FileDropEvent event ) { // Send all file requests to the loading thread. size_t count = event.getNumFiles(); for( size_t i = 0; i < count && mRequests->isNotFull(); ++i ) mRequests->pushFront( event.getFile( i ) ); }
void fileDrop(FileDropEvent event) { if (event.getNumFiles() > 0) { console() << event.getFile(0); ImageSourceRef img = loadImage(event.getFile(0)); updateOfflineImage(img); } }
void StarsApp::fileDrop( FileDropEvent event ) { for(size_t i=0;i<event.getNumFiles();++i) { fs::path file = event.getFile(i); // skip if not a file if( !fs::is_regular_file( file ) ) continue; if( std::find( mMusicExtensions.begin(), mMusicExtensions.end(), file.extension() ) != mMusicExtensions.end() ) playMusic(file); } }
void PostProcessingApp::fileDrop( FileDropEvent event ) { // use the last of the dropped files mFile = event.getFile( event.getNumFiles() - 1 ); try { // try loading image file mImage = gl::Texture( loadImage( mFile ) ); } catch(...) { // otherwise, try loading QuickTime video play( mFile ); } }
void Genetic_AlgorithmApp::fileDrop(FileDropEvent event) { if (m_captureMode) return; m_imageLoaded.clear(); unsigned int fileCount = event.getNumFiles(); fs::path path; if (fileCount > 0) { for (unsigned int i = 0; i < fileCount; ++i) { try { path = event.getFile(i); m_imageLoaded.push_back(cinder::loadImage(path)); } catch (ci::ImageIoException&) { console() << "Format non supporté pour l'image : " << path.filename() << std::endl; } catch (std::exception&) { console() << "Error occur" << std::endl; } } m_currentImage = m_imageLoaded.front(); m_currentImageLoadedIndex = 0; } setupIHM(); }
void TextRenderingApp::fileDrop( FileDropEvent event ) { if( event.getNumFiles() == 1) { // you dropped 1 file, let's try to load it as a SDFF font file fs::path file = event.getFile(0); if(file.extension() == ".sdff") { try { // create a new font and read the file ph::text::FontRef font( new ph::text::Font() ); font->read( loadFile(file) ); // add font to font manager fonts().addFont( font ); // set the text font mTextBox.setFont( font ); } catch( const std::exception &e ) { console() << e.what() << std::endl; } } else { // try to render the file as a text mTextBox.setText( loadString( loadFile(file) ) ); } } else if( event.getNumFiles() == 2 ) { // you dropped 2 files, let's try to create a new SDFF font file fs::path fileA = event.getFile(0); fs::path fileB = event.getFile(1); if(fileA.extension() == ".txt" && fileB.extension() == ".png") { try { // create a new font from an image and a metrics file ph::text::FontRef font( new ph::text::Font() ); font->create( loadFile(fileB), loadFile(fileA) ); // create a compact SDFF file font->write( writeFile( getAssetPath("") / "fonts" / (font->getFamily() + ".sdff") ) ); // add font to font manager fonts().addFont( font ); // set the text font mTextBox.setFont( font ); } catch( const std::exception &e ) { console() << e.what() << std::endl; } } else if(fileB.extension() == ".txt" && fileA.extension() == ".png") { try { // create a new font from an image and a metrics file ph::text::FontRef font( new ph::text::Font() ); font->create( loadFile(fileA), loadFile(fileB) ); // create a compact SDFF file font->write( writeFile( getAssetPath("") / "fonts" / (font->getFamily() + ".sdff") ) ); // add font to font manager fonts().addFont( font ); // set the text font mTextBox.setFont( font ); } catch( const std::exception &e ) { console() << e.what() << std::endl; } } } updateWindowTitle(); }
void ReymentaServerApp::fileDrop(FileDropEvent event) { int index; string ext = ""; // use the last of the dropped files const fs::path &mPath = event.getFile(event.getNumFiles() - 1); string mFile = mPath.string(); int dotIndex = mFile.find_last_of("."); int slashIndex = mFile.find_last_of("\\"); if (dotIndex != std::string::npos && dotIndex > slashIndex) ext = mFile.substr(mFile.find_last_of(".") + 1); index = (int)(event.getX() / (margin + mParameterBag->mPreviewFboWidth + inBetween));// +1; //mBatchass->log(mFile + " dropped, currentSelectedIndex:" + toString(mParameterBag->currentSelectedIndex) + " x: " + toString(event.getX()) + " PreviewFboWidth: " + toString(mParameterBag->mPreviewFboWidth)); if (ext == "wav" || ext == "mp3") { //mAudio->loadWaveFile(mFile); } else if (ext == "png" || ext == "jpg") { if (index < 1) index = 1; if (index > 3) index = 3; //mTextures->loadImageFile(mParameterBag->currentSelectedIndex, mFile); mBatchass->getTexturesRef()->loadImageFile(index, mFile); } else if (ext == "glsl") { if (index < 4) index = 4; int rtn = mBatchass->getShadersRef()->loadPixelFragmentShaderAtIndex(mFile, index); if (rtn > -1 && rtn < mBatchass->getShadersRef()->getCount()) { mParameterBag->controlValues[22] = 1.0f; // TODO send content via websockets /*fs::path fr = mFile; string name = "unknown"; if (mFile.find_last_of("\\") != std::string::npos) name = mFile.substr(mFile.find_last_of("\\") + 1); if (fs::exists(fr)) { std::string fs = loadString(loadFile(mFile)); if (mParameterBag->mOSCEnabled) mOSC->sendOSCStringMessage("/fs", 0, fs, name); }*/ // save thumb //timeline().apply(&mTimer, 1.0f, 1.0f).finishFn([&]{ saveThumb(); }); } } else if (ext == "mov" || ext == "mp4") { /* if (index < 1) index = 1; if (index > 3) index = 3; mBatchass->getTexturesRef()->loadMovieFile(index, mFile);*/ } else if (ext == "fs") { //mShaders->incrementPreviewIndex(); mBatchass->getShadersRef()->loadFragmentShader(mPath); } else if (ext == "xml") { mBatchass->getWarpsRef()->loadWarps(mFile); } else if (ext == "patchjson") { // try loading patch try { JsonTree patchjson; try { patchjson = JsonTree(loadFile(mFile)); mParameterBag->mCurrentFilePath = mFile; } catch (cinder::JsonTree::Exception exception) { CI_LOG_V("patchjsonparser exception " + mFile + ": " + exception.what()); } //Assets int i = 1; // 0 is audio JsonTree jsons = patchjson.getChild("assets"); for (JsonTree::ConstIter jsonElement = jsons.begin(); jsonElement != jsons.end(); ++jsonElement) { string jsonFileName = jsonElement->getChild("filename").getValue<string>(); int channel = jsonElement->getChild("channel").getValue<int>(); if (channel < mBatchass->getTexturesRef()->getTextureCount()) { CI_LOG_V("asset filename: " + jsonFileName); mBatchass->getTexturesRef()->setTexture(channel, jsonFileName); } i++; } } catch (...) { CI_LOG_V("patchjson parsing error: " + mFile); } } else if (ext == "txt") { // try loading shader parts if (mBatchass->getShadersRef()->loadTextFile(mFile)) { } } else if (ext == "") { // try loading image sequence from dir if (index < 1) index = 1; if (index > 3) index = 3; mBatchass->getTexturesRef()->createFromDir(mFile + "/", index); // or create thumbs from shaders mBatchass->getShadersRef()->createThumbsFromDir(mFile + "/"); } }