From b8b73cbfe9eeeb4902fbdbe3e38fdd1d198ffea0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cfred-dev=E2=80=9D?= Date: Thu, 28 Sep 2023 12:15:38 +1000 Subject: [PATCH] Virtual port switch --- .../UserInterfaceState.xcuserstate | Bin 17126 -> 19440 bytes bin/data/MIDI_OSC_SETTINGS.json | 9 ++-- src/ofApp.cpp | 51 +++++++++++------- src/ofApp.h | 2 +- 4 files changed, 36 insertions(+), 26 deletions(-) diff --git a/OSC_MIDI_OSC.xcodeproj/project.xcworkspace/xcuserdata/fredrodrigues.xcuserdatad/UserInterfaceState.xcuserstate b/OSC_MIDI_OSC.xcodeproj/project.xcworkspace/xcuserdata/fredrodrigues.xcuserdatad/UserInterfaceState.xcuserstate index 9e69a7949c69a43a9b5d752974285a20c68676e1..bb066f67cc3f8f027bab647ab03fd5efa8af738e 100644 GIT binary patch delta 8299 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 L>iFv4Kk