<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[A5RC4] some questions about the audio addon</title>
		<link>http://www.allegro.cc/forums/view/606181</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 25 Jan 2011 22:05:47 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>OK, so I&#39;m working on this alarm app, and having trouble with the audio addon.  I installed everything from svn but I can&#39;t seem to figure out why I can&#39;t create an audio stream from an ogg file.  </p><p>here is my code so far:</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="number">   2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;stdlib.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;time.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_native_dialog.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  14</span><span class="k2">{</span>
<span class="number">  15</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_VOICE"><span class="a">ALLEGRO_VOICE</span></a> <span class="k3">*</span>voice<span class="k2">;</span>
<span class="number">  16</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_MIXER"><span class="a">ALLEGRO_MIXER</span></a> <span class="k3">*</span>mixer<span class="k2">;</span>
<span class="number">  17</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_AUDIO_STREAM"><span class="a">ALLEGRO_AUDIO_STREAM</span></a> <span class="k3">*</span>stream<span class="k2">;</span>
<span class="number">  18</span>  ALLEGRO_PATH <span class="k3">*</span>alarmSoundPath<span class="k2">;</span>
<span class="number">  19</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">;</span>
<span class="number">  20</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>scr<span class="k2">;</span>
<span class="number">  21</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>eventQueue<span class="k2">;</span>
<span class="number">  22</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> retEvent<span class="k2">;</span>
<span class="number">  23</span>  time_t rawtime<span class="k2">;</span>
<span class="number">  24</span>  <span class="k1">bool</span> exitFlag <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  25</span>  <span class="k1">struct</span> tm <span class="k3">*</span>timeinfo<span class="k2">;</span>
<span class="number">  26</span>  <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>alarmSoundFilename<span class="k2">;</span>
<span class="number">  27</span>  <span class="k1">char</span> testString<span class="k2">[</span><span class="n">2048</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  28</span>  <span class="k1">char</span> <span class="k3">*</span>workingDirectory<span class="k2">;</span>
<span class="number">  29</span>  <span class="k1">char</span> amPm<span class="k2">[</span><span class="n">10</span><span class="k2">]</span><span class="k2">;</span> 
<span class="number">  30</span>  <span class="k1">bool</span> AMPM <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span> <span class="c">// false = am, true = pm</span>
<span class="number">  31</span>  <span class="k1">int</span> i<span class="k2">;</span>
<span class="number">  32</span>  <span class="k1">int</span> currentHour, currentMinutes, currentSeconds<span class="k2">;</span>
<span class="number">  33</span>  <span class="k1">int</span> alarmHour, alarmMinutes, alarmSeconds<span class="k2">;</span>
<span class="number">  34</span>
<span class="number">  35</span>  <a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</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">  37</span>  <span class="k2">{</span>
<span class="number">  38</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not install mouse"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</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_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  42</span>  <span class="k2">{</span>
<span class="number">  43</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not install keyboard"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>  <span class="k2">}</span>
<span class="number">  46</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">  47</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">  48</span>  <span class="k2">{</span>
<span class="number">  49</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not install ttf"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span>  <span class="k2">}</span>
<span class="number">  52</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">  53</span>  <span class="k2">{</span>
<span class="number">  54</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not install image"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>  <span class="k2">}</span>
<span class="number">  57</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">  58</span>  <span class="k2">{</span>
<span class="number">  59</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not install acodec"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>  <span class="k2">}</span>
<span class="number">  62</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">  63</span>  <span class="k2">{</span>
<span class="number">  64</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not install audio"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>  <span class="k2">}</span>
<span class="number">  67</span>
<span class="number">  68</span>  workingDirectory <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_current_directory"><span class="a">al_get_current_directory</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>  <span class="k1">if</span> <span class="k2">(</span>workingDirectory<span class="k3">=</span><span class="k3">=</span>NULL<span class="k2">)</span>
<span class="number">  70</span>  <span class="k2">{</span>
<span class="number">  71</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not get working directory"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>  <span class="k2">}</span>
<span class="number">  74</span>
<span class="number">  75</span>  <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"font.ttf"</span>, <span class="n">24</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k3">=</span><span class="k3">=</span>NULL<span class="k2">)</span>
<span class="number">  77</span>  <span class="k2">{</span>
<span class="number">  78</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not load font file"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>  <span class="k2">}</span>
<span class="number">  81</span>
<span class="number">  82</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_WINDOWED<span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>  scr <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><span class="n">2</span><span class="k3">*</span><a href="http://www.allegro.cc/manual/al_get_text_width"><span class="a">al_get_text_width</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <span class="s">"00:00:00"</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/al_get_font_line_height"><span class="a">al_get_font_line_height</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>scr<span class="k2">)</span>
<span class="number">  85</span>  <span class="k2">{</span>
<span class="number">  86</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not create display"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>  <span class="k2">}</span>
<span class="number">  89</span>
<span class="number">  90</span>  voice <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_voice"><span class="a">al_create_voice</span></a><span class="k2">(</span><span class="n">44100</span>, ALLEGRO_AUDIO_DEPTH_INT16, ALLEGRO_CHANNEL_CONF_2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>voice<span class="k2">)</span>
<span class="number">  92</span>  <span class="k2">{</span>
<span class="number">  93</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not create voice"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>  <span class="k2">}</span>
<span class="number">  96</span>
<span class="number">  97</span>  mixer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_mixer"><span class="a">al_create_mixer</span></a><span class="k2">(</span><span class="n">44100</span>, ALLEGRO_AUDIO_DEPTH_FLOAT32, ALLEGRO_CHANNEL_CONF_2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>mixer<span class="k2">)</span>
<span class="number">  99</span>  <span class="k2">{</span>
<span class="number"> 100</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not create mixer"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>  <span class="k2">}</span>
<span class="number"> 103</span>
<span class="number"> 104</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_attach_mixer_to_voice"><span class="a">al_attach_mixer_to_voice</span></a><span class="k2">(</span>mixer, voice<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 105</span>  <span class="k2">{</span>
<span class="number"> 106</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not attach mixer to voice"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>  <span class="k2">}</span>
<span class="number"> 109</span>
<span class="number"> 110</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_filename_exists"><span class="a">al_filename_exists</span></a><span class="k2">(</span><span class="s">"default.ogg"</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 111</span>  <span class="k2">{</span>
<span class="number"> 112</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"File does not exist or can't be found"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 114</span>  <span class="k2">}</span>
<span class="number"> 115</span>
<span class="number"> 116</span>  stream <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_audio_stream"><span class="a">al_load_audio_stream</span></a><span class="k2">(</span><span class="s">"default.ogg"</span>, <span class="n">4</span>, <span class="n">2048</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>stream<span class="k2">)</span>
<span class="number"> 118</span>  <span class="k2">{</span>
<span class="number"> 119</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, <span class="s">"Error"</span>, <span class="s">"Init Error"</span>, <span class="s">"Could not create stream"</span>, NULL, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span>  <span class="k2">}</span>
<span class="number"> 122</span>
<span class="number"> 123</span>  eventQueue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 124</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventQueue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventQueue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventQueue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>scr<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>eventQueue, <a href="http://www.allegro.cc/manual/al_get_audio_stream_event_source"><span class="a">al_get_audio_stream_event_source</span></a><span class="k2">(</span>stream<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>
<span class="number"> 129</span>  alarmHour <span class="k3">=</span> <span class="n">12</span><span class="k2">;</span>
<span class="number"> 130</span>  alarmMinutes <span class="k3">=</span> <span class="n">20</span><span class="k2">;</span>
<span class="number"> 131</span>  alarmSeconds <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 132</span>  <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>exitFlag<span class="k2">)</span>
<span class="number"> 133</span>  <span class="k2">{</span>
<span class="number"> 134</span>    <span class="k1">while</span> <span class="k2">(</span>al_event_queue_is_empty<span class="k2">(</span>eventQueue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 135</span>    <span class="k2">{</span>
<span class="number"> 136</span>      <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span><span class="k3">&amp;</span>rawtime<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>      timeinfo <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_538.html" target="_blank">localtime</a><span class="k2">(</span><span class="k3">&amp;</span>rawtime<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>      currentHour <span class="k3">=</span> timeinfo-&gt;tm_hour<span class="k2">;</span>
<span class="number"> 140</span>      <span class="k1">if</span> <span class="k2">(</span>currentHour&gt;12<span class="k2">)</span>
<span class="number"> 141</span>      <span class="k2">{</span>
<span class="number"> 142</span>        currentHour-<span class="k3">=</span><span class="n">12</span><span class="k2">;</span>
<span class="number"> 143</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>amPm, <span class="s">"P.M."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 144</span>        AMPM <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 145</span>      <span class="k2">}</span>
<span class="number"> 146</span>      <span class="k1">else</span>
<span class="number"> 147</span>      <span class="k2">{</span>
<span class="number"> 148</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>amPm, <span class="s">"A.M."</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span>        AMPM <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 150</span>      <span class="k2">}</span>
<span class="number"> 151</span>      currentMinutes <span class="k3">=</span> timeinfo-&gt;tm_min<span class="k2">;</span>
<span class="number"> 152</span>      currentSeconds <span class="k3">=</span> timeinfo-&gt;tm_sec<span class="k2">;</span>
<span class="number"> 153</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>testString, <span class="s">"%d:%d:%d %s"</span>, currentHour, currentMinutes, currentSeconds, amPm<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 154</span>      <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>scr<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>, <span class="n">0</span>, ALLEGRO_ALIGN_CENTRE, testString<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 155</span>      <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 156</span>    <span class="k2">}</span>
<span class="number"> 157</span>    <a href="http://www.allegro.cc/manual/al_get_next_event"><span class="a">al_get_next_event</span></a><span class="k2">(</span>eventQueue, <span class="k3">&amp;</span>retEvent<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>    <span class="k1">switch</span> <span class="k2">(</span>retEvent.type<span class="k2">)</span>
<span class="number"> 159</span>    <span class="k2">{</span>
<span class="number"> 160</span>    <span class="k1">case</span> ALLEGRO_EVENT_KEY_CHAR:
<span class="number"> 161</span>      <span class="k1">if</span> <span class="k2">(</span>retEvent.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 162</span>        exitFlag <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 163</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 164</span>    default:
<span class="number"> 165</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 166</span>    <span class="k2">}</span>
<span class="number"> 167</span>  <span class="k2">}</span>
<span class="number"> 168</span>
<span class="number"> 169</span>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k3">!</span><span class="k3">=</span>NULL<span class="k2">)</span>
<span class="number"> 170</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span>  <span class="k1">if</span> <span class="k2">(</span>workingDirectory<span class="k3">!</span><span class="k3">=</span>NULL<span class="k2">)</span>
<span class="number"> 172</span>    <a href="http://www.allegro.cc/manual/al_free"><span class="a">al_free</span></a><span class="k2">(</span>workingDirectory<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 173</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 174</span><span class="k2">}</span>
</div></div><p>

The file exists so that isn&#39;t the problem.  Am I doing something wrong here?  Should I be using another part of the audio api?  The ogg file was created by ripping a song off of a CD and saving it as an OGG file. Could this be because the song settings differ from the mixer settings?</p><p>Thanks for any help.</p><p>WG
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wiseguy)</author>
		<pubDate>Tue, 25 Jan 2011 11:34:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Do you ever attach the audio stream to something (i.e., a mixer)?</p><p>By the way, if you don&#39;t care much about the settings of mixers and voices, you can do this:
</p><div class="source-code snippet"><div class="inner"><pre><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>
<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>
<a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span>n<span class="k2">)</span><span class="k2">;</span>  <span class="c">// sets up a default mixer/voice</span>
<a href="http://www.allegro.cc/manual/al_attach_audio_stream_to_mixer"><span class="a">al_attach_audio_stream_to_mixer</span></a><span class="k2">(</span>stream, <a href="http://www.allegro.cc/manual/al_get_default_mixer"><span class="a">al_get_default_mixer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Tue, 25 Jan 2011 11:58:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I got it working by converting the ogg file to WAV format.</p><p>I did attach it to a mixer but only if the alarm time is greater than or equal to the clock time... As of now, everything is working, but I don&#39;t understand why the load stream function failed for an ogg file but not for a wav file.  I installed from svn, and it always is a pain but I thought I finally got everything where I needed it.</p><p>For what reasons would the load stream function fail?  If I just reserve samples, how would I go about loading the entire file from disk before playing?</p><p>I&#39;m just glad to finally have audio working at all with A5.  Of all the A5 versions I&#39;ve tried this is the first one that audio has worked period.</p><p>WG
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wiseguy)</author>
		<pubDate>Tue, 25 Jan 2011 12:38:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are the ogg, vorbis and vorbisfile DLLs in your path? The best way to debug these things is to use a debug build of Allegro and check allegro.log
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Tue, 25 Jan 2011 12:47:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What operating system is this? Confirm that Allegro really did build with Ogg support. I had significant issues getting that to work on OSX due to what I can only assume is a bug in Allegro&#39;s cmake scripts, and for all I know that issue exists on other systems, too.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Tue, 25 Jan 2011 14:05:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/606181/900177#target">Peter Wang</a> said:</div><div class="quote"><p>Are the ogg, vorbis and vorbisfile DLLs in your path? The best way to debug these things is to use a debug build of Allegro and check allegro.log 
</p></div></div><p>


All of the DLLs were installed as far as I know but I will go back through and double check.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/606181/900181#target">X-G</a> said:</div><div class="quote"><p>What operating system is this? Confirm that Allegro really did build with Ogg support. I had significant issues getting that to work on OSX due to what I can only assume is a bug in Allegro&#39;s cmake scripts, and for all I know that issue exists on other systems, too. </p></div></div><p>

I&#39;m building this on Windows Vista, and have had similar problems on XP as well.</p><p>The only files I had trouble with in cmake were the ogg and vorbis files.  I had to manually add those 3 files into cmake.  For some reason, no matter what I did, cmake would find the include directories but not the library files.  But, when I ran the final configure, cmake did the checks to see if ogg and vorbis compiled and that worked fine.</p><p>I&#39;ll check this out some more and let you guys know how it goes.  I was going to post the steps I took to install from SVN on windows on the wiki sometime today as well.  This last time went much smoother than before.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wiseguy)</author>
		<pubDate>Tue, 25 Jan 2011 21:58:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Note that in my case there were no error messages from cmake either. It just silently failed and excluded ogg, while building everything else.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Tue, 25 Jan 2011 22:01:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I just checked and the ogg and vorbis dll files WERE copied during install but I&#39;m not seeing the library files.  I&#39;m going to try this again after copying those library files.</p><p>[Edit]</p><p>Ok, still no luck after that try.  Obviously A5 built without OGG support.  Is there a way to fix the cmake scripts to properly find the libraries?  I have all the dependencies in the deps folder.  Should I have copied over the library export files along with the .lib files?</p><p>[Edit #2]</p><p>Ok, the problem has been resolved.  What happened was that I had renamed libogg.lib and libvorbis*.lib in the deps folder in hopes of the cmake scripts automatically finding them.  Because of that, the program was looking for the wrong dll files.  copying over the original .lib and .dll files and relinking fixed everything.  Thanks for all the help folks.</p><p>WG
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wiseguy)</author>
		<pubDate>Tue, 25 Jan 2011 22:05:47 +0000</pubDate>
	</item>
</rss>
