<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>MIDI... AAAAAAARGH!!!</title>
		<link>http://www.allegro.cc/forums/view/589144</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 19 Dec 2006 01:01:34 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>hi all, i am an allegro(noob) and i&#39;m trying to put some midi under my game. Now the problem is: this just doesn&#39;t work!!</p><p>This is my code:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><a href="http://www.allegro.cc/manual/MIDI" target="_blank"><span class="a">MIDI</span></a> <span class="k3">*</span>midi<span class="k2">;</span> <span class="c">// Instance to store our MIDI data.</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td>    <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></td></tr><tr><td class="number">8</td><td>    <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>    <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Adjust if necessary.</span></td></tr><tr><td class="number">11</td><td>    <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Windowed because it won't matter.</span></td></tr><tr><td class="number">12</td><td>    </td></tr><tr><td class="number">13</td><td>    <a href="http://www.allegro.cc/manual/detect_midi_driver" target="_blank"><span class="a">detect_midi_driver</span></a><span class="k2">(</span>MIDI_AUTODETECT<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    <a href="http://www.allegro.cc/manual/detect_digi_driver" target="_blank"><span class="a">detect_digi_driver</span></a><span class="k2">(</span>DIGI_AUTODETECT<span class="k2">)</span><span class="k2">;</span> <span class="c">// Don't know if this is necessary if you only want midi.</span></td></tr><tr><td class="number">15</td><td>    <a href="http://www.allegro.cc/manual/install_sound" target="_blank"><span class="a">install_sound</span></a><span class="k2">(</span>DIGI_AUTODETECT, MIDI_AUTODETECT, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td>    midi <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_midi" target="_blank"><span class="a">load_midi</span></a><span class="k2">(</span><span class="s">"ff1menu.mid"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>    </td></tr><tr><td class="number">19</td><td>    <a href="http://www.allegro.cc/manual/play_midi" target="_blank"><span class="a">play_midi</span></a><span class="k2">(</span>midi, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td>    <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Wait until a key is pressed before we...</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>    <span class="c">// ...  End the program.</span></td></tr><tr><td class="number">24</td><td>    <a href="http://www.allegro.cc/manual/stop_midi" target="_blank"><span class="a">stop_midi</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>    <a href="http://www.allegro.cc/manual/destroy_midi" target="_blank"><span class="a">destroy_midi</span></a><span class="k2">(</span>midi<span class="k2">)</span><span class="k2">;</span> <span class="c">// It is necessary to free memory allocated for creating the MIDI to prevent any memory leaks.</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>    <span class="c">// It isn't necessary to un-init Allegro since it does so for us.</span></td></tr><tr><td class="number">28</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td><span class="k2">}</span></td></tr><tr><td class="number">30</td><td><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><span class="k2">;</span></td></tr></tbody></table></div></div><p>


Now, this just DOESN&#39;t work. My pc just can play midi normaly (i think, with windows media player and other players), i even can make midifiles with a composer program (sybelius), but allegro...</p><p>I mean the program runs normaly, but i can&#39;t hear anithing.</p><p>Can someone plz help me? i ve been searching for days without any result
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (merri mestie)</author>
		<pubDate>Sun, 17 Dec 2006 20:30:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You need install_timer() before install_sound(...), I think. Because the Allegro sound system depends on the Allegro timer.
