void WatchMoviesView::movieChanged() { QTableWidgetItem *item = mUi->moviesTable->item(mUi->moviesTable->currentRow(), 8); if(item) { MovieFile movieFile(OptionsView::instance()->getMoviesDir() + "/" + item->text()); if(movieFile.loadMovie(false)) { mUi->titleLabelValue->setText(movieFile.getMovieTitle()); mUi->typeLabelValue->setText(movieFile.getMovieTypeName()); mUi->playerLabelValue->setText(movieFile.getPlayerName()/*+ " (Level " + QString::number(movieFile.getPlayerLevel()) + ")"*/); mUi->worldLabelValue->setText(movieFile.getPlayerWorld()); mUi->dateLabelValue->setText(QDateTime::fromTime_t(movieFile.getMovieDate()).toString()); mUi->durationLabelValue->setText(QTime().addMSecs(movieFile.getMovieDuration()).toString("hh:mm:ss")); mUi->versionLabelValue->setText(QString::number(movieFile.getTibiaVersion())); mUi->descriptionText->setText(movieFile.getMovieDescription()); } } }
void FFMPEGInvoker::finish(EncodingContext* ctx, const SendRequest& req) { av_write_trailer(ctx->formatCtx); /* Close each codec. */ if (ctx->videoStream) closeVideo(ctx, ctx->formatCtx, ctx->videoStream); if (!(ctx->formatCtx->oformat->flags & AVFMT_NOFILE)) /* Close the output file. */ avio_close(ctx->formatCtx->pb); /* free the stream */ avformat_free_context(ctx->formatCtx); // read file std::ifstream movieFile(ctx->filename.c_str()); movieFile.seekg(0, std::ios::end); size_t length = movieFile.tellg(); movieFile.seekg(0, std::ios::beg); char* movieBuffer = (char*)malloc(length); movieFile.read(movieBuffer, length); // move to desktop for checking // int err = rename(ctx->filename.c_str(), "/Users/sradomski/Desktop/foo.mpg"); // if (err) { // printf("%s", strerror(errno)); // } std::string context; Event::getParam(req.params, "context", context); Event event; event.name = "render.done"; event.data.compound["context"] = Data(context, Data::INTERPRETED); event.data.compound["movie"] = Data(movieBuffer, length, "video/mpeg", true); event.data.compound["filename"] = Data(std::string("movie.") + ctx->extension, Data::VERBATIM); returnEvent(event); }
bool Database::loadDatabase(const std::string database_movie_path,const std::string database_user_path, MovieRatings &movies, UserRatings &users) { ifstream movieFile(database_movie_path.c_str(), ios::in|ios::binary); ifstream userFile(database_user_path.c_str(), ios::in|ios::binary); if(!movieFile.good() || !userFile.good()) { cerr << "File not exists!" << endl; //return false; //return genDatabase(DATASET_PATH, DATABASE_PATH, MOVIEDATABASE, USERDATABASE); if(genDatabase(DATASET_PATH, DATABASE_PATH, MOVIEDATABASE, USERDATABASE)) loadDatabase(database_movie_path, database_user_path, movies, users); } else { //load movie database if(movieFile.is_open()) { cout << "Loading movie Database..." << endl; uInt num = 0; uInt index = 1; unsigned short uIdHi = 0; uByte rating = 0; while(!movieFile.eof()) { num = 0; uIdHi = 0; rating = 0; movieFile.read((char *)&num, sizeof(int)); //cout << index << endl; //cout << "Num " << num << endl; for(int i = 0; i < num; i ++) { movieFile.read((char *)&uIdHi, sizeof(unsigned short)); movieFile.read((char *)&rating, sizeof(uByte)); movies.addRating(index, mRatings(uIdHi, rating)); } index ++; } movieFile.close(); } else { cerr << "File not open!" << endl; return false; } //load user database if(userFile.is_open()) { cout << "Loading user Database..." << endl; uInt num = 0; uInt index = 1; unsigned short mId = 0; uByte rating = 0; while(!userFile.eof()) { num = 0; mId = 0; rating = 0; userFile.read((char *)&num , sizeof(int)); //cout << index << endl; //cout << "Num " << num << endl; for(int i = 0; i < num; i ++) { userFile.read((char *)(&mId), sizeof(unsigned short)); userFile.read((char *)(&rating), sizeof(uByte)); users.addRating(index, uRatings(mId, rating)); } index ++; } } else { cerr << "File not open!" << endl; return false; } } movies.computeAllMeans(); //movies.dumpAllMeans(); movies.computeAllStdDevs(); //movies.dumpAllStdDevs(); users.computeAllMeans(); //users.dumpAllMeans(); users.computeAllStdDevs(); //users.dumpAllStdDevs(); movies.computeAllBias(); users.computeAllBias(&movies); return true; }