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
FileSelectorWav.hpp@18:6631cd0fbbcd, 2019-06-04 (annotated)
- Committer:
- phungductung
- Date:
- Tue Jun 04 21:35:59 2019 +0000
- Revision:
- 18:6631cd0fbbcd
- Parent:
- 17:abfd6af9a236
WAV
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| phungductung | 18:6631cd0fbbcd | 1 | |
| MikamiUitOpen | 0:d310bb78455d | 2 | //-------------------------------------------------------------- |
| MikamiUitOpen | 0:d310bb78455d | 3 | |
| MikamiUitOpen | 0:d310bb78455d | 4 | #ifndef FILE_SELECTOR_HPP |
| MikamiUitOpen | 0:d310bb78455d | 5 | #define FILE_SELECTOR_HPP |
| MikamiUitOpen | 0:d310bb78455d | 6 | |
| MikamiUitOpen | 0:d310bb78455d | 7 | #include "F746_GUI.hpp" |
| MikamiUitOpen | 0:d310bb78455d | 8 | #include "SD_WavReader.hpp" |
| phungductung | 18:6631cd0fbbcd | 9 | #include <algorithm> // Được sử dụng bởi sort() |
| MikamiUitOpen | 0:d310bb78455d | 10 | #include <string> |
| MikamiUitOpen | 0:d310bb78455d | 11 | |
| MikamiUitOpen | 0:d310bb78455d | 12 | namespace Mikami |
| MikamiUitOpen | 0:d310bb78455d | 13 | { |
| MikamiUitOpen | 0:d310bb78455d | 14 | class FileSelector |
| MikamiUitOpen | 0:d310bb78455d | 15 | { |
| MikamiUitOpen | 0:d310bb78455d | 16 | public: |
| MikamiUitOpen | 0:d310bb78455d | 17 | FileSelector(uint8_t x0, uint8_t y0, int maxFiles, |
| MikamiUitOpen | 2:511479736d6e | 18 | int maxNameLength, SD_WavReader &reader); |
| MikamiUitOpen | 0:d310bb78455d | 19 | |
| MikamiUitOpen | 2:511479736d6e | 20 | virtual ~FileSelector(); |
| MikamiUitOpen | 0:d310bb78455d | 21 | |
| phungductung | 18:6631cd0fbbcd | 22 | // Lập danh sách các tập tin. Trả về false nếu tệp WAV không tồn tại |
| MikamiUitOpen | 0:d310bb78455d | 23 | bool CreateTable(); |
| phungductung | 18:6631cd0fbbcd | 24 | // chọn tập tin |
| MikamiUitOpen | 0:d310bb78455d | 25 | bool Select(string &fileName); |
| MikamiUitOpen | 0:d310bb78455d | 26 | |
| phungductung | 18:6631cd0fbbcd | 27 | // Hiển thị danh sách các tập tin |
| MikamiUitOpen | 0:d310bb78455d | 28 | void DisplayFileList(bool sortEnable = true); |
| MikamiUitOpen | 0:d310bb78455d | 29 | |
| phungductung | 18:6631cd0fbbcd | 30 | // xóa danh sách các tập tin |
| MikamiUitOpen | 0:d310bb78455d | 31 | void Erase(uint16_t x, uint16_t y, uint16_t width, uint16_t height, |
| MikamiUitOpen | 0:d310bb78455d | 32 | uint32_t color = GuiBase::ENUM_BACK); |
| MikamiUitOpen | 0:d310bb78455d | 33 | |
| MikamiUitOpen | 0:d310bb78455d | 34 | private: |
| phungductung | 18:6631cd0fbbcd | 35 | static const int MAX_LIST_PAGE_ = 6; // Số lượng tệp tối đa được hiển thị trên một trang |
| MikamiUitOpen | 2:511479736d6e | 36 | static const uint8_t W_H_ = 24; |
| MikamiUitOpen | 2:511479736d6e | 37 | static const uint8_t V_L_ = 36; |
| MikamiUitOpen | 2:511479736d6e | 38 | static const uint32_t BASE_COLOR_ = 0xFF80FFA0; |
| MikamiUitOpen | 2:511479736d6e | 39 | static const uint32_t TOUCHED_COLOR_ = 0xFF80FFFF; |
| MikamiUitOpen | 2:511479736d6e | 40 | const uint8_t X_, Y_; |
| MikamiUitOpen | 0:d310bb78455d | 41 | const int MAX_FILES_; |
| MikamiUitOpen | 0:d310bb78455d | 42 | const int MAX_NAME_LENGTH_; |
| MikamiUitOpen | 0:d310bb78455d | 43 | |
| MikamiUitOpen | 0:d310bb78455d | 44 | Array<string> fileNames_; |
| MikamiUitOpen | 2:511479736d6e | 45 | Array<Label *> fileNameLabels_; |
| MikamiUitOpen | 0:d310bb78455d | 46 | ButtonGroup *rect_; |
| MikamiUitOpen | 2:511479736d6e | 47 | ButtonGroup next_; |
| MikamiUitOpen | 2:511479736d6e | 48 | Label pageLabel_; |
| MikamiUitOpen | 12:f73e11831c1c | 49 | LCD_DISCO_F746NG &lcd_; |
| MikamiUitOpen | 0:d310bb78455d | 50 | SD_WavReader &sdReader_; |
| phungductung | 18:6631cd0fbbcd | 51 | int page_; // Trang hiện tại, trang đầu tiên là 1 |
| phungductung | 18:6631cd0fbbcd | 52 | int nOld_; // Chỉ mục của tệp đã chọn trước đó trong trang |
| phungductung | 18:6631cd0fbbcd | 53 | int kOld_; // Chỉ mục của tệp đã chọn trước đó |
| MikamiUitOpen | 2:511479736d6e | 54 | int maxPage_; |
| MikamiUitOpen | 2:511479736d6e | 55 | int fileCount_; |
| MikamiUitOpen | 0:d310bb78455d | 56 | |
| phungductung | 18:6631cd0fbbcd | 57 | // Lấy tên tệp với phần mở rộng bị xóa |
| MikamiUitOpen | 0:d310bb78455d | 58 | string GetFileNameNoExt(int n); |
| MikamiUitOpen | 0:d310bb78455d | 59 | |
| phungductung | 18:6631cd0fbbcd | 60 | // Không sử dụng các hàm tạo sao chép và toán tử gán đối tượng |
| MikamiUitOpen | 0:d310bb78455d | 61 | FileSelector(const FileSelector&); |
| MikamiUitOpen | 0:d310bb78455d | 62 | FileSelector& operator=(const FileSelector&); |
| MikamiUitOpen | 0:d310bb78455d | 63 | }; |
| MikamiUitOpen | 0:d310bb78455d | 64 | } |
| MikamiUitOpen | 0:d310bb78455d | 65 | #endif // FILE_SELECTOR_HPP |
| MikamiUitOpen | 17:abfd6af9a236 | 66 |