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
FileSelectorWav.hpp@17:abfd6af9a236, 2017-03-23 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Thu Mar 23 02:58:48 2017 +0000
- Revision:
- 17:abfd6af9a236
- Parent:
- 12:f73e11831c1c
18
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:d310bb78455d | 1 | //-------------------------------------------------------------- |
MikamiUitOpen | 0:d310bb78455d | 2 | // FileSelector class ---- Header ---- |
MikamiUitOpen | 0:d310bb78455d | 3 | // SD カード内のファイル名の一覧を表示し,ファイルを選択する |
MikamiUitOpen | 0:d310bb78455d | 4 | // |
MikamiUitOpen | 17:abfd6af9a236 | 5 | // 2017/03/23, Copyright (c) 2017 MIKAMI, Naoki |
MikamiUitOpen | 0:d310bb78455d | 6 | //-------------------------------------------------------------- |
MikamiUitOpen | 0:d310bb78455d | 7 | |
MikamiUitOpen | 0:d310bb78455d | 8 | #ifndef FILE_SELECTOR_HPP |
MikamiUitOpen | 0:d310bb78455d | 9 | #define FILE_SELECTOR_HPP |
MikamiUitOpen | 0:d310bb78455d | 10 | |
MikamiUitOpen | 0:d310bb78455d | 11 | #include "F746_GUI.hpp" |
MikamiUitOpen | 0:d310bb78455d | 12 | #include "SD_WavReader.hpp" |
MikamiUitOpen | 0:d310bb78455d | 13 | #include <algorithm> // sort() で使用 |
MikamiUitOpen | 0:d310bb78455d | 14 | #include <string> |
MikamiUitOpen | 0:d310bb78455d | 15 | |
MikamiUitOpen | 0:d310bb78455d | 16 | namespace Mikami |
MikamiUitOpen | 0:d310bb78455d | 17 | { |
MikamiUitOpen | 0:d310bb78455d | 18 | class FileSelector |
MikamiUitOpen | 0:d310bb78455d | 19 | { |
MikamiUitOpen | 0:d310bb78455d | 20 | public: |
MikamiUitOpen | 0:d310bb78455d | 21 | FileSelector(uint8_t x0, uint8_t y0, int maxFiles, |
MikamiUitOpen | 2:511479736d6e | 22 | int maxNameLength, SD_WavReader &reader); |
MikamiUitOpen | 0:d310bb78455d | 23 | |
MikamiUitOpen | 2:511479736d6e | 24 | virtual ~FileSelector(); |
MikamiUitOpen | 0:d310bb78455d | 25 | |
MikamiUitOpen | 17:abfd6af9a236 | 26 | // ファイルの一覧表を作る.WAV ファイルが存在しない場合は false を返す |
MikamiUitOpen | 0:d310bb78455d | 27 | bool CreateTable(); |
MikamiUitOpen | 0:d310bb78455d | 28 | |
MikamiUitOpen | 0:d310bb78455d | 29 | // ファイルを選択する |
MikamiUitOpen | 0:d310bb78455d | 30 | bool Select(string &fileName); |
MikamiUitOpen | 0:d310bb78455d | 31 | |
MikamiUitOpen | 0:d310bb78455d | 32 | // ファイルの一覧の表示 |
MikamiUitOpen | 0:d310bb78455d | 33 | void DisplayFileList(bool sortEnable = true); |
MikamiUitOpen | 0:d310bb78455d | 34 | |
MikamiUitOpen | 0:d310bb78455d | 35 | // ファイルの一覧の消去 |
MikamiUitOpen | 0:d310bb78455d | 36 | void Erase(uint16_t x, uint16_t y, uint16_t width, uint16_t height, |
MikamiUitOpen | 0:d310bb78455d | 37 | uint32_t color = GuiBase::ENUM_BACK); |
MikamiUitOpen | 0:d310bb78455d | 38 | |
MikamiUitOpen | 0:d310bb78455d | 39 | private: |
MikamiUitOpen | 3:dd3b8a21417b | 40 | static const int MAX_LIST_PAGE_ = 6; // 1ページに表示するファイル数の最大値 |
MikamiUitOpen | 2:511479736d6e | 41 | static const uint8_t W_H_ = 24; |
MikamiUitOpen | 2:511479736d6e | 42 | static const uint8_t V_L_ = 36; |
MikamiUitOpen | 2:511479736d6e | 43 | static const uint32_t BASE_COLOR_ = 0xFF80FFA0; |
MikamiUitOpen | 2:511479736d6e | 44 | static const uint32_t TOUCHED_COLOR_ = 0xFF80FFFF; |
MikamiUitOpen | 2:511479736d6e | 45 | const uint8_t X_, Y_; |
MikamiUitOpen | 0:d310bb78455d | 46 | const int MAX_FILES_; |
MikamiUitOpen | 0:d310bb78455d | 47 | const int MAX_NAME_LENGTH_; |
MikamiUitOpen | 0:d310bb78455d | 48 | |
MikamiUitOpen | 0:d310bb78455d | 49 | Array<string> fileNames_; |
MikamiUitOpen | 2:511479736d6e | 50 | Array<Label *> fileNameLabels_; |
MikamiUitOpen | 0:d310bb78455d | 51 | ButtonGroup *rect_; |
MikamiUitOpen | 2:511479736d6e | 52 | ButtonGroup next_; |
MikamiUitOpen | 2:511479736d6e | 53 | Label pageLabel_; |
MikamiUitOpen | 12:f73e11831c1c | 54 | LCD_DISCO_F746NG &lcd_; |
MikamiUitOpen | 0:d310bb78455d | 55 | SD_WavReader &sdReader_; |
MikamiUitOpen | 2:511479736d6e | 56 | int page_; // 現在のページ,最初のページは 1 |
MikamiUitOpen | 17:abfd6af9a236 | 57 | int nOld_; // ページ内で以前選択したファイルのインデックス |
MikamiUitOpen | 17:abfd6af9a236 | 58 | int kOld_; // 以前選択したファイルのインデックス |
MikamiUitOpen | 2:511479736d6e | 59 | int maxPage_; |
MikamiUitOpen | 2:511479736d6e | 60 | int fileCount_; |
MikamiUitOpen | 0:d310bb78455d | 61 | |
MikamiUitOpen | 11:c33c711a5712 | 62 | // 拡張子を削除したファイル名を取得 |
MikamiUitOpen | 0:d310bb78455d | 63 | string GetFileNameNoExt(int n); |
MikamiUitOpen | 0:d310bb78455d | 64 | |
MikamiUitOpen | 2:511479736d6e | 65 | // コピー・コンストラクタとオブジェクトの代入演算子は使用禁止 |
MikamiUitOpen | 0:d310bb78455d | 66 | FileSelector(const FileSelector&); |
MikamiUitOpen | 0:d310bb78455d | 67 | FileSelector& operator=(const FileSelector&); |
MikamiUitOpen | 0:d310bb78455d | 68 | }; |
MikamiUitOpen | 0:d310bb78455d | 69 | } |
MikamiUitOpen | 0:d310bb78455d | 70 | #endif // FILE_SELECTOR_HPP |
MikamiUitOpen | 17:abfd6af9a236 | 71 |