#include <msp/time/utils.h>
#include "demo.h"
+#include "stage.h"
using namespace std;
using namespace Msp;
Demo::Demo(Graphics::Window &window, Graphics::GLContext &gl_ctx, DataFile::Collection &r):
resources(r),
view(window, gl_ctx),
+ anim_action(anim_player),
music_source(0),
streamer(0),
music_io(0),
{
things["window"] = static_cast<GL::View *>(&view);
+ sequencer.add_static_action(anim_action);
sequencer.signal_finished.connect(signal_finished);
}
delete music_source;
}
+void Demo::add_stage(const std::string &name, Stage &stage)
+{
+ things[name] = &stage;
+ stage.add_things(things, name+".");
+}
+
void Demo::set_fixed_framerate(float fps)
{
frame_interval = Time::sec/fps;
{
sequencer.seek(pos*sequencer.get_beats_per_minute()/Time::min);
}
+
+
+Demo::AnimationAction::AnimationAction(GL::AnimationPlayer &p):
+ player(p)
+{ }
+
+void Demo::AnimationAction::tick(float, float d)
+{
+ player.tick(d*Time::sec);
+}