// This file is generated by kconfig_compiler_kf6 from audiocd_lame_encoder.kcfg.
// All changes you do to this file will be lost.
#ifndef SETTINGS_H
#define SETTINGS_H

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

class Settings : public KConfigSkeleton
{
  public:
    class EnumByte_swap
    {
      public:
      enum type { No, Yes, Default, COUNT };
    };

    static Settings *self();
    ~Settings() override;

    /**
      Get Constant Bitrate
    */
    static
    bool bitrate_constant()
    {
      return self()->mBitrate_constant;
    }

    /**
      Is Constant Bitrate Immutable
    */
    static
    bool isBitrate_constantImmutable()
    {
      return self()->isImmutable( QStringLiteral( "bitrate_constant" ) );
    }

    /**
      Get Variable Bitrate
    */
    static
    bool bitrate_variable()
    {
      return self()->mBitrate_variable;
    }

    /**
      Is Variable Bitrate Immutable
    */
    static
    bool isBitrate_variableImmutable()
    {
      return self()->isImmutable( QStringLiteral( "bitrate_variable" ) );
    }

    /**
      Get Stereo Mode
    */
    static
    int stereo()
    {
      return self()->mStereo;
    }

    /**
      Is Stereo Mode Immutable
    */
    static
    bool isStereoImmutable()
    {
      return self()->isImmutable( QStringLiteral( "stereo" ) );
    }

    /**
      Get Quality
    */
    static
    int quality()
    {
      return self()->mQuality;
    }

    /**
      Is Quality Immutable
    */
    static
    bool isQualityImmutable()
    {
      return self()->isImmutable( QStringLiteral( "quality" ) );
    }

    /**
      Get Byte Swap
    */
    static
    int byte_swap()
    {
      return self()->mByte_swap;
    }

    /**
      Is Byte Swap Immutable
    */
    static
    bool isByte_swapImmutable()
    {
      return self()->isImmutable( QStringLiteral( "byte_swap" ) );
    }

    /**
      Get Copyrighted
    */
    static
    bool copyright()
    {
      return self()->mCopyright;
    }

    /**
      Is Copyrighted Immutable
    */
    static
    bool isCopyrightImmutable()
    {
      return self()->isImmutable( QStringLiteral( "copyright" ) );
    }

    /**
      Get Original
    */
    static
    bool original()
    {
      return self()->mOriginal;
    }

    /**
      Is Original Immutable
    */
    static
    bool isOriginalImmutable()
    {
      return self()->isImmutable( QStringLiteral( "original" ) );
    }

    /**
      Get ISO Encoding
    */
    static
    bool iso()
    {
      return self()->mIso;
    }

    /**
      Is ISO Encoding Immutable
    */
    static
    bool isIsoImmutable()
    {
      return self()->isImmutable( QStringLiteral( "iso" ) );
    }

    /**
      Get Error protection
    */
    static
    bool crc()
    {
      return self()->mCrc;
    }

    /**
      Is Error protection Immutable
    */
    static
    bool isCrcImmutable()
    {
      return self()->isImmutable( QStringLiteral( "crc" ) );
    }

    /**
      Get Write ID3 Tag
    */
    static
    bool id3_tag()
    {
      return self()->mId3_tag;
    }

    /**
      Is Write ID3 Tag Immutable
    */
    static
    bool isId3_tagImmutable()
    {
      return self()->isImmutable( QStringLiteral( "id3_tag" ) );
    }

    /**
      Get Constant Bitrate Settings
    */
    static
    int cbr_bitrate()
    {
      return self()->mCbr_bitrate;
    }

    /**
      Is Constant Bitrate Settings Immutable
    */
    static
    bool isCbr_bitrateImmutable()
    {
      return self()->isImmutable( QStringLiteral( "cbr_bitrate" ) );
    }

    /**
      Get Minimal bitrate
    */
    static
    bool vbr_min_br()
    {
      return self()->mVbr_min_br;
    }

    /**
      Is Minimal bitrate Immutable
    */
    static
    bool isVbr_min_brImmutable()
    {
      return self()->isImmutable( QStringLiteral( "vbr_min_br" ) );
    }

    /**
      Get Minimal Value is a hard limit
    */
    static
    bool vbr_min_hard()
    {
      return self()->mVbr_min_hard;
    }

    /**
      Is Minimal Value is a hard limit Immutable
    */
    static
    bool isVbr_min_hardImmutable()
    {
      return self()->isImmutable( QStringLiteral( "vbr_min_hard" ) );
    }

    /**
      Get Maximal bitrate
    */
    static
    bool vbr_max_br()
    {
      return self()->mVbr_max_br;
    }

    /**
      Is Maximal bitrate Immutable
    */
    static
    bool isVbr_max_brImmutable()
    {
      return self()->isImmutable( QStringLiteral( "vbr_max_br" ) );
    }

    /**
      Get Average bitrate
    */
    static
    bool vbr_average_br()
    {
      return self()->mVbr_average_br;
    }

    /**
      Is Average bitrate Immutable
    */
    static
    bool isVbr_average_brImmutable()
    {
      return self()->isImmutable( QStringLiteral( "vbr_average_br" ) );
    }

