Loading Events

Getting started with MIDI 2.0 development - On-demand

Taught by: Brett Porter

This workshop 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 workshop also includes automated testing as a tool to verify the implementation.

Level

What you'll learn

  • Session 1: MIDI-CI, Profiles, protocol negotiation, PE, UMP, Concepts, Tools and MIDI-CI Message Layout
  • Session 2: Workspace setup, Starting with a unit test, Implementing a MIDI 2.0 message parser and Implement MIDI 2.0 discovery
  • Session 3: Making the parser more robust, MUID collision handling, Multi-port and MIDI Thru issues and unit tests + implementation
  • Session 4: Use CasesSending and receiving Profile messages, Implementation and tests and Quick introduction to PE and to UMP

Course content

  • Part 1 - Background and MIDI-CI
  • Session 1 presentation slides
  • Quiz 1 + Answers
  • Validate your learning with an exercise
  • MIDI 2.0 Specification collection download
  • Property Exchange Foundational Resources download
  • Part 2 - Profiles
  • Quiz 2 + Answers
  • Part 3 - Property Exchange
  • Quiz 3 + Answers
  • Part 4 - UMP
  • Quiz 4 + Answers
  • Part 5 - Closing slides & Small talk
  • Session 2 presentation
  • Session 2 zip file to download
  • Session 2 breakout room activities - updated
  • Profile: Default Control Change Mapping download
  • Part 1 - Test-driven development
  • Exercise 1 - Testing
  • Exercise 1 - Solutions
  • Part 2 - MIDI-CI Parser
  • Exercise 2 - “Project” Workspace Setup
  • Exercise 2 - Solutions
  • Part 3 - Unit Tests - Discovery
  • Exercise 3 - Coverage
  • Exercise 3 - Solutions
  • Part 4 - Implementing Discovery + Exercise 4 (Discovery) & Solutions
  • Week 3 presentation slides
  • Download file and links
  • Test program to download
  • Week 3 exercises
  • Part 1 - Profiles Introduction
  • Part 2 - Exercise 1 + Solutions
  • Part 3 - Addendum to Previous Session
  • Part 4 - Profiles implementation
  • Exercise 2 + Solutions
  • Part 5 - Class Design
  • Part 6 - Unit Testing - Profiles
  • Part 7 - Exercise 3 + Solutions
  • Part 8 - Profile Handler Implementation
  • Exercise 4 +Solutions
  • Session 4 zip file to download
  • Breakout room activities
  • Week 4 presentation slides
  • Part 1 - Property Exchange
  • Exercise 1 + Solutions
  • Part 2 - PE Implementation
  • Exercise 2 + Solutions
  • Part 3 - Protocol Negotiation and UMP
  • Exercise 3 + Solutions
  • Part 4 - MIDI 2 Channel Voice Messages
  • Exercise 4 + Solutions
Membership plan: Getting Started | Topic: Creative Coding
{{ error }} {{ success }}

Buy this single course:

£ 149

Add to cart

Requirements

  • A computer and internet connection
  • Xcode (macOS)/Visual Studio (Windows)
  • JUCE workspace

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

Useful links

About the workshop leader

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.