MIDI_CREATE_INSTANCE issues after update (Teensy 3.6)

Status
Not open for further replies.
Hey there,

I just finally updated my Arduino environment and Teensy libraries to the latest version and ... I think I shouldn't have.

I'm getting a lot of compiler issues on a project I've been working on for a while. It's erroring out on the MIDI_CREATE_INSTANCE call. Found that the DualMerger example causes the exact same issues (see errors below).

Using Teensy 3.6 with Serial+Midi.

Any help would be appreciated.
Thanks!

Daniel


The errors I get when compiling the DualMerger example (which are looking almost the same as the ones I have in my project ... see reply below)
Code:
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:35:0,
                 from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\examples\DualMerger\DualMerger.ino:1:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/serialMIDI.h:102:61: error: no matching function for call to 'midi::SerialMIDI<HardwareSerial>::SerialMIDI(usb_serial_class&)'
     MIDI_NAMESPACE::SerialMIDI<Type> serial##Name(SerialPort);\
                                                             ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\examples\DualMerger\DualMerger.ino:23:5: note: in expansion of macro 'MIDI_CREATE_INSTANCE'
     MIDI_CREATE_INSTANCE(HardwareSerial, Serial,     midiA);
     ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/serialMIDI.h:48:2: note: candidate: midi::SerialMIDI<SerialPort, _Settings>::SerialMIDI(SerialPort&) [with SerialPort = HardwareSerial; _Settings = midi::DefaultSerialSettings]
  SerialMIDI(SerialPort& inSerial)
  ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/serialMIDI.h:48:2: note:   no known conversion for argument 1 from 'usb_serial_class' to 'HardwareSerial&'
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/serialMIDI.h:43:7: note: candidate: constexpr midi::SerialMIDI<HardwareSerial>::SerialMIDI(const midi::SerialMIDI<HardwareSerial>&)
 class SerialMIDI
       ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/serialMIDI.h:43:7: note:   no known conversion for argument 1 from 'usb_serial_class' to 'const midi::SerialMIDI<HardwareSerial>&'
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/serialMIDI.h:43:7: note: candidate: constexpr midi::SerialMIDI<HardwareSerial>::SerialMIDI(midi::SerialMIDI<HardwareSerial>&&)
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/serialMIDI.h:43:7: note:   no known conversion for argument 1 from 'usb_serial_class' to 'midi::SerialMIDI<HardwareSerial>&&'
Multiple libraries were found for "MIDI.h"
 Used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI
 Not used: C:\Users\Horstmaista\Documents\Arduino\libraries\MIDI_Library
Error compiling for board Teensy 3.6.
 
Here are the errors from my project:

Code:
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:307:0,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiControl.h:13,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiControl.cpp:1:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::send(midi::MidiType, midi::DataByte, midi::DataByte, midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]':
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:230:9:   required from 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendNoteOn(midi::DataByte, midi::DataByte, midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]'
C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiControl.cpp:152:51:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:180:9: error: 'class HardwareSerial' has no member named 'beginTransmission'
         if (mTransport.beginTransmission(inType))
         ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:204:13: error: 'class HardwareSerial' has no member named 'endTransmission'
             mTransport.endTransmission();
             ^
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:35:0,
                 from C:\Users\Horstmaista\Documents\GitHub\Midimeister\Midimeister.ino:76:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/serialMIDI.h:103:73: error: conflicting declaration 'midi::MidiInterface<midi::SerialMIDI<HardwareSerial> > MIDI'
     MIDI_NAMESPACE::MidiInterface<MIDI_NAMESPACE::SerialMIDI<Type>> Name((MIDI_NAMESPACE::SerialMIDI<Type>&)serial##Name);
                                                                         ^
C:\Users\Horstmaista\Documents\GitHub\Midimeister\Midimeister.ino:124:1: note: in expansion of macro 'MIDI_CREATE_INSTANCE'
 MIDI_CREATE_INSTANCE(HardwareSerial, Serial1, MIDI);
 ^
In file included from C:\Users\Horstmaista\Documents\GitHub\Midimeister\Midimeister.ino:77:0:
C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiControl.h:16:38: note: previous declaration as 'midi::MidiInterface<HardwareSerial> MIDI'
 extern MidiInterface<HardwareSerial> MIDI;
                                      ^
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:307:0,
                 from C:\Users\Horstmaista\Documents\GitHub\Midimeister\Midimeister.ino:76:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendRealTime(midi::MidiType) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform]':
C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiIn.h:276:26:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:505:13: error: 'class HardwareSerial' has no member named 'beginTransmission'
             if (mTransport.beginTransmission(inType))
             ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:508:17: error: 'class HardwareSerial' has no member named 'endTransmission'
                 mTransport.endTransmission();
                 ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::begin(midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::Channel = unsigned char]':
C:\Users\Horstmaista\Documents\GitHub\Midimeister\Midimeister_midi.ino:26:31:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:75:5: error: no matching function for call to 'HardwareSerial::begin()'
     mTransport.begin();
     ^
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/WProgram.h:46:0,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\pch\Arduino.h:6:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/HardwareSerial.h:262:15: note: candidate: virtual void HardwareSerial::begin(uint32_t)
  virtual void begin(uint32_t baud);
               ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/HardwareSerial.h:262:15: note:   candidate expects 1 argument, 0 provided
