Goto: [ Program Documentation ]
// // Programmer: Craig Stuart Sapp <craig@ccrma.stanford.edu> // Creation Date: Sun Apr 27 19:11:17 GMT-0800 1997 // Last Modified: Sat May 24 23:26:23 GMT-0800 1997 // Filename: ...sig/doc/examples/sig/sigfile/subtract/subtract.cpp // Syntax: C++; sig // // Description: subtract two soundfiles from each other #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 != 4) exitUsage(argv[0]); SoundHeader header(argv[1]); // Elements: SoundFileIn insound1(argv[1]); SoundFileIn insound2(argv[2]); SoundFileOut outsound(argv[3], header); Add add; Scale scale(-1); // Connections: outsound.connect(add); add.connect(insound1); add.connect(scale); scale.connect(insound2); Action action; action.tick(outsound, header.getSamples()); return 0; } void exitUsage(const char* command) { cout << endl; cout << "Subtracts input2 from input1. For example, if you subtract two" << endl; cout << "identical soundfiles, then the output will be silence." << endl; cout << endl; cout << "Usage: " << command << " insound1 insound2 outsound" << endl; cout << endl; exit(1); } // md5sum: c0a2badad8365cb6568c93831f3fbcae subtract.cpp [20050403]