Synthesizer based on the Unzen / Nucleo F746ZG

Dependencies:   amakusa mbed-dsp mbed shimabara ukifune unzen_nucleo_f746

Fork of skeleton_unzen_nucleo_f746 by seiichi horie

雲仙フレームワークのテストとして作っているプロジェクトです。中身はどんどん変っていきます。 説明はDSP空挺団の「シンセサイザー」カテゴリーを参照してください。初回は「ドッグフードを食べる」です。

Revision:
26:e99f71165e19
Parent:
22:dc2cbe8db9d9
Child:
28:547f19ed6f67
--- 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)