diff options
Diffstat (limited to 'attic/muse_qt4_evolution/al/tempo.h')
-rw-r--r-- | attic/muse_qt4_evolution/al/tempo.h | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/attic/muse_qt4_evolution/al/tempo.h b/attic/muse_qt4_evolution/al/tempo.h deleted file mode 100644 index e2342003..00000000 --- a/attic/muse_qt4_evolution/al/tempo.h +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================= -// AL -// Audio Utility Library -// $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 __TEMPO_H__ -#define __TEMPO_H__ - -namespace AL { - -#ifndef MAX_TICK -#define MAX_TICK (0x7fffffff/100) -#endif - -class Xml; - -//--------------------------------------------------------- -// Tempo Event -//--------------------------------------------------------- - -struct TEvent { - int tempo; - unsigned tick; // new tempo at tick - unsigned frame; // precomputed time for tick in sec - - int read(QDomNode); - void write(Xml&, int) const; - - TEvent() { } - TEvent(unsigned t, unsigned tk) { - tempo = t; - tick = tk; - frame = 0; - } - }; - -//--------------------------------------------------------- -// TempoList -//--------------------------------------------------------- - -typedef std::map<unsigned, TEvent*, std::less<unsigned> > TEMPOLIST; -typedef TEMPOLIST::iterator iTEvent; -typedef TEMPOLIST::const_iterator ciTEvent; -typedef TEMPOLIST::reverse_iterator riTEvent; -typedef TEMPOLIST::const_reverse_iterator criTEvent; - -class TempoList : public TEMPOLIST { - int _tempoSN; // serial no to track tempo changes - bool useList; - int _tempo; // tempo if not using tempo list - int _globalTempo; // %percent 50-200% - - void normalize(); - void add(unsigned tick, int tempo); - void change(unsigned tick, int newTempo); - void del(iTEvent); - void del(unsigned tick); - - public: - TempoList(); - void clear(); - - void read(QDomNode); - void write(Xml&) const; - void dump() const; - - int tempo(unsigned tick) const; - unsigned tick2frame(unsigned tick, unsigned frame, int* sn) const; - unsigned tick2frame(unsigned tick, int* sn = 0) const; - unsigned frame2tick(unsigned frame, int* sn = 0) const; - unsigned frame2tick(unsigned frame, unsigned tick, int* sn) const; - int tempoSN() const { return _tempoSN; } - void setTempo(unsigned tick, int newTempo); - void addTempo(unsigned t, int tempo); - void delTempo(unsigned tick); - void changeTempo(unsigned tick, int newTempo); - bool setMasterFlag(unsigned tick, bool val); - int globalTempo() const { return _globalTempo; } - void setGlobalTempo(int val); - }; - -extern TempoList tempomap; -} - -#endif - |