summaryrefslogtreecommitdiff
path: root/muse_qt4_evolution/muse/wave.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse_qt4_evolution/muse/wave.h')
-rw-r--r--muse_qt4_evolution/muse/wave.h162
1 files changed, 0 insertions, 162 deletions
diff --git a/muse_qt4_evolution/muse/wave.h b/muse_qt4_evolution/muse/wave.h
deleted file mode 100644
index 42054f87..00000000
--- a/muse_qt4_evolution/muse/wave.h
+++ /dev/null
@@ -1,162 +0,0 @@
-//=============================================================================
-// MusE
-// Linux Music Editor
-// $Id:$
-//
-// Copyright (C) 2002-2006 by Werner Schweer and others
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-//=============================================================================
-
-#ifndef __WAVE_H__
-#define __WAVE_H__
-
-#include <sndfile.h>
-
-//---------------------------------------------------------
-// SampleV
-// peak file value
-//---------------------------------------------------------
-
-struct SampleV {
- unsigned char peak;
- unsigned char rms;
- };
-
-class SndFile;
-
-class SndFileList : public QHash<QString, SndFile*> {
- public:
- SndFile* search(const QString& name) { return (*this)[name]; }
- };
-
-//---------------------------------------------------------
-// SndFile
-//---------------------------------------------------------
-
-class SndFile {
- static QHash<QString, SndFile*> sndFiles;
- static QList<SndFile*> createdFiles;
- static int recFileNumber;
-
- QFileInfo _finfo;
- SNDFILE* sfRT; // used by rt process (prefetch)
- SNDFILE* sfUI; // used by ui process
- SF_INFO sfinfo;
- SampleV** cache;
- int csize; // frames in cache
-
- void readCache(const QString& path, bool progress);
- void writeCache(const QString& path);
-
- bool openFlag;
- bool writeFlag;
-
- protected:
- int refCount;
-
- public:
- SndFile(const QString& name);
- ~SndFile();
-
- static void applyUndoFile(const QString& original, const QString& tmpfile, unsigned sx, unsigned ex);
-
- bool openRead(); // return true on error
- bool openWrite(); // return true on error
- void close();
- void remove();
-
- bool isOpen() const { return openFlag; }
- bool isWritable() const { return writeFlag; }
- void update();
-
- QFileInfo* finfo() { return &_finfo; }
-
- unsigned samples() const;
- unsigned channels() const;
- unsigned samplerate() const;
- unsigned format() const;
- int sampleBits() const;
- void setFormat(int fmt, int ch, int rate);
-
- size_t read(int channel, float**, size_t);
- size_t write(int channel, float**, size_t);
-
- off_t seek(off_t frames);
- void read(SampleV* s, int mag, unsigned pos);
- QString strerror() const;
-
- static SndFile* createRecFile(int);
- static void cleanupRecFiles(bool);
- static void updateRecFiles();
- static SndFile* search(const QString& name);
- static SndFile* getWave(const QString& inName, bool writeFlag);
-
- friend class SndFileR;
- };
-
-//---------------------------------------------------------
-// SndFileR
-// SndFile with reference count
-//---------------------------------------------------------
-
-class SndFileR {
- SndFile* sf;
-
- public:
- SndFileR() { sf = 0; }
- SndFileR(SndFile* _sf);
- SndFileR(const SndFileR& ed);
- SndFileR& operator=(const SndFileR& ed);
- bool operator==(const SndFileR& c) const { return sf == c.sf; }
- bool operator==(SndFile* c) const { return sf == c; }
- ~SndFileR();
- int getRefCount() const { return sf->refCount; }
- bool isNull() const { return sf == 0; }
-
- bool openRead() { return sf->openRead(); }
- bool openWrite() { return sf->openWrite(); }
- void close() { sf->close(); }
- void remove() { sf->remove(); }
-
- bool isOpen() const { return sf->isOpen(); }
- bool isWritable() const { return sf->isWritable(); }
- void update() { sf->update(); }
- QFileInfo* finfo() { return sf->finfo(); }
- const QFileInfo* finfo() const { return sf->finfo(); }
-
- unsigned samples() const { return sf->samples(); }
- unsigned channels() const { return sf->channels(); }
- unsigned samplerate() const { return sf->samplerate(); }
- unsigned format() const { return sf->format(); }
- int sampleBits() const { return sf->sampleBits(); }
- void setFormat(int fmt, int ch, int rate) {
- sf->setFormat(fmt, ch, rate);
- }
- size_t read(int channel, float** f, size_t n) {
- return sf->read(channel, f, n);
- }
- size_t write(int channel, float** f, size_t n) {
- return sf->write(channel, f, n);
- }
- off_t seek(off_t frames) {
- return sf->seek(frames);
- }
- void read(SampleV* s, int mag, unsigned pos) {
- sf->read(s, mag, pos);
- }
- QString strerror() const { return sf->strerror(); }
- };
-
-#endif
-