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++"]"); }); } }