Getting started with MIDI 2.0 development – On-demand
If you’re looking to book multiple tickets, please contact us for an invoice at info@stagingmhs.local
Level: Intermediate, Some experience with C++ coding required, Experience with JUCE recommended
To make the most of this on-demand workshop, participants should have experience building and debugging applications using Xcode (macOS) and Visual Studio (Windows).
Who is this course for:
Developers wanting to learn how MIDI 2.0 works under the hood, and how to get started writing software for it right away
Overview of what participants will learn:
This course will provide developers with knowledge and code for starting MIDI 2.0 development. At first, the concepts of MIDI 2.0 are explained. Then, the participants will co-develop a first implementation of a MIDI-CI parser for robust device discovery, and for querying and offering profiles. For that, a stub workspace will be provided. Exercises will let the participants practice the newly learned concepts. Last, but not least, this course also includes automated testing as a tool to verify the implementation.
Part 1: Overview of MIDI 2, concepts
- MIDI-CI, Profiles, protocol negotiation, PE, UMP
- Concepts
- Tools
- MIDI-CI Message Layout
Part 2: Workspace setup, Basic MIDI 2.0 Discovery
- Workspace setup
- Starting with a unit test
- Implementing a MIDI 2.0 message parser
- Implement MIDI 2.0 discovery
Part 3: Advanced MIDI 2.0 discovery and tests
- making the parser more robust
- MUID collision handling
- Multi-port and MIDI Thru issues
- unit tests + implementation
Part 4: Implementing Profiles. Outlook PE and UMP.
- Use Cases
- Sending and receiving Profile messages
- Implementation and tests
- Quick introduction to PE and to UMP
At the end of the course series, the participants will:
- Know the core concepts of MIDI 2.0
- Understand the MIDI 2.0 discovery protocol
- Be able to build products with MIDI 2.0 discovery
- Be able to build products using MIDI 2.0 Profiles
- Use an initial set of MIDI 2.0 unit tests
Requirements
A computer and internet connection
Xcode (macOS)/Visual Studio (Windows)
JUCE workspace
About the course leaders
Brett Porter is Lead Software Engineer at Artiphon, member of the MIDI Association Executive Board, and chair of the MIDI 2 Prototyping and Testing Working Group. He is based in the New York City area.
Florian Bomers runs his own company Bome Software, creating MIDI tools and hardware. He has been an active MIDI 2.0 working group member since its inception. He serves on the Technical Standards Board of the MIDI Association and chairs the MIDI 2.0 Transports Working Group. He is based in Munich, Germany.