Goto: [ Program Documentation ]
//
// Programmer: Craig Stuart Sapp <craig@ccrma.stanford.edu>
// Creation Date: Wed Jun 11 08:17:47 GMT-0800 1997
// Last Modified: Wed Jun 11 20:19:08 GMT-0800 1997
// Filename: ...sig/doc/examples/sig/sigfile/reverba/reverba.cpp
// Syntax: C++; sig
//
// Description: 4 combfilters and two allpass filters
//
#include "sigAudio.h"
#ifndef OLDCPP
#include <iostream>
using namespace std;
#else
#include <iostream.h>
#endif
void exitUsage(const char* command);
int main(int argc, char* argv[]) {
if (argc != 3) exitUsage(argv[0]);
SoundHeader header;
header.setHeader(argv[1]);
double revtime;
cout << "What reverb time: ";
cin >> revtime;
long numSamples = (long)(header.getSamples() + revtime * header.getSrate());
// Elements:
SoundFileIn insound(argv[1]);
SoundFileOut outsound(argv[2], header);
ReverbA reverba(revtime);
// Connections:
outsound.connect(reverba);
reverba.connect(insound);
Action action;
action.tick(outsound, numSamples);
return 0;
}
void exitUsage(const char* command) {
cout << endl;
cout <<
"Four comb filters and two allpass filters for simple reverb." << endl;
cout << endl;
cout << "Usage: " << command << " insound outsound" << endl;
cout << endl;
cout << "Program input: " << endl;
cout << " (a) reverb time in seconds" << endl;
cout << endl;
exit(1);
}
// md5sum: 0ff62029c00d120f758ae3b32c8e5ba3 reverba.cpp [20050403]