<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>video &amp; physfs problems in the same file</title>
		<link>http://www.allegro.cc/forums/view/617247</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 06 Feb 2018 22:02:36 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi people!</p><p>I have this project (called LAS), to help new students in my university, this isn´t a game, you can think it like an Encarta (an interactive book), and I want this program could plays videos, some videos I will make with Blender, so.... my problem is this: I can´t play videos after init physfs</p><p>I mean: <br />project only with physfs works fine<br />project only with video addon works fine<br />project doesnt works fine, can&#39;t play video if physfs is used before, but can play video before use physfs (open video cant find video, give me NULL)</p><p>So, I thought the problem could be the interface I/O, so I tried to fixed using:<br />void al_set_fs_interface()<br />void al_set_standard_fs_interface()<br />void al_restore_state()<br />void al_set_standard_file_interface()<br />...to manage the interfaces <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" /> in some strategic places of the program, but I don´t know the how to</p><p>please help me <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></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="p">#include &lt;stdio.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;physfs.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_image.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_font.h&gt;</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_physfs.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_video.h&gt;</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="k1">typedef</span> <span class="k1">struct</span> <a href="http://www.allegro.cc/manual/ALLEGRO_STATE"><span class="a">ALLEGRO_STATE</span></a> <a href="http://www.allegro.cc/manual/ALLEGRO_STATE"><span class="a">ALLEGRO_STATE</span></a><span class="k2">;</span>
