<?xml version='1.0' encoding='UTF-8'?>
<MNPreset formatVersion="1">
  <metadata name="MIDI - your first playable synth" author="MNodes" category="Learn" type="Instrument" description="Play the on-screen MIDI Keyboard, host notes or an enabled controller. Hold is Off. Note Hz sets Saw frequency; Gate opens an ADSR envelope, whose CV sets Gain on the first Volume. The second Volume, before Audio Out, is 0.10 Linear; set its Gain to 0 to mute. All nodes retain their original names. Monophonic, last-note priority." bundle="" tags="" createdAt="1789603200000" modifiedAt="1789603200000" pluginVersion="1.1.1" isFavorite="0" preferredOpenMode="edit" />
  <state>
    <marionietoworld.MNodes_State pv="1.1.1" gridActive="0" gridSize="60" viewOffsetX="0" viewOffsetY="0" zoom="0.65" didInitView="1" toolbarX="-1" toolbarY="-1" toolbarExpanded="0" transportBpm="120" transportSync="0" transportTimeSigNum="4" transportTimeSigDen="4">
      <nodes nextId="10">
        <node id="1" type="midi.in" title="MIDI In" expanded="1" x="30.0" y="30.0">
          <state />
        </node>
        <node id="2" type="midi.keyboard" title="MIDI Keyboard" expanded="1" x="250.0" y="30.0">
          <state hold="0" channel="1" lowestNote="60" highestNote="72" />
        </node>
        <node id="3" type="midi.toCV" title="MIDI To CV" expanded="1" x="780.0" y="30.0">
          <state />
        </node>
        <node id="4" type="midi.monitor" title="MIDI Monitor" expanded="1" x="250.0" y="420.0">
          <state pause="0" channel="0" showTime="0" />
        </node>
        <node id="5" type="audio.saw" title="Saw" expanded="1" x="1110.0" y="30.0">
          <state freq="261.6256" />
        </node>
        <node id="6" type="audio.envelope" title="Envelope" expanded="1" x="1010.0" y="370.0">
          <state attack="10" decay="150" sustain="0.65" release="250" atkCurve="0" decCurve="0" relCurve="0" />
        </node>
        <node id="7" type="audio.gain" title="Volume" expanded="1" x="1470.0" y="30.0">
          <state gain="0" unit="0" smoothMs="0" />
        </node>
        <node id="8" type="audio.gain" title="Volume" expanded="1" x="1470.0" y="285.0">
          <state gain="0.1" unit="0" smoothMs="15" />
        </node>
        <node id="9" type="audio.out" title="Audio Out" expanded="1" x="1740.0" y="285.0">
          <state channels="2" />
        </node>
      </nodes>
      <ui>
        <selection primary="0" />
        <edgeSelection hasPrimary="0" />
      </ui>
      <edges>
        <e fn="1" fp="0" tn="2" tp="0" />
        <e fn="2" fp="1" tn="3" tp="0" />
        <e fn="2" fp="1" tn="4" tp="0" />
        <e fn="3" fp="11" tn="5" tp="0" />
        <e fn="3" fp="32779" tn="5" tp="32768" />
        <e fn="3" fp="2" tn="6" tp="0" />
        <e fn="3" fp="32770" tn="6" tp="32768" />
        <e fn="6" fp="117" tn="7" tp="10" />
        <e fn="6" fp="32885" tn="7" tp="32778" />
        <e fn="5" fp="100" tn="7" tp="0" />
        <e fn="7" fp="1" tn="8" tp="0" />
        <e fn="8" fp="1" tn="9" tp="0" />
        <e fn="8" fp="1" tn="9" tp="1" />
      </edges>
      <audioPreview loop="0" autoplay="1" gain="1" />
    </marionietoworld.MNodes_State>
  </state>
</MNPreset>
