Пример #1
0
void Library::btnClicked(widgetEvent & _event){
    shared_ptr<kBrowseArchive> browse;
    browse = dynamic_pointer_cast<kBrowseArchive>(_event.sender);
//    cout << "row "<<browse->getClickedRow() << endl;
    string ontname = browse->getCommand();
//    cout << ontname << endl;

//    view->clearClips();
    browse->removeAllViews();
    shared_ptr<Ontology> ont = getOntology( ontname );

    vector< shared_ptr < MediaHolder > > media = getMedia( ont );
//

//    cout << getChildOntologies( ont ).size() << endl;

    draggingOntology = ontname;

    vector< shared_ptr < Clip > > clips;
    vector< shared_ptr < Sample > > samples;

    for (int i=0; i<media.size(); i++)
    {
    	if(media[i]->getType()=="clip")
            clips.push_back(dynamic_pointer_cast<Clip>(media[i]));
    	if(media[i]->getType()=="sample")
            samples.push_back(dynamic_pointer_cast<Sample>(media[i]));
    }

    browse->loadMediaViews();

    browse->addMedia( clips, samples );


}
Пример #2
0
int query14() {
    int maxano,minano;
    maxano=minano=0;
    maxano=getMaxAno();
    minano=getMinAno();
    if(minano==0 || maxano==0) {
        printf("Por favor faça leitura do ficheiro primeiro\n");
    } else {
        printf("Max Comprimento: %s\n", getMaxLen());
        printf("Min Comprimento: %s\n", getMinLen());
        printf("Media Comprimento: %d\n", getMedia());
    }
    return 1;
}
Пример #3
0
QPlayer::QPlayer(QObject *parent) :
APlayer(parent)
{
	ins = this;
	setObjectName("QPlayer");
	state = Stop;
	manuallyStopped = false;
	waitingForBegin = false;
	skipTimeChanged = false;

	mp = (new QPlayerThread(this))->getMediaPlayer();
	mp->setVolume(Config::getValue("/Playing/Volume", 50));

	connect<void(QMediaPlayer::*)(QMediaPlayer::Error)>(mp, &QMediaPlayer::error, this, [this](int error){
		if ((State)mp->state() == Play){
			manuallyStopped = true;
		}
		emit errorOccurred(error);
	});

	connect(mp, &QMediaPlayer::volumeChanged, this, &QPlayer::volumeChanged);

	connect(mp, &QMediaPlayer::stateChanged, this, [this](int _state){
		if (_state == Stop){
			if (!manuallyStopped&&Config::getValue("/Playing/Loop", false)){
				stateChanged(state = Loop);
				play();
				emit jumped(0);
			}
			else{
				stateChanged(state = Stop);
				emit reach(manuallyStopped);
			}
			manuallyStopped = false;
		}
		else{
			manuallyStopped = false;
			if (_state == Play&&state == Stop){
				waitingForBegin = true;
			}
			else{
				emit stateChanged(state = _state);
			}
		}
	});

	connect(mp, &QMediaPlayer::positionChanged, this, [this](qint64 time){
		if (waitingForBegin&&time > 0){
			waitingForBegin = false;
			ARender::instance()->setMusic(!mp->isVideoAvailable());
			emit stateChanged(state = Play);
			emit begin();
		}
		if (!skipTimeChanged){
			emit timeChanged(time);
		}
		else{
			skipTimeChanged = false;
		}
	});

	connect(mp, &QMediaPlayer::mediaChanged, this, [this](){
		emit mediaChanged(getMedia());
	});

	connect(mp, &QMediaPlayer::playbackRateChanged, this, &QPlayer::rateChanged);
}