save version string with session for informational purposes
[ardour.git] / libs / ardour / ardour / session_event.h
index 96145e7b295aee94ba80b73e7e72d9a56aa2daf3..8bb160b90e2abde07b308d7f9334028790043557 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Paul Davis 
+    Copyright (C) 2012 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -84,26 +84,28 @@ public:
        union {
                void*        ptr;
                bool         yes_or_no;
-               framepos_t  target2_frame;
+               framepos_t   target2_frame;
                Slave*       slave;
                Route*       route;
        };
 
        union {
                bool second_yes_or_no;
+               double control_value;
        };
 
        union {
                bool third_yes_or_no;
        };
 
-       /* 4 members to handle a multi-group event handled in RT context */
+       /* 5 members to handle a multi-group event handled in RT context */
 
        typedef boost::function<void (SessionEvent*)> RTeventCallback;
 
-       boost::shared_ptr<RouteList> routes;    /* apply to */
-       boost::function<void (void)> rt_slot;   /* what to call in RT context */
-       RTeventCallback              rt_return; /* called after rt_slot, with this event as an argument */
+       boost::shared_ptr<ControlList> controls; /* apply to */
+       boost::shared_ptr<RouteList> routes;     /* apply to */
+       boost::function<void (void)> rt_slot;    /* what to call in RT context */
+       RTeventCallback              rt_return;  /* called after rt_slot, with this event as an argument */
        PBD::EventLoop*              event_loop;
 
        std::list<AudioRange> audio_range;
@@ -134,11 +136,12 @@ public:
 
        static const framepos_t Immediate = -1;
 
+       static bool has_per_thread_pool ();
        static void create_per_thread_pool (const std::string& n, uint32_t nitems);
        static void init_event_pool ();
 
        CrossThreadPool* event_pool() const { return own_pool; }
-       
+
 private:
        static PerThreadPool* pool;
        CrossThreadPool* own_pool;