Exemplo n.º 1
0
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());
		}
	}
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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;
}