1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Tidied up some docs and added an AudioFormat constructor.

This commit is contained in:
jules 2013-09-27 10:29:42 +01:00
parent 8a66ec83f0
commit b05c8413cf
11 changed files with 58 additions and 75 deletions

View file

@ -22,9 +22,7 @@
==============================================================================
*/
//==============================================================================
static const char* const aiffFormatName = "AIFF file";
static const char* const aiffExtensions[] = { ".aiff", ".aif", 0 };
//==============================================================================
const char* const AiffAudioFormat::appleOneShot = "apple one shot";
@ -101,7 +99,7 @@ namespace AiffFileHelpers
if (values.getAllKeys().contains ("MidiUnityNote", true))
{
block.setSize ((sizeof (InstChunk) + 3) & ~(size_t) 3, true);
InstChunk& inst = *static_cast <InstChunk*> (block.getData());
InstChunk& inst = *static_cast<InstChunk*> (block.getData());
inst.baseNote = getValue8 (values, "MidiUnityNote", "60");
inst.detune = getValue8 (values, "Detune", "0");
@ -220,7 +218,7 @@ namespace AiffFileHelpers
StringArray tagsArray;
int bytesLeft = (int) mb.getSize();
const char* data = static_cast <const char*> (mb.getData());
const char* data = static_cast<const char*> (mb.getData());
while (bytesLeft > 0)
{
@ -365,7 +363,7 @@ class AiffAudioFormatReader : public AudioFormatReader
{
public:
AiffAudioFormatReader (InputStream* in)
: AudioFormatReader (in, TRANS (aiffFormatName))
: AudioFormatReader (in, aiffFormatName)
{
using namespace AiffFileHelpers;
@ -611,7 +609,7 @@ public:
AiffAudioFormatWriter (OutputStream* out, double rate,
unsigned int numChans, unsigned int bits,
const StringPairArray& metadataValues)
: AudioFormatWriter (out, TRANS (aiffFormatName), rate, numChans, bits),
: AudioFormatWriter (out, aiffFormatName, rate, numChans, bits),
lengthInSamples (0),
bytesWritten (0),
writeFailed (false)
@ -879,8 +877,7 @@ private:
};
//==============================================================================
AiffAudioFormat::AiffAudioFormat()
: AudioFormat (TRANS (aiffFormatName), StringArray (aiffExtensions))
AiffAudioFormat::AiffAudioFormat() : AudioFormat (aiffFormatName, ".aiff .aif")
{
}

View file

@ -327,7 +327,7 @@ class CoreAudioReader : public AudioFormatReader
{
public:
CoreAudioReader (InputStream* const inp)
: AudioFormatReader (inp, TRANS (coreAudioFormatName)),
: AudioFormatReader (inp, coreAudioFormatName),
ok (false), lastReadPosition (0)
{
usesFloatingPointData = true;
@ -487,7 +487,7 @@ private:
//==============================================================================
CoreAudioFormat::CoreAudioFormat()
: AudioFormat (TRANS (coreAudioFormatName), findFileExtensionsForCoreAudioCodecs())
: AudioFormat (coreAudioFormatName, findFileExtensionsForCoreAudioCodecs())
{
}

View file

@ -83,16 +83,14 @@ namespace FlacNamespace
//==============================================================================
static const char* const flacFormatName = "FLAC file";
static const char* const flacExtensions[] = { ".flac", 0 };
//==============================================================================
class FlacReader : public AudioFormatReader
{
public:
//==============================================================================
FlacReader (InputStream* const in)
: AudioFormatReader (in, TRANS (flacFormatName)),
: AudioFormatReader (in, flacFormatName),
reservoir (2, 0),
reservoirStart (0),
samplesInReservoir (0),
@ -313,7 +311,7 @@ class FlacWriter : public AudioFormatWriter
{
public:
FlacWriter (OutputStream* const out, double rate, uint32 numChans, uint32 bits, int qualityOptionIndex)
: AudioFormatWriter (out, TRANS (flacFormatName), rate, numChans, bits)
: AudioFormatWriter (out, flacFormatName, rate, numChans, bits)
{
using namespace FlacNamespace;
encoder = FLAC__stream_encoder_new();
@ -478,7 +476,7 @@ private:
//==============================================================================
FlacAudioFormat::FlacAudioFormat()
: AudioFormat (TRANS (flacFormatName), StringArray (flacExtensions))
: AudioFormat (flacFormatName, ".flac")
{
}

View file

@ -147,12 +147,9 @@ private:
};
//==============================================================================
static const char* const lameFormatName = "MP3 file";
static const char* const lameExtensions[] = { ".mp3", nullptr };
LAMEEncoderAudioFormat::LAMEEncoderAudioFormat (const File& lameApplication)
: AudioFormat (TRANS (lameFormatName), StringArray (lameExtensions)),
lameApp (lameApplication)
: AudioFormat ("MP3 file", ".mp3"),
lameApp (lameApplication)
{
}

View file

@ -2929,14 +2929,13 @@ private:
//==============================================================================
static const char* const mp3FormatName = "MP3 file";
static const char* const mp3Extensions[] = { ".mp3", nullptr };
//==============================================================================
class MP3Reader : public AudioFormatReader
{
public:
MP3Reader (InputStream* const in)
: AudioFormatReader (in, TRANS (mp3FormatName)),
: AudioFormatReader (in, mp3FormatName),
stream (*in), currentPosition (0),
decodedStart (0), decodedEnd (0)
{
@ -2953,7 +2952,6 @@ public:
}
}
//==============================================================================
bool readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,
int64 startSampleInFile, int numSamples) override
{
@ -3109,10 +3107,7 @@ private:
}
//==============================================================================
MP3AudioFormat::MP3AudioFormat()
: AudioFormat (MP3Decoder::mp3FormatName, StringArray (MP3Decoder::mp3Extensions))
{}
MP3AudioFormat::MP3AudioFormat() : AudioFormat (MP3Decoder::mp3FormatName, ".mp3") {}
MP3AudioFormat::~MP3AudioFormat() {}
Array<int> MP3AudioFormat::getPossibleSampleRates() { return Array<int>(); }

View file

@ -89,7 +89,6 @@ namespace OggVorbisNamespace
//==============================================================================
static const char* const oggFormatName = "Ogg-Vorbis file";
static const char* const oggExtensions[] = { ".ogg", 0 };
const char* const OggVorbisAudioFormat::encoderName = "encoder";
const char* const OggVorbisAudioFormat::id3title = "id3title";
@ -106,7 +105,7 @@ class OggReader : public AudioFormatReader
{
public:
OggReader (InputStream* const inp)
: AudioFormatReader (inp, TRANS (oggFormatName)),
: AudioFormatReader (inp, oggFormatName),
reservoir (2, 4096),
reservoirStart (0),
samplesInReservoir (0)
@ -115,10 +114,10 @@ public:
sampleRate = 0;
usesFloatingPointData = true;
callbacks.read_func = &oggReadCallback;
callbacks.seek_func = &oggSeekCallback;
callbacks.read_func = &oggReadCallback;
callbacks.seek_func = &oggSeekCallback;
callbacks.close_func = &oggCloseCallback;
callbacks.tell_func = &oggTellCallback;
callbacks.tell_func = &oggTellCallback;
const int err = ov_open_callbacks (input, &ovFile, 0, 0, callbacks);
@ -222,12 +221,12 @@ public:
//==============================================================================
static size_t oggReadCallback (void* ptr, size_t size, size_t nmemb, void* datasource)
{
return (size_t) (static_cast <InputStream*> (datasource)->read (ptr, (int) (size * nmemb))) / size;
return (size_t) (static_cast<InputStream*> (datasource)->read (ptr, (int) (size * nmemb))) / size;
}
static int oggSeekCallback (void* datasource, OggVorbisNamespace::ogg_int64_t offset, int whence)
{
InputStream* const in = static_cast <InputStream*> (datasource);
InputStream* const in = static_cast<InputStream*> (datasource);
if (whence == SEEK_CUR)
offset += in->getPosition();
@ -245,7 +244,7 @@ public:
static long oggTellCallback (void* datasource)
{
return (long) static_cast <InputStream*> (datasource)->getPosition();
return (long) static_cast<InputStream*> (datasource)->getPosition();
}
private:
@ -267,7 +266,7 @@ public:
const unsigned int bitsPerSample_,
const int qualityIndex,
const StringPairArray& metadata)
: AudioFormatWriter (out, TRANS (oggFormatName), sampleRate_, numChannels_, bitsPerSample_),
: AudioFormatWriter (out, oggFormatName, sampleRate_, numChannels_, bitsPerSample_),
ok (false)
{
using namespace OggVorbisNamespace;
@ -279,13 +278,13 @@ public:
{
vorbis_comment_init (&vc);
addMetadata (metadata, OggVorbisAudioFormat::encoderName, "ENCODER");
addMetadata (metadata, OggVorbisAudioFormat::id3title, "TITLE");
addMetadata (metadata, OggVorbisAudioFormat::id3artist, "ARTIST");
addMetadata (metadata, OggVorbisAudioFormat::id3album, "ALBUM");
addMetadata (metadata, OggVorbisAudioFormat::id3comment, "COMMENT");
addMetadata (metadata, OggVorbisAudioFormat::id3date, "DATE");
addMetadata (metadata, OggVorbisAudioFormat::id3genre, "GENRE");
addMetadata (metadata, OggVorbisAudioFormat::encoderName, "ENCODER");
addMetadata (metadata, OggVorbisAudioFormat::id3title, "TITLE");
addMetadata (metadata, OggVorbisAudioFormat::id3artist, "ARTIST");
addMetadata (metadata, OggVorbisAudioFormat::id3album, "ALBUM");
addMetadata (metadata, OggVorbisAudioFormat::id3comment, "COMMENT");
addMetadata (metadata, OggVorbisAudioFormat::id3date, "DATE");
addMetadata (metadata, OggVorbisAudioFormat::id3genre, "GENRE");
addMetadata (metadata, OggVorbisAudioFormat::id3trackNumber, "TRACKNUMBER");
vorbis_analysis_init (&vd, &vi);
@ -425,8 +424,7 @@ private:
//==============================================================================
OggVorbisAudioFormat::OggVorbisAudioFormat()
: AudioFormat (TRANS (oggFormatName), StringArray (oggExtensions))
OggVorbisAudioFormat::OggVorbisAudioFormat() : AudioFormat (oggFormatName, ".ogg")
{
}

View file

@ -66,14 +66,13 @@ namespace juce
bool juce_OpenQuickTimeMovieFromStream (InputStream* input, Movie& movie, Handle& dataHandle);
static const char* const quickTimeFormatName = "QuickTime file";
static const char* const quickTimeExtensions[] = { ".mov", ".mp3", ".mp4", ".m4a", 0 };
//==============================================================================
class QTAudioReader : public AudioFormatReader
{
public:
QTAudioReader (InputStream* const input_, const int trackNum_)
: AudioFormatReader (input_, TRANS (quickTimeFormatName)),
: AudioFormatReader (input_, quickTimeFormatName),
ok (false),
movie (0),
trackNum (trackNum_),
@ -349,8 +348,7 @@ private:
//==============================================================================
QuickTimeAudioFormat::QuickTimeAudioFormat()
: AudioFormat (TRANS (quickTimeFormatName), StringArray (quickTimeExtensions))
QuickTimeAudioFormat::QuickTimeAudioFormat() : AudioFormat (quickTimeFormatName, ".mov .mp3 .mp4 .m4a")
{
}
@ -368,7 +366,7 @@ bool QuickTimeAudioFormat::canDoMono() { return true; }
AudioFormatReader* QuickTimeAudioFormat::createReaderFor (InputStream* sourceStream,
const bool deleteStreamIfOpeningFails)
{
ScopedPointer <QTAudioReader> r (new QTAudioReader (sourceStream, 0));
ScopedPointer<QTAudioReader> r (new QTAudioReader (sourceStream, 0));
if (r->ok)
return r.release();

View file

@ -23,7 +23,6 @@
*/
static const char* const wavFormatName = "WAV file";
static const char* const wavExtensions[] = { ".wav", ".bwf", 0 };
//==============================================================================
const char* const WavAudioFormat::bwavDescription = "bwav description";
@ -225,7 +224,7 @@ namespace WavFileHelpers
{
data.setSize (roundUpSize (sizeof (SMPLChunk) + (size_t) (numLoops - 1) * sizeof (SampleLoop)), true);
SMPLChunk* const s = static_cast <SMPLChunk*> (data.getData());
SMPLChunk* const s = static_cast<SMPLChunk*> (data.getData());
s->manufacturer = getValue (values, "Manufacturer", "0");
s->product = getValue (values, "Product", "0");
@ -293,7 +292,7 @@ namespace WavFileHelpers
if (keys.contains ("LowNote", true) && keys.contains ("HighNote", true))
{
data.setSize (8, true);
InstChunk* const inst = static_cast <InstChunk*> (data.getData());
InstChunk* const inst = static_cast<InstChunk*> (data.getData());
inst->baseNote = getValue (values, "MidiUnityNote", "60");
inst->detune = getValue (values, "Detune", "0");
@ -356,7 +355,7 @@ namespace WavFileHelpers
{
data.setSize (roundUpSize (sizeof (CueChunk) + (size_t) (numCues - 1) * sizeof (Cue)), true);
CueChunk* const c = static_cast <CueChunk*> (data.getData());
CueChunk* const c = static_cast<CueChunk*> (data.getData());
c->numCues = ByteOrder::swapIfBigEndian ((uint32) numCues);
@ -605,7 +604,7 @@ class WavAudioFormatReader : public AudioFormatReader
{
public:
WavAudioFormatReader (InputStream* const in)
: AudioFormatReader (in, TRANS (wavFormatName)),
: AudioFormatReader (in, wavFormatName),
bwavChunkStart (0),
bwavSize (0),
dataLength (0),
@ -900,7 +899,7 @@ public:
WavAudioFormatWriter (OutputStream* const out, const double rate,
const unsigned int numChans, const unsigned int bits,
const StringPairArray& metadataValues)
: AudioFormatWriter (out, TRANS (wavFormatName), rate, numChans, bits),
: AudioFormatWriter (out, wavFormatName, rate, numChans, bits),
lengthInSamples (0),
bytesWritten (0),
writeFailed (false)
@ -1197,14 +1196,8 @@ private:
};
//==============================================================================
WavAudioFormat::WavAudioFormat()
: AudioFormat (TRANS (wavFormatName), StringArray (wavExtensions))
{
}
WavAudioFormat::~WavAudioFormat()
{
}
WavAudioFormat::WavAudioFormat() : AudioFormat (wavFormatName, ".wav .bwf") {}
WavAudioFormat::~WavAudioFormat() {}
Array<int> WavAudioFormat::getPossibleSampleRates()
{