diff options
author | Florian Jung <flo@windfisch.org> | 2012-05-28 14:15:52 +0000 |
---|---|---|
committer | Florian Jung <flo@windfisch.org> | 2012-05-28 14:15:52 +0000 |
commit | d2a88cfaad5ac385fc3c6212c09ad7fbc38e9454 (patch) | |
tree | 387da0b38255003e1a971629ea0de32273ac3d3c /muse2/muse/wave.h | |
parent | 716f5a5b56a3b7ff59004ef0a1af5f98cb2a691c (diff) |
merged with release_2_0
Diffstat (limited to 'muse2/muse/wave.h')
-rw-r--r-- | muse2/muse/wave.h | 9 |
1 files changed, 7 insertions, 2 deletions
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<SndFile*> { 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 |