Added "Resample" filter, based on SoX. Used for encoders that don't support "native" resampling. Also added a "Tone Adjustment" filter, based on SoX too.
This commit is contained in:
parent
4ddebb58c9
commit
d13050c3db
@ -414,6 +414,14 @@
|
|||||||
RelativePath=".\src\Filter_Normalize.cpp"
|
RelativePath=".\src\Filter_Normalize.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\Filter_Resample.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\Filter_ToneAdjust.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\Genres.cpp"
|
RelativePath=".\src\Genres.cpp"
|
||||||
>
|
>
|
||||||
@ -1130,6 +1138,14 @@
|
|||||||
RelativePath=".\src\Filter_Normalize.h"
|
RelativePath=".\src\Filter_Normalize.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\Filter_Resample.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\Filter_ToneAdjust.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\Genres.h"
|
RelativePath=".\src\Genres.h"
|
||||||
>
|
>
|
||||||
|
@ -107,6 +107,18 @@
|
|||||||
<source>Open and patent-free lossless audio compression technology.</source>
|
<source>Open and patent-free lossless audio compression technology.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>mpg123 - Fast Console MPEG Audio Player/Decoder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Released under the terms of the GNU General Public License.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>AC3Filter Tools - AC3/DTS Decoder</source>
|
<source>AC3Filter Tools - AC3/DTS Decoder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -151,6 +163,10 @@
|
|||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of thrird-party software used in LameXP belongs to the individual authors.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>About Third-party Software</source>
|
<source>About Third-party Software</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -461,6 +477,10 @@
|
|||||||
<source>MP3 Channel Mode:</source>
|
<source>MP3 Channel Mode:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sampling Rate (Hz):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>16.000</source>
|
<source>16.000</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -485,10 +505,6 @@
|
|||||||
<source>48.000</source>
|
<source>48.000</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Sampling Rate (Hz):</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Nero AAC Options</source>
|
<source>Nero AAC Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -529,6 +545,18 @@
|
|||||||
<source>Peak Volume (dB):</source>
|
<source>Peak Volume (dB):</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> Tone Adjustment </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Treble (dB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Bass (dB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reset Advanced Options </source>
|
<source>Reset Advanced Options </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -159,6 +159,22 @@
|
|||||||
<source>The True Audio - Lossless Audio Codec</source>
|
<source>The True Audio - Lossless Audio Codec</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>mpg123 - Fast Console MPEG Audio Player/Decoder</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Released under the terms of the GNU General Public License.</source>
|
||||||
|
<translation>Veröffentlicht unter den Bestimmungen der GNU General Public License.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of thrird-party software used in LameXP belongs to the individual authors.</source>
|
||||||
|
<translation>Das Urheberrecht an LameXP liegt beit LoRd_MuldeR. Das Urheberrecht an der eingesetzten Drittsoftware liegt bei den jeweiligen Authoren.</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1050,6 +1066,18 @@
|
|||||||
<source>Encode!</source>
|
<source>Encode!</source>
|
||||||
<translation>Kodieren!</translation>
|
<translation>Kodieren!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> Tone Adjustment </source>
|
||||||
|
<translation> Klangregelung </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Treble (dB):</source>
|
||||||
|
<translation>Höhen-Regler (dB):</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Bass (dB):</source>
|
||||||
|
<translation>Bass-Regler (dB):</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -160,6 +160,22 @@
|
|||||||
<source>The True Audio - Lossless Audio Codec</source>
|
<source>The True Audio - Lossless Audio Codec</source>
|
||||||
<translation>True audio - Códec de audio sin pérdida</translation>
|
<translation>True audio - Códec de audio sin pérdida</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>mpg123 - Fast Console MPEG Audio Player/Decoder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Released under the terms of the GNU General Public License.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of thrird-party software used in LameXP belongs to the individual authors.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1050,6 +1066,18 @@
|
|||||||
<source>Encode!</source>
|
<source>Encode!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> Tone Adjustment </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Treble (dB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Bass (dB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -162,6 +162,22 @@
|
|||||||
<source>The True Audio - Lossless Audio Codec</source>
|
<source>The True Audio - Lossless Audio Codec</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>mpg123 - Fast Console MPEG Audio Player/Decoder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Released under the terms of the GNU General Public License.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of thrird-party software used in LameXP belongs to the individual authors.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1054,6 +1070,18 @@ Votre dossier TEMP est situé ici:</translation>
|
|||||||
<source>Encode!</source>
|
<source>Encode!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> Tone Adjustment </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Treble (dB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Bass (dB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -159,6 +159,22 @@
|
|||||||
<source>The True Audio - Lossless Audio Codec</source>
|
<source>The True Audio - Lossless Audio Codec</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>mpg123 - Fast Console MPEG Audio Player/Decoder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Released under the terms of the GNU General Public License.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of thrird-party software used in LameXP belongs to the individual authors.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1050,6 +1066,18 @@
|
|||||||
<source>Encode!</source>
|
<source>Encode!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> Tone Adjustment </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Treble (dB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Adjust Bass (dB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -36,6 +36,9 @@
|
|||||||
..\..\src\Encoder_Wave.cpp
|
..\..\src\Encoder_Wave.cpp
|
||||||
..\..\src\Filter_Abstract.cpp
|
..\..\src\Filter_Abstract.cpp
|
||||||
..\..\src\Filter_Downmix.cpp
|
..\..\src\Filter_Downmix.cpp
|
||||||
|
..\..\src\Filter_Normalize.cpp
|
||||||
|
..\..\src\Filter_Resample.cpp
|
||||||
|
..\..\src\Filter_ToneAdjust.cpp
|
||||||
..\..\src\Genres.cpp
|
..\..\src\Genres.cpp
|
||||||
..\..\src\Global.cpp
|
..\..\src\Global.cpp
|
||||||
..\..\src\LockedFile.cpp
|
..\..\src\LockedFile.cpp
|
||||||
@ -85,6 +88,9 @@
|
|||||||
..\..\src\Encoder_Wave.h
|
..\..\src\Encoder_Wave.h
|
||||||
..\..\src\Filter_Abstract.h
|
..\..\src\Filter_Abstract.h
|
||||||
..\..\src\Filter_Downmix.h
|
..\..\src\Filter_Downmix.h
|
||||||
|
..\..\src\Filter_Normalize.h
|
||||||
|
..\..\src\Filter_Resample.h
|
||||||
|
..\..\src\Filter_ToneAdjust.h
|
||||||
..\..\src\Genres.h
|
..\..\src\Genres.h
|
||||||
..\..\src\Global.h
|
..\..\src\Global.h
|
||||||
..\..\src\LockedFile.h
|
..\..\src\LockedFile.h
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>667</width>
|
<width>667</width>
|
||||||
<height>446</height>
|
<height>449</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -986,7 +986,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>604</width>
|
<width>604</width>
|
||||||
<height>520</height>
|
<height>609</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_22">
|
<layout class="QGridLayout" name="gridLayout_22">
|
||||||
@ -1271,9 +1271,9 @@
|
|||||||
<string>Channel Mode / Sampling Rate</string>
|
<string>Channel Mode / Sampling Rate</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_24">
|
<layout class="QGridLayout" name="gridLayout_24">
|
||||||
<item row="0" column="0">
|
<item row="1" column="0">
|
||||||
<layout class="QGridLayout" name="gridLayout_23">
|
<layout class="QGridLayout" name="gridLayout_27">
|
||||||
<item row="1" column="2">
|
<item row="1" column="5">
|
||||||
<widget class="QComboBox" name="comboBoxMP3ChannelMode">
|
<widget class="QComboBox" name="comboBoxMP3ChannelMode">
|
||||||
<property name="sizeAdjustPolicy">
|
<property name="sizeAdjustPolicy">
|
||||||
<enum>QComboBox::AdjustToContents</enum>
|
<enum>QComboBox::AdjustToContents</enum>
|
||||||
@ -1310,39 +1310,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="4">
|
||||||
<spacer name="horizontalSpacer_18">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeType">
|
|
||||||
<enum>QSizePolicy::Fixed</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>10</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="9">
|
|
||||||
<spacer name="horizontalSpacer_19">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeType">
|
|
||||||
<enum>QSizePolicy::Fixed</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>10</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLabel" name="label_4">
|
<widget class="QLabel" name="label_4">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>MP3 Channel Mode:</string>
|
<string>MP3 Channel Mode:</string>
|
||||||
@ -1352,68 +1320,17 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1" colspan="4">
|
<item row="1" column="1">
|
||||||
<spacer name="verticalSpacer_9">
|
<widget class="QLabel" name="label_5">
|
||||||
<property name="orientation">
|
<property name="text">
|
||||||
<enum>Qt::Vertical</enum>
|
<string>Sampling Rate (Hz):</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeType">
|
<property name="alignment">
|
||||||
<enum>QSizePolicy::Fixed</enum>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
</widget>
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>8</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1" colspan="4">
|
<item row="1" column="2">
|
||||||
<spacer name="verticalSpacer_10">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeType">
|
|
||||||
<enum>QSizePolicy::Fixed</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>8</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="8">
|
|
||||||
<spacer name="horizontalSpacer_20">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeType">
|
|
||||||
<enum>QSizePolicy::Expanding</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="5">
|
|
||||||
<spacer name="horizontalSpacer_21">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="7">
|
|
||||||
<widget class="QComboBox" name="comboBoxSamplingRate">
|
<widget class="QComboBox" name="comboBoxSamplingRate">
|
||||||
<property name="sizeAdjustPolicy">
|
<property name="sizeAdjustPolicy">
|
||||||
<enum>QComboBox::AdjustToContents</enum>
|
<enum>QComboBox::AdjustToContents</enum>
|
||||||
@ -1455,15 +1372,98 @@
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="horizontalSpacer_18">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>10</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="7">
|
||||||
|
<spacer name="horizontalSpacer_19">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>10</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="3">
|
||||||
|
<spacer name="horizontalSpacer_21">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
<item row="1" column="6">
|
<item row="1" column="6">
|
||||||
<widget class="QLabel" name="label_5">
|
<spacer name="horizontalSpacer_20">
|
||||||
<property name="text">
|
<property name="orientation">
|
||||||
<string>Sampling Rate (Hz):</string>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="sizeType">
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<enum>QSizePolicy::Expanding</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1" colspan="6">
|
||||||
|
<spacer name="verticalSpacer_10">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>8</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1" colspan="6">
|
||||||
|
<spacer name="verticalSpacer_9">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>8</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
@ -1768,6 +1768,184 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QGroupBox" name="groupBox_10">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>50</weight>
|
||||||
|
<bold>false</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string> Tone Adjustment </string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_28">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QGridLayout" name="gridLayout_23">
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QDoubleSpinBox" name="spinBoxToneAdjustTreble">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>120</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<double>-20.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>20.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="horizontalSpacer_30">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>10</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="8">
|
||||||
|
<spacer name="horizontalSpacer_31">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>10</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="6">
|
||||||
|
<spacer name="horizontalSpacer_32">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="5">
|
||||||
|
<widget class="QDoubleSpinBox" name="spinBoxToneAdjustBass">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>120</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<double>-20.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>20.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="3">
|
||||||
|
<spacer name="horizontalSpacer_29">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Adjust Treble (dB):</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="4">
|
||||||
|
<widget class="QLabel" name="label_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>Adjust Bass (dB):</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="7">
|
||||||
|
<widget class="QPushButton" name="buttonToneAdjustReset">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../res/Icons.qrc">
|
||||||
|
<normaloff>:/icons/cross.png</normaloff>:/icons/cross.png</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1" colspan="7">
|
||||||
|
<spacer name="verticalSpacer_13">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>8</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1" colspan="7">
|
||||||
|
<spacer name="verticalSpacer_14">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>8</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="0">
|
<item row="6" column="0">
|
||||||
@ -2300,6 +2478,10 @@
|
|||||||
<include location="../res/Icons.qrc"/>
|
<include location="../res/Icons.qrc"/>
|
||||||
<include location="../res/Icons.qrc"/>
|
<include location="../res/Icons.qrc"/>
|
||||||
<include location="../res/Icons.qrc"/>
|
<include location="../res/Icons.qrc"/>
|
||||||
|
<include location="../res/Icons.qrc"/>
|
||||||
|
<include location="../res/Icons.qrc"/>
|
||||||
|
<include location="../res/Icons.qrc"/>
|
||||||
|
<include location="../res/Icons.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections>
|
<connections>
|
||||||
<connection>
|
<connection>
|
||||||
|
@ -17,14 +17,12 @@
|
|||||||
<file>tools/oggenc2_i386.exe</file>
|
<file>tools/oggenc2_i386.exe</file>
|
||||||
<file>tools/oggenc2_sse2.exe</file>
|
<file>tools/oggenc2_sse2.exe</file>
|
||||||
<file>tools/oggenc2_x64.exe</file>
|
<file>tools/oggenc2_x64.exe</file>
|
||||||
<file>tools/selfdelete.exe</file>
|
|
||||||
<file>tools/shorten.exe</file>
|
<file>tools/shorten.exe</file>
|
||||||
<file>tools/sox.exe</file>
|
<file>tools/sox.exe</file>
|
||||||
<file>tools/speexdec.exe</file>
|
<file>tools/speexdec.exe</file>
|
||||||
<file>tools/takc.exe</file>
|
<file>tools/takc.exe</file>
|
||||||
<file>tools/ttaenc.exe</file>
|
<file>tools/ttaenc.exe</file>
|
||||||
<file>tools/valdec.exe</file>
|
<file>tools/valdec.exe</file>
|
||||||
<file>tools/volumax.exe</file>
|
|
||||||
<file>tools/wget.exe</file>
|
<file>tools/wget.exe</file>
|
||||||
<file>tools/wupdate.exe</file>
|
<file>tools/wupdate.exe</file>
|
||||||
<file>tools/wvunpack.exe</file>
|
<file>tools/wvunpack.exe</file>
|
||||||
|
Binary file not shown.
@ -25,8 +25,8 @@
|
|||||||
#define VER_LAMEXP_MAJOR 4
|
#define VER_LAMEXP_MAJOR 4
|
||||||
#define VER_LAMEXP_MINOR_HI 0
|
#define VER_LAMEXP_MINOR_HI 0
|
||||||
#define VER_LAMEXP_MINOR_LO 0
|
#define VER_LAMEXP_MINOR_LO 0
|
||||||
#define VER_LAMEXP_BUILD 264
|
#define VER_LAMEXP_BUILD 267
|
||||||
#define VER_LAMEXP_SUFFIX Beta-1
|
#define VER_LAMEXP_SUFFIX Beta-2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tools versions
|
* Tools versions
|
||||||
|
@ -241,7 +241,7 @@ void AboutDialog::showMoreAbout(void)
|
|||||||
QString moreAboutText;
|
QString moreAboutText;
|
||||||
|
|
||||||
moreAboutText += QString("<h3>%1</h3>").arg(tr("The following third-party software is used in LameXP:"));
|
moreAboutText += QString("<h3>%1</h3>").arg(tr("The following third-party software is used in LameXP:"));
|
||||||
moreAboutText += "<div style=\"margin-left:-25px;font-size:8pt\"><ul>";
|
moreAboutText += "<div style=\"margin-left:-25px;font-size:8pt\"><table><tr><td><ul>";
|
||||||
|
|
||||||
moreAboutText += makeToolText
|
moreAboutText += makeToolText
|
||||||
(
|
(
|
||||||
@ -280,12 +280,23 @@ void AboutDialog::showMoreAbout(void)
|
|||||||
"http://www.mpg123.de/"
|
"http://www.mpg123.de/"
|
||||||
);
|
);
|
||||||
moreAboutText += makeToolText
|
moreAboutText += makeToolText
|
||||||
|
(
|
||||||
|
tr("FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder"),
|
||||||
|
"faad.exe", "v?.?",
|
||||||
|
tr("Released under the terms of the GNU General Public License."),
|
||||||
|
"http://www.audiocoding.com/"
|
||||||
|
);
|
||||||
|
moreAboutText += makeToolText
|
||||||
(
|
(
|
||||||
tr("AC3Filter Tools - AC3/DTS Decoder"),
|
tr("AC3Filter Tools - AC3/DTS Decoder"),
|
||||||
"valdec.exe", "v?.??",
|
"valdec.exe", "v?.??",
|
||||||
tr("Released under the terms of the GNU Lesser General Public License."),
|
tr("Released under the terms of the GNU Lesser General Public License."),
|
||||||
"http://www.ac3filter.net/projects/tools"
|
"http://www.ac3filter.net/projects/tools"
|
||||||
);
|
);
|
||||||
|
moreAboutText += QString
|
||||||
|
(
|
||||||
|
"</ul></td><td><ul>"
|
||||||
|
);
|
||||||
moreAboutText += makeToolText
|
moreAboutText += makeToolText
|
||||||
(
|
(
|
||||||
tr("WavPack - Hybrid Lossless Compression"),
|
tr("WavPack - Hybrid Lossless Compression"),
|
||||||
@ -335,6 +346,10 @@ void AboutDialog::showMoreAbout(void)
|
|||||||
tr("By Mark James, released under the Creative Commons 'by' License."),
|
tr("By Mark James, released under the Creative Commons 'by' License."),
|
||||||
"http://www.famfamfam.com/lab/icons/silk/"
|
"http://www.famfamfam.com/lab/icons/silk/"
|
||||||
);
|
);
|
||||||
|
moreAboutText += QString("</ul></td><td> </td></tr></table></div><i>%1</i><br>").arg
|
||||||
|
(
|
||||||
|
tr("LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of thrird-party software used in LameXP belongs to the individual authors.")
|
||||||
|
);
|
||||||
|
|
||||||
QMessageBox *moreAboutBox = new QMessageBox(this);
|
QMessageBox *moreAboutBox = new QMessageBox(this);
|
||||||
moreAboutBox->setText(moreAboutText);
|
moreAboutBox->setText(moreAboutText);
|
||||||
|
@ -218,6 +218,8 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
|||||||
spinBoxBitrateManagementMin->setValue(m_settings->bitrateManagementMinRate());
|
spinBoxBitrateManagementMin->setValue(m_settings->bitrateManagementMinRate());
|
||||||
spinBoxBitrateManagementMax->setValue(m_settings->bitrateManagementMaxRate());
|
spinBoxBitrateManagementMax->setValue(m_settings->bitrateManagementMaxRate());
|
||||||
spinBoxNormalizationFilter->setValue(static_cast<double>(m_settings->normalizationFilterMaxVolume()) / 100.0);
|
spinBoxNormalizationFilter->setValue(static_cast<double>(m_settings->normalizationFilterMaxVolume()) / 100.0);
|
||||||
|
spinBoxToneAdjustBass->setValue(static_cast<double>(m_settings->toneAdjustBass()) / 100.0);
|
||||||
|
spinBoxToneAdjustTreble->setValue(static_cast<double>(m_settings->toneAdjustTreble()) / 100.0);
|
||||||
comboBoxMP3ChannelMode->setCurrentIndex(m_settings->lameChannelMode());
|
comboBoxMP3ChannelMode->setCurrentIndex(m_settings->lameChannelMode());
|
||||||
comboBoxSamplingRate->setCurrentIndex(m_settings->samplingRate());
|
comboBoxSamplingRate->setCurrentIndex(m_settings->samplingRate());
|
||||||
comboBoxNeroAACProfile->setCurrentIndex(m_settings->neroAACProfile());
|
comboBoxNeroAACProfile->setCurrentIndex(m_settings->neroAACProfile());
|
||||||
@ -234,8 +236,13 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
|||||||
connect(comboBoxNeroAACProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(neroAACProfileChanged(int)));
|
connect(comboBoxNeroAACProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(neroAACProfileChanged(int)));
|
||||||
connect(checkBoxNormalizationFilter, SIGNAL(clicked(bool)), this, SLOT(normalizationEnabledChanged(bool)));
|
connect(checkBoxNormalizationFilter, SIGNAL(clicked(bool)), this, SLOT(normalizationEnabledChanged(bool)));
|
||||||
connect(spinBoxNormalizationFilter, SIGNAL(valueChanged(double)), this, SLOT(normalizationMaxVolumeChanged(double)));
|
connect(spinBoxNormalizationFilter, SIGNAL(valueChanged(double)), this, SLOT(normalizationMaxVolumeChanged(double)));
|
||||||
|
connect(spinBoxToneAdjustBass, SIGNAL(valueChanged(double)), this, SLOT(toneAdjustBassChanged(double)));
|
||||||
|
connect(spinBoxToneAdjustTreble, SIGNAL(valueChanged(double)), this, SLOT(toneAdjustTrebleChanged(double)));
|
||||||
|
connect(buttonToneAdjustReset, SIGNAL(clicked()), this, SLOT(toneAdjustTrebleReset()));
|
||||||
connect(buttonResetAdvancedOptions, SIGNAL(clicked()), this, SLOT(resetAdvancedOptionsButtonClicked()));
|
connect(buttonResetAdvancedOptions, SIGNAL(clicked()), this, SLOT(resetAdvancedOptionsButtonClicked()));
|
||||||
updateLameAlgoQuality(sliderLameAlgoQuality->value());
|
updateLameAlgoQuality(sliderLameAlgoQuality->value());
|
||||||
|
toneAdjustTrebleChanged(spinBoxToneAdjustTreble->value());
|
||||||
|
toneAdjustBassChanged(spinBoxToneAdjustBass->value());
|
||||||
|
|
||||||
//Activate file menu actions
|
//Activate file menu actions
|
||||||
connect(actionOpenFolder, SIGNAL(triggered()), this, SLOT(openFolderActionActivated()));
|
connect(actionOpenFolder, SIGNAL(triggered()), this, SLOT(openFolderActionActivated()));
|
||||||
@ -1712,6 +1719,35 @@ void MainWindow::normalizationMaxVolumeChanged(double value)
|
|||||||
m_settings->normalizationFilterMaxVolume(static_cast<int>(value * 100.0));
|
m_settings->normalizationFilterMaxVolume(static_cast<int>(value * 100.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tone adjustment has changed (Bass)
|
||||||
|
*/
|
||||||
|
void MainWindow::toneAdjustBassChanged(double value)
|
||||||
|
{
|
||||||
|
m_settings->toneAdjustBass(static_cast<int>(value * 100.0));
|
||||||
|
spinBoxToneAdjustBass->setPrefix((value > 0) ? "+" : QString());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tone adjustment has changed (Treble)
|
||||||
|
*/
|
||||||
|
void MainWindow::toneAdjustTrebleChanged(double value)
|
||||||
|
{
|
||||||
|
m_settings->toneAdjustTreble(static_cast<int>(value * 100.0));
|
||||||
|
spinBoxToneAdjustTreble->setPrefix((value > 0) ? "+" : QString());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tone adjustment has been reset
|
||||||
|
*/
|
||||||
|
void MainWindow::toneAdjustTrebleReset()
|
||||||
|
{
|
||||||
|
spinBoxToneAdjustBass->setValue(m_settings->toneAdjustBassDefault());
|
||||||
|
spinBoxToneAdjustTreble->setValue(m_settings->toneAdjustTrebleDefault());
|
||||||
|
toneAdjustBassChanged(spinBoxToneAdjustBass->value());
|
||||||
|
toneAdjustTrebleChanged(spinBoxToneAdjustTreble->value());
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reset all advanced options to their defaults
|
* Reset all advanced options to their defaults
|
||||||
*/
|
*/
|
||||||
@ -1721,6 +1757,8 @@ void MainWindow::resetAdvancedOptionsButtonClicked()
|
|||||||
spinBoxBitrateManagementMin->setValue(m_settings->bitrateManagementMinRateDefault());
|
spinBoxBitrateManagementMin->setValue(m_settings->bitrateManagementMinRateDefault());
|
||||||
spinBoxBitrateManagementMax->setValue(m_settings->bitrateManagementMaxRateDefault());
|
spinBoxBitrateManagementMax->setValue(m_settings->bitrateManagementMaxRateDefault());
|
||||||
spinBoxNormalizationFilter->setValue(static_cast<double>(m_settings->normalizationFilterMaxVolumeDefault()) / 100.0);
|
spinBoxNormalizationFilter->setValue(static_cast<double>(m_settings->normalizationFilterMaxVolumeDefault()) / 100.0);
|
||||||
|
spinBoxToneAdjustBass->setValue(static_cast<double>(m_settings->toneAdjustBassDefault()) / 100.0);
|
||||||
|
spinBoxToneAdjustTreble->setValue(static_cast<double>(m_settings->toneAdjustTrebleDefault()) / 100.0);
|
||||||
comboBoxMP3ChannelMode->setCurrentIndex(m_settings->lameChannelModeDefault());
|
comboBoxMP3ChannelMode->setCurrentIndex(m_settings->lameChannelModeDefault());
|
||||||
comboBoxSamplingRate->setCurrentIndex(m_settings->samplingRateDefault());
|
comboBoxSamplingRate->setCurrentIndex(m_settings->samplingRateDefault());
|
||||||
comboBoxNeroAACProfile->setCurrentIndex(m_settings->neroAACProfileDefault());
|
comboBoxNeroAACProfile->setCurrentIndex(m_settings->neroAACProfileDefault());
|
||||||
|
@ -89,6 +89,9 @@ private slots:
|
|||||||
void neroAAC2PassChanged(bool checked);
|
void neroAAC2PassChanged(bool checked);
|
||||||
void normalizationEnabledChanged(bool checked);
|
void normalizationEnabledChanged(bool checked);
|
||||||
void normalizationMaxVolumeChanged(double volume);
|
void normalizationMaxVolumeChanged(double volume);
|
||||||
|
void toneAdjustBassChanged(double value);
|
||||||
|
void toneAdjustTrebleChanged(double value);
|
||||||
|
void toneAdjustTrebleReset();
|
||||||
void resetAdvancedOptionsButtonClicked();
|
void resetAdvancedOptionsButtonClicked();
|
||||||
void sourceModelChanged(void);
|
void sourceModelChanged(void);
|
||||||
void metaTagsEnabledChanged(void);
|
void metaTagsEnabledChanged(void);
|
||||||
|
@ -34,6 +34,8 @@
|
|||||||
#include "Encoder_FLAC.h"
|
#include "Encoder_FLAC.h"
|
||||||
#include "Encoder_Wave.h"
|
#include "Encoder_Wave.h"
|
||||||
#include "Filter_Normalize.h"
|
#include "Filter_Normalize.h"
|
||||||
|
#include "Filter_Resample.h"
|
||||||
|
#include "Filter_ToneAdjust.h"
|
||||||
#include "WinSevenTaskbar.h"
|
#include "WinSevenTaskbar.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
@ -428,6 +430,7 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
m_currentFile++;
|
m_currentFile++;
|
||||||
AudioFileModel currentFile = updateMetaInfo(m_pendingJobs.takeFirst());
|
AudioFileModel currentFile = updateMetaInfo(m_pendingJobs.takeFirst());
|
||||||
AbstractEncoder *encoder = NULL;
|
AbstractEncoder *encoder = NULL;
|
||||||
|
bool nativeResampling = false;
|
||||||
|
|
||||||
switch(m_settings->compressionEncoder())
|
switch(m_settings->compressionEncoder())
|
||||||
{
|
{
|
||||||
@ -441,7 +444,11 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
{
|
{
|
||||||
mp3Encoder->setBitrateLimits(m_settings->bitrateManagementMinRate(), m_settings->bitrateManagementMaxRate());
|
mp3Encoder->setBitrateLimits(m_settings->bitrateManagementMinRate(), m_settings->bitrateManagementMaxRate());
|
||||||
}
|
}
|
||||||
mp3Encoder->setSamplingRate(SettingsModel::samplingRates[m_settings->samplingRate()]);
|
if(m_settings->samplingRate() > 0)
|
||||||
|
{
|
||||||
|
mp3Encoder->setSamplingRate(SettingsModel::samplingRates[m_settings->samplingRate()]);
|
||||||
|
nativeResampling = true;
|
||||||
|
}
|
||||||
mp3Encoder->setChannelMode(m_settings->lameChannelMode());
|
mp3Encoder->setChannelMode(m_settings->lameChannelMode());
|
||||||
encoder = mp3Encoder;
|
encoder = mp3Encoder;
|
||||||
}
|
}
|
||||||
@ -455,7 +462,11 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
{
|
{
|
||||||
vorbisEncoder->setBitrateLimits(m_settings->bitrateManagementMinRate(), m_settings->bitrateManagementMaxRate());
|
vorbisEncoder->setBitrateLimits(m_settings->bitrateManagementMinRate(), m_settings->bitrateManagementMaxRate());
|
||||||
}
|
}
|
||||||
vorbisEncoder->setSamplingRate(SettingsModel::samplingRates[m_settings->samplingRate()]);
|
if(m_settings->samplingRate() > 0)
|
||||||
|
{
|
||||||
|
vorbisEncoder->setSamplingRate(SettingsModel::samplingRates[m_settings->samplingRate()]);
|
||||||
|
nativeResampling = true;
|
||||||
|
}
|
||||||
encoder = vorbisEncoder;
|
encoder = vorbisEncoder;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -497,6 +508,14 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
m_settings->prependRelativeSourcePath()
|
m_settings->prependRelativeSourcePath()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if((m_settings->samplingRate() > 0) && !nativeResampling)
|
||||||
|
{
|
||||||
|
thread->addFilter(new ResampleFilter(SettingsModel::samplingRates[m_settings->samplingRate()]));
|
||||||
|
}
|
||||||
|
if((m_settings->toneAdjustBass() != 0) || (m_settings->toneAdjustTreble() != 0))
|
||||||
|
{
|
||||||
|
thread->addFilter(new ToneAdjustFilter(m_settings->toneAdjustBass(), m_settings->toneAdjustTreble()));
|
||||||
|
}
|
||||||
if(m_settings->normalizationFilterEnabled())
|
if(m_settings->normalizationFilterEnabled())
|
||||||
{
|
{
|
||||||
thread->addFilter(new NormalizeFilter(m_settings->normalizationFilterMaxVolume()));
|
thread->addFilter(new NormalizeFilter(m_settings->normalizationFilterMaxVolume()));
|
||||||
|
@ -51,7 +51,6 @@ bool FLACEncoder::encode(const QString &sourceFile, const AudioFileModel &metaIn
|
|||||||
QStringList args;
|
QStringList args;
|
||||||
|
|
||||||
args << QString("-%1").arg(QString::number(max(0, min(8, m_configBitrate))));
|
args << QString("-%1").arg(QString::number(max(0, min(8, m_configBitrate))));
|
||||||
qWarning("Year: %u", metaInfo.fileYear());
|
|
||||||
|
|
||||||
if(!metaInfo.fileName().isEmpty()) args << "-T" << QString("title=%1").arg(metaInfo.fileName());
|
if(!metaInfo.fileName().isEmpty()) args << "-T" << QString("title=%1").arg(metaInfo.fileName());
|
||||||
if(!metaInfo.fileArtist().isEmpty()) args << "-T" << QString("artist=%1").arg(metaInfo.fileArtist());
|
if(!metaInfo.fileArtist().isEmpty()) args << "-T" << QString("artist=%1").arg(metaInfo.fileArtist());
|
||||||
|
112
src/Filter_Resample.cpp
Normal file
112
src/Filter_Resample.cpp
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// LameXP - Audio Encoder Front-End
|
||||||
|
// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@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.
|
||||||
|
//
|
||||||
|
// 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.,
|
||||||
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
//
|
||||||
|
// http://www.gnu.org/licenses/gpl-2.0.txt
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "Filter_Resample.h"
|
||||||
|
|
||||||
|
#include "Global.h"
|
||||||
|
|
||||||
|
#include <QDir>
|
||||||
|
#include <QProcess>
|
||||||
|
#include <QRegExp>
|
||||||
|
|
||||||
|
ResampleFilter::ResampleFilter(int samplingRate)
|
||||||
|
:
|
||||||
|
m_binary(lamexp_lookup_tool("sox.exe"))
|
||||||
|
{
|
||||||
|
if(m_binary.isEmpty())
|
||||||
|
{
|
||||||
|
throw "Error initializing SoX filter. Tool 'sox.exe' is not registred!";
|
||||||
|
}
|
||||||
|
|
||||||
|
m_samplingRate = min(192000, max(8000, samplingRate));
|
||||||
|
}
|
||||||
|
|
||||||
|
ResampleFilter::~ResampleFilter(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ResampleFilter::apply(const QString &sourceFile, const QString &outputFile, volatile bool *abortFlag)
|
||||||
|
{
|
||||||
|
QProcess process;
|
||||||
|
QStringList args;
|
||||||
|
|
||||||
|
process.setWorkingDirectory(lamexp_temp_folder());
|
||||||
|
|
||||||
|
args << "-V3";
|
||||||
|
args << "--guard" << "--temp" << ".";
|
||||||
|
args << QDir::toNativeSeparators(sourceFile);
|
||||||
|
args << QDir::toNativeSeparators(outputFile);
|
||||||
|
args << "rate";
|
||||||
|
args << "-h" << QString::number(m_samplingRate);
|
||||||
|
|
||||||
|
if(!startProcess(process, m_binary, args))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool bTimeout = false;
|
||||||
|
bool bAborted = false;
|
||||||
|
|
||||||
|
while(process.state() != QProcess::NotRunning)
|
||||||
|
{
|
||||||
|
if(*abortFlag)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
bAborted = true;
|
||||||
|
emit messageLogged("\nABORTED BY USER !!!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
process.waitForReadyRead();
|
||||||
|
if(!process.bytesAvailable() && process.state() == QProcess::Running)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
qWarning("SoX process timed out <-- killing!");
|
||||||
|
bTimeout = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
while(process.bytesAvailable() > 0)
|
||||||
|
{
|
||||||
|
QByteArray line = process.readLine();
|
||||||
|
QString text = QString::fromUtf8(line.constData()).simplified();
|
||||||
|
if(!text.isEmpty())
|
||||||
|
{
|
||||||
|
emit messageLogged(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
process.waitForFinished();
|
||||||
|
if(process.state() != QProcess::NotRunning)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
process.waitForFinished(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
emit statusUpdated(100);
|
||||||
|
emit messageLogged(QString().sprintf("\nExited with code: 0x%04X", process.exitCode()));
|
||||||
|
|
||||||
|
if(bTimeout || bAborted || process.exitStatus() != QProcess::NormalExit || QFileInfo(outputFile).size() == 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
37
src/Filter_Resample.h
Normal file
37
src/Filter_Resample.h
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// LameXP - Audio Encoder Front-End
|
||||||
|
// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@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.
|
||||||
|
//
|
||||||
|
// 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.,
|
||||||
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
//
|
||||||
|
// http://www.gnu.org/licenses/gpl-2.0.txt
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Filter_Abstract.h"
|
||||||
|
|
||||||
|
class ResampleFilter : public AbstractFilter
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ResampleFilter(int samplingRate = 44100);
|
||||||
|
~ResampleFilter(void);
|
||||||
|
|
||||||
|
virtual bool apply(const QString &sourceFile, const QString &outputFile, volatile bool *abortFlag);
|
||||||
|
|
||||||
|
private:
|
||||||
|
const QString m_binary;
|
||||||
|
int m_samplingRate;
|
||||||
|
};
|
120
src/Filter_ToneAdjust.cpp
Normal file
120
src/Filter_ToneAdjust.cpp
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// LameXP - Audio Encoder Front-End
|
||||||
|
// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@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.
|
||||||
|
//
|
||||||
|
// 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.,
|
||||||
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
//
|
||||||
|
// http://www.gnu.org/licenses/gpl-2.0.txt
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "Filter_ToneAdjust.h"
|
||||||
|
|
||||||
|
#include "Global.h"
|
||||||
|
|
||||||
|
#include <QDir>
|
||||||
|
#include <QProcess>
|
||||||
|
#include <QRegExp>
|
||||||
|
|
||||||
|
ToneAdjustFilter::ToneAdjustFilter(int bass, int treble)
|
||||||
|
:
|
||||||
|
m_binary(lamexp_lookup_tool("sox.exe"))
|
||||||
|
{
|
||||||
|
if(m_binary.isEmpty())
|
||||||
|
{
|
||||||
|
throw "Error initializing SoX filter. Tool 'sox.exe' is not registred!";
|
||||||
|
}
|
||||||
|
|
||||||
|
m_bass = max(-2000, min(2000, bass));
|
||||||
|
m_treble = max(-2000, min(2000, treble));
|
||||||
|
}
|
||||||
|
|
||||||
|
ToneAdjustFilter::~ToneAdjustFilter(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ToneAdjustFilter::apply(const QString &sourceFile, const QString &outputFile, volatile bool *abortFlag)
|
||||||
|
{
|
||||||
|
QProcess process;
|
||||||
|
QStringList args;
|
||||||
|
|
||||||
|
process.setWorkingDirectory(lamexp_temp_folder());
|
||||||
|
|
||||||
|
args << "-V3";
|
||||||
|
args << "--guard" << "--temp" << ".";
|
||||||
|
args << QDir::toNativeSeparators(sourceFile);
|
||||||
|
args << QDir::toNativeSeparators(outputFile);
|
||||||
|
|
||||||
|
if(m_bass != 0)
|
||||||
|
{
|
||||||
|
args << "bass" << QString().sprintf("%s%.2f", ((m_bass < 0) ? "-" : "+"), static_cast<double>(abs(m_bass)) / 100.0);
|
||||||
|
}
|
||||||
|
if(m_treble != 0)
|
||||||
|
{
|
||||||
|
args << "treble" << QString().sprintf("%s%.2f", ((m_treble < 0) ? "-" : "+"), static_cast<double>(abs(m_treble)) / 100.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!startProcess(process, m_binary, args))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool bTimeout = false;
|
||||||
|
bool bAborted = false;
|
||||||
|
|
||||||
|
while(process.state() != QProcess::NotRunning)
|
||||||
|
{
|
||||||
|
if(*abortFlag)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
bAborted = true;
|
||||||
|
emit messageLogged("\nABORTED BY USER !!!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
process.waitForReadyRead();
|
||||||
|
if(!process.bytesAvailable() && process.state() == QProcess::Running)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
qWarning("SoX process timed out <-- killing!");
|
||||||
|
bTimeout = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
while(process.bytesAvailable() > 0)
|
||||||
|
{
|
||||||
|
QByteArray line = process.readLine();
|
||||||
|
QString text = QString::fromUtf8(line.constData()).simplified();
|
||||||
|
if(!text.isEmpty())
|
||||||
|
{
|
||||||
|
emit messageLogged(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
process.waitForFinished();
|
||||||
|
if(process.state() != QProcess::NotRunning)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
process.waitForFinished(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
emit statusUpdated(100);
|
||||||
|
emit messageLogged(QString().sprintf("\nExited with code: 0x%04X", process.exitCode()));
|
||||||
|
|
||||||
|
if(bTimeout || bAborted || process.exitStatus() != QProcess::NormalExit || QFileInfo(outputFile).size() == 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
38
src/Filter_ToneAdjust.h
Normal file
38
src/Filter_ToneAdjust.h
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// LameXP - Audio Encoder Front-End
|
||||||
|
// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@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.
|
||||||
|
//
|
||||||
|
// 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.,
|
||||||
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
//
|
||||||
|
// http://www.gnu.org/licenses/gpl-2.0.txt
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Filter_Abstract.h"
|
||||||
|
|
||||||
|
class ToneAdjustFilter : public AbstractFilter
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ToneAdjustFilter(int bass = 0, int treble = 0);
|
||||||
|
~ToneAdjustFilter(void);
|
||||||
|
|
||||||
|
virtual bool apply(const QString &sourceFile, const QString &outputFile, volatile bool *abortFlag);
|
||||||
|
|
||||||
|
private:
|
||||||
|
const QString m_binary;
|
||||||
|
int m_bass;
|
||||||
|
int m_treble;
|
||||||
|
};
|
@ -61,6 +61,8 @@ static const char *g_settingsId_neroAACEnable2Pass = "AdvancedOptions/NeroAAC/En
|
|||||||
static const char *g_settingsId_neroAACProfile = "AdvancedOptions/NeroAAC/ForceProfile";
|
static const char *g_settingsId_neroAACProfile = "AdvancedOptions/NeroAAC/ForceProfile";
|
||||||
static const char *g_settingsId_normalizationFilterEnabled = "AdvancedOptions/VolumeNormalization/Enabled";
|
static const char *g_settingsId_normalizationFilterEnabled = "AdvancedOptions/VolumeNormalization/Enabled";
|
||||||
static const char *g_settingsId_normalizationFilterMaxVolume = "AdvancedOptions/VolumeNormalization/MaxVolume";
|
static const char *g_settingsId_normalizationFilterMaxVolume = "AdvancedOptions/VolumeNormalization/MaxVolume";
|
||||||
|
static const char *g_settingsId_toneAdjustBass = "AdvancedOptions/ToneAdjustment/Bass";
|
||||||
|
static const char *g_settingsId_toneAdjustTreble = "AdvancedOptions/ToneAdjustment/Treble";
|
||||||
|
|
||||||
//Macros
|
//Macros
|
||||||
#define MAKE_OPTION1(OPT,DEF) \
|
#define MAKE_OPTION1(OPT,DEF) \
|
||||||
@ -227,3 +229,5 @@ MAKE_OPTION3(neroAACEnable2Pass, true)
|
|||||||
MAKE_OPTION1(neroAACProfile, 0)
|
MAKE_OPTION1(neroAACProfile, 0)
|
||||||
MAKE_OPTION3(normalizationFilterEnabled, false)
|
MAKE_OPTION3(normalizationFilterEnabled, false)
|
||||||
MAKE_OPTION1(normalizationFilterMaxVolume, -50)
|
MAKE_OPTION1(normalizationFilterMaxVolume, -50)
|
||||||
|
MAKE_OPTION1(toneAdjustBass, 0)
|
||||||
|
MAKE_OPTION1(toneAdjustTreble, 0)
|
||||||
|
@ -93,6 +93,8 @@ public:
|
|||||||
MAKE_OPTION_DEC1(neroAACProfile)
|
MAKE_OPTION_DEC1(neroAACProfile)
|
||||||
MAKE_OPTION_DEC3(normalizationFilterEnabled)
|
MAKE_OPTION_DEC3(normalizationFilterEnabled)
|
||||||
MAKE_OPTION_DEC1(normalizationFilterMaxVolume)
|
MAKE_OPTION_DEC1(normalizationFilterMaxVolume)
|
||||||
|
MAKE_OPTION_DEC1(toneAdjustBass)
|
||||||
|
MAKE_OPTION_DEC1(toneAdjustTreble)
|
||||||
|
|
||||||
//Misc
|
//Misc
|
||||||
void validate(void);
|
void validate(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user