<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Limits of freq increase when playing sample?</title>
		<link>http://www.allegro.cc/forums/view/589772</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 29 Jan 2007 16:55:08 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>When continuously increasing the freq of a sample using adjust_sample, the program crashes when the freq property exceeds 11888.</p><p>Why is this the limit, and is there any way of increasing it?</p><p>Thanks for your help,</p><p>Chris
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Baume)</author>
		<pubDate>Mon, 29 Jan 2007 00:54:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No crash here.
</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#include &lt;allegro.h&gt;</span>

<span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
        <span class="k1">int</span> x<span class="k2">;</span>
        <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
        <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>

        <a href="http://www.allegro.cc/manual/install_sound" target="_blank"><span class="a">install_sound</span></a><span class="k2">(</span>MIDI_ALSA, MIDI_NONE, NULL<span class="k2">)</span><span class="k2">;</span>
        <a href="http://www.allegro.cc/manual/SAMPLE" target="_blank"><span class="a">SAMPLE</span></a> <span class="k3">*</span>s <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_sample" target="_blank"><span class="a">load_sample</span></a><span class="k2">(</span><span class="s">"blah.wav"</span><span class="k2">)</span><span class="k2">;</span>
        <a href="http://www.allegro.cc/manual/play_sample" target="_blank"><span class="a">play_sample</span></a><span class="k2">(</span>s, <span class="n">255</span>, <span class="n">127</span>, <span class="n">1000</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
        <span class="k1">for</span> <span class="k2">(</span>x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> x <span class="k3">&lt;</span> <span class="n">12000</span><span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
                <a href="http://www.allegro.cc/manual/adjust_sample" target="_blank"><span class="a">adjust_sample</span></a><span class="k2">(</span>s, <span class="n">255</span>, <span class="n">127</span>, x, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
        <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">2000</span><span class="k2">)</span><span class="k2">;</span>
        <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">}</span>
<a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Mon, 29 Jan 2007 03:08:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Managed to work it out!</p><p>My problem was when the loop parameter of the adjust_sample function was set to 1, and the sample rate of the wave file is 44100Hz. The above code crashes under those conditions.</p><p>However, by decreasing the sample rate of the wave file to 22050Hz, the maximum value for freq becomes 23776 (double 11888).</p><p>So, when adjusting the playback rate of a looping sample, the maximum value for freq is:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k2">(</span>max freq<span class="k2">)</span> <span class="k3">=</span> <span class="n">35664</span> <span class="k3">-</span> <span class="n">0</span>.<span class="n">5392</span> <span class="k3">*</span> <span class="k2">(</span>sample rate in Hz<span class="k2">)</span>
</pre></div></div><p>
I&#39;m guessing the limit has something to do with refreshing buffers, I can&#39;t be sure. But hopefully this will help someone if they get stuck.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Baume)</author>
		<pubDate>Mon, 29 Jan 2007 16:55:08 +0000</pubDate>
	</item>
</rss>
