<?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="cycle~" category="Generators">
<!--METADATA-->
<metadatalist>
<metadata name="author">Cycling '74</metadata>
<metadata name="tag">RNBO</metadata>
<metadata name="tag">RNBO Synthesis</metadata>
<metadata name="tag">RNBO Oscillators</metadata>
</metadatalist>
<digest>A periodic waveform oscillator.</digest>
<description><p>
Generate a periodic waveform. The default waveform is one cycle of a cosine wave, but can be set to reference a named buffer.
</p></description>
<!--ARGUMENTS-->
<objarglist>
<objarg name="frequency" optional="1" type="auto">
<digest>Frequency or phase</digest>
<description><p>
Depending on the index mode this is the frequency (in Hz) or the phase (0. - 1.).
</p></description>
</objarg>
<objarg name="buffername" optional="1" type="symbol">
<digest>buffer to read the wavetable from (default: sinus)</digest>
<description><p>
The buffername attribute followed by the name of a valid buffer will fill the cycle~ wavetable with the values from that buffer instead of the default wavetable.
</p></description>
</objarg>
</objarglist>
<!--OPTIONS-->
<rnbooptionlist>
<option name="buffername" size="1" type="symbol">
<digest>buffer to read the wavetable from (default: sinus)</digest>
<attributelist>
<attribute name="default" type="symbol" value="RNBODefaultSinus"></attribute>
</attributelist>
<description><p>
The buffername attribute followed by the name of a valid buffer will fill the cycle~ wavetable with the values from that buffer instead of the default wavetable.
</p></description>
</option>
<option name="index" size="1" type="enum">
<digest>index mode, freq/phase for being driven by frequency or a phasor</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="freq"></enum>
<enum name="phase"></enum>
<enum name="both"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="freq"></attribute>
</attributelist>
<description><p>
Sets whether the cycle~ index is set using a frequency in hz or phase.
</p>
<ul>
<li>0 = frequency (default)</li>
<li>1  = phase. In this mode the left inlet controls the phase offset position and the right inlet does nothing.</li>
</ul></description>
</option>
<option name="interp" size="1" type="enum">
<digest>interpolation mode</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="linear"></enum>
<enum name="cubic"></enum>
<enum name="spline"></enum>
<enum name="cosine"></enum>
<enum name="step"></enum>
<enum name="none"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="linear"></attribute>
</attributelist>
<description><p>
Sets the interpolation mode for the internal buffer used by cycle~.
</p>
<ul>
<li>linear (default)</li>
<li>cubic</li>
<li>spline</li>
<li>cosine</li>
<li>step</li>
<li>none</li>
</ul></description>
</option>
</rnbooptionlist>
<!--ATTRIBUTES-->
<rnboattributelist>
<attribute name="buffer" size="1" type="number">
<digest>If multiple buffer names are declared to be used, this sets the currently active buffer using an index [0 based].</digest>
<attributelist>
<attribute name="default" type="number" value="0"></attribute>
</attributelist>

</attribute>
<attribute name="frequency" size="1" type="auto">
<digest>Frequency or phase</digest>
<description><p>
Depending on the index mode this is the frequency (in Hz) or the phase (0. - 1.).
</p></description>
</attribute>
<attribute name="phase_offset" size="1" type="auto">
<digest>phase offset amount (0. - 1.)</digest>
<description><p>
If index mode is set to frequency (default), a value between 0. and 1. determines the phase offset. If index mode is set to phase, this inlet does nothing and phase is controlled using the left inlet.
</p></description>
</attribute>
<attribute name="reset" size="1" type="bang">
<digest>Banging this attribute will reset the current phase to 0.</digest>
<attributelist>
<attribute name="default" type="bang" value="0"></attribute>
</attributelist>
<description><p>
Unlike many reset attributes, this does not reset the rest of the operator state, only phase.
</p></description>
</attribute>
</rnboattributelist>
<!--INLETS-->
<rnboinletlist>
<inlet id="inlet_frequency" name="frequency" type="auto">
<digest>Frequency or phase</digest>
<description><p>
Depending on the index mode this is the frequency (in Hz) or the phase (0. - 1.).
</p></description>
</inlet>
<inlet id="inlet_phase_offset" name="phase_offset" type="auto">
<digest>phase offset amount (0. - 1.)</digest>
<description><p>
If index mode is set to frequency (default), a value between 0. and 1. determines the phase offset. If index mode is set to phase, this inlet does nothing and phase is controlled using the left inlet.
</p></description>
</inlet>
</rnboinletlist>
<!--OUTLETS-->
<rnbooutletlist>
<outlet id="outlet_out1" name="out1" type="signal">
<digest>Output</digest>
<description><p>
Oscillator audio output.
</p></description>
</outlet>
<outlet id="outlet_out2" name="out2" type="signal">
<digest>Phase</digest>
<description><p>
The oscillator phase output shows the current phase as it cycles through the internal buffer.
</p></description>
</outlet>
</rnbooutletlist>
<!--SEE ALSO-->
<seealsolist>
<seealso name="cycle~" type="refpage" module="MSP"></seealso>
<seealso name="rnbo_phasor~" type="rnborefpage" module="RNBO" display="phasor~"></seealso>
<seealso name="rnbo_triangle~" type="rnborefpage" module="RNBO" display="triangle~"></seealso>
</seealsolist>
</c74object>