Hi
May I suggest the following changes in juce_FLACAudioFormat.cpp though?
New int QualityOptionIndex parameter in FlacWriter:
[code]FlacWriter ( OutputStream* const out,
const double sampleRate_,
const int numChannels_,
const int bitsPerSample_,
const int qualityOptionIndex = 5)
: AudioFormatWriter (out, TRANS (flacFormatName),
sampleRate_,
numChannels_,
bitsPerSample_)
{
using namespace FlacNamespace;
encoder = FLAC__stream_encoder_new();
FLAC__stream_encoder_set_compression_level(encoder, jlimit(0, 8, qualityOptionIndex));
FLAC__stream_encoder_set_channels (encoder, numChannels);
[/code]
and, accordingly, in FlacAudioFormat::createWriterFor() … :
[code]AudioFormatWriter* FlacAudioFormat::createWriterFor (OutputStream* out,
double sampleRate,
unsigned int numberOfChannels,
int bitsPerSample,
const StringPairArray& /metadataValues/,
int qualityOptionIndex)
{
if (getPossibleBitDepths().contains (bitsPerSample))
{
ScopedPointer w (new FlacWriter (out, sampleRate, numberOfChannels, bitsPerSample, qualityOptionIndex));
if (w->ok)
return w.release();
}
return 0;
}
[/code]
It just adds quality settings (compression level actually) handling, instead of always using the 5th level.
Cheers