37 lines
662 B
C++
37 lines
662 B
C++
/*
|
|
* Cantata
|
|
*
|
|
* Copyright (c) 2011-2012 Craig Drummond <craig.p.drummond@gmail.com>
|
|
*
|
|
*/
|
|
/* This class is a C++/Qt version of input_mpg123.c from libebur128
|
|
*/
|
|
|
|
#ifndef _INPUT_H_
|
|
#define _INPUT_H_
|
|
|
|
class QString;
|
|
|
|
class Input
|
|
{
|
|
public:
|
|
Input() {
|
|
}
|
|
virtual ~Input() {
|
|
}
|
|
|
|
virtual operator bool() const=0;
|
|
|
|
virtual size_t totalFrames() const=0;
|
|
virtual unsigned int channels() const=0;
|
|
virtual unsigned long sampleRate() const=0;
|
|
virtual bool allocateBuffer() {
|
|
return true;
|
|
}
|
|
virtual float * buffer() const=0;
|
|
virtual bool setChannelMap(int *st) const=0;
|
|
virtual size_t readFrames()=0;
|
|
};
|
|
|
|
#endif
|