Library for Skeleton of SD card player. SD カードプレーヤのための骨組みとして使うためのライブラリ.このライブラリを登録した際のプログラム:「F746_SD_Player_Demo」
Dependencies: SDFileSystem_Warning_Fixed
Dependents: F746_SD_Player_Demo F746_SD_VarableFilter F746_SD_GraphicEqualizer F746_MySoundMachine ... more
Diff: SD_PlayerSkeleton.cpp
- Revision:
- 14:284093250bab
- Parent:
- 13:3df6a1f66b1c
- Child:
- 15:4ac0f4715454
diff -r 3df6a1f66b1c -r 284093250bab SD_PlayerSkeleton.cpp --- a/SD_PlayerSkeleton.cpp Fri Mar 17 16:47:54 2017 +0000 +++ b/SD_PlayerSkeleton.cpp Mon Mar 20 02:34:49 2017 +0000 @@ -1,7 +1,7 @@ //-------------------------------------------------------------- // SD プレーヤー用抽象基底クラス // -// 2017/03/18, Copyright (c) 2017 MIKAMI, Naoki +// 2017/03/20, Copyright (c) 2017 MIKAMI, Naoki //-------------------------------------------------------------- #include "SD_PlayerSkeleton.hpp" @@ -16,14 +16,15 @@ title_(214, 4, str, Label::CENTER, Font16), selector_(0, 22, 256, 37, sdReader_), menu_(BG_LEFT_, 2, BG_WIDTH_, BG_HEIGHT_, 5, - (string[]){"OPEN", "PLAY", "PAUSE", "RESUME", "STOP"}, + (string[]){"SELECT", "PLAY", "PAUSE", "RESUME", "STOP"}, 0, 2, 1) { + menu_.InactivateAll(); + menu_.Activate(0); + if (!selector_.CreateTable()) BlinkLabel errLabel(240, 100, "SD CARD ERROR", Label::CENTER); - menu_.InactivateAll(); - menu_.Activate(0); if (resetButton) reset_ = new ResetButton(); else reset_ = NULL; } @@ -34,8 +35,6 @@ bool playOk = false; int32_t loopCount; - WaitTouched(0); // OPEN がタッチされるまで待つ - while (true) { if (playOk) // PAUSE 後の PLAY の場合 @@ -50,7 +49,7 @@ Display(); // アプリ固有の表示処理(仮想関数) if (reset_ != NULL) reset_->Draw(); - menu_.Inactivate(0); // OPEN ボタン無効 + menu_.Inactivate(0); // SELECT ボタン無効 menu_.Activate(2); // PAUSE ボタン有効 menu_.Activate(4); // STOP ボタン有効 @@ -94,9 +93,9 @@ SignalProcessing(); } mySai_.StopOut(); - menu_.Activate(0); // OPEN ボタン有効 - menu_.Draw(1); // PLAY ボタンの色を初期状態にする - for (int n=2; n<5; n++) // その他のボタンは無効 + if (!playOk) menu_.Activate(0); // SELECT ボタン有効 + menu_.Draw(1); // PLAY ボタンの色を初期状態にする + for (int n=2; n<5; n++) // その他のボタンは無効 menu_.Inactivate(n); sdReader_.Close(); // SD のファイルのクローズ @@ -128,11 +127,12 @@ { selector_.DisplayFileList(); title_.Draw("Select file"); - menu_.Inactivate(1); // PLAY ボタン無効 + menu_.Inactivate(0); // SELECT ボタン無効 + menu_.Inactivate(1); // PLAY ボタン無効 do if (selector_.Select(fileName_)) - menu_.Activate(1); // PLAY ボタン有効 - while (!menu_.Touched(1)); // PLAY ボタンがタッチされるまで繰り返す + menu_.Activate(1); // PLAY ボタン有効 + while (!menu_.Touched(1)); // PLAY ボタンがタッチされるまで繰り返す selector_.Erase(0, 0, BG_LEFT_-4, 272); title_.Draw(); @@ -145,7 +145,7 @@ Modefy(); // アプリ固有のパラメータ変更(仮想関数) } - // メニューのボタンがタッチされるまで DoIfHandled() を実行しながら待つ + // メニューのいずれかのボタンがタッチされるまで DoIfHandled() を実行しながら待つ int SD_PlayerSkeleton::WaitTouched() { int touchNum; @@ -153,4 +153,3 @@ return touchNum; } } -