#include <string>
#include <sigc++/signal.h>
-#include <boost/enable_shared_from_this.hpp>
#include <pbd/statefuldestructible.h>
namespace ARDOUR {
-class Source : public PBD::StatefulDestructible, public sigc::trackable, public boost::enable_shared_from_this<Source>
+class Session;
+
+class Source : public PBD::StatefulDestructible, public sigc::trackable
{
public:
- Source (std::string name);
- Source (const XMLNode&);
+ Source (Session&, std::string name);
+ Source (Session&, const XMLNode&);
virtual ~Source ();
std::string name() const { return _name; }
int set_name (std::string str, bool destructive);
- const PBD::ID& id() const { return _id; }
-
time_t timestamp() const { return _timestamp; }
void stamp (time_t when) { _timestamp = when; }
protected:
+ Session& _session;
string _name;
time_t _timestamp;
private:
- PBD::ID _id;
};
}