1 #include <sigc++/bind.h>
2 #include <msp/fs/dir.h>
3 #include <msp/time/utils.h>
4 #include "xineengine.h"
6 #include "xinestream.h"
11 Xinema::Xinema(int, char **):
12 window(display, 1920, 1080),
17 window.signal_close.connect(sigc::bind(sigc::mem_fun(this, &Xinema::exit), 0));
25 engine = new XineEngine(window, &display_mutex);
26 play_file(FS::get_sys_data_dir()/"xinema.png");
39 bool new_stream = false;
42 MutexLock lock(command_mutex);
43 if(!pending_mrl.empty())
46 stream = new XineStream(*engine, pending_mrl);
54 signal_stream_created.emit(*stream);
57 MutexLock lock(display_mutex);
63 Time::sleep(10*Time::msec);
66 void Xinema::play_file(const FS::Path &fn)
68 MutexLock lock(command_mutex);
69 pending_mrl = "file://"+fn.str();