00001
00019
00020 #include <stdlib.hch>
00021
00022 #include "pal_master.hch"
00023
00024
00025 #include "configuration.hch"
00026 #include "audio.hch"
00027
00028
00029
00045 macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT) {
00046
00047
00048
00049
00050
00051
00052 RC200AudioInSetGain(FALSE, gain_level, gain_level);
00053 RC200AudioInSetInput(input_source);
00054 PalAudioInSetSampleRate(AUDIOIN, sample_rate);
00055 PalAudioOutSetSampleRate(AUDIOOUT, sample_rate);
00056 }
00057
00058
00059 #if !USE_RUNFFT
00060
00076 macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT) {
00077
00078
00079
00080 macro expr IW = PalAudioInGetMaxDataWidthCT();
00081 macro expr OW = PalAudioOutGetMaxDataWidthCT();
00082
00083 signed IW sample_left_in, sample_right_in;
00084 signed OW sample_left_out, sample_right_out;
00085
00086 while (TRUE) {
00087 PalAudioInRead(AUDIOIN, &sample_left_in, &sample_right_in);
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099 PalAudioOutWrite(AUDIOOUT, (signed OW)(sample_left_in @ 0), (signed OW)(sample_right_in @ 0));
00100 }
00101 }
00102 #endif