Getting started with MIDI 2.0 development - On-demand hero

Creative Coding

Getting started with MIDI 2.0 development - On-demand

Level

Beginner

Duration

5h 44m of video content

Format

Self-paced video

Added

03/11/2021

Watch a preview

Part 1 - Background and MIDI-CI

Course overview

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.

Learning outcomes

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

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

Requirements

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

Course content

Course Overview

3 lessons

+
  • What you will learn in this course
  • Requirements
  • Preparation

Getting started with MIDI 2.0 development - Session 1 / On-demand

9 videos, 4 resources

+

Getting started with MIDI 2.0 development - Session 2 / On-demand

10 videos, 4 resources

+

Getting started with MIDI 2.0 development - Session 3 / On-demand

10 videos, 4 resources

+
  • Week 3 presentation slides
  • Download file and links
  • Test program to download
  • Week 3 exercises
  • Part 1 - Profiles Introduction
    Checking access...
  • Part 2 - Exercise 1 + Solutions
    Checking access...
  • Part 3 - Addendum to Previous Session
    Checking access...
  • Part 4 - Profiles implementation
    Checking access...
  • Exercise 2 + Solutions
    Checking access...
  • Part 5 - Class Design
    Checking access...
  • Part 6 - Unit Testing - Profiles
    Checking access...
  • Part 7 - Exercise 3 + Solutions
    Checking access...
  • Part 8 - Profile Handler Implementation
    Checking access...
  • Exercise 4 +Solutions
    Checking access...

Getting started with MIDI 2.0 development - Session 4 / On-demand

8 videos, 3 resources

+
  • Session 4 zip file to download
  • Breakout room activities
  • Week 4 presentation slides
  • Part 1 - Property Exchange
    Checking access...
  • Exercise 1 + Solutions
    Checking access...
  • Part 2 - PE Implementation
    Checking access...
  • Exercise 2 + Solutions
    Checking access...
  • Part 3 - Protocol Negotiation and UMP
    Checking access...
  • Exercise 3 + Solutions
    Checking access...
  • Part 4 - MIDI 2 Channel Voice Messages
    Checking access...
  • Exercise 4 + Solutions
    Checking access...

Instructors

Brett  Porter

Brett Porter

Instructor

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.

Frequently asked questions