//
// Programmer: Craig Stuart Sapp <craig@ccrma.stanford.edu>
// Creation Date: Tue Feb 12 10:07:44 PST 2002
// Last Modified: Sun Aug 29 03:33:21 PDT 2004 (updated for compiling in GCC3)
// Filename: ...soundfile/examples/sndscale.cpp
// Syntax: C++
// For: Aditya Mishra <adityamishraa@helloduniya.com>
//
// Description: Scale the volume of a soundfile.
//
#include "soundfile.h"
#include <stdlib.h>
#ifndef OLDCPP
#include <iostream>
using namespace std;
#else
#include <iostream.h>
#endif
int main(int argc, char** argv) {
Options options;
options.define("a|amp=d:1.0", "volume scaling for soundfile");
options.process(argc, argv);
if (options.getArgCount() != 2) {
cout << "Usage: " << argv[0] << " inputfile outputfile " << endl;
exit(1);
}
const char* inputname = options.getArg(1);
const char* outputname = options.getArg(2);
double amp = options.getDouble("amp");
SoundFileRead insound(inputname);
SoundFileWrite outsound(outputname, insound);
int i, chan;
for (i=0; i<insound.getSamples(); i++) {
for (chan=0; chan < insound.getChannels(); chan++) {
outsound.writeSampleDouble(amp * insound.getCurrentSampleDouble(chan));
}
insound.incrementSample();
}
return 0;
}
// md5sum: 18dd2eb8bd5ac37e6d77d2e248fdc7d2 sndscale.cpp [20050403]