From 6a213f643bcee208afe6f1808e7ce4b634e39852 Mon Sep 17 00:00:00 2001 From: David Runge Date: Sun, 18 Mar 2018 00:57:06 +0100 Subject: Adding classes/MIDIState{,Manager}.sc, taking care of early stages of state management. Making constructors more readable. Adding MIDIStateManager to USBMIDIIsm. Creating/recycling states for new and re-recognized MIDI devices. --- classes/MIDIStateManager.sc | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 classes/MIDIStateManager.sc (limited to 'classes/MIDIStateManager.sc') diff --git a/classes/MIDIStateManager.sc b/classes/MIDIStateManager.sc new file mode 100644 index 0000000..ec4b53c --- /dev/null +++ b/classes/MIDIStateManager.sc @@ -0,0 +1,41 @@ +MIDIStateManager{ + + var = 0),{ + deviceStates[devicePosition].connected=true; + ^deviceStates[devicePosition]; + },{ + deviceStates = deviceStates.add( + MIDIState.new(name, uid, inPortNum, outPortNum) + ); + ^deviceStates[deviceStates.size-1]; + }); + } + + listStates{ + deviceStates.do({|state, i| + postln(i.asString++": ["++state.name++", "++state.uid++", "++state.inPortNum++", "++state.outPortNum++", "++state.connected++"]"); + }); + } +} -- cgit v1.2.3-54-g00ecf