Synthesizer based on the Unzen / Nucleo F746ZG
Dependencies: amakusa mbed-dsp mbed shimabara ukifune unzen_nucleo_f746
Fork of skeleton_unzen_nucleo_f746 by
雲仙フレームワークのテストとして作っているプロジェクトです。中身はどんどん変っていきます。 説明はDSP空挺団の「シンセサイザー」カテゴリーを参照してください。初回は「ドッグフードを食べる」です。
Diff: signal_processing.cpp
- Revision:
- 26:e99f71165e19
- Parent:
- 22:dc2cbe8db9d9
- Child:
- 28:547f19ed6f67
diff -r d15dd7b9101c -r e99f71165e19 signal_processing.cpp --- a/signal_processing.cpp Fri Feb 10 13:28:41 2017 +0000 +++ b/signal_processing.cpp Fri Feb 10 21:31:17 2017 +0000 @@ -25,7 +25,7 @@ // place the signal processing coce here // VFO - this->note->run( tx_left_buffer, block_size); + this->note->run( tx_left_buffer); // apply gain and copy to right ch. for ( int i= 0; i< block_size; i++ ) @@ -111,6 +111,51 @@ this->leave_critical_section(); // now, ok to accept interrupt. } +void SignalProcessing::eg_on(void) +{ + this->enter_critical_section(); // forbidden interrrupt. + this->note->eg_on(); + this->leave_critical_section(); // now, ok to accept interrupt. +} + +void SignalProcessing::eg_off(void) +{ + this->enter_critical_section(); // forbidden interrrupt. + this->note->eg_off(); + this->leave_critical_section(); // now, ok to accept interrupt. +} + +void SignalProcessing::set_eg_attack( float32_t attack ) +{ + this->enter_critical_section(); // forbidden interrrupt. + this->note->set_eg_attack( attack ); + this->leave_critical_section(); // now, ok to accept interrupt. +} + +void SignalProcessing::set_eg_decay( float32_t decay ) +{ + this->enter_critical_section(); // forbidden interrrupt. + this->note->set_eg_decay( decay ); + this->leave_critical_section(); // now, ok to accept interrupt. +} + +void SignalProcessing::set_eg_sustain( float32_t sustain ) // [0,1.0] +{ + this->enter_critical_section(); // forbidden interrrupt. + this->note->set_eg_sustain( sustain ); + this->leave_critical_section(); // now, ok to accept interrupt. +} + +void SignalProcessing::set_eg_release ( float32_t release ) // [0,1.0] +{ + this->enter_critical_section(); // forbidden interrrupt. + this->note->set_eg_release( release ); + this->leave_critical_section(); // now, ok to accept interrupt. +} + + + + /************************** skeleton dependent methond. ***********************/ // essential members. Do not touch. void SignalProcessing::enter_critical_section(void)