SDK v2.2, and looking ahead

With firmware v2.2 comes SDK v2.2, and it supports polyphony natively (i.e. with CoreProcessor modules). To take advantage of it, derive your class from CoreProcessorPoly and then implement the get_poly_input_buffer() and get_poly_output_buffer() functions. You can see examples of this in FMCore.cc or KPLSCore.cc, or in the helper class PolyCoreProcessor or SmartCoreProcessorPoly.

These classes are all just stop-gap measures because we wanted to support polyphonic jacks and cables and still be backwards compatible with existing plugins (i.e. not breaking the API).
But, migrating in the future will be painless – we’ll end up merging the new virtual functions into the CoreProcessor class, and then make the CoreProcessorPoly class be a using alias for CoreProcessor. So v2.2 plugins should re-compile with v3.x SDK without any changes (at least to this section of the code).

v2.2 also adds native MIDI stream classes MidiInput and MidiOutput

Coming soon (v2.3?) I have planned:

  • USB status queries (device/host mode, name and IDs of attached devices, names of USB MIDI jacks)
  • Patch modification (add/remove cables, modules, mappings)
  • Patch query (list of modules, cables, mappings)
2 Likes