- sigc::signal<void,Location*> current_changed;
- sigc::signal<void> changed;
- sigc::signal<void,Location*> added;
- sigc::signal<void,Location*> removed;
+ void find_all_between (nframes64_t start, nframes64_t, LocationList&, Location::Flags);
+
+ enum Change {
+ ADDITION, ///< a location was added, but nothing else changed
+ REMOVAL, ///< a location was removed, but nothing else changed
+ OTHER ///< something more complicated happened
+ };
+
+ PBD::Signal1<void,Location*> current_changed;
+ /** something changed about the location list; the parameter gives some idea as to what */
+ PBD::Signal1<void,Change> changed;
+ /** a location has been added to the end of the list */
+ PBD::Signal1<void,Location*> added;
+ PBD::Signal1<void,Location*> removed;
+ PBD::Signal1<void,const PBD::PropertyChange&> StateChanged;