mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-15 17:12:36 +02:00
* 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'.
78 lines
2.3 KiB
C++
78 lines
2.3 KiB
C++
// rdsettings.h
|
|
//
|
|
// Audio Format Settings
|
|
//
|
|
// (C) Copyright 2002-2015 Fred Gleason <fredg@paravelsystems.com>
|
|
//
|
|
// This program is free software; you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License version 2 as
|
|
// published by the Free Software Foundation.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public
|
|
// License along with this program; if not, write to the Free Software
|
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
//
|
|
|
|
#ifndef RDSETTINGS_H
|
|
#define RDSETTINGS_H
|
|
|
|
#include <qstring.h>
|
|
|
|
class RDSettings
|
|
{
|
|
public:
|
|
enum Format {Pcm16=0,MpegL1=1,MpegL2=2,MpegL3=3,Flac=4,OggVorbis=5,
|
|
MpegL2Wav=6,Pcm24=7};
|
|
RDSettings();
|
|
RDSettings::Format format() const;
|
|
void setFormat(Format format);
|
|
QString formatName() const;
|
|
void setFormatName(const QString &str);
|
|
unsigned channels() const;
|
|
void setChannels(unsigned channels);
|
|
unsigned sampleRate() const;
|
|
void setSampleRate(unsigned rate);
|
|
unsigned layer() const;
|
|
void setLayer(unsigned layer);
|
|
unsigned bitRate() const;
|
|
void setBitRate(unsigned rate);
|
|
unsigned quality() const;
|
|
void setQuality(unsigned qual);
|
|
int normalizationLevel() const;
|
|
void setNormalizationLevel(int level);
|
|
int autotrimLevel() const;
|
|
void setAutotrimLevel(int level);
|
|
QString description();
|
|
QString customCommandLine() const;
|
|
void setCustomCommandLine(const QString &str);
|
|
QString resolvedCustomCommandLine(const QString &destfile);
|
|
static QString pathName(const QString &stationname,QString pathname,
|
|
RDSettings::Format fmt);
|
|
static QString defaultExtension(const QString &stationname,
|
|
RDSettings::Format fmt);
|
|
static unsigned bytesPerSec(const QString &stationname,
|
|
RDSettings::Format fmt,unsigned quality);
|
|
void clear();
|
|
|
|
private:
|
|
Format set_format;
|
|
QString set_format_name;
|
|
unsigned set_channels;
|
|
unsigned set_sample_rate;
|
|
unsigned set_layer;
|
|
unsigned set_bit_rate;
|
|
unsigned set_quality;
|
|
int set_normalization_level;
|
|
int set_autotrim_level;
|
|
QString set_custom_command_line;
|
|
};
|
|
|
|
|
|
#endif
|
|
|