35
43
AudioConverter* reference();
36
44
static AudioConverter* release(AudioConverter* cv);
38
off_t readAudio(SndFileR& /*sf*/, off_t /*sfCurFrame*/, unsigned /*offset*/, float** /*buffer*/,
46
//off_t readAudio(SndFileR& /*sf*/, off_t /*sfCurFrame*/, unsigned /*offset*/, float** /*buffer*/,
47
// int /*channels*/, int /*frames*/, bool /*doSeek*/, bool /*overwrite*/);
48
off_t readAudio(SndFileR& /*sf*/, unsigned /*offset*/, float** /*buffer*/,
39
49
int /*channels*/, int /*frames*/, bool /*doSeek*/, bool /*overwrite*/);
41
51
virtual bool isValid() = 0;
42
52
virtual void reset() = 0;
43
53
virtual void setChannels(int ch) = 0;
44
virtual off_t process(SndFileR& /*sf*/, off_t /*sfCurFrame*/, float** /*buffer*/,
54
//virtual off_t process(SndFileR& /*sf*/, off_t /*sfCurFrame*/, float** /*buffer*/,
55
// int /*channels*/, int /*frames*/, bool /*overwrite*/) = 0; // Interleaved buffer if stereo.
56
virtual off_t process(SndFileR& /*sf*/, float** /*buffer*/,
45
57
int /*channels*/, int /*frames*/, bool /*overwrite*/) = 0; // Interleaved buffer if stereo.
62
74
virtual bool isValid() { return _src_state != 0; }
63
75
virtual void reset();
64
76
virtual void setChannels(int ch);
65
virtual off_t process(SndFileR& /*sf*/, off_t /*sfCurFrame*/, float** /*buffer*/,
77
//virtual off_t process(SndFileR& /*sf*/, off_t /*sfCurFrame*/, float** /*buffer*/,
78
// int /*channels*/, int /*frames*/, bool /*overwrite*/); // Interleaved buffer if stereo.
79
virtual off_t process(SndFileR& /*sf*/, float** /*buffer*/,
66
80
int /*channels*/, int /*frames*/, bool /*overwrite*/); // Interleaved buffer if stereo.
85
99
virtual bool isValid() { return _rbs != 0; }
86
100
virtual void reset();
87
101
virtual void setChannels(int ch);
88
virtual off_t process(SndFileR& /*sf*/, off_t /*sfCurFrame*/, float** /*buffer*/,
102
//virtual off_t process(SndFileR& /*sf*/, off_t /*sfCurFrame*/, float** /*buffer*/,
103
// int /*channels*/, int /*frames*/, bool /*overwrite*/); // Interleaved buffer if stereo.
104
virtual off_t process(SndFileR& /*sf*/, float** /*buffer*/,
89
105
int /*channels*/, int /*frames*/, bool /*overwrite*/); // Interleaved buffer if stereo.
92
108
#endif // RUBBERBAND_SUPPORT
110
//---------------------------------------------------------
112
//---------------------------------------------------------
114
typedef std::map<EventBase*, AudioConverter*, std::less<EventBase*> >::iterator iAudioConvertMap;
115
typedef std::map<EventBase*, AudioConverter*, std::less<EventBase*> >::const_iterator ciAudioConvertMap;
117
//typedef std::map<EventBase*, AudioConverter*, std::less<EventBase*> > AudioConvertMap;
118
class AudioConvertMap : public std::map<EventBase*, AudioConverter*, std::less<EventBase*> >
121
void remapEvents(const EventList*);
122
iAudioConvertMap addEvent(EventBase*);
123
void removeEvent(EventBase*);
124
//AudioConverter* getConverter(const EventBase*);
125
iAudioConvertMap getConverter(EventBase*);