#define XINEMA_H_
#include <msp/core/application.h>
-#include <msp/core/mutex.h>
#include <msp/fs/path.h>
#include <msp/graphics/display.h>
#include <msp/graphics/window.h>
class Xinema: public Msp::RegisteredApplication<Xinema>
{
+private:
+ struct EarlyInit
+ {
+ EarlyInit();
+ };
+
public:
sigc::signal<void, XineStream &> signal_stream_created;
+ sigc::signal<void> signal_stream_destroyed;
private:
+ EarlyInit early_init;
Msp::Graphics::Display display;
- Msp::Mutex display_mutex;
Msp::Graphics::Window window;
NetworkInterface network;
XineEngine *engine;
XineStream *stream;
+ bool logo_mode;
Msp::Mutex command_mutex;
std::string pending_mrl;
+ bool pending_logo;
public:
Xinema(int, char **);
public:
void play_file(const Msp::FS::Path &);
- XineStream *get_stream() const { return stream; }
+ XineStream *get_stream() const { return logo_mode ? 0 : stream; }
+
+private:
+ void show_logo();
};
#endif