Demo program for library named SD_PlayerSkeleton of SD card player skeleton. SD カードプレーヤのための骨組みとして使うためのライブラリ SD_PlayerSkeleton の使用例.このプログラムについては,CQ出版社インターフェース誌 2018年7月号で解説している.
Dependencies: F746_GUI F746_SAI_IO SD_PlayerSkeleton
MyClass/VolumeCtrl.cpp@9:e032ac174c8d, 2016-11-16 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Wed Nov 16 13:39:17 2016 +0000
- Revision:
- 9:e032ac174c8d
- Parent:
- 4:e911f59e9541
- Child:
- 12:21cedfd11899
10
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:bf9be2110092 | 1 | //------------------------------------------------- |
MikamiUitOpen | 0:bf9be2110092 | 2 | // 音量の調整のためのクラス |
MikamiUitOpen | 0:bf9be2110092 | 3 | // SD_PlayerSkeleton の派生クラス |
MikamiUitOpen | 0:bf9be2110092 | 4 | // |
MikamiUitOpen | 9:e032ac174c8d | 5 | // 2016/11/16, Copyright (c) 2016 MIKAMI, Naoki |
MikamiUitOpen | 0:bf9be2110092 | 6 | //------------------------------------------------- |
MikamiUitOpen | 0:bf9be2110092 | 7 | |
MikamiUitOpen | 0:bf9be2110092 | 8 | #include "VolumeCtrl.hpp" |
MikamiUitOpen | 0:bf9be2110092 | 9 | |
MikamiUitOpen | 0:bf9be2110092 | 10 | namespace Mikami |
MikamiUitOpen | 0:bf9be2110092 | 11 | { |
MikamiUitOpen | 0:bf9be2110092 | 12 | // 音量の調整 |
MikamiUitOpen | 0:bf9be2110092 | 13 | void VolumeCtrl::Modefy() |
MikamiUitOpen | 0:bf9be2110092 | 14 | { |
MikamiUitOpen | 0:bf9be2110092 | 15 | if (myBar_.Slide()) |
MikamiUitOpen | 0:bf9be2110092 | 16 | volume_ = myBar_.GetValue(); |
MikamiUitOpen | 0:bf9be2110092 | 17 | } |
MikamiUitOpen | 0:bf9be2110092 | 18 | |
MikamiUitOpen | 0:bf9be2110092 | 19 | // 1フレーム分の信号処理の実行 |
MikamiUitOpen | 0:bf9be2110092 | 20 | void VolumeCtrl::SignalProcessing() |
MikamiUitOpen | 0:bf9be2110092 | 21 | { |
MikamiUitOpen | 0:bf9be2110092 | 22 | // 1フレーム分のステレオデータを SD から読み込みモノラルにする |
MikamiUitOpen | 0:bf9be2110092 | 23 | sdReader_.ReadAndToMono(sn_); |
MikamiUitOpen | 0:bf9be2110092 | 24 | |
MikamiUitOpen | 0:bf9be2110092 | 25 | while (!mySai_.IsXferred()) {} // データの転送が終わるまで待つ |
MikamiUitOpen | 0:bf9be2110092 | 26 | //-------------------------------------------------------------- |
MikamiUitOpen | 0:bf9be2110092 | 27 | // 1フレーム分の処理を行い,その結果を出力する |
MikamiUitOpen | 2:cf42e62a97dc | 28 | // 音響信号の出力:左右チャンネルに同じものを出力 |
MikamiUitOpen | 0:bf9be2110092 | 29 | for (int n=0; n<FRAME_SIZE_; n++) |
MikamiUitOpen | 2:cf42e62a97dc | 30 | { |
MikamiUitOpen | 2:cf42e62a97dc | 31 | int16_t data = volume_*sn_[n]; |
MikamiUitOpen | 3:470141dd31f4 | 32 | mySai_.Output(data, data); // そのまま出力 |
MikamiUitOpen | 2:cf42e62a97dc | 33 | } |
MikamiUitOpen | 0:bf9be2110092 | 34 | //-------------------------------------------------------------- |
MikamiUitOpen | 0:bf9be2110092 | 35 | mySai_.ResetXferred(); // 次のデータ転送に備える |
MikamiUitOpen | 0:bf9be2110092 | 36 | } |
MikamiUitOpen | 0:bf9be2110092 | 37 | |
MikamiUitOpen | 9:e032ac174c8d | 38 | // 曲の再生時の表示 |
MikamiUitOpen | 0:bf9be2110092 | 39 | void VolumeCtrl::Display() |
MikamiUitOpen | 0:bf9be2110092 | 40 | { |
MikamiUitOpen | 4:e911f59e9541 | 41 | Label musicTitle(207, 80, GetFileNameNoExt(), Label::CENTER, Font16); |
MikamiUitOpen | 0:bf9be2110092 | 42 | ctrl_.Draw(); |
MikamiUitOpen | 0:bf9be2110092 | 43 | myBar_.Redraw(); |
MikamiUitOpen | 0:bf9be2110092 | 44 | } |
MikamiUitOpen | 0:bf9be2110092 | 45 | } |