#include <vector>
#include <set>
#include <map>
+#include <boost/shared_ptr.hpp>
#include <sigc++/signal.h>
-#include <pbd/lockmonitor.h>
+#include <glibmm/thread.h>
+
#include <pbd/undo.h>
#include <ardour/ardour.h>
Redirect (const Redirect&);
virtual ~Redirect ();
- static Redirect *clone (const Redirect&);
+ static boost::shared_ptr<Redirect> clone (boost::shared_ptr<const Redirect>);
bool active () const { return _active; }
void set_active (bool yn, void *src);
virtual uint32_t natural_input_streams () const { return n_inputs(); }
uint32_t sort_key() const { return _sort_key; }
- void set_sort_key (uint32_t sk,void *src) { _sort_key = sk; sort_key_changed (this, src); }
+ void set_sort_key (uint32_t key);
Placement placement() const { return _placement; }
void set_placement (Placement, void *src);
virtual void set_block_size (jack_nframes_t nframes) {}
sigc::signal<void,Redirect*,void*> active_changed;
- sigc::signal<void,Redirect*,void*> sort_key_changed;
sigc::signal<void,Redirect*,void*> placement_changed;
sigc::signal<void,Redirect*,bool> AutomationPlaybackChanged;
sigc::signal<void,Redirect*,uint32_t> AutomationChanged;
map<uint32_t,AutomationList*> parameter_automation;
set<uint32_t> visible_parameter_automation;
- mutable PBD::NonBlockingLock _automation_lock;
+ mutable Glib::Mutex _automation_lock;
void can_automate (uint32_t);
set<uint32_t> can_automate_list;
void* _gui; /* generic, we don't know or care what this is */
};
-}; /* namespace ARDOUR */
+} // namespace ARDOUR
#endif /* __ardour_redirect_h__ */