<span class="number">  14</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span>
<span class="number">  15</span><span class="k1">static</span> <span class="k1">char</span> <span class="k1">const</span> <span class="k3">*</span>filename<span class="k2">;</span>
<span class="number">  16</span><span class="k1">void</span> <a href="http://www.allegro.cc/manual/al_set_fs_interface"><span class="a">al_set_fs_interface</span></a><span class="k2">(</span><span class="k1">const</span> <a href="http://www.allegro.cc/manual/ALLEGRO_FS_INTERFACE"><span class="a">ALLEGRO_FS_INTERFACE</span></a> <span class="k3">*</span>fs_interface<span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span><span class="k2">{</span>
<span class="number">  18</span>   thread_local_state <span class="k3">*</span>tls<span class="k2">;</span>
<span class="number">  19</span>
<span class="number">  20</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>tls <span class="k3">=</span> tls_get<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number">  21</span>      <span class="k1">return</span><span class="k2">;</span>
<span class="number">  22</span>   tls-&gt;fs_interface <span class="k3">=</span> fs_interface<span class="k2">;</span>
<span class="number">  23</span><span class="k2">}</span>
<span class="number">  24</span><span class="k1">void</span> <a href="http://www.allegro.cc/manual/al_set_standard_fs_interface"><span class="a">al_set_standard_fs_interface</span></a><span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  25</span><span class="k2">{</span>
<span class="number">  26</span>   <a href="http://www.allegro.cc/manual/al_set_fs_interface"><span class="a">al_set_fs_interface</span></a><span class="k2">(</span><span class="k3">&amp;</span>_al_fs_interface_stdio<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span><span class="k2">}</span>
<span class="number">  28</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  29</span><span class="k2">{</span>
<span class="number">  30</span>    <span class="c">/** DECLARACIONES **/</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  32</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_MONITOR_INFO"><span class="a">ALLEGRO_MONITOR_INFO</span></a> info<span class="k2">;</span>
<span class="number">  33</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">  34</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>bitmap <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  35</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> NULL<span class="k2">;</span>
<span class="number">  36</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  37</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">  38</span>    ALLEGRO_VIDEO <span class="k3">*</span>video <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  39</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  40</span>    <span class="k1">bool</span> exit_program <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  41</span>    <span class="k1">int</span> windowHeight, windowWidth, screenWidth, screenHeight, x<span class="k2">;</span>
<span class="number">  42</span>    <span class="k1">float</span> sx, sy<span class="k2">;</span>
<span class="number">  43</span>    <span class="k1">char</span> resol<span class="k2">[</span><span class="n">59</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  44</span><span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  45</span>    <span class="k2">{</span>
<span class="number">  46</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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al inicializar A5!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  47</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  48</span>    <span class="k2">}</span>
<span class="number">  49</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">  50</span>    <span class="k2">{</span>
<span class="number">  51</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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al inicializar al_init_image_addon!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  53</span>    <span class="k2">}</span>
<span class="number">  54</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  55</span>    <span class="k2">{</span>
<span class="number">  56</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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al inicializar al_init_font_addon!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  58</span>    <span class="k2">}</span>
<span class="number">  59</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">  60</span>    <span class="k2">{</span>
<span class="number">  61</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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al inicializar al_init_ttf_addon!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  63</span>    <span class="k2">}</span>
<span class="number">  64</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">  65</span>    <span class="k2">{</span>
<span class="number">  66</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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al inicializar al_init_primitives_addon!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  68</span>    <span class="k2">}</span>
<span class="number">  69</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">  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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al inicializar al_install_keyboard!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  73</span>    <span class="k2">}</span>
<span class="number">  74</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>al_init_video_addon<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  75</span>    <span class="k2">{</span>
<span class="number">  76</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Could not initialize the video addon.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  77</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  78</span>    <span class="k2">}</span>
<span class="number">  79</span>    timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  81</span>    <span class="k2">{</span>
<span class="number">  82</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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al crear timer!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  84</span>    <span class="k2">}</span>
<span class="number">  85</span><span class="c">/* Resolution Independence */</span>
<span class="number">  86</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">  87</span>    <a href="http://www.allegro.cc/manual/al_get_monitor_info"><span class="a">al_get_monitor_info</span></a><span class="k2">(</span><span class="n">0</span>, <span class="k3">&amp;</span>info<span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>    windowWidth <span class="k3">=</span> info.x2 <span class="k3">-</span> info.x1<span class="k2">;</span> <span class="c">/* Assume this is 1366 */</span>
<span class="number">  89</span>    windowHeight <span class="k3">=</span> info.y2 <span class="k3">-</span> info.y1<span class="k2">;</span> <span class="c">/* Assume this is 768 */</span>
<span class="number">  90</span>    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><span class="n">1000</span>, <span class="n">420</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">/*(windowWidth, windowHeight);*/</span>
<span class="number">  91</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al crear display!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>        <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  96</span>    <span class="k2">}</span>
<span class="number">  97</span>    screenWidth <span class="k3">=</span> windowWidth<span class="k2">;</span><span class="c">/* 768;    4:3  aspecto */</span>
<span class="number">  98</span>    screenHeight <span class="k3">=</span> windowHeight<span class="k2">;</span><span class="c">/* 576; */</span>
<span class="number">  99</span>    sx <span class="k3">=</span> windowWidth <span class="k3">/</span> <span class="k2">(</span><span class="k1">float</span><span class="k2">)</span>screenWidth<span class="k2">;</span>
<span class="number"> 100</span>    sy <span class="k3">=</span> windowHeight <span class="k3">/</span> <span class="k2">(</span><span class="k1">float</span><span class="k2">)</span>screenHeight<span class="k2">;</span>
<span class="number"> 101</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> trans<span class="k2">;</span>
<span class="number"> 102</span>    <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>    <a href="http://www.allegro.cc/manual/al_scale_transform"><span class="a">al_scale_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, sx, sy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span>    <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>    <span class="c">/*  fin de Resolution Independence  */</span>
<span class="number"> 106</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"> 107</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"> 108</span>    filename <span class="k3">=</span> <span class="s">"welcome.ogv"</span><span class="k2">;</span>
<span class="number"> 109</span>    video <span class="k3">=</span> al_open_video<span class="k2">(</span>filename<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>video<span class="k2">)</span> 
<span class="number"> 111</span>    <span class="k2">{</span>
<span class="number"> 112</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Cannot read %s.\n"</span>, filename<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>    <span class="k2">}</span>
<span class="number"> 114</span>    <span class="k1">else</span>
<span class="number"> 115</span>    <span class="k2">{</span>
<span class="number"> 116</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">" encontrado %s.\n"</span>, filename<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>    <span class="k2">}</span>
<span class="number"> 118</span>    video <span class="k3">=</span> al_open_video<span class="k2">(</span><span class="s">"welcome.ogv"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>    <span class="k1">if</span><span class="k2">(</span>video <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number"> 120</span>    <span class="k2">{</span>
<span class="number"> 121</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"video not found "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span>        <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">8</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 123</span>    <span class="k2">}</span>
<span class="number"> 124</span>            al_start_video<span class="k2">(</span>video, <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>
<span class="number"> 125</span>
<span class="number"> 126</span>            <span class="k1">for</span><span class="k2">(</span>x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> x <span class="k3">&lt;</span> <span class="n">100</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span>
<span class="number"> 127</span>            <span class="k2">{</span>
<span class="number"> 128</span>              bitmap <span class="k3">=</span> al_get_video_frame<span class="k2">(</span>video<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>
<span class="number"> 130</span>                <span class="k1">if</span><span class="k2">(</span>bitmap<span class="k2">)</span>
<span class="number"> 131</span>                <span class="k2">{</span>
<span class="number"> 132</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">21</span>, <span class="n">93</span>, <span class="n">110</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">/* same color than Else or I have flickering screen */</span>
<span class="number"> 133</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">111</span>, <span class="n">200</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>                <span class="k2">}</span>
<span class="number"> 135</span>                <span class="k1">else</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">21</span>, <span class="n">93</span>, <span class="n">110</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">/* withot this line I have audio only*/</span>
<span class="number"> 137</span>             <span class="k2">}</span>
<span class="number"> 138</span><span class="k1">void</span> <a href="http://www.allegro.cc/manual/al_store_state"><span class="a">al_store_state</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_STATE"><span class="a">ALLEGRO_STATE</span></a> <span class="k3">*</span>state, <span class="k1">int</span> ALLEGRO_STATE_ALL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>   <span class="c">/*  Carga segun resolucion  */</span>
<span class="number"> 140</span>    PHYSFS_init<span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>PHYSFS_mount<span class="k2">(</span><span class="s">"data"</span>, <span class="s">"/"</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 142</span>    <span class="k2">{</span>
<span class="number"> 143</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\n error carga physfs"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 144</span>        <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 145</span>        <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 147</span>    <span class="k2">}</span>
<span class="number"> 148</span>    <a href="http://www.allegro.cc/manual/al_set_physfs_file_interface"><span class="a">al_set_physfs_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span><span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>PHYSFS_exists<span class="k2">(</span><span class="s">"bg.png"</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 150</span>    <span class="k2">{</span>
<span class="number"> 151</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">" \n Failed: PHYSFS_exists error "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 152</span>    <span class="k2">}</span>
<span class="number"> 153</span>    <span class="k1">else</span>
<span class="number"> 154</span>    <span class="k2">{</span>
<span class="number"> 155</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><span class="s">"bg.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 156</span><span class="c">//        al_set_standard_file_interface();/* back to al_fopen interface? */</span>
<span class="number"> 157</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"> 158</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"> 159</span>        <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>
<span class="number"> 161</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><span class="s">"Riel.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 162</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"> 163</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"> 164</span>        <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 165</span><span class="c">//        al_set_standard_file_interface(); /* it didnt work here */</span>
<span class="number"> 166</span>    <span class="k2">}</span>
<span class="number"> 167</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"> 168</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number"> 169</span>    <span class="k2">{</span>
<span class="number"> 170</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>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Fallo al inicializar al_init_primitives_addon!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span>        <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 172</span>        <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 173</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 174</span>    <span class="k2">}</span>
<span class="number"> 175</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_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 176</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>timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>
<span class="number"> 178</span>    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 179</span>    <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 180</span>    <span class="k2">{</span>
<span class="number"> 181</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"> 182</span>
<span class="number"> 183</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"> 184</span>        <span class="k2">{</span>
<span class="number"> 185</span>            redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 186</span>        <span class="k2">}</span>
<span class="number"> 187</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 188</span>        <span class="k2">{</span>
<span class="number"> 189</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 190</span>        <span class="k2">}</span>
<span class="number"> 191</span>       <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 192</span>        <span class="k2">{</span>
<span class="number"> 193</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 194</span>            <span class="k1">void</span> <a href="http://www.allegro.cc/manual/al_restore_state"><span class="a">al_restore_state</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_STATE"><span class="a">ALLEGRO_STATE</span></a> <span class="k1">const</span> <span class="k3">*</span>state<span class="k2">)</span><span class="k2">;</span> <span class="c">/* ?? I copied... */</span>
<span class="number"> 195</span>            <span class="k1">void</span> <a href="http://www.allegro.cc/manual/al_set_standard_file_interface"><span class="a">al_set_standard_file_interface</span></a><span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">/* ...from ona example*/</span>
<span class="number"> 196</span>            video <span class="k3">=</span> al_open_video<span class="k2">(</span><span class="s">"welcome.ogv"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 197</span>            <span class="k1">if</span><span class="k2">(</span>video <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number"> 198</span>            <span class="k2">{</span>
<span class="number"> 199</span>                <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">" no video file "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 200</span>                <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">8</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 201</span>            <span class="k2">}</span>
<span class="number"> 202</span>            <span class="k1">else</span>
<span class="number"> 203</span>            <span class="k2">{</span>  
<span class="number"> 204</span>                <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">" video file found "</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 205</span>            <span class="k2">}</span>
<span class="number"> 206</span>            al_start_video<span class="k2">(</span>video, <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>
<span class="number"> 207</span>            <span class="k1">for</span><span class="k2">(</span>x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> x <span class="k3">&lt;</span> <span class="n">100</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span>
<span class="number"> 208</span>            <span class="k2">{</span>
<span class="number"> 209</span>                bitmap <span class="k3">=</span> al_get_video_frame<span class="k2">(</span>video<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 210</span>                <span class="k1">if</span><span class="k2">(</span>bitmap<span class="k2">)</span>
<span class="number"> 211</span>                <span class="k2">{</span>
<span class="number"> 212</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">21</span>, <span class="n">93</span>, <span class="n">110</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 213</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">111</span>, <span class="n">200</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 214</span>                <span class="k2">}</span>
<span class="number"> 215</span>                <span class="k1">else</span>
<span class="number"> 216</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">21</span>, <span class="n">93</span>, <span class="n">110</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 217</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"> 218</span>                <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">0</span>.<span class="n">01</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 219</span>            <span class="k2">}</span>
<span class="number"> 220</span>        <span class="k2">}</span>
<span class="number"> 221</span>    <span class="k2">}</span>
<span class="number"> 222</span>    <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 223</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 224</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>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</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"> 226</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>    al_close_video<span class="k2">(</span>video<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 228</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 229</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AramisL)</author>
		<pubDate>Tue, 30 Jan 2018 11:17:26 +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/617247/1034932#target">AramisL</a> said:</div><div class="quote"><p>
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> <a href="http://www.allegro.cc/manual/al_set_fs_interface"><span class="a">al_set_fs_interface</span></a><span class="k2">(</span><span class="k1">const</span> <a href="http://www.allegro.cc/manual/ALLEGRO_FS_INTERFACE"><span class="a">ALLEGRO_FS_INTERFACE</span></a> <span class="k3">*</span>fs_interface<span class="k2">)</span><span class="k2">;</span>
<span class="k2">{</span>
   thread_local_state <span class="k3">*</span>tls<span class="k2">;</span>
   <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>tls <span class="k3">=</span> tls_get<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span>
   tls-&gt;fs_interface <span class="k3">=</span> fs_interface<span class="k2">;</span>
<span class="k2">}</span>
<span class="k1">void</span> <a href="http://www.allegro.cc/manual/al_set_standard_fs_interface"><span class="a">al_set_standard_fs_interface</span></a><span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> <span class="k2">{</span>
   <a href="http://www.allegro.cc/manual/al_set_fs_interface"><span class="a">al_set_fs_interface</span></a><span class="k2">(</span><span class="k3">&amp;</span>_al_fs_interface_stdio<span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
<span class="k1">int</span> main<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
</pre></div></div><p>
</p></div></div><p>
What exactly are you trying to do here? You can&#39;t just re-write and override functions like that :O xD</p><p>Please try reading the manual. </p><p><a href="http://liballeg.org/a5docs/trunk/physfs.html#al_set_physfs_file_interface">http://liballeg.org/a5docs/trunk/physfs.html#al_set_physfs_file_interface</a></p><p><a href="http://liballeg.org/a5docs/trunk/fshook.html#al_set_standard_fs_interface">http://liballeg.org/a5docs/trunk/fshook.html#al_set_standard_fs_interface</a></p><p>After you call physfs_init, call al_set_physfs_file_interface. Now load all of your assets from the zip archive you specified. After that when you&#39;re all done with your data file, call al_set_standard_fs_interface to use the normal filesystem interface for your video streaming.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 30 Jan 2018 21:11:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi Edgar!<br />I just copied that from someplace, and copy &amp; paste <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /> I already read that pages before, but I dont understand  what they say, it is obscure thing to me yet <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> like magic....<br />Thanks for answer and I will try that solution
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AramisL)</author>
		<pubDate>Tue, 30 Jan 2018 22:05:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Copy Paste Coding is the Source of All Evil<sup>TM</sup>...</p><p>There are a lot of other things that need to be fixed in your code as well.</p><p>Your code needs to be formatted with proper indentation spacing, or no one will bother reading it, as it is too confusing.</p><p>You&#39;re using function declarations where you&#39;re trying to call a function, you&#39;re playing the video with rest in addition to a timer, and I&#39;m sure there are other things.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 30 Jan 2018 22:18:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>In my Deluxe Pacman 2 game (below), I initialize Physfs with the following code:</p><div class="source-code snippet"><div class="inner"><pre><span class="c">/// ****** Initialize PHYSFS *******</span>
   PHYSFS_init<span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">;</span>
   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>PHYSFS_mount<span class="k2">(</span><span class="s">"Deluxe Pacman 2.pak"</span>, <span class="s">"/"</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
      a5_error<span class="k2">(</span>AT, setting.screen, <span class="s">"PHSYFS_init() failed."</span><span class="k2">)</span><span class="k2">;</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="k2">}</span>
   <a href="http://www.allegro.cc/manual/al_set_physfs_file_interface"><span class="a">al_set_physfs_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
Note: the a5_error() is my own personal function, not part of Allegro 5.</p><p>In the above case, my &quot;Deluxe Pacman 2.pak&quot; file is just a ZIP file renamed and all file access will look inside of it when <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_physfs_file_interface"><span class="a">al_set_physfs_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></span> is invoked.</p><p>For normal file access you would use <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_standard_file_interface"><span class="a">al_set_standard_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></span>, check for files outside of your ZIP and  then invoke <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_physfs_file_interface"><span class="a">al_set_physfs_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></span> again to switch back to the ZIP.  Which is what I do in my game.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Roy)</author>
		<pubDate>Tue, 30 Jan 2018 22:38:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>My mistake. I confused fs_interface with file_interface. Neil is right, use al_set_physfs_file_interface and al_set_standard_file_interface, not fs interface. For some bizarre reason they&#39;re separate.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 30 Jan 2018 22:45:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Solved problem!  <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /> but when I tried to clean the video fragment I have problems, maybe because I followed this post <a href="https://www.allegro.cc/forums/thread/612410">https://www.allegro.cc/forums/thread/612410</a><br />BUT, in that example, there is&#39;nt a timer, so my video flickr and restart infinite times halting my pc <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" /> console says: null null null null
</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"> 196</span>    video <span class="k3">=</span> al_open_video<span class="k2">(</span><span class="s">"welcome.ogv"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 197</span>    al_start_video<span class="k2">(</span>video, <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>
<span class="number"> 198</span>    <span class="k1">for</span><span class="k2">(</span>x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> x <span class="k3">&lt;</span> <span class="n">100</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span>
<span class="number"> 199</span>    <span class="k2">{</span>
<span class="number"> 200</span>        bitmap <span class="k3">=</span> al_get_video_frame<span class="k2">(</span>video<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 201</span>        <span class="k1">if</span><span class="k2">(</span>bitmap<span class="k2">)</span>
<span class="number"> 202</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">111</span>, <span class="n">200</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 203</span>        <span class="k1">else</span>
<span class="number"> 204</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">" null    "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 205</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"> 206</span>        <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">0</span>.<span class="n">01</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 207</span>    <span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AramisL)</author>
		<pubDate>Wed, 31 Jan 2018 02:17:58 +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">while</span> <span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  2</span>
<span class="number">  3</span><span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  4</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">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  5</span>   <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bitmap , x , y<span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</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">  7</span>   redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  8</span><span class="k2">}</span>
<span class="number">  9</span><span class="k1">do</span> <span class="k2">[</span>
<span class="number"> 10</span>
<span class="number"> 11</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"> 12</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>q , <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>
<span class="number"> 14</span>   <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_VIDEO_FRAME_SHOW<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 15</span>      bitmap <span class="k3">=</span> al_get_video_frame<span class="k2">(</span>video<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 16</span>   <span class="k2">}</span>
<span class="number"> 17</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="k2">{</span>
<span class="number"> 18</span>      redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 19</span>   <span class="k2">}</span>
<span class="number"> 20</span>
<span class="number"> 21</span><span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>q<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 31 Jan 2018 03:34:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Edgar&#39;s solution is a good one. No misused timer as he uses events (more garanties to have it running at the same fps everywhere), and it manages redraw.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Mon, 05 Feb 2018 02:22:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I put together a working example for you AramisL, here it is :</p><p><a href="https://www.allegro.cc/files/attachment/611262">Video.zip</a> (win32 binary + src)</p><p>Here&#39;s the full code :</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 "allegro5/allegro.h"</span>
<span class="number">   3</span><span class="p">#include "allegro5/allegro_video.h"</span>
<span class="number">   4</span><span class="p">#include "allegro5/allegro_audio.h"</span>
<span class="number">   5</span>
<span class="number">   6</span><span class="p">#include &lt;cstdio&gt;</span>
<span class="number">   7</span>
<span class="number">   8</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><span class="k3">*</span> argv<span class="k2">)</span> <span class="k2">{</span>
<span class="number">   9</span>    
<span class="number">  10</span>    <span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span> video_path <span class="k3">=</span> <span class="s">"cat.ogv"</span><span class="k2">;</span>
<span class="number">  11</span>    
<span class="number">  12</span>    <span class="k1">if</span> <span class="k2">(</span>argc <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  13</span>        video_path <span class="k3">=</span> argv<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  14</span>    <span class="k2">}</span>
<span class="number">  15</span>    
<span class="number">  16</span>    
<span class="number">  17</span>    <span class="k1">int</span> ww <span class="k3">=</span> <span class="n">1024</span><span class="k2">;</span>
<span class="number">  18</span>    <span class="k1">int</span> wh <span class="k3">=</span> <span class="n">768</span><span class="k2">;</span>
<span class="number">  19</span>    
<span class="number">  20</span>    <span class="k1">int</span> vw <span class="k3">=</span> <span class="n">600</span><span class="k2">;</span>
<span class="number">  21</span>    <span class="k1">int</span> vh <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  22</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"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span><span class="k1">return</span> <span class="n">1</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  24</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>al_init_video_addon<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span><span class="k1">return</span> <span class="n">2</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  25</span>    
<span class="number">  26</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="k2">{</span><span class="k1">return</span> <span class="n">3</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  27</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="k2">{</span><span class="k1">return</span> <span class="n">4</span><span class="k2">;</span><span class="k2">}</span>
<span class="number">  28</span>
<span class="number">  29</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">2</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>    
<span class="number">  31</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_OPENGL <span class="k3">|</span> ALLEGRO_WINDOWED <span class="k3">|</span> ALLEGRO_RESIZABLE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>    
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>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>ww,wh<span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>    ALLEGRO_VIDEO<span class="k3">*</span> video <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  35</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> bitmap <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  36</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>evqueue <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">  37</span>
<span class="number">  38</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>fps_timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span><span class="c">//    ALLEGRO_PATH *path = al_get_standard_path(ALLEGRO_RESOURCES_PATH);</span>
<span class="number">  40</span><span class="c">//    chdir(al_path_cstr(path, '/'));</span>
<span class="number">  41</span>
<span class="number">  42</span>
<span class="number">  43</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>evqueue, <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">  44</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>evqueue, <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>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</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>evqueue, <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">  46</span>
<span class="number">  47</span>    
<span class="number">  48</span>    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>fps_timer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>    
<span class="number">  50</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  51</span>    <span class="k1">bool</span> quit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  52</span>    <span class="k1">bool</span> playing <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  53</span>    <span class="k1">bool</span> play <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  54</span>
<span class="number">  55</span>    video <span class="k3">=</span> al_open_video<span class="k2">(</span>video_path<span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>video<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  57</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Failed to load video '%s'.\n"</span> , video_path<span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  59</span>    <span class="k2">}</span>
<span class="number">  60</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>evqueue , al_get_video_event_source<span class="k2">(</span>video<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>    
<span class="number">  62</span>    <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span>
<span class="number">  63</span>    <span class="k2">{</span>
<span class="number">  64</span>        <span class="k1">if</span><span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number">  65</span>        <span class="k2">{</span>
<span class="number">  66</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">23</span>,<span class="n">111</span>,<span class="n">222</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>            <span class="k1">if</span> <span class="k2">(</span>bitmap <span class="k3">&amp;</span><span class="k3">&amp;</span> playing<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  68</span>                <span class="k1">int</span> srcw <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_width"><span class="a">al_get_bitmap_width</span></a><span class="k2">(</span>bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>                <span class="k1">int</span> srch <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_height"><span class="a">al_get_bitmap_height</span></a><span class="k2">(</span>bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>                vw <span class="k3">=</span> al_get_video_scaled_width<span class="k2">(</span>video<span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>                vh <span class="k3">=</span> al_get_video_scaled_height<span class="k2">(</span>video<span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span><span class="c">//                float scalex = vw/destw;</span>
<span class="number">  73</span><span class="c">//                float scaley = vh/desth;</span>
<span class="number">  74</span><span class="c">//                float scale = (scalex&gt;scaley)?scaley:scalex;</span>
<span class="number">  75</span>                
<span class="number">  76</span>                <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span>bitmap , <span class="n">0</span> , <span class="n">0</span> , srcw , srch , <span class="k2">(</span>ww-vw<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> , <span class="k2">(</span>wh <span class="k3">-</span> vh<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> , vw , vh , <span class="n">0</span><span class="k2">)</span><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_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">  79</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  80</span>        <span class="k2">}</span>
<span class="number">  81</span>        <span class="k1">do</span>
<span class="number">  82</span>        <span class="k2">{</span>
<span class="number">  83</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">  84</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>evqueue, <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>
<span class="number">  86</span>            <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_VIDEO_FRAME_SHOW<span class="k2">)</span>
<span class="number">  87</span>            <span class="k2">{</span>
<span class="number">  88</span>                bitmap <span class="k3">=</span> al_get_video_frame<span class="k2">(</span>video<span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>            <span class="k2">}</span>
<span class="number">  90</span>
<span class="number">  91</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="k3">&amp;</span><span class="k3">&amp;</span> ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_P<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  92</span>                play <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  93</span>            <span class="k2">}</span>
<span class="number">  94</span>            <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_VIDEO_FINISHED<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  95</span>                playing <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  96</span>                play <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="c">/// restart video</span>
<span class="number">  97</span>            <span class="k2">}</span>
<span class="number">  98</span>            
<span class="number">  99</span>            <span class="k1">if</span> <span class="k2">(</span>play<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 100</span>                <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>playing<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 101</span>                    al_set_video_playing<span class="k2">(</span>video , <span class="k1">false</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>                    al_start_video<span class="k2">(</span>video , <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>
<span class="number"> 103</span>                    al_seek_video<span class="k2">(</span>video , <span class="n">0</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span>                    al_set_video_playing<span class="k2">(</span>video , <span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>                    <span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 106</span>                    <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span><span class="k2">(</span>bitmap <span class="k3">=</span> al_get_video_frame<span class="k2">(</span>video<span class="k2">)</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> i <span class="k3">&lt;</span> <span class="n">100</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 107</span>                        <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">0</span>.<span class="n">01</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>                        <span class="k3">+</span><span class="k3">+</span>i<span class="k2">;</span>
<span class="number"> 109</span>                    <span class="k2">}</span>
<span class="number"> 110</span>                    <span class="k1">if</span> <span class="k2">(</span>i <span class="k3">&lt;</span> <span class="n">1000</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 111</span>                        playing <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 112</span>                    <span class="k2">}</span>
<span class="number"> 113</span>                <span class="k2">}</span>
<span class="number"> 114</span>                <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 115</span>                    al_set_video_playing<span class="k2">(</span>video , <span class="k1">false</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>                    bitmap <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 117</span>                    playing <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 118</span>                <span class="k2">}</span>
<span class="number"> 119</span>                play <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 120</span>            <span class="k2">}</span>
<span class="number"> 121</span>            <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 122</span>                quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 123</span>            <span class="k2">}</span>
<span class="number"> 124</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="k3">&amp;</span><span class="k3">&amp;</span> ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 125</span>                quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 126</span>            <span class="k2">}</span>
<span class="number"> 127</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"> 128</span>            <span class="k2">{</span>
<span class="number"> 129</span>                redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 130</span>            <span class="k2">}</span>
<span class="number"> 131</span>            <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_RESIZE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 132</span>                <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>                ww <span class="k3">=</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>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>                wh <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>            <span class="k2">}</span>
<span class="number"> 136</span>        <span class="k2">}</span>
<span class="number"> 137</span>        <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>evqueue<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>
<span class="number"> 139</span>    <span class="k2">}</span>
<span class="number"> 140</span>
<span class="number"> 141</span>    al_close_video<span class="k2">(</span>video<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>    video <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 143</span>    
<span class="number"> 144</span>    <a href="http://www.allegro.cc/manual/al_uninstall_system"><span class="a">al_uninstall_system</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 145</span>    
<span class="number"> 146</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 147</span><span class="k2">}</span>
</div></div><p>

I think the only thing you are missing is to register the video event source with your event queue. That&#39;s why you&#39;re not getting any events.</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue , al_get_video_event_source<span class="k2">(</span>video<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Then you&#39;ll want to monitor ALLEGRO_EVENT_VIDEO_FRAME_SHOW and ALLEGRO_EVENT_VIDEO_FINISHED event types in your event loop.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 06 Feb 2018 22:02:36 +0000</pubDate>
	</item>
</rss>
