title: How to implement an instrument/score pattern in supercollider?
body: <p>I've been through a few of the tutorials, but none of them seem to get at what, in my opinion, is a sensible architecture:</p>
  
  <ol>
  <li>There are one or more <code>Instrument</code> instances, </li>
  <li>There is a <code>Score</code> which defines a set of  <code>Note</code> objects,</li>
  <li>A <code>Player</code> class (maybe function) that routes the <code>Note</code> instances from the score to the instruments so that music is produced.</li>
  </ol>
  
  <p>What I see in this pattern, but haven't seen in the examples I've read so far, is (a) the total separation between the score and the instruments and (b) explicit definition (in the form of a class and/or API) of the <code>Note</code> objects that tell the instruments what to do.</p>
  
  <p>Are their built in utilities that support this type of operating pattern?</p>
  
  <p>Is this an un-smallalkey way of thinking about the problem?</p>