Audio singal input and output example for DISCO-F746. Input: MEMS mic, Output: CN10 OUT, Acoustic effect: echo and frequency shift. DISCO-F746 によるオーディオ信号入出力.入力:MEMS マイク,出力:CN10 OUT,音響効果:エコー,周波数変換.
Dependencies: F746_GUI F746_SAI_IO
MyAcousticEffector_MIC/InitializeGUI.hpp@10:56f2f01df983, 2017-04-10 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Apr 10 13:44:13 2017 +0000
- Revision:
- 10:56f2f01df983
11
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 10:56f2f01df983 | 1 | //-------------------------------------------------------------- |
MikamiUitOpen | 10:56f2f01df983 | 2 | // 「MEMS マイクの入力に対して音響効果を与える」で使う GUI 等の初期化 |
MikamiUitOpen | 10:56f2f01df983 | 3 | // |
MikamiUitOpen | 10:56f2f01df983 | 4 | // 2017/04/08, Copyright (c) 2017 MIKAMI, Naoki |
MikamiUitOpen | 10:56f2f01df983 | 5 | //-------------------------------------------------------------- |
MikamiUitOpen | 10:56f2f01df983 | 6 | |
MikamiUitOpen | 10:56f2f01df983 | 7 | #ifndef EFFECTOR_INIT_GUI_HPP |
MikamiUitOpen | 10:56f2f01df983 | 8 | #define EFFECTOR_INIT_GUI_HPP |
MikamiUitOpen | 10:56f2f01df983 | 9 | |
MikamiUitOpen | 10:56f2f01df983 | 10 | #include "F746_GUI.hpp" |
MikamiUitOpen | 10:56f2f01df983 | 11 | #include "WaveformDisplay.hpp" |
MikamiUitOpen | 10:56f2f01df983 | 12 | using namespace Mikami; |
MikamiUitOpen | 10:56f2f01df983 | 13 | |
MikamiUitOpen | 10:56f2f01df983 | 14 | void InitializeGUI( |
MikamiUitOpen | 10:56f2f01df983 | 15 | ButtonGroup *(&onOff), ButtonGroup *(&menu), |
MikamiUitOpen | 10:56f2f01df983 | 16 | SeekBar *(&barReverb), SeekBar *(&barFqCh), |
MikamiUitOpen | 10:56f2f01df983 | 17 | NumericLabel<int> *(&frqLabel), |
MikamiUitOpen | 10:56f2f01df983 | 18 | WaveformDisplay *(&dispIn), |
MikamiUitOpen | 10:56f2f01df983 | 19 | WaveformDisplay *(&dispOut)) |
MikamiUitOpen | 10:56f2f01df983 | 20 | { |
MikamiUitOpen | 10:56f2f01df983 | 21 | Label myLabel(240, 8, "Reverberator and voice changer", |
MikamiUitOpen | 10:56f2f01df983 | 22 | Label::CENTER, Font16); |
MikamiUitOpen | 10:56f2f01df983 | 23 | |
MikamiUitOpen | 10:56f2f01df983 | 24 | // ButtonGroup 用の定数 |
MikamiUitOpen | 10:56f2f01df983 | 25 | const uint16_t BG_LEFT = 360; |
MikamiUitOpen | 10:56f2f01df983 | 26 | const uint16_t BG_WIDTH = 110; |
MikamiUitOpen | 10:56f2f01df983 | 27 | const uint16_t BG_HEIGHT = 45; |
MikamiUitOpen | 10:56f2f01df983 | 28 | |
MikamiUitOpen | 10:56f2f01df983 | 29 | // ButtonGroup: "ON", "OFF" |
MikamiUitOpen | 10:56f2f01df983 | 30 | const string ON_OFF[2] = {"ON", "OFF"}; |
MikamiUitOpen | 10:56f2f01df983 | 31 | onOff = new ButtonGroup(BG_LEFT, 40, BG_WIDTH/2, BG_HEIGHT, |
MikamiUitOpen | 10:56f2f01df983 | 32 | 2, ON_OFF, 0, 0, 2, 1); |
MikamiUitOpen | 10:56f2f01df983 | 33 | |
MikamiUitOpen | 10:56f2f01df983 | 34 | // ButtonGroup: "THROUGH", "ECHO", "F_SHIFTER" |
MikamiUitOpen | 10:56f2f01df983 | 35 | const string MENU[3] = {"THROUGH", "REVERB", "VOICE CHANGER"}; |
MikamiUitOpen | 10:56f2f01df983 | 36 | menu = new ButtonGroup(BG_LEFT, 110, BG_WIDTH, BG_HEIGHT, |
MikamiUitOpen | 10:56f2f01df983 | 37 | 3, MENU, 0, 10, 1, 0); |
MikamiUitOpen | 10:56f2f01df983 | 38 | |
MikamiUitOpen | 10:56f2f01df983 | 39 | // SeekBar 用の定数 |
MikamiUitOpen | 10:56f2f01df983 | 40 | const uint16_t SB_LEFT = BG_LEFT - 300; |
MikamiUitOpen | 10:56f2f01df983 | 41 | const uint16_t SB_WIDTH = 256; |
MikamiUitOpen | 10:56f2f01df983 | 42 | const uint16_t Y0_E = 195; |
MikamiUitOpen | 10:56f2f01df983 | 43 | const uint16_t Y0_F = Y0_E + BG_HEIGHT + 5; |
MikamiUitOpen | 10:56f2f01df983 | 44 | |
MikamiUitOpen | 10:56f2f01df983 | 45 | // リバーブ用 |
MikamiUitOpen | 10:56f2f01df983 | 46 | barReverb = new SeekBar(SB_LEFT, Y0_E, SB_WIDTH, |
MikamiUitOpen | 10:56f2f01df983 | 47 | 0, 6000, 0, "short", "", "long"); |
MikamiUitOpen | 10:56f2f01df983 | 48 | barReverb->Inactivate(); |
MikamiUitOpen | 10:56f2f01df983 | 49 | |
MikamiUitOpen | 10:56f2f01df983 | 50 | // 周波数シフタ用 |
MikamiUitOpen | 10:56f2f01df983 | 51 | barFqCh = new SeekBar(SB_LEFT, Y0_F, SB_WIDTH, |
MikamiUitOpen | 10:56f2f01df983 | 52 | 0, 200, 100, "0", "", "200"); |
MikamiUitOpen | 10:56f2f01df983 | 53 | barFqCh->Inactivate(); |
MikamiUitOpen | 10:56f2f01df983 | 54 | frqLabel = new NumericLabel<int>( |
MikamiUitOpen | 10:56f2f01df983 | 55 | SB_LEFT+SB_WIDTH/2, Y0_F-28, "+%d Hz", |
MikamiUitOpen | 10:56f2f01df983 | 56 | barFqCh->GetIntValue(), Label::CENTER); |
MikamiUitOpen | 10:56f2f01df983 | 57 | frqLabel->Redraw(GuiBase::ENUM_INACTIVE_TEXT); |
MikamiUitOpen | 10:56f2f01df983 | 58 | |
MikamiUitOpen | 10:56f2f01df983 | 59 | // 波形表示用 |
MikamiUitOpen | 10:56f2f01df983 | 60 | Label inLabel(SB_LEFT-40, 55, "IN"); |
MikamiUitOpen | 10:56f2f01df983 | 61 | dispIn = new WaveformDisplay( |
MikamiUitOpen | 10:56f2f01df983 | 62 | GuiBase::GetLcd(), SB_LEFT, 60, 256, 9); |
MikamiUitOpen | 10:56f2f01df983 | 63 | Label outLabel(SB_LEFT-40, 125, "OUT"); |
MikamiUitOpen | 10:56f2f01df983 | 64 | dispOut = new WaveformDisplay( |
MikamiUitOpen | 10:56f2f01df983 | 65 | GuiBase::GetLcd(), SB_LEFT, 130, 256, 9); |
MikamiUitOpen | 10:56f2f01df983 | 66 | } |
MikamiUitOpen | 10:56f2f01df983 | 67 | #endif // EFFECTOR_INIT_GUI_HPP |