<?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="wave~" category="Sampling">
<!--METADATA-->
<metadatalist>
<metadata name="author">Cycling '74</metadata>
<metadata name="tag">RNBO</metadata>
<metadata name="tag">RNBO Sampling</metadata>
</metadatalist>
<digest>Linear interpolated multi-channel lookup of a buffer. </digest>
<description><p>
<o objname="rnbo_wave~">wave~</o>
 reads from a portion of a 
<o objname="rnbo_buffer~">buffer~</o>
 to produce a repeating waveform, given a signal
input that goes between 0. and 1. (for example, using a 
<o objname="rnbo_phasor~">phasor~</o>
) to define the position in the buffer.
</p></description>
<!--ARGUMENTS-->
<objarglist>
<objarg name="buffername" optional="0" type="symbol">
<digest>Buffer to use.</digest>
<description><p>
Name of the buffer to read samples from
</p></description>
</objarg>
<objarg name="channels" optional="1" type="number">
<digest>Number of channels</digest>
<description><p>
Sets the number of output channels, which determines the number of 		outlets that the 
<o objname="rnbo_wave~">wave~</o>
 object will have. If the 
<o objname="rnbo_buffer~">buffer~</o>
 object being played by 		
<o objname="rnbo_wave~">wave~</o>
 has more channels than the number of outputs of 
<o objname="rnbo_wave~">wave~</o>
, the extra channels 		are not played. If the 
<o objname="rnbo_buffer~">buffer~</o>
 object has fewer channels, the extra 
<o objname="rnbo_wave~">wave~</o>
 signal 		outputs are 0.
</p></description>
</objarg>
<objarg name="start" optional="1" type="auto">
<digest>Start index (samples)</digest>
<description><p>
Set the start point of the wavetable. By default, the start point is 0. If you 		want to set a non-zero start point but retain the sample end as the waveform end point, use 		only a single typed-in argument after the buffer name. The 
<o objname="rnbo_wave~">wave~</o>
 object uses the buffer's 		sampling rate to determine loop points.
</p></description>
</objarg>
<objarg name="end" optional="1" type="auto">
<digest>End index (samples).</digest>
<description><p>
Set the end point of the wavetable. By default, the end point is the end of the sample. 		If a signal is connected to the end point (right) inlet, the initial waveform end point is ignored.
</p></description>
</objarg>
<objarg name="offset" optional="1" type="auto">
<digest>Channel offset (zero-based).</digest>

</objarg>
</objarglist>
<!--OPTIONS-->
<rnbooptionlist>
<option name="boundmode" size="1" type="enum">
<digest>Set the bound mode for input sample values</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="fold"></enum>
<enum name="clamp"></enum>
<enum name="clip"></enum>
<enum name="wrap"></enum>
<enum name="mirror"></enum>
<enum name="ignore"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="wrap"></attribute>
</attributelist>

</option>
<option name="buffername" size="1" type="symbol">
<digest>Buffer to use.</digest>
<description><p>
Name of the buffer to read samples from
</p></description>
</option>
<option name="channelmode" size="1" type="enum">
<digest>Set the bound mode for input channel values</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="fold"></enum>
<enum name="clamp"></enum>
<enum name="clip"></enum>
<enum name="wrap"></enum>
<enum name="mirror"></enum>
<enum name="ignore"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="wrap"></attribute>
</attributelist>

</option>
<option name="channels" size="1" type="number">
<digest>Number of channels</digest>
<attributelist>
<attribute name="default" type="number" value="1"></attribute>
</attributelist>
<description><p>
Sets the number of output channels, which determines the number of 		outlets that the 
<o objname="rnbo_wave~">wave~</o>
 object will have. If the 
<o objname="rnbo_buffer~">buffer~</o>
 object being played by 		
<o objname="rnbo_wave~">wave~</o>
 has more channels than the number of outputs of 
<o objname="rnbo_wave~">wave~</o>
, the extra channels 		are not played. If the 
<o objname="rnbo_buffer~">buffer~</o>
 object has fewer channels, the extra 
<o objname="rnbo_wave~">wave~</o>
 signal 		outputs are 0.
