Build a MIDI 2.0 program using the Apple UMP API – Workshop 2 / December 6th

Date & Time: Monday 6th December 2021 6pm UK / 7pm Berlin / 10am LA / 1pm NYC

This workshop builds on the first UMP Workshop, and focuses on C++ development using the new Apple UMP API. Automatic 20% discount will be applied at checkout to this workshop if purchased at the same time as the first workshop.

2-hours

Difficulty level: Advanced

  • Inspect the new Apple UMP API
  • What can be done with the API, where are limitations?
  • Build a simple UMP program in C++

Overview

This workshop builds on Workshop 1, and will provide developers with knowledge and code for implementing MIDI 2.0 Universal MIDI Packet (UMP) development using the Apple UMP API in C++. The Apple UMP API will be presented and explained. Then, the participants will co-develop a simple implementation in C++ using the Apple UMP API. For that, a stub workspace will be provided. Exercises will let the participants practice the newly learned concepts. Xcode on MacOS 11 required for building the workshop code.

Learning outcomes

At the end of the workshop the participants will:

  • Be able to build MIDI 2.0 products using UMP using the Apple UMP API

Study Topics

  • Looking at the Apple UMP API
  • Extending the code from Workshop 1 with Apple i/o
  • Presenting fragments of the code in the stub workspace
  • Testing and interoperability with MIDI 1.0

Level of experience required

  • Attendees who joined workshop 1 <add link>
  • Some experience with C++ coding required
  • Attendees should be familiar with MIDI 1.0; they should have experience building and debugging applications using Xcode (macOS)

Any technical requirements for participants 

  • A computer and internet connection
  • A webcam and mic
  • A Zoom account
  • for development: Xcode on MacOS 11

About the workshop leader 

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.

MIDI 2.0 – Introduction to the Universal MIDI Packet – Workshop 1 / November 29th

Date & Time: Monday 29th November 2021 6pm UK / 7pm Berlin / 10am LA / 1pm NYC

This workshop is followed by two more workshops exploring the specific implementations with Apple UMP API and the JUCE UMP API (cross-platform). Automatic 20% discount on workshop 2 and/or 3 will be applied when purchased with this workshop.

2- hours

Difficulty level: Advanced

MIDI 2.0 is set to power the next generation of hardware and software with enhanced features for discovery, expression and faster communication. The Universal MIDI Packet (UMP) is a fundamental aspect of MIDI 2.0, which allows programs to negotiate and communicate with MIDI 1.0 and MIDI 2.0 products.

In this workshop, you will learn from a member of the MIDI Association Technology Standard Board, who wrote the specifications, how to get started working with UMP, and write a simple C++ program that utilises UMP.

Overview

This workshop will provide developers with knowledge and code for starting MIDI 2.0 Universal MIDI Packet (UMP) development in C++. The concepts of UMP will be explained. Then, the participants will co-develop a first simple implementation of a generic UMP parser in plain C++. For that, a stub workspace will be provided. Exercises will let the participants practice the newly learned concepts.

Who is this workshop for:

Developers wanting to learn how the new MIDI 2.0 packet format works under the hood, and how to get started writing software for it right away.

Learning outcomes

At the end of the workshop the participants will:

  • Understand the core concepts of UMP
  • Be able to build applications in C++ using UMP

Study Topics

  • UMP Basics
  • packet format
  • MIDI 1.0 in UMP
  • MIDI 2.0 in UMP
  • Translation
  • Protocol Negotiation in MIDI-CI
  • Inspecting the UMP C++ class in the stub workspace
  • A simple UMP parser in C++
  • Unit Testing the UMP class

Level of experience required: 

  • Some experience with C++ coding
  • Have a development environment set up and ready with Xcode (macOS) or Visual Studio (Windows).
  • Working knowledge of MIDI 1.0

Any technical requirements for participants 

  • A computer and internet connection
  • A webcam and mic
  • A Zoom account
  • Xcode (macOS) / Visual Studio (Windows)

About the workshop leader 

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.