+Sequencer::Loader::Loader(Sequencer &s, Demo &d):
+ DataFile::ObjectLoader<Sequencer>(s),
+ demo(d),
+ base_beat(0.0f)
+{
+ add("base", &Loader::base);
+ add("define_action", &Loader::define_action);
+ add("instant", &Loader::instant);
+ add("repeat", &Loader::repeat);
+ add("segment", &Loader::segment);
+}
+
+void Sequencer::Loader::base(float b)
+{
+ SetForScope<float> set_base(base_beat, base_beat+b);
+ load_sub_with(*this);
+}
+
+void Sequencer::Loader::define_action(const string &n)
+{
+ ActionDefLoader ldr(obj, demo);
+ load_sub_with(ldr);
+ obj.named_actions[n] = ldr.get_action();
+}