mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-24 14:20:19 +01:00
Major update to TimeScale effect, incorporating libsbsms-2.0.0, fixes to bug 172, changes to ui
This commit is contained in:
@@ -1,46 +1,77 @@
|
||||
// -*- mode: c++ -*-
|
||||
#ifndef TRACKPOINT_H
|
||||
#define TRACKPOINT_H
|
||||
|
||||
#include "grain.h"
|
||||
#include "sbsms.h"
|
||||
|
||||
namespace _sbsms_ {
|
||||
|
||||
class track;
|
||||
enum { TrackPointNoCont = 65535 };
|
||||
|
||||
class tpoint {
|
||||
public:
|
||||
tpoint() {}
|
||||
virtual ~tpoint() {}
|
||||
real f;
|
||||
real y;
|
||||
real ph;
|
||||
short h;
|
||||
short M;
|
||||
real y0;
|
||||
class Track;
|
||||
class Slice;
|
||||
|
||||
class TrackPoint : public SBSMSTrackPoint {
|
||||
public:
|
||||
TrackPoint(Slice *slice, float *peak, audio *gx, float *mag, float *mag2, int k, int N, int band);
|
||||
~TrackPoint();
|
||||
void destroy();
|
||||
float getF();
|
||||
float getM();
|
||||
float getPhase();
|
||||
protected:
|
||||
TrackPoint *pp;
|
||||
TrackPoint *pn;
|
||||
TrackPoint *dupcont;
|
||||
TrackPoint *dupStereo;
|
||||
TrackPoint *cont;
|
||||
TrackPoint *dup[3];
|
||||
Track *owner;
|
||||
Slice *slice;
|
||||
float *peak;
|
||||
float x01;
|
||||
float y01;
|
||||
float phSynth;
|
||||
union {
|
||||
float fSynth0;
|
||||
float xtp2;
|
||||
};
|
||||
union {
|
||||
float fSynth1;
|
||||
float xtn2;
|
||||
};
|
||||
int refCount;
|
||||
float f;
|
||||
float x;
|
||||
float y;
|
||||
float ph;
|
||||
float contF;
|
||||
float m;
|
||||
float m2;
|
||||
bool bJump;
|
||||
bool bSyncStereo;
|
||||
bool bConnected;
|
||||
bool bConnect;
|
||||
bool bDelete;
|
||||
bool bOwned;
|
||||
bool bMarked;
|
||||
bool bSplit;
|
||||
bool bMerge;
|
||||
|
||||
friend class Slice;
|
||||
friend class SMS;
|
||||
friend class Track;
|
||||
};
|
||||
|
||||
class trackpoint : public tpoint {
|
||||
public:
|
||||
trackpoint();
|
||||
trackpoint(trackpoint *tp);
|
||||
trackpoint(grain *g, real x, real y, int N, short M, short h, long time);
|
||||
~trackpoint();
|
||||
|
||||
track *owner;
|
||||
long time;
|
||||
|
||||
real contF;
|
||||
bool bConnect;
|
||||
bool bConnected;
|
||||
bool bDelete;
|
||||
|
||||
trackpoint *dupcont;
|
||||
trackpoint *cont;
|
||||
trackpoint *dup[3];
|
||||
|
||||
protected:
|
||||
void init();
|
||||
class Slice {
|
||||
public:
|
||||
Slice(int band, const TimeType &time);
|
||||
~Slice();
|
||||
void remove(TrackPoint *tp);
|
||||
TrackPoint *bottom;
|
||||
TrackPoint *top;
|
||||
int band;
|
||||
TimeType time;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user