• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

百人一首かるた自動読み上げソフト


Commit MetaInfo

Revisão6958d1f48d941095f6051c27a7e5404975b06a34 (tree)
Hora2011-10-21 23:58:33
Autorarakaki <alucky4416@user...>
Commiterarakaki

Mensagem de Log

CHG: 1.0 beta , PlaySequence State, a few change.

Mudança Sumário

Diff

--- a/PlaySequenceThread.cpp
+++ b/PlaySequenceThread.cpp
@@ -158,6 +158,7 @@ void PlaySequenceThread::run()
158158
159159 ListIndex = 0;
160160 PlayListCount = 0;
161+ prev_state = IDLE;
161162
162163 int event = 0;
163164 while (!stopped) {
@@ -183,7 +184,7 @@ void PlaySequenceThread::run()
183184 ListIndex = 0;
184185 PlayListCount = PlayNumList->count();
185186 FudaN = PlayNumList->at(ListIndex);
186- if (FudaN != 0) { // FudaN == 0 is Special Card (MakuraKotoba)
187+ if (FudaN != 0) { // FudaN == 0 is Special Card (Joka)
187188 playmusicTh->PlayMusic(GetMusicFilePath(PlayNumList->at(ListIndex), 1));
188189 state = PLAY_1;
189190 } else {
@@ -204,6 +205,7 @@ void PlaySequenceThread::run()
204205 } else if (event == Ev_Pause) {
205206 playmusicTh->StopMusic();
206207 state = PAUSE;
208+ prev_state = PLAY_1;
207209 }
208210 break;
209211 case WAIT_1:
@@ -217,6 +219,7 @@ void PlaySequenceThread::run()
217219 } else if (event == Ev_Pause) {
218220 // Timer->stop();
219221 state = PAUSE;
222+ prev_state = WAIT_1;
220223 }
221224 break;
222225 case PLAY_2:
@@ -243,6 +246,7 @@ void PlaySequenceThread::run()
243246 } else if (event == Ev_Pause) {
244247 playmusicTh->StopMusic();
245248 state = PAUSE;
249+ prev_state = PLAY_2;
246250 }
247251 break;
248252 case WAIT_2:
@@ -256,18 +260,21 @@ void PlaySequenceThread::run()
256260 } else if (event == Ev_Pause) {
257261 // WaitTimer->stop();
258262 state = PAUSE;
263+ prev_state = WAIT_2;
259264 }
260265 break;
261266 case PAUSE:
262267 if (event == Ev_Start) {
263268 FudaN = PlayNumList->at(ListIndex);
264- if (FudaN != 0) { // FudaN == 0 is Special Card (MakuraKotoba)
269+ if (prev_state == WAIT_2 && ListIndex > 0) ListIndex--; // prev rewind when WAIT_2
270+ if (prev_state == PLAY_1 && FudaN != 0) { // FudaN == 0 is Special Card (Joka)
265271 playmusicTh->PlayMusic(GetMusicFilePath(PlayNumList->at(ListIndex), 1));
266272 state = PLAY_1;
267273 } else {
268274 playmusicTh->PlayMusic(GetMusicFilePath(PlayNumList->at(ListIndex), 2));
269275 state = PLAY_2;
270276 }
277+ prev_state = IDLE;
271278 } else if (event == Ev_Abort) {
272279 AbortProc();
273280 state = IDLE;
--- a/PlaySequenceThread.h
+++ b/PlaySequenceThread.h
@@ -55,7 +55,7 @@ private:
5555 PLAY_2, // 3 Simo no ku yomiage
5656 WAIT_2, // 4 next wait
5757 PAUSE
58- } state;
58+ } state, prev_state;
5959 // State Machine, event Id
6060 enum { Ev_Nop = 0,
6161 Ev_Start,
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -33,7 +33,7 @@ MainWindow::MainWindow(QWidget *parent) :
3333 {
3434 ui->setupUi(this);
3535 QCoreApplication::setApplicationName("QtKarutaEishow");
36- QCoreApplication::setApplicationVersion("0.1 alpha");
36+ QCoreApplication::setApplicationVersion("0.1 beta");
3737 this->setWindowTitle(QCoreApplication::applicationName());
3838
3939 // QTextCodec::setCodecForTr(QTextCodec::codecForLocale());