<?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="rate~" category="">
<!--METADATA-->
<metadatalist>
<metadata name="author">Cycling '74</metadata>
<metadata name="tag">RNBO</metadata>
<metadata name="tag">RNBO Modifiers</metadata>
</metadatalist>
<digest>Time-scale the output of a phasor~ or 0. - 1. ramp</digest>
<description><p>
Time-scale the output of a phasor~ (or ramp between 0. - 1.).
</p></description>
<!--ARGUMENTS-->
<objarglist>
<objarg name="multiplier" optional="1" type="auto">
<digest>rate multiplier</digest>
<description><p>
The multiplier value used to scale the output.
</p></description>
</objarg>
</objarglist>
<!--OPTIONS-->
<rnbooptionlist>
<option name="sync" size="1" type="enum">
<digest>Sets the sync mode.</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="off"></enum>
<enum name="lock"></enum>
<enum name="cycle"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="off"></attribute>
</attributelist>
<description><p>
Sets the sync mode of the rate~ object. The sync mode determines whether or not the rate~ object will stay in phase with the input signal, and the method used for synchronization. When the output of the rate~ object is "in phase," the input and output signals align precisely at the least common multiple of their periods (i.e., they pass through zero and begin a new cycle at precisely the same time). If the signals are in phase, and a new multiplier value is received, the rate~ object changes the frequency of its output ramp accordingly. However, the change in multiplier values means that the two signals may be out of phase. The rate~ object handles this situation in one of three different ways, depending on the sync mode.
</p>
<p>
Possible values:
</p>
<p>
0 = 'off' ( Disable the sync mode )
The arguments 
<m>@sync 0</m>
 or 
<m>@sync off</m>
 disables the sync mode of the rate~ object (the default mode). In this mode rate~ never responds to phase differences; when a new multiplier is received, the rate~ object adjusts the speed of its output ramps and they continue without interruption. Since this mode never introduces a discontinuous jump in the ramp signal, it may be useful if phase is unimportant.
</p>
<p>
1 = 'lock' ( Set the lock mode for sync )
The arguments 
<m>@sync 1</m>
 or 
<m>@sync lock</m>
 set the lock mode of the rate~ object. In sync lock mode, the rate~ object performs synchronization whenever a new multiplier is received. The rate~ object immediately calculates the proper ramp position which corresponds to being "in phase" with the new multiplier value, and jumps to that position.
</p>
<p>
2 = 'cycle' ( Set the cycle mode for sync )
The arguments 
<m>@sync 2</m>
 or 
<m>@sync cycle</m>
 set the cycle mode of the rate~ object. In cycle mode, the rate~ object does not change the phase of its output until the end of the current cycle. When the input ramp reaches its peak and starts over from zero, the rate~ object immediately restarts the output ramp, causing a discontinuity in the output signal, and immediate phase synchronization.
</p></description>
</option>
</rnbooptionlist>
<!--ATTRIBUTES-->
<rnboattributelist>
<attribute name="multiplier" size="1" type="auto">
<digest>rate multiplier</digest>
<description><p>
The multiplier value used to scale the output.
</p></description>
</attribute>
<attribute name="phase" size="1" type="auto">
<digest>phase to multiply</digest>
<description><p>
The input to be scaled. Typically supplied by the output of a phasor~, this value should be between 0. and 1..
</p></description>
</attribute>
<attribute name="reset" size="1" type="bang">
<digest>Banging this attribute will reset the object to its default state.</digest>
<attributelist>
<attribute name="default" type="bang" value="0"></attribute>
</attributelist>

</attribute>
</rnboattributelist>
<!--INLETS-->
<rnboinletlist>
<inlet id="inlet_phase" name="phase" type="auto">
<digest>phase to multiply</digest>
<description><p>
The input to be scaled. Typically supplied by the output of a phasor~, this value should be between 0. and 1..
</p></description>
</inlet>
<inlet id="inlet_multiplier" name="multiplier" type="auto">
<digest>rate multiplier</digest>
<description><p>
The multiplier value used to scale the output.
</p></description>
</inlet>
</rnboinletlist>
<!--OUTLETS-->
<rnbooutletlist>
<outlet id="outlet_out1" name="out1" type="signal">
<digest>out1</digest>

</outlet>
</rnbooutletlist>
<!--SEE ALSO-->
<seealsolist>
<seealso name="rate~" type="refpage" module="MSP"></seealso>
<seealso name="rnbo_rate" type="rnborefpage" module="RNBO" display="rate"></seealso>
<seealso name="rnbo_bline" type="rnborefpage" module="RNBO" display="bline"></seealso>
<seealso name="rnbo_line~" type="rnborefpage" module="RNBO" display="line~"></seealso>
<seealso name="rnbo_phasor~" type="rnborefpage" module="RNBO" display="phasor~"></seealso>
<seealso name="rnbo_line~" type="rnborefpage" module="RNBO" display="line~"></seealso>
<seealso name="rnbo_snapshot~" type="rnborefpage" module="RNBO" display="snapshot~"></seealso>
</seealsolist>
</c74object>