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@4:d730d024ac32, 2016-11-07 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Nov 07 00:54:55 2016 +0000
- Revision:
- 4:d730d024ac32
- Parent:
- 2:511479736d6e
- Child:
- 5:7c8f0fc9dfb6
5
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 | 4:d730d024ac32 | 4 | // 2016/11/07, 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 | 4:d730d024ac32 | 40 | string GetFileNameNoExt(); |
| MikamiUitOpen | 0:d310bb78455d | 41 | |
| MikamiUitOpen | 0:d310bb78455d | 42 | private: |
| MikamiUitOpen | 0:d310bb78455d | 43 | string fileName_; // 選択されたファイル名 |
| MikamiUitOpen | 0:d310bb78455d | 44 | Label title_; // 上部に表示されるタイトル |
| MikamiUitOpen | 0:d310bb78455d | 45 | FileSelector selector_; |
| MikamiUitOpen | 0:d310bb78455d | 46 | ButtonGroup menu_; |
| MikamiUitOpen | 1:c7968701f7b3 | 47 | ResetButton *reset_; |
| MikamiUitOpen | 1:c7968701f7b3 | 48 | bool resetActive_; |
| MikamiUitOpen | 0:d310bb78455d | 49 | |
| MikamiUitOpen | 0:d310bb78455d | 50 | // SD カードのファイルのオープン |
| MikamiUitOpen | 0:d310bb78455d | 51 | int32_t SD_Open(); |
| MikamiUitOpen | 0:d310bb78455d | 52 | // ファイルの選択 |
| MikamiUitOpen | 0:d310bb78455d | 53 | void SelectFile(); |
| MikamiUitOpen | 1:c7968701f7b3 | 54 | // パネル操作のチェック |
| MikamiUitOpen | 1:c7968701f7b3 | 55 | void CheckCtrl(); |
| MikamiUitOpen | 0:d310bb78455d | 56 | |
| MikamiUitOpen | 2:511479736d6e | 57 | // コピー・コンストラクタとオブジェクトの代入演算子は使用禁止 |
| MikamiUitOpen | 2:511479736d6e | 58 | SD_PlayerSkeleton(const SD_PlayerSkeleton&); |
| MikamiUitOpen | 2:511479736d6e | 59 | SD_PlayerSkeleton& operator=(const SD_PlayerSkeleton&); |
| MikamiUitOpen | 2:511479736d6e | 60 | |
| MikamiUitOpen | 0:d310bb78455d | 61 | //------------------------------------- |
| MikamiUitOpen | 0:d310bb78455d | 62 | // 以下は仮想関数 |
| MikamiUitOpen | 0:d310bb78455d | 63 | //------------------------------------- |
| MikamiUitOpen | 0:d310bb78455d | 64 | // 1フレーム分の信号処理の実行 |
| MikamiUitOpen | 0:d310bb78455d | 65 | virtual void SignalProcessing() = 0; |
| MikamiUitOpen | 0:d310bb78455d | 66 | // サウンドエフェクタのパラメータ変更など |
| MikamiUitOpen | 0:d310bb78455d | 67 | virtual void Modefy() {} |
| MikamiUitOpen | 0:d310bb78455d | 68 | // 曲の再生中に表示する |
| MikamiUitOpen | 0:d310bb78455d | 69 | virtual void Display() {} |
| MikamiUitOpen | 0:d310bb78455d | 70 | // サウンドエフェクタ処理のデータ等のクリア |
| MikamiUitOpen | 0:d310bb78455d | 71 | virtual void Clear() {} |
| MikamiUitOpen | 0:d310bb78455d | 72 | }; |
| MikamiUitOpen | 0:d310bb78455d | 73 | } |
| MikamiUitOpen | 0:d310bb78455d | 74 | #endif // F746_SD_PLAYER_SKELETON_HPP |
| MikamiUitOpen | 4:d730d024ac32 | 75 |