From d2a88cfaad5ac385fc3c6212c09ad7fbc38e9454 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Mon, 28 May 2012 14:15:52 +0000 Subject: merged with release_2_0 --- muse2/muse/wave.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'muse2/muse/wave.h') diff --git a/muse2/muse/wave.h b/muse2/muse/wave.h index 133c0dfd..c9c7061d 100644 --- a/muse2/muse/wave.h +++ b/muse2/muse/wave.h @@ -124,9 +124,13 @@ class SndFileR { SndFileR() { sf = 0; } SndFileR(SndFile* _sf); SndFileR(const SndFileR& ed); + SndFileR& operator=(SndFile* ptr); SndFileR& operator=(const SndFileR& ed); bool operator==(const SndFileR& c) const { return sf == c.sf; } bool operator==(SndFile* c) const { return sf == c; } + SndFile* operator->() { return sf; } + const SndFile* operator->() const { return sf; } + operator bool() { return sf!=NULL; } ~SndFileR(); int getRefCount() const { return sf->refCount; } bool isNull() const { return sf == 0; } @@ -181,7 +185,8 @@ class SndFileR { class SndFileList : public std::list { public: SndFile* search(const QString& name); - void clearDelete(); + // void clearDelete(); // clearDelete MUST NOT exist! deleting is handled by the refcounting SndFileRs! + // this SndFileList is just for information, consider it as "weak pointers" }; typedef SndFileList::iterator iSndFile; @@ -278,7 +283,7 @@ typedef ClipList::const_iterator ciClip; extern ClipBase* readClip(Xml& xml); #endif -extern SndFile* getWave(const QString& name, bool readOnlyFlag); +extern SndFileR getWave(const QString& name, bool readOnlyFlag); } // namespace MusECore -- cgit v1.2.3