]> git.tdb.fi Git - libs/demoscene.git/blobdiff - source/sequencer.cpp
Create Stage pipeline when added to a view
[libs/demoscene.git] / source / sequencer.cpp
index 3807e1c15a760777273cc65a0c7030287f8c7467..eeb41d20da6865b72eb0ab0c5097ad1a0805600a 100644 (file)
@@ -1,6 +1,7 @@
 #include <cmath>
 #include <msp/core/algorithm.h>
 #include <msp/core/maputils.h>
+#include "animate.h"
 #include "fadeoverlay.h"
 #include "sequencer.h"
 #include "stage.h"
@@ -15,8 +16,10 @@ Sequencer::Sequencer(float bpm):
 {
        set_beats_per_minute(bpm);
 
+       register_action_type<Animate>("animate");
        register_action_type<FadeOverlay::Fade>("fade");
        register_action_type<Stage::UseInView>("use_stage");
+       register_action_type<Stage::SetCamera>("set_camera");
 }
 
 void Sequencer::set_beats_per_minute(float bpm)
@@ -34,12 +37,12 @@ void Sequencer::add_action(Action &act, float sb, float eb)
        if(sb<0 || sb>eb)
                throw invalid_argument("Sequencer::add_action");
 
-       Segment seq_act;
-       seq_act.action = &act;
-       seq_act.start_beat = sb;
-       seq_act.end_beat = eb;
+       Segment seg;
+       seg.action = &act;
+       seg.start_beat = sb;
+       seg.end_beat = eb;
        auto i = find_if(segments, [=](const Segment &s){ return s.start_beat>sb; });
-       segments.insert(i, seq_act);
+       segments.insert(i, seg);
 }
 
 void Sequencer::start()