</p></description>
</option>
<option name="indexmode" size="1" type="enum">
<digest>Set the lookup mode for values in the buffer</digest>
<attributelist>
<attribute name="enumvals">
<enumlist get="1" set="1" type="atom">
<enum name="phase"></enum>
<enum name="samples"></enum>
<enum name="signal"></enum>
<enum name="lookup"></enum>
<enum name="wave"></enum>
</enumlist>
</attribute>
<attribute name="default" type="enum" value="wave"></attribute>
</attributelist>

</option>
<option name="interp" size="1" type="enum">
<digest>Set the type of interpolation to use when reading samples from the buffer.</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>

</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="end" size="1" type="auto">
<digest>End index (samples).</digest>
<description><p>
Set the end point of the wavetable. By default, the end point is the end of the sample. 		If a signal is connected to the end point (right) inlet, the initial waveform end point is ignored.
</p></description>
</attribute>
<attribute name="offset" size="1" type="auto">
<digest>Channel offset (zero-based).</digest>

</attribute>
<attribute name="phase" size="1" type="auto">
<digest>Phase to read (0..1, between start and end).</digest>
<description><p>
Read through the buffer used by 
<o objname="rnbo_wave~">wave~</o>
 by sending values between 0. and 1. to the input. 		This can be acheived by using an object like 
<o objname="rnbo_phasor~">phasor~</o>
.
</p></description>
</attribute>
<attribute name="start" size="1" type="auto">
<digest>Start index (samples)</digest>
<description><p>
Set the start point of the wavetable. By default, the start point is 0. If you 		want to set a non-zero start point but retain the sample end as the waveform end point, use 		only a single typed-in argument after the buffer name. The 
<o objname="rnbo_wave~">wave~</o>
 object uses the buffer's 		sampling rate to determine loop points.
</p></description>
</attribute>
</rnboattributelist>
<!--INLETS-->
<rnboinletlist>
<inlet id="inlet_phase" name="phase" type="auto">
<digest>Phase to read (0..1, between start and end).</digest>
<description><p>
Read through the buffer used by 
<o objname="rnbo_wave~">wave~</o>
 by sending values between 0. and 1. to the input. 		This can be acheived by using an object like 
<o objname="rnbo_phasor~">phasor~</o>
.
</p></description>
</inlet>
<inlet id="inlet_start" name="start" type="auto">
<digest>Start index (samples)</digest>
<description><p>
Set the start point of the wavetable. By default, the start point is 0. If you 		want to set a non-zero start point but retain the sample end as the waveform end point, use 		only a single typed-in argument after the buffer name. The 
<o objname="rnbo_wave~">wave~</o>
 object uses the buffer's 		sampling rate to determine loop points.
</p></description>
</inlet>
<inlet id="inlet_end" name="end" type="auto">
<digest>End index (samples).</digest>
<description><p>
Set the end point of the wavetable. By default, the end point is the end of the sample. 		If a signal is connected to the end point (right) inlet, the initial waveform end point is ignored.
</p></description>
</inlet>
<inlet id="inlet_offset" name="offset" type="auto">
<digest>Channel offset (zero-based).</digest>

</inlet>
</rnboinletlist>
<!--OUTLETS-->
<rnbooutletlist>
<outlet id="outlet_out" name="out" type="signal">
<digest>Sampled value.</digest>
<description><p>
The output signal read from the wavetable.
</p></description>
</outlet>
<outlet id="outlet_outindex" name="outindex" type="signal">
<digest>Index (in samples).</digest>

</outlet>
<outlet id="outlet_out1" name="out1" type="signal">
<digest>Sampled value at channel 1.</digest>
<description><p>
The output signal read from the wavetable.
</p></description>
</outlet>
</rnbooutletlist>
<!--SEE ALSO-->
<seealsolist>
<seealso name="rnbo_buffer~" type="rnborefpage" module="RNBO" display="buffer~"></seealso>
<seealso name="rnbo_lookup~" type="rnborefpage" module="RNBO" display="lookup~"></seealso>
<seealso name="rnbo_peek~" type="rnborefpage" module="RNBO" display="peek~"></seealso>
<seealso name="rnbo_groove~" type="rnborefpage" module="RNBO" display="groove~"></seealso>
<seealso name="rnbo_declick~" type="rnborefpage" module="RNBO" display="declick~"></seealso>
</seealsolist>
</c74object>