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
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 |