summaryrefslogtreecommitdiff
path: root/muse2/muse/wave.h
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2011-10-03 01:56:34 +0000
committerTim E. Real <termtech@rogers.com>2011-10-03 01:56:34 +0000
commitf3313cc78e637ec9bc11efce5eb943434da93416 (patch)
tree29ca2c60eb262e25831639d09c33b80ff0df511c /muse2/muse/wave.h
parent9200bb81f55b0d33e0a61af0112f1ca294375554 (diff)
Fixed HUGE massive memory leaks in all things using CItemList,
and SndFile, dssi, fluidsynth and other huge leaks. Large song with several dssi, vst, fluidsynths leaked 100's of MB, now only ~2MB.
Diffstat (limited to 'muse2/muse/wave.h')
-rw-r--r--muse2/muse/wave.h30
1 files changed, 18 insertions, 12 deletions
diff --git a/muse2/muse/wave.h b/muse2/muse/wave.h
index 2f97e6c5..231ed7dc 100644
--- a/muse2/muse/wave.h
+++ b/muse2/muse/wave.h
@@ -42,18 +42,7 @@ struct SampleV {
unsigned char rms;
};
-//---------------------------------------------------------
-// SndFileList
-//---------------------------------------------------------
-
-class SndFile;
-class SndFileList : public std::list<SndFile*> {
- public:
- SndFile* search(const QString& name);
- };
-
-typedef SndFileList::iterator iSndFile;
-typedef SndFileList::const_iterator ciSndFile;
+class SndFileList;
//---------------------------------------------------------
// SndFile
@@ -183,6 +172,23 @@ class SndFileR {
};
+//---------------------------------------------------------
+// SndFileList
+//---------------------------------------------------------
+
+class SndFileList : public std::list<SndFile*> {
+ public:
+ SndFile* search(const QString& name);
+ void clearDelete() {
+ for (SndFileList::iterator i = begin(); i != end(); ++i)
+ delete *i;
+ clear();
+ }
+ };
+
+typedef SndFileList::iterator iSndFile;
+typedef SndFileList::const_iterator ciSndFile;
+
#if 0
class Clip;