Hi again,
It compiles! Unfortunately I'm getting a few errors though (just be aware, it might be me causing them!)
I've only had chance to test a few of the example Mozzi sketches but here's what I found;
The mozzi home page says to add #include <ADC.h> for teensy 2.0 through to 3.6, but I found it didn't make a difference if it was included or not with 4.1. Should I be adding this?
Tested with latest teensyduino, Arduino 1.8.16 and Mozzi Teensy4x port #138
FMSynth - Works OK
LowPassFilter - compiles but seems to be distorted (I can't remember the Arduino Uno sounding like this but I could be wrong)
Control_Oscil_Wash - Works OK
Control_Tremelo -failed to compile -> error ->
Arduino: 1.8.16 (Windows 10), TD: 1.55, Board: "Teensy 4.1, Serial, 600 MHz, Faster, US English"
In file included from C:\Users\User\Documents\Arduino\libraries\Mozzi/MozziGuts.h:195:0,
from C:\Users\User\AppData\Local\Temp\arduino_modified_sketch_88275\Control_Tremelo.ino:25:
C:\Users\User\Documents\Arduino\libraries\Mozzi/AudioConfigTeensy4_10bitPwm.h:4:2: warning: #warning If you get a compilation error you should probably update Teensyduino to its latest version [-Wcpp]
#warning If you get a compilation error you should probably update Teensyduino to its latest version ^
Control_Tremelo: In function 'int updateAudio()':
Control_Tremelo:60: error: call of overloaded 'fromNBit(int, long unsigned int)' is ambiguous
return MonoOutput::fromNBit(24, (int32_t) aSig.next() * aGain.next()); // shifted back to audio range after multiply
In file included from C:\Users\User\Documents\Arduino\libraries\Mozzi/MozziGuts.h:223:0,
from C:\Users\User\AppData\Local\Temp\arduino_modified_sketch_88275\Control_Tremelo.ino:25:
C:\Users\User\Documents\Arduino\libraries\Mozzi/AudioOutput.h:157:28: note: candidate: static MonoOutput MonoOutput::fromNBit(uint8_t, int16_t)
static inline MonoOutput fromNBit(uint8_t bits, int16_t l) { return MonoOutput(SCALE_AUDIO(l, bits)); }
C:\Users\User\Documents\Arduino\libraries\Mozzi/AudioOutput.h:159:28: note: candidate: static MonoOutput MonoOutput::fromNBit(uint8_t, int32_t)
static inline MonoOutput fromNBit(uint8_t bits, int32_t l) { return MonoOutput(SCALE_AUDIO(l, bits)); }
call of overloaded 'fromNBit(int, long unsigned int)' is ambiguous
LowPassFilteX2 = Did not compile;
Arduino: 1.8.16 (Windows 10), TD: 1.55, Board: "Teensy 4.1, Serial, 600 MHz, Faster, US English"
In file included from C:\Users\User\Documents\Arduino\libraries\Mozzi/MozziGuts.h:195:0,
from C:\Users\User\Documents\Arduino\libraries\Mozzi\examples\10.Audio_Filters\LowPassFilterX2\LowPassFilterX2.ino:19:
C:\Users\User\Documents\Arduino\libraries\Mozzi/AudioConfigTeensy4_10bitPwm.h:4:2: warning: #warning If you get a compilation error you should probably update Teensyduino to its latest version [-Wcpp]
#warning If you get a compilation error you should probably update Teensyduino to its latest version
LowPassFilterX2: In function 'int updateAudio()':
LowPassFilterX2:57: error: expected ')' before ';' token
return MonoOutput::fromAlmostNBit(9, (((char)lpf1.next(aCrunchySound1.next()))>>1) + (char)lpf2.next(aCrunchySound2.next());
expected ')' before ';' token
StateVariableFilter = Did not compile;
Arduino: 1.8.16 (Windows 10), TD: 1.55, Board: "Teensy 4.1, Serial, 600 MHz, Faster, US English"
In file included from C:\Users\User\Documents\Arduino\libraries\Mozzi/MozziGuts.h:195:0,
from C:\Users\User\Documents\Arduino\libraries\Mozzi\examples\10.Audio_Filters\StateVariableFilter\StateVariableFilter.ino:19:
C:\Users\User\Documents\Arduino\libraries\Mozzi/AudioConfigTeensy4_10bitPwm.h:4:2: warning: #warning If you get a compilation error you should probably update Teensyduino to its latest version [-Wcpp]
#warning If you get a compilation error you should probably update Teensyduino to its latest version
StateVariableFilter: In function 'int updateAudio()':
StateVariableFilter:55: error: call of overloaded 'fromAlmostNBit(int, int)' is ambiguous
return MonoOutput::fromAlmostNBit(12, svf.next(aNoise.next()));
In file included from C:\Users\User\Documents\Arduino\libraries\Mozzi/MozziGuts.h:223:0,
from C:\Users\User\Documents\Arduino\libraries\Mozzi\examples\10.Audio_Filters\StateVariableFilter\StateVariableFilter.ino:19:
C:\Users\User\Documents\Arduino\libraries\Mozzi/AudioOutput.h:173:28: note: candidate: static MonoOutput MonoOutput::fromAlmostNBit(uint8_t, int16_t)
static inline MonoOutput fromAlmostNBit(uint8_t bits, int16_t l) { return MonoOutput(SCALE_AUDIO_NEAR(l, bits)); }
C:\Users\User\Documents\Arduino\libraries\Mozzi/AudioOutput.h:175:28: note: candidate: static MonoOutput MonoOutput::fromAlmostNBit(uint8_t, int32_t)
static inline MonoOutput fromAlmostNBit(uint8_t bits, int32_t l) { return MonoOutput(SCALE_AUDIO_NEAR(l, bits)); }
call of overloaded 'fromAlmostNBit(int, int)' is ambiguous
These were all unmodified sketches, so I don't think it's me causing the compile errors, but if I'm doing something wrong please let me know. I tried loading a few of my own sketches and they all compiled ok (although I didn't have any pots connected or MIDI keyboards added).
Thanks for taking the time to update the library!
Gary