    /**
      Get Write Xing VBR tag
    */
    static
    bool vbr_xing_tag()
    {
      return self()->mVbr_xing_tag;
    }

    /**
      Is Write Xing VBR tag Immutable
    */
    static
    bool isVbr_xing_tagImmutable()
    {
      return self()->isImmutable( QStringLiteral( "vbr_xing_tag" ) );
    }

    /**
      Get Minimal bitrate value
    */
    static
    int vbr_min_brate()
    {
      return self()->mVbr_min_brate;
    }

    /**
      Is Minimal bitrate value Immutable
    */
    static
    bool isVbr_min_brateImmutable()
    {
      return self()->isImmutable( QStringLiteral( "vbr_min_brate" ) );
    }

    /**
      Get Maximal bitrate value
    */
    static
    int vbr_max_brate()
    {
      return self()->mVbr_max_brate;
    }

    /**
      Is Maximal bitrate value Immutable
    */
    static
    bool isVbr_max_brateImmutable()
    {
      return self()->isImmutable( QStringLiteral( "vbr_max_brate" ) );
    }

    /**
      Get Average bitrate value
    */
    static
    int vbr_mean_brate()
    {
      return self()->mVbr_mean_brate;
    }

    /**
      Is Average bitrate value Immutable
    */
    static
    bool isVbr_mean_brateImmutable()
    {
      return self()->isImmutable( QStringLiteral( "vbr_mean_brate" ) );
    }

    /**
      Get Enable the lowpass filter
    */
    static
    bool enable_lowpass()
    {
      return self()->mEnable_lowpass;
    }

    /**
      Is Enable the lowpass filter Immutable
    */
    static
    bool isEnable_lowpassImmutable()
    {
      return self()->isImmutable( QStringLiteral( "enable_lowpass" ) );
    }

    /**
      Get Value of the cutoff frequency for the lowpass filter
    */
    static
    int lowfilterfreq()
    {
      return self()->mLowfilterfreq;
    }

    /**
      Is Value of the cutoff frequency for the lowpass filter Immutable
    */
    static
    bool isLowfilterfreqImmutable()
    {
      return self()->isImmutable( QStringLiteral( "lowfilterfreq" ) );
    }

    /**
      Get Enable the highpass filter
    */
    static
    bool enable_highpass()
    {
      return self()->mEnable_highpass;
    }

    /**
      Is Enable the highpass filter Immutable
    */
    static
    bool isEnable_highpassImmutable()
    {
      return self()->isImmutable( QStringLiteral( "enable_highpass" ) );
    }

    /**
      Get Value of the cutoff frequency for the highpass filter
    */
    static
    int highfilterfreq()
    {
      return self()->mHighfilterfreq;
    }

    /**
      Is Value of the cutoff frequency for the highpass filter Immutable
    */
    static
    bool isHighfilterfreqImmutable()
    {
      return self()->isImmutable( QStringLiteral( "highfilterfreq" ) );
    }

    /**
      Get Lowpass filter width
    */
    static
    bool set_lpf_width()
    {
      return self()->mSet_lpf_width;
    }

    /**
      Is Lowpass filter width Immutable
    */
    static
    bool isSet_lpf_widthImmutable()
    {
      return self()->isImmutable( QStringLiteral( "set_lpf_width" ) );
    }

    /**
      Get Lowpass filter width value
    */
    static
    int lowfilterwidth()
    {
      return self()->mLowfilterwidth;
    }

    /**
      Is Lowpass filter width value Immutable
    */
    static
    bool isLowfilterwidthImmutable()
    {
      return self()->isImmutable( QStringLiteral( "lowfilterwidth" ) );
    }

    /**
      Get Highpass filter width
    */
    static
    bool set_hpf_width()
    {
      return self()->mSet_hpf_width;
    }

    /**
      Is Highpass filter width Immutable
    */
    static
    bool isSet_hpf_widthImmutable()
    {
      return self()->isImmutable( QStringLiteral( "set_hpf_width" ) );
    }

    /**
      Get Highpass filter width
    */
    static
    int highfilterwidth()
    {
      return self()->mHighfilterwidth;
    }

    /**
      Is Highpass filter width Immutable
    */
    static
    bool isHighfilterwidthImmutable()
    {
      return self()->isImmutable( QStringLiteral( "highfilterwidth" ) );
    }

  protected:
    Settings();
    friend class SettingsHelper;


    // Lame
    bool mBitrate_constant;
    bool mBitrate_variable;
    int mStereo;
    int mQuality;
    int mByte_swap;
    bool mCopyright;
    bool mOriginal;
    bool mIso;
    bool mCrc;
    bool mId3_tag;
    int mCbr_bitrate;
    bool mVbr_min_br;
    bool mVbr_min_hard;
    bool mVbr_max_br;
    bool mVbr_average_br;
    bool mVbr_xing_tag;
    int mVbr_min_brate;
    int mVbr_max_brate;
    int mVbr_mean_brate;
    bool mEnable_lowpass;
    int mLowfilterfreq;
    bool mEnable_highpass;
    int mHighfilterfreq;
    bool mSet_lpf_width;
    int mLowfilterwidth;
    bool mSet_hpf_width;
    int mHighfilterwidth;
};

#endif

