// clim.cc /* * clim: a compressor/limiter example * * Copyright (c) 1995 Kai Lassfolk */ #include <stdio.h> #include <spkit/spkit.h> int main(int argc, char* argv[]) { SPKitReader reader; SPKitAmp amp; SPKitCompressorLimiter compLim; SPKitWriter writer; double gain; double compThreshold; double compRatio; double limThreshold; if (argc != 7) { fprintf(stderr, "Usage: clim gain compressor-threshold comp-ratio"); fprintf(stderr, " limiter-threshold sourcefile destfile\n"); return 1; } if (reader.setInput(argv[5]) < 0) { fprintf(stderr, "clim: cannot open input: %s\n", argv[5]); return 1; } amp.setInput(&reader); compLim.setInputAndEstimationTime(&, 0.05); if (writer.setInputOutput(&compLim, argv[6]) < 0) { fprintf(stderr, "clim: cannot open output: %s\n", argv[6]); return 1; } sscanf(argv[1], "%lf", &gain); amp.setGain(gain); sscanf(argv[2], "%lf", &compThreshold); compLim.setCompressorThreshold(compThreshold); sscanf(argv[3], "%lf", &compRatio); compLim.setCompressionRatio(compRatio); sscanf(argv[4], "%lf", &limThreshold); compLim.setLimiterThreshold(limThreshold); writer.run(); return 0; }