pull/49/head
Marcin Kondej 2016-12-12 23:49:55 +01:00
rodzic 0fa8f4f08a
commit 5a120f53c1
4 zmienionych plików z 20 dodań i 19 usunięć

Wyświetl plik

@ -40,6 +40,14 @@ using namespace std;
Transmitter* transmitter = NULL;
AudioFormat* getFormat(string filename) {
bool doStop = false;
WaveReader* reader = new WaveReader(filename, doStop);
AudioFormat* format = reader->getFormat();
delete reader;
return format;
}
void sigIntHandler(int sigNum)
{
if (transmitter != NULL) {
@ -80,12 +88,16 @@ int main(int argc, char** argv)
try {
transmitter = Transmitter::getInstance();
AudioFormat* format = Transmitter::getFormat(filename);
cout << "Playing: " << ((filename != "-") ? filename : "stdin") << ", "
<< format->sampleRate << " Hz, "
<< format->bitsPerSample << " bits, "
<< ((format->channels > 0x01) ? "stereo" : "mono") << endl;
delete format;
if (filename != "-") {
AudioFormat* format = getFormat(filename);
cout << "Playing: " << filename << ", "
<< format->sampleRate << " Hz, "
<< format->bitsPerSample << " bits, "
<< ((format->channels > 0x01) ? "stereo" : "mono") << endl;
delete format;
} else {
cout << "Playing: STDIN" << endl;
}
transmitter->play(filename, frequency, loop);
} catch (exception &error) {

Wyświetl plik

@ -244,17 +244,6 @@ void* Transmitter::transmit(void* params)
return NULL;
}
AudioFormat* Transmitter::getFormat(string filename)
{
bool forceStop = false;
WaveReader* reader = new WaveReader(filename, forceStop);
AudioFormat* format = reader->getFormat();
delete reader;
return format;
}
void Transmitter::stop()
{
doStop = true;

Wyświetl plik

@ -52,8 +52,7 @@ class Transmitter
void play(string filename, double frequency, bool loop);
void stop();
static Transmitter* getInstance();
static AudioFormat* getFormat(string filename);
static Transmitter* getInstance();
private:
Transmitter();

Wyświetl plik

@ -52,6 +52,7 @@ WaveReader::WaveReader(string filename, bool &forceStop) :
if (!filename.empty()) {
fileDescriptor = open(filename.c_str(), O_RDONLY);
} else {
fcntl(STDIN_FILENO, F_SETFL, fcntl(STDIN_FILENO, F_GETFL, 0) | O_NONBLOCK);
fileDescriptor = STDIN_FILENO;
}