2 #include "ui_musictransformwidget.h"
9 #if TTK_QT_VERSION_CHECK(6,2,0)
10 # include <QSoundEffect>
11 #elif !TTK_QT_VERSION_CHECK(6,0,0)
20 m_currentType(
Module::Music)
27 m_ui->topTitleCloseButton->setIcon(QIcon(
":/functions/btn_close_hover"));
29 m_ui->topTitleCloseButton->setCursor(QCursor(Qt::PointingHandCursor));
30 m_ui->topTitleCloseButton->setToolTip(tr(
"Close"));
31 connect(
m_ui->topTitleCloseButton, SIGNAL(clicked()), SLOT(close()));
48 m_ui->inputButton->setCursor(QCursor(Qt::PointingHandCursor));
49 m_ui->outputButton->setCursor(QCursor(Qt::PointingHandCursor));
50 m_ui->transformButton->setCursor(QCursor(Qt::PointingHandCursor));
53 m_ui->tabButton->addButtons({tr(
"Music"), tr(
"Krc")});
56 m_ui->inputButton->setFocusPolicy(Qt::NoFocus);
57 m_ui->outputButton->setFocusPolicy(Qt::NoFocus);
58 m_ui->transformButton->setFocusPolicy(Qt::NoFocus);
59 m_ui->folderBox->setFocusPolicy(Qt::NoFocus);
82 QStringList supportedFormat;
83 (
m_currentType ==
Module::Music) ? (supportedFormat <<
"mp3" <<
"wav" <<
"wma" <<
"ogg" <<
"flac" <<
"ac3" <<
"aac") : supportedFormat <<
"krc";
85 if(!
m_ui->folderBox->isChecked())
87 QString filter =
"Audio Files (";
88 for(
int i = 0; i < supportedFormat.count(); ++i)
90 filter += QString(
"*.%1 ").arg(supportedFormat[i]);
92 filter = filter.trimmed() +
")";
95 if(path.isEmpty() ||
m_path.contains(path))
101 m_ui->listWidget->setToolTip(path);
113 m_path << fin.absoluteFilePath();
123 m_ui->inputLineEdit->setText(path);
132 m_ui->outputLineEdit->setText(path);
143 m_ui->loadingLabel->show();
144 m_ui->loadingLabel->start();
150 #if TTK_QT_VERSION_CHECK(6,2,0)
151 QSoundEffect *sound =
new QSoundEffect(
this);
152 sound->setSource(QUrl::fromLocalFile(
":/data/sound"));
154 #elif !TTK_QT_VERSION_CHECK(6,0,0)
155 QSound::play(
":/data/sound");
159 m_ui->listWidget->clear();
166 m_ui->listWidget->setToolTip(path);
176 m_ui->loadingLabel->execute(
false);
181 m_ui->inputLineEdit->clear();
182 m_ui->listWidget->clear();
192 m_ui->listWidget->clear();
193 m_ui->inputLineEdit->clear();
194 m_ui->outputLineEdit->clear();
196 m_ui->label_8->setVisible(!musicMode);
197 m_ui->label_3->setVisible(musicMode);
198 m_ui->label_4->setVisible(musicMode);
199 m_ui->label_5->setVisible(musicMode);
200 m_ui->label_6->setVisible(musicMode);
201 m_ui->formatCombo->setVisible(musicMode);
202 m_ui->hzCombo->setVisible(musicMode);
203 m_ui->kbpsCombo->setVisible(musicMode);
204 m_ui->msCombo->setVisible(musicMode);
220 return m_path.isEmpty() ? QString() : QFileInfo(
m_path.first()).completeBaseName();
225 m_ui->formatCombo->addItems({
"MP3",
"WAV",
"WMA",
"OGG",
"FLAC",
"AC3",
"AAC"});
226 m_ui->kbpsCombo->addItems({
"32",
"48",
"56",
"64",
"80",
"96",
"112",
"128",
"192",
"224",
"256",
"320"});
227 m_ui->hzCombo->addItems({
"8000",
"12050",
"16000",
"22050",
"24000",
"32000",
"44100",
"48000"});
228 m_ui->msCombo->addItems({
"Mono",
"Stereo"});
230 m_ui->kbpsCombo->setCurrentIndex(7);
231 m_ui->hzCombo->setCurrentIndex(6);
233 m_ui->label_8->hide();
245 const QString &in =
m_path.first().trimmed();
246 const QString &out =
m_ui->outputLineEdit->text().trimmed();
248 if(in.isEmpty() || out.isEmpty())
256 if(
m_ui->formatCombo->currentText() ==
"OGG")
258 m_ui->msCombo->setCurrentIndex(1);
261 TTK_INFO_STREAM(QString(
"%1 %2 %3 %4").arg(
m_ui->formatCombo->currentText(),
m_ui->kbpsCombo->currentText(),
m_ui->hzCombo->currentText())
262 .arg(
m_ui->msCombo->currentIndex() + 1));
265 "-ab",
m_ui->kbpsCombo->currentText() +
"k",
266 "-ar",
m_ui->hzCombo->currentText(),
267 "-ac", QString::number(
m_ui->msCombo->currentIndex() + 1),
281 m_ui->inputButton->setEnabled(enabled);
282 m_ui->outputButton->setEnabled(enabled);
283 m_ui->folderBox->setEnabled(enabled);
284 m_ui->transformButton->setEnabled(enabled);
285 m_ui->tabButton->setButtonEnabled(enabled);
TTK_MODULE_EXPORT QString getExistingDirectory(QWidget *parent)
#define TTKStaticCast(x, y)
static const QString ListWidgetStyle01
ListWidget.
virtual bool decode(const QString &input) overridefinal
#define QtProcessFinishVoidConnect(p, q, f, s)
Process finished void connect.
static const QString CheckBoxStyle01
CheckBox.
TTK_MODULE_EXPORT QString getOpenFileName(QWidget *parent, const QString &filter="Image Files (*.png *.bmp *.jpg)")
static void popup(const QString &text)
static const QString ScrollBarStyle03
#define TTK_INFO_STREAM(msg)
The class of the krc to lrc.
static const QString PushButtonStyle04
#define MAKE_TRANSFORM_PATH_FULL
TTK_MODULE_EXPORT QFileInfoList fileInfoListByPath(const QString &dpath, const QStringList &filter={}, bool recursively=true)
The class of the moving dialog base.
static const QString LineEditStyle01
LineEdit.
static const QString ToolButtonStyle04
#define TTK_FILE_SUFFIX(fin)