Rivendellaudio/lib/rdsettings.h
Fred Gleason 8ada6c0812 2020-08-11 Fred Gleason <fredg@paravelsystems.com>
* Dropped the 'ENCODERS', 'ENCODER_BITRATES', 'ENCODER_BITRATES'
	and 'ENCODER_CHANNELS' tables from the database.
	* Incremented the database version to 331.
	* Removed the 'RDSettings::customCommandLine()',
	'RDSettings::setCustomCommandLine()' and
	' RDSettings::resolvedCustomCommandLine()' methods.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-11 15:53:33 -04:00

74 lines
2.2 KiB
C++

// rdsettings.h
//
// Audio Format Settings
//
// (C) Copyright 2002-2020 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();
static QString pathName(const QString &stationname,QString pathname,
RDSettings::Format fmt);
static QString defaultExtension(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;
};
#endif // RDSETTINGS_H