<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Audio fals to install sometimes</title>
		<link>http://www.allegro.cc/forums/view/612493</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 06 May 2013 23:23:38 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello,<br />randomly, for me once per ~20 starts, but much more frequently for some other people, the audio addon just fails to install. When this error occurs and the application is started again, it works.</p><p>What can be the reason of this? Is there some workaround?<br />Does it make sense to do something like wait and try it again in the init function when it fails?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kovarex)</author>
		<pubDate>Sat, 27 Apr 2013 15:49:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Mightn&#39;t be a problem with the libraries, at least I never heard about this. What version of Allegro are you using? Have you tried other versions? What about compiling using the individual libraries or the monolith one? And what about compiling with the mt and md ones, and debug vs release?<br />In other words, try it compiling with other versions of the Allegro library, to see if the problem lies there. If it shows the problem with every other version, then shoot some code, might be something that&#39;s not being done right.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (André Silva)</author>
		<pubDate>Sat, 27 Apr 2013 21:22:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello, thank you for your response,</p><p>we use allegro 5.1.5, we compile it our own way (statically).<br />This is very hard to debug, as it occurs just rarely and randomly.</p><p>This is our allegro init function, I don&#39;t think that something rare is there:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>  <span class="k1">if</span> <span class="k2">(</span>global-&gt;graphicsSettings-&gt;getFullScreen<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  2</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_FULLSCREEN_WINDOW<span class="k2">)</span><span class="k2">;</span>
<span class="number">  3</span>  <span class="k1">else</span>
<span class="number">  4</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_RESIZABLE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  5</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_VSYNC, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>  <span class="k1">if</span> <span class="k2">(</span>global-&gt;graphicsSettings-&gt;getMultisamplingLevel<span class="k2">(</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="number">  7</span>  <span class="k2">{</span>
<span class="number">  8</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_MIN_LINEAR <span class="k3">|</span> ALLEGRO_MAG_LINEAR <span class="k3">|</span> ALLEGRO_VIDEO_BITMAP<span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, global-&gt;graphicsSettings-&gt;getMultisamplingLevel<span class="k2">(</span><span class="k2">)</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>  <span class="k2">}</span>
<span class="number"> 12</span>  <span class="k1">else</span>
<span class="number"> 13</span>  <span class="k2">{</span>
<span class="number"> 14</span>    <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_VIDEO_BITMAP<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">0</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">0</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 17</span>  <span class="k2">}</span>
<span class="number"> 18</span>
<span class="number"> 19</span>  this-&gt;display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span>width, height<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>
<span class="number"> 21</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>this-&gt;display<span class="k2">)</span>
<span class="number"> 22</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"failed to create display!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 23</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 24</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"Failed to initialize al_init_image_addon!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>
<span class="number"> 26</span>  boost::filesystem::path windowIconPath <span class="k3">=</span> global-&gt;paths-&gt;graphics <span class="k3">/</span> <span class="s">"factorio-icon.png"</span><span class="k2">;</span>
<span class="number"> 27</span>  this-&gt;windowIcon <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span>windowIconPath.string<span class="k2">(</span><span class="k2">)</span>.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>this-&gt;windowIcon<span class="k2">)</span>
<span class="number"> 29</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span>ssprintf<span class="k2">(</span><span class="s">"Failed to load window icon! Loading from: %s"</span>, windowIconPath.string<span class="k2">(</span><span class="k2">)</span>.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 30</span>  <a href="http://www.allegro.cc/manual/al_set_display_icon"><span class="a">al_set_display_icon</span></a><span class="k2">(</span>this-&gt;display, this-&gt;windowIcon<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span>
<span class="number"> 32</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 33</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"failed to initialize the keyboard!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 35</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"failed to initialize the mouse!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 36</span>  <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 37</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 38</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"failed to initialize the ttf addon!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 39</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 40</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"failed to load primitives addon!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 41</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 42</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"Failed to install audio!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 44</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"Failed to initialize audio codecs!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 45</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span><span class="n">50</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 46</span>    <span class="k1">throw</span> std::runtime_error<span class="k2">(</span><span class="s">"Failed to reserve samples!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 47</span>  this-&gt;loadAllegroFonts<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kovarex)</author>
		<pubDate>Sat, 27 Apr 2013 21:28:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Nope, doesn&#39;t look like the code has anything wrong with it.<br />Maybe it&#39;s a problem with Allegro 5.1.5. The 5.1 branch changes a few things. Let&#39;s see if someone else who knows more about 5.1 can figure something out.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (André Silva)</author>
		<pubDate>Mon, 06 May 2013 21:40:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Your best bet is to dig inside <span class="source-code"><a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a></span> and set a breakpoint in there somewhere or follow it through the call. Keep running it until it fails to install again.</p><p>Yeah, try setting a breakpoint in do_install_audio in addons/audio/audio.c lines 173-330. Find out which driver it is using, and I think you can specify the audio driver used in the allegro.cfg file too, so it might not hurt to try some different ones and see if they work.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 06 May 2013 23:23:38 +0000</pubDate>
	</item>
</rss>
