+PBD::Signal0<void> Location::scene_changed;
+PBD::Signal1<void,Location*> Location::name_changed;
+PBD::Signal1<void,Location*> Location::end_changed;
+PBD::Signal1<void,Location*> Location::start_changed;
+PBD::Signal1<void,Location*> Location::flags_changed;
+PBD::Signal1<void,Location*> Location::lock_changed;
+PBD::Signal1<void,Location*> Location::position_lock_style_changed;
+PBD::Signal1<void,Location*> Location::changed;
+
+Location::Location (Session& s)
+ : SessionHandleRef (s)
+ , _start (0)
+ , _end (0)
+ , _flags (Flags (0))
+ , _locked (false)
+ , _position_lock_style (AudioTime)
+{
+ assert (_start >= 0);
+ assert (_end >= 0);
+}
+
+/** Construct a new Location, giving it the position lock style determined by glue-new-markers-to-bars-and-beats */
+Location::Location (Session& s, framepos_t sample_start, framepos_t sample_end, const std::string &name, Flags bits)
+ : SessionHandleRef (s)
+ , _name (name)
+ , _start (sample_start)
+ , _end (sample_end)
+ , _flags (bits)
+ , _locked (false)
+ , _position_lock_style (s.config.get_glue_new_markers_to_bars_and_beats() ? MusicTime : AudioTime)
+{
+ recompute_bbt_from_frames ();
+
+ assert (_start >= 0);
+ assert (_end >= 0);
+}
+