C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/HardwareSerial.h:263:15: note: candidate: virtual void HardwareSerial::begin(uint32_t, uint32_t)
  virtual void begin(uint32_t baud, uint32_t format) {
               ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/HardwareSerial.h:263:15: note:   candidate expects 2 arguments, 0 provided
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:307:0,
                 from C:\Users\Horstmaista\Documents\GitHub\Midimeister\Midimeister.ino:76:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:97:21: error: 'class HardwareSerial' has no member named 'thruActivated'
     mThruActivated  = mTransport.thruActivated;
                     ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::send(midi::MidiType, midi::DataByte, midi::DataByte, midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]':
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:274:9:   required from 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendControlChange(midi::DataByte, midi::DataByte, midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]'
C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiIn.h:245:48:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:180:9: error: 'class HardwareSerial' has no member named 'beginTransmission'
         if (mTransport.beginTransmission(inType))
         ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:204:13: error: 'class HardwareSerial' has no member named 'endTransmission'
             mTransport.endTransmission();
             ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendSysEx(unsigned int, const byte*, bool) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; byte = unsigned char]':
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:1464:26:   required from 'void midi::MidiInterface<Transport, _Settings, _Platform>::thruFilter(midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::Channel = unsigned char]'
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:774:15:   required from 'bool midi::MidiInterface<Transport, _Settings, _Platform>::read(midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::Channel = unsigned char]'
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:706:16:   required from 'bool midi::MidiInterface<Transport, _Settings, _Platform>::read() [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform]'
C:\Users\Horstmaista\Documents\GitHub\Midimeister\Midimeister.ino:367:12:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:363:5: error: 'class HardwareSerial' has no member named 'beginTransmission'
     if (mTransport.beginTransmission(MidiType::SystemExclusiveStart))
     ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:374:9: error: 'class HardwareSerial' has no member named 'endTransmission'
         mTransport.endTransmission();
         ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendCommon(midi::MidiType, unsigned int) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform]':
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:432:15:   required from 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendSongSelect(midi::DataByte) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char]'
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:1468:31:   required from 'void midi::MidiInterface<Transport, _Settings, _Platform>::thruFilter(midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::Channel = unsigned char]'
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:774:15:   required from 'bool midi::MidiInterface<Transport, _Settings, _Platform>::read(midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::Channel = unsigned char]'
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:706:16:   required from 'bool midi::MidiInterface<Transport, _Settings, _Platform>::read() [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform]'
C:\Users\Horstmaista\Documents\GitHub\Midimeister\Midimeister.ino:367:12:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:457:5: error: 'class HardwareSerial' has no member named 'beginTransmission'
     if (mTransport.beginTransmission(inType))
     ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:477:9: error: 'class HardwareSerial' has no member named 'endTransmission'
         mTransport.endTransmission();
         ^
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:307:0,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiControl.h:13,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiIn.h:6,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiIn.cpp:1:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendRealTime(midi::MidiType) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform]':
C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiIn.h:276:26:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:505:13: error: 'class HardwareSerial' has no member named 'beginTransmission'
             if (mTransport.beginTransmission(inType))
             ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:508:17: error: 'class HardwareSerial' has no member named 'endTransmission'
                 mTransport.endTransmission();
                 ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::send(midi::MidiType, midi::DataByte, midi::DataByte, midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]':
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:274:9:   required from 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendControlChange(midi::DataByte, midi::DataByte, midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]'
C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiIn.h:245:48:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:180:9: error: 'class HardwareSerial' has no member named 'beginTransmission'
         if (mTransport.beginTransmission(inType))
         ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:204:13: error: 'class HardwareSerial' has no member named 'endTransmission'
             mTransport.endTransmission();
             ^
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:307:0,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiControl.h:13,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\globalSettings.h:12,
                 from C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\globalSettings.cpp:1:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendRealTime(midi::MidiType) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform]':
C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiIn.h:276:26:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:505:13: error: 'class HardwareSerial' has no member named 'beginTransmission'
             if (mTransport.beginTransmission(inType))
             ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:508:17: error: 'class HardwareSerial' has no member named 'endTransmission'
                 mTransport.endTransmission();
                 ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp: In instantiation of 'void midi::MidiInterface<Transport, _Settings, _Platform>::send(midi::MidiType, midi::DataByte, midi::DataByte, midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]':
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:274:9:   required from 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendControlChange(midi::DataByte, midi::DataByte, midi::Channel) [with Transport = HardwareSerial; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]'
C:\Users\HORSTM~1\AppData\Local\Temp\arduino_build_36509\sketch\midiIn.h:245:48:   required from here
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:180:9: error: 'class HardwareSerial' has no member named 'beginTransmission'
         if (mTransport.beginTransmission(inType))
         ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:204:13: error: 'class HardwareSerial' has no member named 'endTransmission'
             mTransport.endTransmission();
             ^
Multiple libraries were found for "atomic.h"
 Used: C:\Users\Horstmaista\Documents\Arduino\libraries\ADC-master
 Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\ADC
Multiple libraries were found for "SD.h"
 Used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD
 Not used: C:\Program Files (x86)\Arduino\libraries\SD
Multiple libraries were found for "MIDI.h"
 Used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI
 Not used: C:\Users\Horstmaista\Documents\Arduino\libraries\MIDI_Library
Error compiling for board Teensy 3.6.
 
I found an old Teensy install on an old laptop. Copied over and works now.
Would still be good to know what I'd need to fix to use the latest libs. Thanks!
 
Status
Not open for further replies.
Back
Top