MIDIStateManager{ var <>verbose, = 0),{ deviceStates[devicePosition].connected=true; deviceStates[devicePosition].takeOver(); ^deviceStates[devicePosition]; },{ deviceStates = deviceStates.add( MIDIState.new(name, uid, inPortNum, outPortNum, verbose) ); ^deviceStates[deviceStates.size-1]; }); } listStates{ deviceStates.do({|state, i| postln(i.asString++": ["++state.name++", "++state.uid++", " ++state.inPortNum++", "++state.outPortNum++", " ++state.connected++"]"); }); } }