summaryrefslogtreecommitdiff
path: root/muse2/muse/waveevent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/waveevent.cpp')
-rw-r--r--muse2/muse/waveevent.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/muse2/muse/waveevent.cpp b/muse2/muse/waveevent.cpp
index 38ae10c6..24be2d01 100644
--- a/muse2/muse/waveevent.cpp
+++ b/muse2/muse/waveevent.cpp
@@ -53,16 +53,25 @@ WaveEventBase::WaveEventBase(EventType t)
// WaveEventBase::clone
//---------------------------------------------------------
-EventBase* WaveEventBase::clone()
+EventBase* WaveEventBase::clone() const
{
return new WaveEventBase(*this);
}
+bool WaveEventBase::isSimilarTo(const EventBase& other_) const
+{
+ const WaveEventBase* other = dynamic_cast<const WaveEventBase*>(&other_);
+ if (other==NULL) // dynamic cast hsa failed: "other_" is not of type WaveEventBase.
+ return false;
+
+ return f.dirPath()==other->f.dirPath() && _spos==other->_spos && this->PosLen::operator==(*other);
+}
+
//---------------------------------------------------------
// WaveEvent::mid
//---------------------------------------------------------
-EventBase* WaveEventBase::mid(unsigned b, unsigned e)
+EventBase* WaveEventBase::mid(unsigned b, unsigned e) const
{
WaveEventBase* ev = new WaveEventBase(*this);
unsigned fr = frame();