+template<typename T>
+inline void Sequencer::register_action_type(const std::string &n)
+{
+ action_registry.register_type<T>(n);
+}
+
+template<typename T>
+void Sequencer::ActionDefLoader::action_def()
+{
+ if(action)
+ throw std::runtime_error("Only one action per definition is allowed");
+
+ Msp::RefPtr<T> act = new T;
+ load_sub(*act, demo);
+ act->validate();
+ action = act.release();
+ action_loaded();
+}
+
+} // namespace DemoScene
+} // namespace Msp
+