<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>
<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY.-->
<c74object module="rnbo" kind="rnboobject" name="makenote" category="MIDI">
<!--METADATA-->
<metadatalist>
<metadata name="author">Cycling '74</metadata>
</metadatalist>
<digest>Generate a note-on/note-off pair</digest>
<description><p>
Outputs a MIDI note-on message paired with a velocity value, followed by a note-off message after a specified amount of time. This allows for generative MIDI output without having to manage note-off generation.
</p></description>
<!--ARGUMENTS-->
<objarglist>
<objarg name="velocity" optional="1" type="number">
<digest>MIDI velocity input</digest>
<description><p>
A number received in the second inlet is stored as a velocity to be paired with pitch numbers received in the left inlet. A default velocity can be typed-in as the first argument to makenote.
</p></description>
</objarg>
<objarg name="duration" optional="1" type="number">
<digest>duration</digest>
<description><p>
A number received in the third inlet is stored as the duration that makenote waits before a note-off message is sent out. A default duration can be typed-in as the second argument to makenote.
</p></description>
</objarg>
</objarglist>
<!--OPTIONS-->
<rnbooptionlist>
<option name="repeatmode" size="1" type="enum">
<digest>Determines what happens when a note is re-triggered.</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="none"></enum>
<enum name="sendnoteoff"></enum>
<enum name="cancelnoteoff"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="none"></attribute>
</attributelist>
<description><p>
The 
<m>repeatmode</m>
 attribute sets behavior when a note is retriggered. The modes are:
</p>
<p>
none: There is no pre-specified behavior when when you repeat a pitch before the note-off for that pitch has been sent.
</p>
<p>
sendnoteoff: If a note is still playing when you retrigger it, the makenote object will send a note-off (velocity 0) message to stop the first note and then send a new note-on message.
</p>
<p>
cancelnoteoff: If a note is still playing when you retrigger it, the makenote object will cancel the scheduled output of the first note - only the last played note will send note-off (velocity 0) message.
</p></description>
</option>
</rnbooptionlist>
<!--ATTRIBUTES-->
<rnboattributelist>
<attribute name="duration" size="1" type="number">
<digest>duration</digest>
<description><p>
A number received in the third inlet is stored as the duration that makenote waits before a note-off message is sent out. A default duration can be typed-in as the second argument to makenote.
</p></description>
</attribute>
<attribute name="notenumber" size="1" type="number">
<digest>MIDI note number input</digest>
<description><p>
A number received in the first inlet is treated as a pitch value for a MIDI note-on message. It is paired with a velocity value and the numbers are sent out the outlets. After a certain time, a note-off message (a note-on with a velocity of 0) is sent out for that pitch.
</p></description>
</attribute>
<attribute name="velocity" size="1" type="number">
<digest>MIDI velocity input</digest>
<description><p>
A number received in the second inlet is stored as a velocity to be paired with pitch numbers received in the left inlet. A default velocity can be typed-in as the first argument to makenote.
</p></description>
</attribute>
</rnboattributelist>
<!--INLETS-->
<rnboinletlist>
<inlet id="inlet_notenumber" name="notenumber" type="number">
<digest>MIDI note number input</digest>
<description><p>
A number received in the first inlet is treated as a pitch value for a MIDI note-on message. It is paired with a velocity value and the numbers are sent out the outlets. After a certain time, a note-off message (a note-on with a velocity of 0) is sent out for that pitch.
</p></description>
</inlet>
<inlet id="inlet_velocity" name="velocity" type="number">
<digest>MIDI velocity input</digest>
<description><p>
A number received in the second inlet is stored as a velocity to be paired with pitch numbers received in the left inlet. A default velocity can be typed-in as the first argument to makenote.
</p></description>
</inlet>
<inlet id="inlet_duration" name="duration" type="number">
<digest>duration</digest>
<description><p>
A number received in the third inlet is stored as the duration that makenote waits before a note-off message is sent out. A default duration can be typed-in as the second argument to makenote.
</p></description>
</inlet>
</rnboinletlist>
<!--OUTLETS-->
<rnbooutletlist>
<outlet id="outlet_notenumber_out" name="notenumber_out" type="number">
<digest>MIDI note number output</digest>
<description><p>
Out left outlet: The number received in the left inlet is sent out immediately, paired with a velocity value out the other outlet. After a certain duration, the same number is sent out paired with a velocity of 0.
</p></description>
</outlet>
<outlet id="outlet_velocity_out" name="velocity_out" type="number">
<digest>MIDI velocity output</digest>
<description><p>
Out right outlet: The number in the middle inlet is sent out as a velocity value in conjunction with a pitch value out the left outlet. After a certain duration, 0 is sent out paired with the same pitch.
</p></description>
</outlet>
</rnbooutletlist>
<!--SEE ALSO-->
<seealsolist>
<seealso name="makenote" type="refpage" module="Max"></seealso>
<seealso name="rnbo_noteout" type="rnborefpage" module="RNBO" display="noteout"></seealso>
<seealso name="rnbo_midiparse" type="rnborefpage" module="RNBO" display="midiparse"></seealso>
<seealso name="rnbo_midiin" type="rnborefpage" module="RNBO" display="midiin"></seealso>
</seealsolist>
</c74object>