]> git.tdb.fi Git - libs/demoscene.git/blobdiff - source/sequencer.h
Validate one-off actions
[libs/demoscene.git] / source / sequencer.h
index f8137177bbd73c31d792a5f59299187a49d99fdd..cb80f8f05d87b9a7d55583c1e7f70080f4ac1e2f 100644 (file)
@@ -10,6 +10,9 @@
 #include <msp/time/timestamp.h>
 #include "action.h"
 
+namespace Msp {
+namespace DemoScene {
+
 class Demo;
 
 class Sequencer
@@ -19,13 +22,16 @@ public:
        {
        private:
                Demo &demo;
+               float base_beat;
 
        public:
                Loader(Sequencer &, Demo &);
 
        private:
+               void base(float);
                void define_action(const std::string &);
                void instant(float);
+               void repeat(float, float, unsigned);
                void segment(float, float);
        };
 
@@ -175,8 +181,12 @@ void Sequencer::SegmentLoader::action()
 {
        Msp::RefPtr<T> act = new T;
        load_sub(*act, demo);
+       act->validate();
        obj.add_action(*act, start_beat, end_beat);
        obj.anonymous_actions.push_back(act.release());
 }
 
+} // namespace DemoScene
+} // namespace Msp
+
 #endif