]> git.tdb.fi Git - xinema.git/blobdiff - source/xinema.cpp
Export some simple playback information to clients
[xinema.git] / source / xinema.cpp
index feab3272fcc2a85034ef043f3fb471d93ba45d10..267f6a4eeb42b1dbebce1d71e67fc106133fe397 100644 (file)
@@ -1,4 +1,5 @@
 #include <sigc++/bind.h>
+#include <msp/fs/dir.h>
 #include <msp/time/utils.h>
 #include "xineengine.h"
 #include "xinema.h"
@@ -22,6 +23,7 @@ int Xinema::main()
        display.tick();
 
        engine = new XineEngine(window, &display_mutex);
+       play_file(FS::get_sys_data_dir()/"xinema.png");
 
        Application::main();
 
@@ -34,6 +36,8 @@ int Xinema::main()
 
 void Xinema::tick()
 {
+       bool new_stream = false;
+
        {
                MutexLock lock(command_mutex);
                if(!pending_mrl.empty())
@@ -42,17 +46,19 @@ void Xinema::tick()
                        stream = new XineStream(*engine, pending_mrl);
                        stream->play();
                        pending_mrl.clear();
+                       new_stream = true;
                }
        }
 
+       if(new_stream)
+               signal_stream_created.emit(*stream);
+
        {
                MutexLock lock(display_mutex);
                display.tick();
        }
 
        engine->tick();
-       if(stream)
-               stream->tick();
 
        Time::sleep(10*Time::msec);
 }