</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/detect_midi_driver" target="_blank"><span class="a">detect_midi_driver</span></a><span class="k2">(</span>MIDI_AUTODETECT<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/detect_digi_driver" target="_blank"><span class="a">detect_digi_driver</span></a><span class="k2">(</span>DIGI_AUTODETECT<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
These are useless.</p><p>Some error checking would also be good, like
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</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>DIGI_AUTODETECT,MIDI_AUTODETECT,NULL<span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="k2">{</span>
  <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"ERROR: Couldn't initialize sound hardware!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

And please leave the &quot;AAAAAAARGH!!!&quot; out if you start a thread again, even if you are frustrated. Instead you could write something like &quot;can&#39;t get it to work&quot;, that would sound much better.<br />Imagine yourself walking along the street, suddenly a stranger jumps in your way and screams &quot;I DON&#39;T KNOW HOW TO GET TO &lt;insert some place&gt;! AAAAAARGH!&quot;. Would you help him?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Simon Parzer)</author>
		<pubDate>Sun, 17 Dec 2006 20:46:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>i have put install_timer() in the file, but it still doesn&#39;t work.</p><p>sorry for the aargh btw <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (merri mestie)</author>
		<pubDate>Sun, 17 Dec 2006 20:50:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>OK, then add some error checking!</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</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>DIGI_AUTODETECT,MIDI_AUTODETECT,NULL<span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="k2">{</span>
  <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"ERROR: Couldn't initialize sound hardware!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
</p><div class="source-code snippet"><div class="inner"><pre>midi <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_midi" target="_blank"><span class="a">load_midi</span></a><span class="k2">(</span><span class="s">"ff1menu.mid"</span><span class="k2">)</span><span class="k2">;</span>
<span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>midi<span class="k2">)</span>
<span class="k2">{</span>
  <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"ERROR loading MIDI!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

That way you see where it fails. And be sure to do install_timer() BEFORE install_sound().
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Simon Parzer)</author>
		<pubDate>Sun, 17 Dec 2006 21:00:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I now have this code:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><a href="http://www.allegro.cc/manual/MIDI" target="_blank"><span class="a">MIDI</span></a> <span class="k3">*</span>midi<span class="k2">;</span> <span class="c">// Instance to store our MIDI data.</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td>    <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></td></tr><tr><td class="number">8</td><td>    <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>    <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></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td>    <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Adjust if necessary.</span></td></tr><tr><td class="number">12</td><td>    <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Windowed because it won't matter.</span></td></tr><tr><td class="number">13</td><td>&#160;</td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>    <span class="k1">if</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>DIGI_AUTODETECT,MIDI_AUTODETECT,NULL<span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">16</td><td><span class="k2">{</span></td></tr><tr><td class="number">17</td><td>  <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"ERROR: Couldn't initialize sound hardware!"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td><span class="k2">}</span>midi <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_midi" target="_blank"><span class="a">load_midi</span></a><span class="k2">(</span><span class="s">"ff1menu.mid"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>&#160;</td></tr><tr><td class="number">20</td><td><span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>midi<span class="k2">)</span></td></tr><tr><td class="number">21</td><td><span class="k2">{</span></td></tr><tr><td class="number">22</td><td>  <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"ERROR loading MIDI!"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td><span class="k2">}</span></td></tr><tr><td class="number">24</td><td>    </td></tr><tr><td class="number">25</td><td>    <a href="http://www.allegro.cc/manual/play_midi" target="_blank"><span class="a">play_midi</span></a><span class="k2">(</span>midi, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>    <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Wait until a key is pressed before we...</span></td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td>    <span class="c">// ...  End the program.</span></td></tr><tr><td class="number">30</td><td>    <a href="http://www.allegro.cc/manual/stop_midi" target="_blank"><span class="a">stop_midi</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>    <a href="http://www.allegro.cc/manual/destroy_midi" target="_blank"><span class="a">destroy_midi</span></a><span class="k2">(</span>midi<span class="k2">)</span><span class="k2">;</span> <span class="c">// It is necessary to free memory allocated for creating the MIDI to prevent any memory leaks.</span></td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td>    <span class="c">// It isn't necessary to un-init Allegro since it does so for us.</span></td></tr><tr><td class="number">34</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td><span class="k2">}</span></td></tr><tr><td class="number">36</td><td><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><span class="k2">;</span></td></tr></tbody></table></div></div><p>


but i still can&#39;t hear nothing:-/. I just get a black window, like always, but i don&#39;t get any error messages.:o</p><p>can plz someone help me <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" /> <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" /><img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" /><img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" /><img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (merri mestie)</author>
		<pubDate>Sun, 17 Dec 2006 21:05:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I tested your code and it worked, strange... post some information about the hardware/software you use.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Mon, 18 Dec 2006 04:06:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>try it with another midi file
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jonatan Hedborg)</author>
		<pubDate>Mon, 18 Dec 2006 04:23:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Do the allegro examples allegro/examples/exmidi.c and allegro/tests/testmidi.c work?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Tue, 19 Dec 2006 01:01:34 +0000</pubDate>
	</item>
</rss>
