File: MP3EncoderSettings.h

package info (click to toggle)
kwave 25.04.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,272 kB
  • sloc: cpp: 56,173; xml: 817; perl: 688; sh: 57; makefile: 11
file content (93 lines) | stat: -rw-r--r-- 3,758 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/***************************************************************************
   MP3EncoderSettings.h  -  settings for configuring the MP3 encoer
                            -------------------
    begin                : Sun Jun 03 2012
    copyright            : (C) 2012 by Thomas Eschenbacher
    email                : Thomas.Eschenbacher@gmx.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef MP3_ENCODER_SETTINGS_H
#define MP3_ENCODER_SETTINGS_H

#include <QtGlobal>
#include <QString>

namespace Kwave
{

    typedef struct MP3EncoderSettings
    {

        /** load from a config file */
        void load();

        /** save to a config file */
        void save();

        QString m_name;                 /**< name of the program (preset) */
        QString m_path;                 /**< path to the executable       */

        struct {
            QString m_raw_format;       /**< raw format                   */
            QString m_byte_order;       /**< byte order                   */
            QString m_signed;           /**< signed format                */
        } m_input;

        struct {
            QString m_sample_rate;      /**< sample rate [1/sec]          */
            QString m_bits_per_sample;  /**< bits per sample              */
            struct {
                QString m_mono;         /**< mono                         */
                QString m_stereo;       /**< stereo                       */
            } m_channels;
        } m_format;

        struct {
            struct {
                QString m_avg;          /**< average bitrate             */
                QString m_min;          /**< minimum bitrate             */
                QString m_max;          /**< maximum bitrage             */
            } m_bitrate;
        } m_quality;

        struct {
            struct {
                QString m_none;         /**< no preemphasis              */
                QString m_50_15ms;      /**< 50/15ms                     */
                QString m_ccit_j17;     /**< CCIT J17                    */
            } m_emphasis;
            QString m_noise_shaping;    /**< noise shaping               */
            QString m_compatibility;    /**< compatibility               */
        } m_encoding;

        struct {
            QString m_copyright;        /**< copyrighted                 */
            QString m_original;         /**< original                    */
            QString m_protect;          /**< protect, CRC                */

            QString m_prepend;          /**< additional to prepended     */
            QString m_append;           /**< additional to append        */
        } m_flags;

        struct {
            QString m_help;             /**< encoder help                */
            QString m_version;          /**< encoder version             */
        } m_info;

    } MP3EncoderSettings;

}

#endif /* MP3_ENCODER_SETTINGS_H */

//***************************************************************************
//***************************************************************************