Esempio n. 1
0
MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    computer_timer.setSingleShot(true);
    connect(&computer_timer, SIGNAL(timeout()), this, SLOT(computerPlay()));
    //connect(this, SIGNAL(gameOver(QString)), this, SLOT(setGameOver(QString)));
    //connect(ui->gameBoard, SIGNAL(boardLeftClicked(QString,QString)),this,SLOT(doPlay(QString)));
    connect(ui->gameBoard, SIGNAL(boardLeftClicked(QString)),this,SLOT(doPlay(QString)));
    connect(&players, SIGNAL(blackScore(QString)), this, SLOT(updateBlackScore(QString)));
    connect(&players, SIGNAL(whiteScore(QString)), this, SLOT(updateWhiteScore(QString)));
    connect(&gtp, SIGNAL(move(QString,QString)),ui->gameBoard,SLOT(placeStone(QString,QString)));
    connect(&gtp, SIGNAL(move(QString,QString)),this,SLOT(addHistory(QString,QString)));
    connect(&gtp, SIGNAL(stoneListing(QString,QStringList)), ui->gameBoard, SLOT(checkStones(QString,QStringList)));
    connect(&gtp, SIGNAL(hints(QString,QStringList)), ui->gameBoard, SLOT(showTopMoves(QString,QStringList)));
    connect(&gtp, SIGNAL(blackScore(QString)), this, SLOT(updateBlackScore(QString)));
    connect(&gtp, SIGNAL(whiteScore(QString)), this, SLOT(updateWhiteScore(QString)));
    connect(&engine.process, SIGNAL(started()), this, SLOT(engineStarted()));
    readSettings();

    engine.addProgramArg("--mode gtp");
    engine.addProgramArg("--level 1");
    engine.start();
    gtp.setEngine(engine);
    ui->labelBlack->setStyleSheet("#labelBlack { color:#000000; background: #785229;}");
    ui->labelWhite->setStyleSheet("#labelWhite { color:#FFFFFF; background: #785229;}");
}
Esempio n. 2
0
void CPause::eval () {
	
	game->draw (); 
	menu.draw (); 	
	menu.input ();
	
	if (CGameDevice::MOUSE_RMB) rmbExists = true; else if (rmbExists) { doPlay (true); return; }		
	if (isKeyPressed (CGameDevice::ESC, esc)) doAbort ();
	
}
Esempio n. 3
0
int main(int c, char **v)
{
	if (c != 2)
		usage();

	if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0)
	{
		fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError());
		exit(1);
	}
	atexit(SDL_Quit);

	return doPlay(v[1]);
}
Esempio n. 4
0
int BIKPlayer::Play()
{
	if (!validVideo) {
		return 0;
	}
	//Start Movie Playback
	frameCount = 0;
	int ret = doPlay( );

	EndAudio();
	EndVideo();
	av_freep((void **) &inbuff);
	return ret;
}
Esempio n. 5
0
File: wave.c Progetto: 173210/ds2sdk
int play_wave(char *name)
{
	void *head;
	FILE *fp;
	int len;
	int flag;

	head = (unsigned int*)malloc(sizeof(WaveHeader));
	if(NULL == head)
		return -1;

	fp = fopen(name, "r");
	if(NULL == fp)
	{
		free(head);
		return -1;
	}

	len = fread(head, 1, sizeof(WaveHeader), fp);
	if(sizeof(WaveHeader) != len)
	{
		fclose(fp);
		free(head);
		return -1;
	}

	if(check_waveheader(head) == -1)
	{
		fclose(fp);
		free(head);
		return -1;
	}

	free(head);

	flag = doPlay(fp, audio_samples_per_trans);
	fclose(fp);

	return flag;
}
Esempio n. 6
0
GstPlayer::GstPlayer(QObject *parent):
    IMediaPlayer(parent),
    playing(false),
    loaded(false),
    error(false),
    playingRequested(false),
    mustSeek(true),
    duration(-1),
    position(0),
    formatTime(GST_FORMAT_TIME),
    pipeline(0),
    gstObjectName("player")
{
    GstPlayer::ensureInitGst();
    connect(this,SIGNAL(requestPause()),this,SLOT(doPause()));
    connect(this,SIGNAL(requestPlay()),this,SLOT(doPlay()));
    connect(this,SIGNAL(requestStop()),this,SLOT(doStop()));
    //watcher = NULL;
    theVol = new GValue();
    g_value_init(theVol,G_TYPE_DOUBLE);

    positionQueryTimer = new QTimer(this);

}
Esempio n. 7
0
void MainWindow::computerPlay(){
    doPlay("");
}
void DirectShowPlayerService::run()
{
    QMutexLocker locker(&m_mutex);

    for (;;) {
        ::ResetEvent(m_taskHandle);

        while (m_pendingTasks == 0) {
            DWORD result = 0;

            locker.unlock();
            if (m_eventHandle) {
                HANDLE handles[] = { m_taskHandle, m_eventHandle };

                result = ::WaitForMultipleObjects(2, handles, false, INFINITE);
            } else {
                result = ::WaitForSingleObject(m_taskHandle, INFINITE);
            }
            locker.relock();

            if (result == WAIT_OBJECT_0 + 1) {
                graphEvent(&locker);
            }
        }

        if (m_pendingTasks & ReleaseGraph) {
            m_pendingTasks ^= ReleaseGraph;
            m_executingTask = ReleaseGraph;

            doReleaseGraph(&locker);
        } else if (m_pendingTasks & Shutdown) {
            return;
        } else if (m_pendingTasks & ReleaseAudioOutput) {
            m_pendingTasks ^= ReleaseAudioOutput;
            m_executingTask = ReleaseAudioOutput;

            doReleaseAudioOutput(&locker);
        } else if (m_pendingTasks & ReleaseVideoOutput) {
            m_pendingTasks ^= ReleaseVideoOutput;
            m_executingTask = ReleaseVideoOutput;

            doReleaseVideoOutput(&locker);
        } else if (m_pendingTasks & SetUrlSource) {
            m_pendingTasks ^= SetUrlSource;
            m_executingTask = SetUrlSource;

            doSetUrlSource(&locker);
        } else if (m_pendingTasks & SetStreamSource) {
            m_pendingTasks ^= SetStreamSource;
            m_executingTask = SetStreamSource;

            doSetStreamSource(&locker);
        } else if (m_pendingTasks & Render) {
            m_pendingTasks ^= Render;
            m_executingTask = Render;

            doRender(&locker);
        } else if (!(m_executedTasks & Render)) {
            m_pendingTasks &= ~(FinalizeLoad | SetRate | Stop | Pause | Seek | Play);
        } else if (m_pendingTasks & FinalizeLoad) {
            m_pendingTasks ^= FinalizeLoad;
            m_executingTask = FinalizeLoad;

            doFinalizeLoad(&locker);
        } else if (m_pendingTasks & Stop) {
            m_pendingTasks ^= Stop;
            m_executingTask = Stop;

            doStop(&locker);
        } else if (m_pendingTasks & SetRate) {
            m_pendingTasks ^= SetRate;
            m_executingTask = SetRate;

            doSetRate(&locker);
        } else if (m_pendingTasks & Pause) {
            m_pendingTasks ^= Pause;
            m_executingTask = Pause;

            doPause(&locker);
        } else if (m_pendingTasks & Seek) {
            m_pendingTasks ^= Seek;
            m_executingTask = Seek;

            doSeek(&locker);
        } else if (m_pendingTasks & Play) {
            m_pendingTasks ^= Play;
            m_executingTask = Play;

            doPlay(&locker);
        }
        m_executingTask = 0;
    }
}
Esempio n. 9
0
int main(int argc, char *argv[])
{
	int i, filehandle;
	char *mvlfile = NULL, *mvefile = NULL;

	for (i = 1; i < argc; i++) {
		if (!strcmp(argv[i], "-h"))
			usage();

		if (!strcmp(argv[i], "-f"))
			g_sdlVidFlags |= SDL_FULLSCREEN;

		if (!strcmp(argv[i], "-l"))
			g_loop = 1;

		if (!strcmp(argv[i], "-s")) {
			if (argc < i + 2)
				usage();
			g_spdFactorNum = atoi(argv[i + 1]);
			i++;
		}

		if (strchr(argv[i], '.') && !strcasecmp(strchr(argv[i], '.'), ".mvl"))
			mvlfile = argv[i];

		if (strchr(argv[i], '.') && !strcasecmp(strchr(argv[i], '.'), ".mve"))
			mvefile = argv[i];
	}

	if (mvlfile) {
		int nfiles;
		char filename[MAX_FILES][13];
		int filesize[MAX_FILES];
		char sig[4];

#ifdef O_BINARY
		filehandle = open(mvlfile, O_RDONLY | O_BINARY);
#else
		filehandle = open(mvlfile, O_RDONLY);
#endif
		if (filehandle == -1) {
			fprintf(stderr, "Error opening %s\n", mvlfile);
			exit(1);
		}
		if ((read(filehandle, sig, 4) < 4) ||
			(strncmp(sig, "DMVL", 4)) ||
			(read(filehandle, &nfiles, 4) < 4)) {
			fprintf(stderr, "Error reading %s\n", mvlfile);
			exit(1);
		}
#ifdef WORDS_BIGENDIAN
		nfiles = SWAPINT(nfiles);
#endif
		if (nfiles > MAX_FILES) {
			fprintf(stderr, "Error reading %s: nfiles = %d, MAX_FILES = %d\n",
					mvlfile, nfiles, MAX_FILES);
		}
		for (i = 0; i < nfiles; i++) {
			if ((read(filehandle, filename[i], 13) < 13) ||
				(read(filehandle, &filesize[i], 4) < 4) ||
				(strlen(filename[i]) > 12))	{
				fprintf(stderr, "Error reading %s\n", mvlfile);
				exit(1);
			}
#ifdef WORDS_BIGENDIAN
			filesize[i] = SWAPINT(filesize[i]);
#endif
		}

		for (i = 0; i < nfiles; i++) {
			if (mvefile) {
				if (!strcasecmp(filename[i], mvefile))
					break;
				else
					lseek(filehandle, filesize[i], SEEK_CUR);
			} else
				printf("%13s\t%d\n", filename[i], filesize[i]);
		}
		if (!mvefile)
			exit(0);

	} else if (mvefile) {
#ifdef O_BINARY
		filehandle = open(mvefile, O_RDONLY | O_BINARY);
#else
		filehandle = open(mvefile, O_RDONLY);
#endif
	} else
		usage();

    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0)
    {
        fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError());
        exit(1);
    }
    atexit(SDL_Quit);

	doPlay(filehandle);

	return 0;
}
bool QAndroidPlayerSession::play()
{
    return doPlay();
}
Esempio n. 11
0
//=============================================================================
// METHOD    : SPELLcontroller::executeCommand()
//=============================================================================
void SPELLcontroller::executeCommand( const ExecutorCommand& cmd )
{
	// If a (repeatable) command is being executed, discard this one
	if (isCommandPending() &&
	    (cmd.id != CMD_ABORT) &&
	    (cmd.id != CMD_FINISH) &&
	    (cmd.id != CMD_INTERRUPT) &&
	    (cmd.id != CMD_PAUSE) &&
	    (cmd.id != CMD_CLOSE))
	{
		LOG_WARN("Discarding command " + cmd.id);
		return;
	}

	LOG_INFO("Now executing command " + cmd.id);

    startCommandProcessing();

    if (cmd.id == CMD_ABORT)
    {
        doAbort();
    }
    else if (cmd.id == CMD_FINISH)
    {
        doFinish();
    }
    else if (cmd.id == CMD_ACTION)
    {
        doUserAction();
    }
    else if (cmd.id == CMD_STEP)
    {
        doStep( false );
    }
    else if (cmd.id == CMD_STEP_OVER)
    {
        doStep( true );
    }
    else if (cmd.id == CMD_RUN)
    {
        doPlay();
    }
    else if (cmd.id == CMD_SKIP)
    {
        doSkip();
    }
    else if (cmd.id == CMD_GOTO)
    {
        if (cmd.earg == "line")
        {
            DEBUG("[C] Processing go-to-line " + cmd.arg);
            try
            {
                int line = STRI(cmd.arg);
                doGoto( line );
            }
            catch(...) {};
        }
        else if (cmd.earg == "label")
        {
            DEBUG("[C] Processing go-to-label " + cmd.arg);
            doGoto( cmd.arg );
        }
        else
        {
        	SPELLexecutor::instance().getCIF().error("Unable to process Go-To command, no target information", LanguageConstants::SCOPE_SYS );
        }
    }
    else if (cmd.id == CMD_PAUSE)
    {
        doPause();
    }
    else if (cmd.id == CMD_INTERRUPT)
    {
        doInterrupt();
    }
    else if (cmd.id == CMD_SCRIPT)
    {
    	/** \todo determine when to override */
        doScript(cmd.arg,false);
    }
    else if (cmd.id == CMD_CLOSE)
    {
        m_recover = false;
        m_reload = false;
        doClose();
    }
    else if (cmd.id == CMD_RELOAD)
    {
        doReload();
    }
    else if (cmd.id == CMD_RECOVER)
    {
        doRecover();
    }
    else
    {
        LOG_ERROR("[C] UNRECOGNISED COMMAND: " + cmd.id)
    }
	m_mailbox.commandProcessed();

	// The command has finished, release the dispatcher
	setCommandFinished();
	DEBUG("[C] Command execution finished " + cmd.id);

	//TEMPORARILY DISABLED: it creates deadlocks.
	// notifyCommandToCore( cmd.id );
}