<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>How to play video in allegro 5</title>
		<link>http://www.allegro.cc/forums/view/616637</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 13 Dec 2016 04:40:31 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello I have problem with streaming video in the newest allegro 5.</p><p>I have:</p><p>#include &lt;allegro5/allegro_audio.h&gt;<br />#include &lt;allegro5/allegro_acodec.h&gt;<br />#include &lt;allegro5/allegro_video.h&gt;</p><p>int main(){</p><p>al_install_audio();<br />	al_init_acodec_addon();<br />	al_init_video_addon();</p><p>ALLEGRO_VIDEO *splash_vid = al_open_video(&quot;vid.ogv&quot;);<br />	ALLEGRO_MIXER *mixer = al_create_mixer(44100, ALLEGRO_AUDIO_DEPTH_FLOAT32, ALLEGRO_CHANNEL_CONF_2);</p><p>	al_start_video(splash_vid, mixer);</p><p>	<br />	al_close_video(splash_vid);<br />	al_destroy_mixer(mixer);<br />return 0;<br />}</p><p>but after launch I have only black screen which can&#39;t be closed.<br />Can u help me solve this problem?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Sat, 10 Dec 2016 01:42:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You have to monitor video events and then display a frame when you get an ALLEGRO_EVENT_VIDEO_FRAME_SHOW event. You then get the bitmap to draw with <span class="source-code">al_get_video_frame</span>. You need to register the video event source with an ALLEGRO_EVENT_QUEUE to receive video events.</p><p>Read the video section of the manual for details :<br /><a href="http://liballeg.org/a5docs/trunk/video.html">http://liballeg.org/a5docs/trunk/video.html</a></p><p>You have a black screen that can&#39;t be closed because you didn&#39;t create a display.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 10 Dec 2016 01:51:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Now I have something like that and I created display earlier, in main fucntion:</p><p>void splash_screen(void)<br />{<br />	ALLEGRO_VIDEO *splash_vid = al_open_video(&quot;vid.ogv&quot;);<br />	ALLEGRO_MIXER *mixer = al_create_mixer(44100, ALLEGRO_AUDIO_DEPTH_FLOAT32, ALLEGRO_CHANNEL_CONF_2);</p><p>	al_set_new_bitmap_flags(ALLEGRO_VIDEO_BITMAP);<br />	ALLEGRO_BITMAP *bitmap = al_create_bitmap(al_get_video_scaled_width(splash_vid), al_get_video_scaled_height(splash_vid));</p><p>	al_start_video(splash_vid, mixer);</p><p>	std::cout &lt;&lt; al_is_video_playing(splash_vid);</p><p>	ALLEGRO_EVENT_QUEUE *vid_event_queue = al_create_event_queue();</p><p>	al_register_event_source(vid_event_queue, al_get_video_event_source(splash_vid));</p><p>	bool done = false;<br />	while (!done)<br />	{<br />		ALLEGRO_EVENT vid_ev;<br />		al_wait_for_event(vid_event_queue, &amp;vid_ev);<br />		switch (vid_ev.type)<br />		{<br />		case ALLEGRO_EVENT_VIDEO_FRAME_SHOW:<br />			bitmap = al_get_video_frame(splash_vid);<br />			al_draw_bitmap(bitmap, 0, 0, 0);<br />			al_flip_display();<br />			//std::cout &lt;&lt; <u>_LINE</u>_ &lt;&lt; &#39; &#39; &lt;&lt; <u>_FILE</u>_ &lt;&lt; std::endl;<br />			al_clear_to_color(al_map_rgb(0, 0, 0));<br />			break;<br />		case ALLEGRO_EVENT_VIDEO_FINISHED:<br />			done = true;<br />			break;<br />		}<br />	}</p><p>	al_destroy_event_queue(vid_event_queue);<br />	al_close_video(splash_vid);<br />	al_destroy_mixer(mixer);<br />}</p><p>and still I have black screen.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Sat, 10 Dec 2016 02:24:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Set the drawing target to the backbuffer before drawing your bitmap and flipping the display.</p><p>Also, you don&#39;t need to create a bitmap. al_get_video_frame maintains one for you.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 10 Dec 2016 02:43:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Still it doesn&#39;t work :/<br />I can&#39;t event gets this events because this lines not executes
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Sat, 10 Dec 2016 03:38:17 +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/616637/1026874#target">Crisbe</a> said:</div><div class="quote"><p>
Still it doesn&#39;t work :/<br />I can&#39;t event gets this events because this lines not executes 
</p></div></div><p>
That&#39;s pretty vague. We need more details.</p><p>Post full code of a Minimum, Complete, Verifiable Example (MCVE) that fails to play video or fails to compile correctly and then we can help you.</p><p>If you video is under 10MB, post it as an attachment as well. Or upload it somewhere else so we can test it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 10 Dec 2016 03:51:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok, so this is my main function:</p><p>#include &quot;All_headers.h&quot;</p><p>ALLEGRO_TIMER *fps_timer = NULL; <br />ALLEGRO_DISPLAY *display = NULL;<br />int width = 640;<br />int height = 480;<br />int fps = 60;</p><p>int main(void)<br />{<br />	//allegro variables<br />	if (!al_init())		// test allegro<br />		al_show_native_message_box(display, &quot;Arcade Jump&quot;, &quot;Error&quot;, &quot;Error&quot;, &quot;Error with allegro&quot;, ALLEGRO_MESSAGEBOX_WARN);</p><p>	al_set_new_display_flags(ALLEGRO_WINDOWED | ALLEGRO_RESIZABLE);<br />	display = al_create_display(width, height);<br />	al_set_window_title(display, &quot;Arcade Jump&quot;);<br />	al_hide_mouse_cursor(display);</p><p>	if (!display)		//test display<br />		al_show_native_message_box(display, &quot;Arcade Jump&quot;, &quot;Error&quot;, &quot;Error&quot;, &quot;Error with display&quot;, ALLEGRO_MESSAGEBOX_WARN);</p><p>	fps_timer = al_create_timer(1.0 / fps);<br />	al_start_timer(fps_timer);</p><p>	//addon init<br />	al_install_audio();<br />	al_init_acodec_addon();<br />	al_init_video_addon();<br />	al_install_keyboard();<br />	al_init_primitives_addon();<br />	al_init_image_addon();</p><p>	splash_screen();<br />	menu();</p><p>	// destroying globall variables<br />	al_destroy_display(display);<br />	al_destroy_timer(fps_timer);<br />	return EXIT_SUCCESS;<br />}</p><p>Splash function: </p><p>#include &quot;All_headers.h&quot;</p><p>void splash_screen(void)<br />{<br />	ALLEGRO_VIDEO *splash_vid = al_open_video(&quot;vid.ogv&quot;);<br />	ALLEGRO_MIXER *mixer = al_create_mixer(44100, ALLEGRO_AUDIO_DEPTH_FLOAT32, ALLEGRO_CHANNEL_CONF_2);</p><p>	al_set_new_bitmap_flags(ALLEGRO_VIDEO_BITMAP);<br />	ALLEGRO_BITMAP *bitmap;</p><p>	std::cout &lt;&lt; al_is_video_playing(splash_vid);</p><p>	ALLEGRO_EVENT_QUEUE *vid_event_queue = al_create_event_queue();</p><p>	al_register_event_source(vid_event_queue, al_get_video_event_source(splash_vid));</p><p>	al_start_video(splash_vid, mixer);</p><p>	bool done = false;<br />	while (!done)<br />	{<br />		ALLEGRO_EVENT vid_ev;<br />		al_wait_for_event(vid_event_queue, &amp;vid_ev);<br />		if (vid_ev.type == ALLEGRO_EVENT_VIDEO_FRAME_SHOW)<br />		{<br />			bitmap = al_get_video_frame(splash_vid);<br />			al_draw_bitmap(bitmap, 0, 0, 0);<br />			al_flip_display();<br />			std::cout &lt;&lt; <u>_LINE</u>_ &lt;&lt; &#39; &#39; &lt;&lt; <u>_FILE</u>_ &lt;&lt; std::endl;<br />			al_clear_to_color(al_map_rgb(0, 0, 0));<br />		}<br />		else if (vid_ev.type == ALLEGRO_EVENT_VIDEO_FINISHED)<br />		{<br />			done = true;<br />			break;<br />		}<br />		std::cout &lt;&lt; <u>_LINE</u>_ &lt;&lt; &#39; &#39; &lt;&lt; <u>_FILE</u>_ &lt;&lt; std::endl;<br />	}</p><p>	al_destroy_event_queue(vid_event_queue);<br />	al_close_video(splash_vid);<br />	al_destroy_mixer(mixer);<br />}</p><p>and headers:</p><p>#pragma once<br />// allegro extensions<br />#include &lt;allegro5\allegro.h&gt;<br />#include &lt;allegro5\allegro_native_dialog.h&gt;<br />#include &lt;allegro5\allegro_image.h&gt;<br />#include &lt;allegro5\allegro_audio.h&gt;<br />#include &lt;allegro5\allegro_acodec.h&gt;<br />#include &lt;allegro5\allegro_video.h&gt;<br />#include &lt;iostream&gt;</p><p>// splash screen<br />void splash_screen(void);</p><p>// global variables<br />extern ALLEGRO_TIMER *fps_timer;<br />extern ALLEGRO_DISPLAY *display;<br />extern int width;<br />extern int height;<br />extern int fps;</p><p>video file:<br /><a href="http://www79.zippyshare.com/v/d1HOqKmJ/file.html">http://www79.zippyshare.com/v/d1HOqKmJ/file.html</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Sat, 10 Dec 2016 04:43:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You can include code in &lt;code&gt;code goes here...&lt;/code&gt; tags for easier reading and formatting.</p><p>Your video is only 1.41 MB. Please upload it as an attachment. I will not be using ZippyShare to install AdWare. Thanks.</p><p>EDIT<br />You still haven&#39;t set the drawing target to the backbuffer before drawing the video frame and flipping the display.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 10 Dec 2016 05:56:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><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">void</span> splash_screen<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>  ALLEGRO_VIDEO <span class="k3">*</span>splash_vid <span class="k3">=</span> al_open_video<span class="k2">(</span><span class="s">"vid.ogv"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  4</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_MIXER"><span class="a">ALLEGRO_MIXER</span></a> <span class="k3">*</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">  5</span>
<span class="number">  6</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">  7</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>bitmap<span class="k2">;</span>
<span class="number">  8</span>
<span class="number">  9</span>  std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> al_is_video_playing<span class="k2">(</span>splash_vid<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>
<span class="number"> 11</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>vid_event_queue <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"> 12</span>
<span class="number"> 13</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>vid_event_queue, al_get_video_event_source<span class="k2">(</span>splash_vid<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>
<span class="number"> 15</span>  al_start_video<span class="k2">(</span>splash_vid, mixer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span>
<span class="number"> 17</span>  <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 18</span>  <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span>
<span class="number"> 19</span>  <span class="k2">{</span>
<span class="number"> 20</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> vid_ev<span class="k2">;</span>
<span class="number"> 21</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>vid_event_queue, <span class="k3">&amp;</span>vid_ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>    <span class="k1">if</span> <span class="k2">(</span>vid_ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_VIDEO_FRAME_SHOW<span class="k2">)</span>
<span class="number"> 23</span>    <span class="k2">{</span>
<span class="number"> 24</span>      bitmap <span class="k3">=</span> al_get_video_frame<span class="k2">(</span>splash_vid<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>      <a href="http://www.allegro.cc/manual/al_set_target_backbuffer"><span class="a">al_set_target_backbuffer</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 26</span>      <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bitmap, <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="number"> 27</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"> 28</span>      std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> __LINE__ <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">' '</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> __FILE__ <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
<span class="number"> 29</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"> 30</span>    <span class="k2">}</span>
<span class="number"> 31</span>    <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>vid_ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_VIDEO_FINISHED<span class="k2">)</span>
<span class="number"> 32</span>    <span class="k2">{</span>
<span class="number"> 33</span>      done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 34</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 35</span>    <span class="k2">}</span>
<span class="number"> 36</span>    std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> __LINE__ <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">' '</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> __FILE__ <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
<span class="number"> 37</span>  <span class="k2">}</span>
<span class="number"> 38</span>
<span class="number"> 39</span>  <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>vid_event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 40</span>  al_close_video<span class="k2">(</span>splash_vid<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 41</span>  <a href="http://www.allegro.cc/manual/al_destroy_mixer"><span class="a">al_destroy_mixer</span></a><span class="k2">(</span>mixer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 42</span><span class="k2">}</span>
</div></div><p>
Still no working, I can&#39;t figure why.<br />My event queue is all the time empty.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Sun, 11 Dec 2016 19:02:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s not playing because you&#39;re never receiving an ALLEGRO_EVENT_VIDEO_FRAME_SHOWN event. Looks like a bug in Allegro. Could be due to an unsupported video format. .ogv is just a container for different video files.</p><p>EDIT<br />I&#39;ve been having problems with DirectX and when I try to close my example program to play your .ogv file it deadlocks in al_close_video.</p><p>However, try ex_video to play your .ogv file. There doesn&#39;t appear to be anything wrong with the video file. VLC Media Player can play it just fine, and when I run &quot;ex_video.exe vid.ogv&quot; it plays fine. There may be something wrong with my build. I&#39;ve been having other problems with DirectX.</p><p>What version of Allegro are you using? Are you using binaries? If so, what version?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 12 Dec 2016 01:23:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So if you know, could you tell me which video format I can use ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Mon, 12 Dec 2016 01:27:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>See my edit.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 12 Dec 2016 03:04:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have Allegro 5.2.1.1 and I downloaded it from NuGet packages using Visual Studio 2015 Enterprise</p><p>EDIT</p><p>How can I use ex_video?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Mon, 12 Dec 2016 04:08:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Nuget doesn&#39;t come with the examples. You have to download the sources and compile ex_video yourself.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 12 Dec 2016 08:07:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Still don&#39;t know how to play video but I solved my problem. I rendered my video frame by frame in images and I am drawing them sequentially. Thanks for help and have a nice day <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Tue, 13 Dec 2016 02:57:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You should post your solution. Are you parsing the video yourself?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 13 Dec 2016 03:20:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes.</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">void</span> intro<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>intro_music <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><span class="s">"Intro/Intro_music.ogg"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  4</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  5</span>  std::string count <span class="k3">=</span> <span class="s">"000000"</span><span class="k2">;</span>
<span class="number">  6</span>  std::string name <span class="k3">=</span> <span class="s">"Intro/Intro_"</span><span class="k2">;</span>
<span class="number">  7</span>  std::string png <span class="k3">=</span> <span class="s">".png"</span><span class="k2">;</span>
<span class="number">  8</span>  std::string all_name<span class="k2">;</span>
<span class="number">  9</span>  std::string buffer<span class="k2">;</span>
<span class="number"> 10</span>  <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 11</span>  <span class="k1">int</span> c <span class="k3">=</span> <span class="n">0</span>, i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <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"> 14</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>event_queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>fps_timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</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>event_queue, <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"> 16</span>
<span class="number"> 17</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">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 18</span>  <a href="http://www.allegro.cc/manual/al_play_sample"><span class="a">al_play_sample</span></a><span class="k2">(</span>intro_music, <span class="n">1</span>, <span class="n">0</span>, <span class="n">1</span>, ALLEGRO_PLAYMODE_ONCE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span>
<span class="number"> 20</span>  <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span>
<span class="number"> 21</span>  <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> ev<span class="k2">;</span>
<span class="number"> 23</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 24</span>    <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN<span class="k2">)</span>
<span class="number"> 25</span>    <span class="k2">{</span>
<span class="number"> 26</span>      <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_SPACE<span class="k2">)</span>
<span class="number"> 27</span>        done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 28</span>    <span class="k2">}</span>
<span class="number"> 29</span>    <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span>
<span class="number"> 30</span>    <span class="k2">{</span>
<span class="number"> 31</span>      all_name <span class="k3">=</span> name <span class="k3">+</span> count <span class="k3">+</span> png<span class="k2">;</span>
<span class="number"> 32</span>      image <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>all_name.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</span>      <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>image, <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="number"> 34</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"> 35</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"> 36</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>image<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 37</span>      c<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 38</span>      count.clear<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 39</span>      count <span class="k3">=</span> std::to_string<span class="k2">(</span>c<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 40</span>      <span class="k1">while</span> <span class="k2">(</span>buffer.length<span class="k2">(</span><span class="k2">)</span> <span class="k3">+</span> count.length<span class="k2">(</span><span class="k2">)</span> <span class="k3">&lt;</span> <span class="n">6</span><span class="k2">)</span>
<span class="number"> 41</span>        buffer <span class="k3">+</span><span class="k3">=</span> <span class="s">'0'</span><span class="k2">;</span>
<span class="number"> 42</span>      count <span class="k3">=</span> buffer <span class="k3">+</span> count<span class="k2">;</span>
<span class="number"> 43</span>      <span class="k1">while</span> <span class="k2">(</span>count.length<span class="k2">(</span><span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">6</span><span class="k2">)</span>
<span class="number"> 44</span>        count.erase<span class="k2">(</span>count.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 45</span>      <span class="k3">+</span><span class="k3">+</span>i<span class="k2">;</span>
<span class="number"> 46</span>    <span class="k2">}</span>
<span class="number"> 47</span>    <span class="k1">if</span> <span class="k2">(</span>i <span class="k3">=</span><span class="k3">=</span> <span class="n">390</span><span class="k2">)</span>
<span class="number"> 48</span>      done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 49</span>  <span class="k2">}</span>
<span class="number"> 50</span>  <a href="http://www.allegro.cc/manual/al_destroy_sample"><span class="a">al_destroy_sample</span></a><span class="k2">(</span>intro_music<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 51</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Crisbe)</author>
		<pubDate>Tue, 13 Dec 2016 03:48:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Like I said, ex_video works, where our example programs do not. They must be doing something different. Look at the source of ex_video.c for clues. You can compile it yourself like any other normal allegro program now that you have Allegro from Nuget installed.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 13 Dec 2016 04:40:31 +0000</pubDate>
	</item>
</rss>
