|
|
|
|
|
|
|
|
#include "AudioStream.h" |
|
|
#include "AudioStream.h" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// When changing multiple audio object settings that must update at |
|
|
|
|
|
// the same time, these functions allow the audio library interrupt |
|
|
|
|
|
// to be disabled. For example, you may wish to begin playing a note |
|
|
|
|
|
// in response to reading an analog sensor. If you have "velocity" |
|
|
|
|
|
// information, you might start the sample playing and also adjust |
|
|
|
|
|
// the gain of a mixer channel. Use AudioNoInterrupts() first, then |
|
|
|
|
|
// make both changes to the 2 separate objects. Then allow the audio |
|
|
|
|
|
// library to update with AudioInterrupts(). Both changes will happen |
|
|
|
|
|
// at the same time, because AudioNoInterrupts() prevents any updates |
|
|
|
|
|
// while you make changes. |
|
|
|
|
|
#define AudioNoInterrupts() (NVIC_DISABLE_IRQ(IRQ_SOFTWARE)) |
|
|
|
|
|
#define AudioInterrupts() (NVIC_ENABLE_IRQ(IRQ_SOFTWARE)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// waveforms.c |
|
|
// waveforms.c |
|
|
extern "C" { |
|
|
extern "C" { |
|
|
extern const int16_t AudioWaveformSine[257]; |
|
|
extern const int16_t AudioWaveformSine[257]; |