<?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="counter" category="Control">
<!--METADATA-->
<metadatalist>
<metadata name="author">Cycling '74</metadata>
<metadata name="tag">RNBO</metadata>
<metadata name="tag">RNBO Control</metadata>
</metadatalist>
<digest>keep count based on input events</digest>
<description><p>
Outputs the current count of event messages constrained to a specified range. Can be set to count up, down, or up-then-down.
</p></description>
<!--ARGUMENTS-->
<!--NONE-->
<!--OPTIONS-->
<rnbooptionlist>
<option name="inc" size="1" type="number">
<digest>Increment</digest>
<attributelist>
<attribute name="default" type="number" value="1"></attribute>
</attributelist>
<description><p>
Determines the amount that will be added to the count each time a new event message is received in the left inlet.
</p></description>
</option>
</rnbooptionlist>
<!--ATTRIBUTES-->
<rnboattributelist>
<attribute name="carryflag" size="1" type="enum">
<digest>Set underflow/overflow output type</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="numeric"></enum>
<enum name="bang"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="numeric"></attribute>
</attributelist>

</attribute>
<attribute name="direction" size="1" type="number">
<digest>Set Direction: 0 = Up, 1 = Down, 2 = UpDown</digest>

</attribute>
<attribute name="input" size="1" type="bang">
<digest>numbers or bangs here are counted</digest>
<description><p>
When any event message (bang or number) is received in the left inlet, add the 
<m>inc</m>
 value to the current count.
</p></description>
</attribute>
<attribute name="maximum" size="1" type="number">
<digest>Set Maximum</digest>
<description><p>
Sets the maximum count value.
</p></description>
</attribute>
<attribute name="minimum" size="1" type="number">
<digest>minimum</digest>
<attributelist>
<attribute name="default" type="number" value="0"></attribute>
</attributelist>
<description><p>
Set the minimum value for the counting range.
</p></description>
</attribute>
<attribute name="resetnext" size="1" type="number, bang">
<digest>Reset Counter to Number on Next Clock</digest>
<description><p>
A number received in the middle inlet will be output the next time the left inlet receives an event message. Note that this value can be outside the current limits of the counter.
</p></description>
</attribute>
<attribute name="resetnow" size="1" type="number, bang">
<digest>Reset Counter to Number Immediately</digest>
<description><p>
A number received in the right-middle inlet sets the internal state of the counter and is immediately sent out the left outlet.
</p></description>
</attribute>
</rnboattributelist>
<!--INLETS-->
<rnboinletlist>
<inlet id="inlet_input" name="input" type="bang">
<digest>numbers or bangs here are counted</digest>
<description><p>
When any event message (bang or number) is received in the left inlet, add the 
<m>inc</m>
 value to the current count.
</p></description>
</inlet>
<inlet id="inlet_direction" name="direction" type="number">
<digest>Set Direction: 0 = Up, 1 = Down, 2 = UpDown</digest>

</inlet>
<inlet id="inlet_resetnext" name="resetnext" type="number, bang">
<digest>Reset Counter to Number on Next Clock</digest>
<description><p>
A number received in the middle inlet will be output the next time the left inlet receives an event message. Note that this value can be outside the current limits of the counter.
</p></description>
</inlet>
<inlet id="inlet_resetnow" name="resetnow" type="number, bang">
<digest>Reset Counter to Number Immediately</digest>
<description><p>
A number received in the right-middle inlet sets the internal state of the counter and is immediately sent out the left outlet.
</p></description>
</inlet>
<inlet id="inlet_maximum" name="maximum" type="number">
<digest>Set Maximum</digest>
<description><p>
Sets the maximum count value.
</p></description>
</inlet>
</rnboinletlist>
<!--OUTLETS-->
<rnbooutletlist>
<outlet id="outlet_output" name="output" type="number">
<digest>Current Count</digest>
<description><p>
Outputs the current count value whenever the left inlet receives an event message (or when the middle-right inlet receives a number).
</p></description>
</outlet>
<outlet id="outlet_underflow" name="underflow" type="bang, number">
<digest>Underflow (Counter Hit Minimum)</digest>
<description><p>
The left-middle outlet sends a number or bang (depending on the 
<m>carryflag</m>
 attribute) any time the minimum count is reached. Note this only applies when using 
<m>direction</m>
 1 (down) or 2 (up/down).
</p></description>
</outlet>
<outlet id="outlet_overflow" name="overflow" type="bang, number">
<digest>Overflow (Counter Hit Maximum)</digest>
<description><p>
The right-middle outlet sends a number or bang (depending on the 
<m>carryflag</m>
 attribute) any time the maximum count (
<m>limit</m>
) is reached. Note this only applies when using 
<m>direction</m>
 0 (up) or 2 (up/down).
</p></description>
</outlet>
<outlet id="outlet_carry" name="carry" type="number">
<digest>Carry Count</digest>
<description><p>
Tracks the total number of times that counter has reached the counting limit. If using 
<m>direction 2</m>
, reaching both the minimum and the maximum values will add to the carry count.
</p></description>
</outlet>
</rnbooutletlist>
<!--SEE ALSO-->
<seealsolist>
<seealso name="counter" type="refpage" module="Max"></seealso>
<seealso name="rnbo_accum" type="rnborefpage" module="RNBO" display="accum"></seealso>
<seealso name="rnbo_counter~" type="rnborefpage" module="RNBO" display="counter~"></seealso>
<seealso name="rnbo_tempo" type="rnborefpage" module="RNBO" display="tempo"></seealso>
<seealso name="rnbo_splineinterp~" type="rnborefpage" module="RNBO" display="splineinterp~"></seealso>
</seealsolist>
</c74object>