kwave  18.07.70
MP3EncoderSettings.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  MP3EncoderSettings.cpp - settings for configuring the MP3 encoer
3  -------------------
4  begin : Sun Jun 03 2012
5  copyright : (C) 2012 by Thomas Eschenbacher
6  email : Thomas.Eschenbacher@gmx.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #include "config.h"
19 
20 #include <QDir>
21 #include <QLatin1Char>
22 
23 #include <KConfigGroup>
24 #include <KSharedConfig>
25 
26 #include "libkwave/String.h"
27 
28 #include "MP3EncoderSettings.h"
29 
31 #define MP3_ENCODER_CONFIG_GROUP "MP3_Encoder_Settings"
32 
38 #define LOAD(field, key) field = \
39  cfg.readEntry(key, field)
40 
46 #define SAVE(field, key) \
47  cfg.writeEntry(key, sanitized(field))
48 
49 /***************************************************************************/
56 static QString sanitized(const QString &in)
57 {
58  QString out = _("");
59  QString str = in.simplified();
60 
61  for (int i = 0; i < str.length(); i++) {
62  QCharRef c = str[i];
63  if ( c.isLetterOrNumber() || c.isSpace() ||
64  (c == QLatin1Char('-')) || (c == QLatin1Char('%')) ||
65  (c == QLatin1Char('=')) || (c == QLatin1Char('.')) ||
66  (c == QLatin1Char('[')) || (c == QLatin1Char(']')) ||
67  (c == QDir::separator()) )
68  {
69  out += c;
70  }
71  }
72  return out;
73 }
74 
75 /***************************************************************************/
77 {
78  KConfigGroup cfg = KSharedConfig::openConfig()->group(MP3_ENCODER_CONFIG_GROUP);
79 
80  LOAD(m_name, "name_______________________");
81  LOAD(m_path, "path_______________________");
82 
83  LOAD(m_input.m_raw_format, "input_raw_format___________");
84  LOAD(m_input.m_byte_order, "input_byte_order___________");
85  LOAD(m_input.m_signed, "input_signed_______________");
86 
87  LOAD(m_format.m_sample_rate, "format_sample_rate_________");
88  LOAD(m_format.m_bits_per_sample, "format_bits_per_sample_____");
89  LOAD(m_format.m_channels.m_mono, "format_channels_mono_______");
90  LOAD(m_format.m_channels.m_stereo, "format_channels_stereo_____");
91 
92  LOAD(m_quality.m_bitrate.m_avg, "quality_bitrate_avg________");
93  LOAD(m_quality.m_bitrate.m_min, "quality_bitrate_min________");
94  LOAD(m_quality.m_bitrate.m_max, "quality_bitrate_max________");
95 
96  LOAD(m_encoding.m_emphasis.m_none, "encoding_emphasis_none_____");
97  LOAD(m_encoding.m_emphasis.m_50_15ms, "encoding_emphasis_50_15ms__");
98  LOAD(m_encoding.m_emphasis.m_ccit_j17, "encoding_emphasis_ccit_j17_");
99 
100  LOAD(m_encoding.m_noise_shaping, "encoding_noise_shaping_____");
101  LOAD(m_encoding.m_compatibility, "encoding_compatibility_____");
102 
103  LOAD(m_flags.m_copyright, "flags_copyright____________");
104  LOAD(m_flags.m_original, "flags_original_____________");
105  LOAD(m_flags.m_protect, "flags_protect______________");
106  LOAD(m_flags.m_prepend, "flags_prepend______________");
107  LOAD(m_flags.m_append, "flags_append_______________");
108 
109  LOAD(m_info.m_help, "info_help__________________");
110  LOAD(m_info.m_version, "info_version_______________");
111 }
112 
113 /***************************************************************************/
115 {
116  KConfigGroup cfg = KSharedConfig::openConfig()->group(MP3_ENCODER_CONFIG_GROUP);
117 
118  SAVE(m_name, "name_______________________");
119  SAVE(m_path, "path_______________________");
120 
121  SAVE(m_input.m_raw_format, "input_raw_format___________");
122  SAVE(m_input.m_byte_order, "input_byte_order___________");
123  SAVE(m_input.m_signed, "input_signed_______________");
124 
125  SAVE(m_format.m_sample_rate, "format_sample_rate_________");
126  SAVE(m_format.m_bits_per_sample, "format_bits_per_sample_____");
127  SAVE(m_format.m_channels.m_mono, "format_channels_mono_______");
128  SAVE(m_format.m_channels.m_stereo, "format_channels_stereo_____");
129 
130  SAVE(m_quality.m_bitrate.m_avg, "quality_bitrate_avg________");
131  SAVE(m_quality.m_bitrate.m_min, "quality_bitrate_min________");
132  SAVE(m_quality.m_bitrate.m_max, "quality_bitrate_max________");
133 
134  SAVE(m_encoding.m_emphasis.m_none, "encoding_emphasis_none_____");
135  SAVE(m_encoding.m_emphasis.m_50_15ms, "encoding_emphasis_50_15ms__");
136  SAVE(m_encoding.m_emphasis.m_ccit_j17, "encoding_emphasis_ccit_j17_");
137 
138  SAVE(m_encoding.m_noise_shaping, "encoding_noise_shaping_____");
139  SAVE(m_encoding.m_compatibility, "encoding_compatibility_____");
140 
141  SAVE(m_flags.m_copyright, "flags_copyright____________");
142  SAVE(m_flags.m_original, "flags_original_____________");
143  SAVE(m_flags.m_protect, "flags_protect______________");
144  SAVE(m_flags.m_prepend, "flags_prepend______________");
145  SAVE(m_flags.m_append, "flags_append_______________");
146 
147  SAVE(m_info.m_help, "info_help__________________");
148  SAVE(m_info.m_version, "info_version_______________");
149 }
150 
151 /***************************************************************************/
152 /***************************************************************************/
struct Kwave::MP3EncoderSettings::@4 m_format
#define MP3_ENCODER_CONFIG_GROUP
struct Kwave::MP3EncoderSettings::@5 m_quality
struct Kwave::MP3EncoderSettings::@7 m_flags
#define SAVE(field, key)
struct Kwave::MP3EncoderSettings::@3 m_input
struct Kwave::MP3EncoderSettings::@6 m_encoding
#define _(m)
Definition: memcpy.c:66
#define LOAD(field, key)
static QString sanitized(const QString &in)
struct Kwave::MP3EncoderSettings::@8 m_info