Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SDFileSystem_Warning_Fixed
SD_PlayerSkeleton.hpp@2:511479736d6e, 2016-10-02 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Sun Oct 02 03:26:52 2016 +0000
- Revision:
- 2:511479736d6e
- Parent:
- 1:c7968701f7b3
- Child:
- 4:d730d024ac32
3
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| MikamiUitOpen | 0:d310bb78455d | 1 | //-------------------------------------------------------------- |
| MikamiUitOpen | 0:d310bb78455d | 2 | // SD プレーヤー用抽象基底クラス(ヘッダ) |
| MikamiUitOpen | 0:d310bb78455d | 3 | // |
| MikamiUitOpen | 2:511479736d6e | 4 | // 2016/10/02, Copyright (c) 2016 MIKAMI, Naoki |
| MikamiUitOpen | 0:d310bb78455d | 5 | //-------------------------------------------------------------- |
| MikamiUitOpen | 0:d310bb78455d | 6 | |
| MikamiUitOpen | 0:d310bb78455d | 7 | #ifndef F746_SD_PLAYER_SKELETON_HPP |
| MikamiUitOpen | 0:d310bb78455d | 8 | #define F746_SD_PLAYER_SKELETON_HPP |
| MikamiUitOpen | 0:d310bb78455d | 9 | |
| MikamiUitOpen | 0:d310bb78455d | 10 | #include "SAI_InOut.hpp" |
| MikamiUitOpen | 1:c7968701f7b3 | 11 | #include "F746_GUI.hpp" |
| MikamiUitOpen | 0:d310bb78455d | 12 | #include "FileSelectorWav.hpp" |
| MikamiUitOpen | 0:d310bb78455d | 13 | #include "SD_WavReader.hpp" |
| MikamiUitOpen | 0:d310bb78455d | 14 | |
| MikamiUitOpen | 0:d310bb78455d | 15 | using namespace Mikami; |
| MikamiUitOpen | 0:d310bb78455d | 16 | |
| MikamiUitOpen | 0:d310bb78455d | 17 | namespace Mikami |
| MikamiUitOpen | 0:d310bb78455d | 18 | { |
| MikamiUitOpen | 0:d310bb78455d | 19 | class SD_PlayerSkeleton |
| MikamiUitOpen | 0:d310bb78455d | 20 | { |
| MikamiUitOpen | 0:d310bb78455d | 21 | public: |
| MikamiUitOpen | 1:c7968701f7b3 | 22 | // リセット・ボタンを使う場合は reset を true とする |
| MikamiUitOpen | 1:c7968701f7b3 | 23 | SD_PlayerSkeleton(string str, int fs, bool reset = false); |
| MikamiUitOpen | 1:c7968701f7b3 | 24 | virtual ~SD_PlayerSkeleton() { if (reset_ != NULL) delete reset_; } |
| MikamiUitOpen | 0:d310bb78455d | 25 | void Execute(); |
| MikamiUitOpen | 0:d310bb78455d | 26 | |
| MikamiUitOpen | 0:d310bb78455d | 27 | protected: |
| MikamiUitOpen | 0:d310bb78455d | 28 | // ボタン用の定数 |
| MikamiUitOpen | 0:d310bb78455d | 29 | static const uint16_t BG_LEFT_ = 414; |
| MikamiUitOpen | 0:d310bb78455d | 30 | static const uint16_t BG_WIDTH_ = 66; |
| MikamiUitOpen | 0:d310bb78455d | 31 | static const uint16_t BG_HEIGHT_ = 36; |
| MikamiUitOpen | 0:d310bb78455d | 32 | |
| MikamiUitOpen | 0:d310bb78455d | 33 | const int32_t FRAME_SIZE_; // フレームバッファのサイズ |
| MikamiUitOpen | 0:d310bb78455d | 34 | Array<int16_t> sn_; // フレームバッファ |
| MikamiUitOpen | 0:d310bb78455d | 35 | |
| MikamiUitOpen | 0:d310bb78455d | 36 | SaiIO mySai_; |
| MikamiUitOpen | 0:d310bb78455d | 37 | SD_WavReader sdReader_; // SD カード読み込み用オブジェクト |
| MikamiUitOpen | 0:d310bb78455d | 38 | |
| MikamiUitOpen | 0:d310bb78455d | 39 | string GetFileName() { return fileName_; } |
| MikamiUitOpen | 0:d310bb78455d | 40 | |
| MikamiUitOpen | 0:d310bb78455d | 41 | private: |
| MikamiUitOpen | 0:d310bb78455d | 42 | string fileName_; // 選択されたファイル名 |
| MikamiUitOpen | 0:d310bb78455d | 43 | Label title_; // 上部に表示されるタイトル |
| MikamiUitOpen | 0:d310bb78455d | 44 | FileSelector selector_; |
| MikamiUitOpen | 0:d310bb78455d | 45 | ButtonGroup menu_; |
| MikamiUitOpen | 1:c7968701f7b3 | 46 | ResetButton *reset_; |
| MikamiUitOpen | 1:c7968701f7b3 | 47 | bool resetActive_; |
| MikamiUitOpen | 0:d310bb78455d | 48 | |
| MikamiUitOpen | 0:d310bb78455d | 49 | // SD カードのファイルのオープン |
| MikamiUitOpen | 0:d310bb78455d | 50 | int32_t SD_Open(); |
| MikamiUitOpen | 0:d310bb78455d | 51 | // ファイルの選択 |
| MikamiUitOpen | 0:d310bb78455d | 52 | void SelectFile(); |
| MikamiUitOpen | 1:c7968701f7b3 | 53 | // パネル操作のチェック |
| MikamiUitOpen | 1:c7968701f7b3 | 54 | void CheckCtrl(); |
| MikamiUitOpen | 0:d310bb78455d | 55 | |
| MikamiUitOpen | 2:511479736d6e | 56 | // コピー・コンストラクタとオブジェクトの代入演算子は使用禁止 |
| MikamiUitOpen | 2:511479736d6e | 57 | SD_PlayerSkeleton(const SD_PlayerSkeleton&); |
| MikamiUitOpen | 2:511479736d6e | 58 | SD_PlayerSkeleton& operator=(const SD_PlayerSkeleton&); |
| MikamiUitOpen | 2:511479736d6e | 59 | |
| MikamiUitOpen | 0:d310bb78455d | 60 | //------------------------------------- |
| MikamiUitOpen | 0:d310bb78455d | 61 | // 以下は仮想関数 |
| MikamiUitOpen | 0:d310bb78455d | 62 | //------------------------------------- |
| MikamiUitOpen | 0:d310bb78455d | 63 | // 1フレーム分の信号処理の実行 |
| MikamiUitOpen | 0:d310bb78455d | 64 | virtual void SignalProcessing() = 0; |
| MikamiUitOpen | 0:d310bb78455d | 65 | // サウンドエフェクタのパラメータ変更など |
| MikamiUitOpen | 0:d310bb78455d | 66 | virtual void Modefy() {} |
| MikamiUitOpen | 0:d310bb78455d | 67 | // 曲の再生中に表示する |
| MikamiUitOpen | 0:d310bb78455d | 68 | virtual void Display() {} |
| MikamiUitOpen | 0:d310bb78455d | 69 | // サウンドエフェクタ処理のデータ等のクリア |
| MikamiUitOpen | 0:d310bb78455d | 70 | virtual void Clear() {} |
| MikamiUitOpen | 0:d310bb78455d | 71 | }; |
| MikamiUitOpen | 0:d310bb78455d | 72 | } |
| MikamiUitOpen | 0:d310bb78455d | 73 | #endif // F746_SD_PLAYER_SKELETON_HPP |