2015-08-29 Fred Gleason <fredg@paravelsystems.com>

* Added an 'RDAudioConvert::Stage3Pcm24()' method in
	'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
	* Added a 'Format::Pcm24' value to the 'RDSettings::Format'
	enumeration in 'lib/rdsettings.h'.
	* Modified the 'RDAudioConvert' class to support generating PCM24
	output in 'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
	* Modified the 'RDPlayStream' class to support playing PCM24
	data in 'rdhpi/rdplaystream.cpp'.
	* Modified the 'RDRecordStream' class to support capturing PCM24
	data in 'rdhpi/rdrecordstream.cpp'.
	* Added an 'audio_peaks_test' harness in 'tests/audio_peaks_test.cpp'
	and 'tests/audio_peaks_test.h'.
	* Added 'PCM24' to the list of available formats in
	'rdadmin/edit_rdlibrary.cpp' and 'rdadmin/edit_rdlibrary.h'.
	* Added 'PCM24' to the list of available formats in
	'rdadmin/edit_decks.cpp'.
	* Added PCM24 support for file importation in
	'web/rdxport/import.cpp'.
	* Added an 'RDCae::Pcm24' value to the 'RDCae::AudioCoding
	enumeration in 'lib/rdcae.h'.
This commit is contained in:
Fred Gleason
2015-08-30 07:49:44 -04:00
parent e48a90a363
commit 8d70a79387
45 changed files with 1329 additions and 854 deletions

View File

@@ -112,9 +112,8 @@ using namespace std;
class RDWaveFile
{
public:
enum Encoding {Raw=0,Signed16Int=1,Signed32Float=2};
enum Format {Pcm8=0,Pcm16=1,Float32=2,MpegL1=3,MpegL2=4,MpegL3=5,
DolbyAc2=6,DolbyAc3=7,Vorbis=8};
DolbyAc2=6,DolbyAc3=7,Vorbis=8,Pcm24=9};
enum Type {Unknown=0,Wave=1,Mpeg=2,Ogg=3,Atx=4,Tmc=5,Flac=6,Ambos=7,
Aiff=8};
enum MpegID {NonMpeg=0,Mpeg1=1,Mpeg2=2};
@@ -217,17 +216,6 @@ class RDWaveFile
**/
unsigned getDataLength() const;
/**
* Returns the current encoding type.
**/
RDWaveFile::Encoding encoding() const;
/**
* Set the encoding type.
* @param code The encoding to use.
**/
void setEncoding(RDWaveFile::Encoding code);
/**
* Read a block of data from the DATA chunk, using the current
* encoding type.
@@ -1205,7 +1193,7 @@ class RDWaveFile
unsigned char *cook_buffer;
int cook_buffer_size;
RDWaveFile::Encoding cook_encoding;
// RDWaveFile::Encoding cook_encoding;
float encode_quality;
int serial_number;
int atx_offset;