Changes to Music.h and keywords.txt
added support for the miniCFO platform to work with the audio
This commit is contained in:
parent
4e8ad1e132
commit
0b60af4044
@ -338,10 +338,15 @@ ISR(TIMER2_COMPA_vect) { // timer 2 is audio interrupt timer
|
||||
|
||||
void inline MMusic::synthInterrupt8bit()
|
||||
{
|
||||
|
||||
PORTD &= ~(1<<3);
|
||||
|
||||
// Frame sync low for SPI (making it low here so that we can measure lenght of interrupt with scope)
|
||||
#ifdef CFO
|
||||
PORTB &= ~(1<<2);
|
||||
#else
|
||||
PORTD &= ~(1<<6);
|
||||
#endif
|
||||
|
||||
accumulator1 = accumulator1 + period1;
|
||||
index1 = accumulator1 >> 8;
|
||||
@ -436,8 +441,11 @@ void inline MMusic::synthInterrupt8bit()
|
||||
while (!(SPSR & (1<<SPIF))); // Maybe this can be optimised
|
||||
|
||||
// Frame sync high
|
||||
#ifdef CFO
|
||||
PORTB |= (1<<2);
|
||||
#else
|
||||
PORTD |= (1<<6);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -453,7 +461,11 @@ void inline MMusic::synthInterrupt8bit()
|
||||
void MMusic::synthInterrupt12bitSine()
|
||||
{
|
||||
// Frame sync low for SPI (making it low here so that we can measure lenght of interrupt with scope)
|
||||
#ifdef CFO
|
||||
PORTB &= ~(1<<2);
|
||||
#else
|
||||
PORTD &= ~(1<<6);
|
||||
#endif
|
||||
|
||||
accumulator1 = accumulator1 + period1;
|
||||
index1 = accumulator1 >> 4;
|
||||
@ -544,8 +556,11 @@ void MMusic::synthInterrupt12bitSine()
|
||||
while (!(SPSR & (1<<SPIF))); // Maybe this can be optimised
|
||||
|
||||
// Frame sync high
|
||||
#ifdef CFO
|
||||
PORTB |= (1<<2);
|
||||
#else
|
||||
PORTD |= (1<<6);
|
||||
|
||||
#endif
|
||||
// Frame sync high
|
||||
PORTD |= (1<<3);
|
||||
|
||||
@ -585,14 +600,22 @@ void MMusic::init()
|
||||
// sck + mosi + ss
|
||||
DDRB |= (1 << DDB2) | (1 << DDB3) | (1 << DDB5);
|
||||
// dac_cs output
|
||||
#ifdef CFO
|
||||
DDRB |= (1 << DDB2) | (1 << DDB3);
|
||||
#else
|
||||
DDRD |= (1 << DDD6) | (1 << DDB3);
|
||||
#endif
|
||||
|
||||
// set up SPI port
|
||||
SPCR = 0x50;
|
||||
SPSR = 0x01;
|
||||
|
||||
// DAC frame sync HIGH, so that the SPI port doesn't start wirting straight away
|
||||
#ifdef CFO
|
||||
PORTB |= (1<<2);
|
||||
#else
|
||||
PORTD |= (1<<6);
|
||||
#endif
|
||||
|
||||
// waveform setup
|
||||
//setSine();
|
||||
@ -1089,8 +1112,13 @@ void MMidi::aftertouch(uint8_t channel, uint8_t note, uint8_t pressure) {
|
||||
|
||||
|
||||
void MMidi::controller(uint8_t channel, uint8_t number, uint8_t value) {
|
||||
//Serial.print(value);
|
||||
|
||||
/* Serial.println();
|
||||
Serial.print(channel);
|
||||
Serial.print('-');
|
||||
Serial.print(number);
|
||||
Serial.print('-');
|
||||
Serial.println(value);
|
||||
*/
|
||||
switch(number) {
|
||||
case DETUNE:
|
||||
Music.setDetune(value/5120.0);
|
||||
|
||||
@ -17,10 +17,10 @@ Midi KEYWORD1
|
||||
# Methods and Functions (KEYWORD2)
|
||||
#######################################
|
||||
|
||||
init KEYWORD2
|
||||
init KEYWORD2
|
||||
checkMidi KEYWORD2
|
||||
enableEnvelope KEYWORD2
|
||||
diableEnvelope KEYWORD2
|
||||
disableEnvelope KEYWORD2
|
||||
setEnvStage KEYWORD2
|
||||
setDetune KEYWORD2
|
||||
setDetune1 KEYWORD2
|
||||
@ -37,16 +37,16 @@ setWaveform KEYWORD2
|
||||
setWaveform1 KEYWORD2
|
||||
setWaveform2 KEYWORD2
|
||||
setWaveform3 KEYWORD2
|
||||
setGain KEYWORD2
|
||||
setGain KEYWORD2
|
||||
setGain1 KEYWORD2
|
||||
setGain2 KEYWORD2
|
||||
setGain3 KEYWORD2
|
||||
getGain KEYWORD2
|
||||
getGain KEYWORD2
|
||||
getGain1 KEYWORD2
|
||||
getGain2 KEYWORD2
|
||||
getGain3 KEYWORD2
|
||||
noteOn KEYWORD2
|
||||
noteOff KEYWORD2
|
||||
noteOn KEYWORD2
|
||||
noteOff KEYWORD2
|
||||
getNoteFrequency KEYWORD2
|
||||
setAttack KEYWORD2
|
||||
setDecay KEYWORD2
|
||||
@ -54,11 +54,11 @@ setSustain KEYWORD2
|
||||
setRelease KEYWORD2
|
||||
update_position KEYWORD2
|
||||
update_mass_spring_damper KEYWORD2
|
||||
torque KEYWORD2
|
||||
torque KEYWORD2
|
||||
direction KEYWORD2
|
||||
stop KEYWORD2
|
||||
start KEYWORD2
|
||||
restart KEYWORD2
|
||||
stop KEYWORD2
|
||||
start KEYWORD2
|
||||
restart KEYWORD2
|
||||
|
||||
|
||||
#######################################
|
||||
@ -67,4 +67,5 @@ restart KEYWORD2
|
||||
|
||||
NUM_OSCILLATORS LITERAL1
|
||||
BIT_DEPTH LITERAL1
|
||||
MIDI LITERAL1
|
||||
MIDI LITERAL1
|
||||
MIDI_CHANNEL LITERAL1
|
||||
Loading…
x
Reference in New Issue
Block a user