aboutsummaryrefslogtreecommitdiff
path: root/qmidiplayer-desktop
diff options
context:
space:
mode:
Diffstat (limited to 'qmidiplayer-desktop')
-rw-r--r--qmidiplayer-desktop/qmpmainwindow.cpp28
-rw-r--r--qmidiplayer-desktop/qmpmainwindow.hpp5
-rw-r--r--qmidiplayer-desktop/qmpplistwindow.cpp16
-rw-r--r--qmidiplayer-desktop/qmpsettingswindow.cpp15
-rw-r--r--qmidiplayer-desktop/qmpsettingswindow.ui66
-rw-r--r--qmidiplayer-desktop/resources.qrc24
-rw-r--r--qmidiplayer-desktop/translations/qmp_zh_CN.ts172
7 files changed, 227 insertions, 99 deletions
diff --git a/qmidiplayer-desktop/qmpmainwindow.cpp b/qmidiplayer-desktop/qmpmainwindow.cpp
index 48dd531..1927350 100644
--- a/qmidiplayer-desktop/qmpmainwindow.cpp
+++ b/qmidiplayer-desktop/qmpmainwindow.cpp
@@ -126,6 +126,15 @@ void qmpMainWindow::init()
connect(timer,SIGNAL(timeout()),chnlw,SLOT(channelWindowsUpdate()));
connect(timer,SIGNAL(timeout()),infow,SLOT(updateInfo()));
if(havemidi)on_pbPlayPause_clicked();
+ ui->pbNext->setIcon(QIcon(getThemedIcon(":/img/next.png")));
+ ui->pbPrev->setIcon(QIcon(getThemedIcon(":/img/prev.png")));
+ ui->pbPlayPause->setIcon(QIcon(getThemedIcon(":/img/play.png")));
+ ui->pbStop->setIcon(QIcon(getThemedIcon(":/img/stop.png")));
+ ui->pbChannels->setIcon(QIcon(getThemedIcon(":/img/channel.png")));
+ ui->pbEfx->setIcon(QIcon(getThemedIcon(":/img/effects.png")));
+ ui->pbPList->setIcon(QIcon(getThemedIcon(":/img/list.png")));
+ ui->pbVisualization->setIcon(QIcon(getThemedIcon(":/img/visualization.png")));
+ ui->pbSettings->setIcon(QIcon(getThemedIcon(":/img/settings.png")));
}
int qmpMainWindow::pharseArgs()
@@ -243,7 +252,7 @@ void qmpMainWindow::updateWidgets()
delete playerTh;playerTh=NULL;
if(singleFS)player->playerPanic(true);
chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked();
- ui->pbPlayPause->setIcon(QIcon(":/img/play.png"));
+ ui->pbPlayPause->setIcon(QIcon(getThemedIcon(":/img/play.png")));
ui->hsTimer->setValue(0);
ui->lnPolyphone->display("00000-00000");
ui->lbCurTime->setText("00:00");
@@ -419,7 +428,7 @@ void qmpMainWindow::on_pbPlayPause_clicked()
player->setTCpaused(!playing);
for(int i=0;i<16;++i)if(VIs[i])VIs[i]->pause();
}
- ui->pbPlayPause->setIcon(QIcon(playing?":/img/pause.png":":/img/play.png"));
+ ui->pbPlayPause->setIcon(QIcon(getThemedIcon(playing?":/img/pause.png":":/img/play.png")));
}
void qmpMainWindow::on_hsTimer_sliderPressed()
@@ -489,7 +498,7 @@ void qmpMainWindow::on_pbStop_clicked()
if(singleFS)player->playerPanic(true);chnlw->resetAcitivity();
if(playerTh){playerTh->join();delete playerTh;playerTh=NULL;}
chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked();
- ui->pbPlayPause->setIcon(QIcon(":/img/play.png"));
+ ui->pbPlayPause->setIcon(QIcon(getThemedIcon(":/img/play.png")));
ui->hsTimer->setValue(0);
ui->lnPolyphone->display("00000-00000");
ui->lbCurTime->setText("00:00");
@@ -584,7 +593,7 @@ void qmpMainWindow::on_pbNext_clicked()
player->setWaitVoice(qmpSettingsWindow::getSettingsIntf()->value("Midi/WaitVoice",1).toInt());
playerTh=new std::thread(&CMidiPlayer::playerThread,player);
#ifdef _WIN32
- SetThreadPriority(playerTh->native_handle(),THREAD_PRIORITY_TIME_CRITICAL);
+ SetThreadPriority(playerTh->native_handle(),THREAD_PRIORITY_TIME_CRITICAL);
#endif
st=std::chrono::steady_clock::now();offset=0;
timer->start(UPDATE_INTERVAL);
@@ -593,7 +602,7 @@ void qmpMainWindow::on_pbNext_clicked()
void qmpMainWindow::selectionChanged()
{
stopped=false;playing=true;
- ui->pbPlayPause->setIcon(QIcon(":/img/pause.png"));
+ ui->pbPlayPause->setIcon(QIcon(getThemedIcon(":/img/pause.png")));
timer->stop();player->playerDeinit();
for(int i=0;i<16;++i)if(VIs[i])VIs[i]->stop();
if(playerTh){playerTh->join();delete playerTh;playerTh=NULL;}
@@ -671,6 +680,15 @@ void qmpMainWindow::unregisterVisualizationIntf(int handle)
VIs[handle]=NULL;
}
+bool qmpMainWindow::isDarkTheme()
+{
+ if(!qmpSettingsWindow::getSettingsIntf()->value("Behavior/IconTheme",0).toInt())
+ {
+ return ui->centralWidget->palette().color(QPalette::Background).lightness()<128;
+ }
+ else return 2-qmpSettingsWindow::getSettingsIntf()->value("Behavior/IconTheme",0).toInt();
+}
+
void qmpMainWindow::onfnA1()
{
infow->show();
diff --git a/qmidiplayer-desktop/qmpmainwindow.hpp b/qmidiplayer-desktop/qmpmainwindow.hpp
index 8408409..71161c2 100644
--- a/qmidiplayer-desktop/qmpmainwindow.hpp
+++ b/qmidiplayer-desktop/qmpmainwindow.hpp
@@ -24,6 +24,8 @@
#include "qmpsettingswindow.hpp"
#include "qmphelpwindow.hpp"
+#define getThemedIcon(x) (qmpMainWindow::getInstance()->isDarkTheme()?QString(x).insert(QString(x).lastIndexOf('.'),"_i"):QString(x))
+
namespace Ui {
class qmpMainWindow;
}
@@ -70,6 +72,7 @@ class qmpMainWindow:public QMainWindow
int pharseArgs();
int registerVisualizationIntf(qmpVisualizationIntf* intf);
void unregisterVisualizationIntf(int handle);
+ bool isDarkTheme();
private slots:
void on_pbPlayPause_clicked();
@@ -94,7 +97,7 @@ class qmpMainWindow:public QMainWindow
void on_pbVisualization_clicked();
- public slots:
+ public slots:
void dialogClosed();
void selectionChanged();
diff --git a/qmidiplayer-desktop/qmpplistwindow.cpp b/qmidiplayer-desktop/qmpplistwindow.cpp
index e8fc9d8..00eec59 100644
--- a/qmidiplayer-desktop/qmpplistwindow.cpp
+++ b/qmidiplayer-desktop/qmpplistwindow.cpp
@@ -37,32 +37,38 @@ qmpPlistWindow::qmpPlistWindow(QWidget *parent) :
switch(shuffle)
{
case 1:
- ui->pbShuffle->setIcon(QIcon(":/img/shuffle.png"));
+ ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle.png")));
ui->pbShuffle->setText("Shuffle On");
break;
case 0:
default:
- ui->pbShuffle->setIcon(QIcon(":/img/shuffle-off.png"));
+ ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle-off.png")));
ui->pbShuffle->setText("Shuffle Off");
break;
}
switch(repeat)
{
case 0:
- ui->pbRepeat->setIcon(QIcon(":/img/repeat-non.png"));
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-non.png")));
ui->pbRepeat->setText("Repeat Off");
break;
case 1:
- ui->pbRepeat->setIcon(QIcon(":/img/repeat-one.png"));
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-one.png")));
ui->pbRepeat->setText("Repeat One");
break;
case 2:
- ui->pbRepeat->setIcon(QIcon(":/img/repeat-all.png"));
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-all.png")));
ui->pbRepeat->setText("Repeat All");
break;
}
delete plist;
}
+ ui->pbAdd->setIcon(QIcon(getThemedIcon(":/img/add.png")));
+ ui->pbRemove->setIcon(QIcon(getThemedIcon(":/img/remove.png")));
+ ui->pbClear->setIcon(QIcon(getThemedIcon(":/img/clear.png")));
+ ui->pbAddFolder->setIcon(QIcon(getThemedIcon(":/img/addfolder.png")));
+ ui->pbSave->setIcon(QIcon(getThemedIcon(":/img/save.png")));
+ ui->pbLoad->setIcon(QIcon(getThemedIcon(":/img/load.png")));
}
qmpPlistWindow::~qmpPlistWindow()
diff --git a/qmidiplayer-desktop/qmpsettingswindow.cpp b/qmidiplayer-desktop/qmpsettingswindow.cpp
index 67bfbb2..72d1cb5 100644
--- a/qmidiplayer-desktop/qmpsettingswindow.cpp
+++ b/qmidiplayer-desktop/qmpsettingswindow.cpp
@@ -24,6 +24,10 @@ qmpSettingsWindow::qmpSettingsWindow(QWidget *parent) :
connect(this,SIGNAL(dialogClosing()),parent,SLOT(dialogClosed()));
settings=new QSettings(QDir::homePath()+QString("/.config/qmprc"),QSettings::IniFormat);
settingsInit();outwidget=ui->cbOutputDevice;
+ ui->pbAdd->setIcon(QIcon(getThemedIcon(":/img/add.png")));
+ ui->pbRemove->setIcon(QIcon(getThemedIcon(":/img/remove.png")));
+ ui->pbDown->setIcon(QIcon(getThemedIcon(":/img/down.png")));
+ ui->pbUp->setIcon(QIcon(getThemedIcon(":/img/up.png")));
}
qmpSettingsWindow::~qmpSettingsWindow()
@@ -181,6 +185,9 @@ void qmpSettingsWindow::settingsInit()
settings->setValue("Behavior/SingleInstance",settings->value("Behavior/SingleInstance",0));
ui->cbPersistentfs->setChecked(settings->value("Behavior/SingleInstance",0).toInt());
+ settings->setValue("Behavior/IconTheme",settings->value("Behavior/IconTheme",0));
+ ui->cbIconTheme->setCurrentIndex(settings->value("Behavior/IconTheme",0).toInt());
+
settings->sync();
delete_fluid_settings(fsettings);
}
@@ -216,6 +223,7 @@ void qmpSettingsWindow::settingsUpdate()
settings->setValue("Audio/BankSelect",ui->cbBSMode->currentText());
settings->setValue("SoundFonts/SFCount",ui->twSoundfont->rowCount());
+
for(int i=0;i<ui->twSoundfont->rowCount();++i)
{
settings->setValue("SoundFonts/SF"+QString::number(i+1),ui->twSoundfont->item(i,1)->text());
@@ -227,6 +235,11 @@ void qmpSettingsWindow::settingsUpdate()
settings->setValue("Behavior/LoadFolder",ui->cbLoadFolder->isChecked()?1:0);
settings->setValue("Behavior/DialogStatus",ui->cbDialogStatus->isChecked()?1:0);
+
+ settings->setValue("Behavior/SingleInstance",ui->cbPersistentfs->isChecked()?1:0);
+
+ settings->setValue("Behavior/IconTheme",ui->cbIconTheme->currentIndex());
+
if(!ui->cbDialogStatus->isChecked())
{
settings->remove("DialogStatus/MainW");
@@ -256,8 +269,6 @@ void qmpSettingsWindow::settingsUpdate()
settings->remove("Effects/ChorusType");
}
- settings->setValue("Behavior/SingleInstance",ui->cbPersistentfs->isChecked()?1:0);
-
for(int i=0;i<ui->twPluginList->rowCount();++i)
settings->setValue(
QString("PluginSwitch/")+ui->twPluginList->item(i,1)->text(),
diff --git a/qmidiplayer-desktop/qmpsettingswindow.ui b/qmidiplayer-desktop/qmpsettingswindow.ui
index cc39292..aa96869 100644
--- a/qmidiplayer-desktop/qmpsettingswindow.ui
+++ b/qmidiplayer-desktop/qmpsettingswindow.ui
@@ -539,6 +539,12 @@
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QCheckBox" name="cbRestorePlaylist">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>Restore last playlist on startup</string>
</property>
@@ -546,6 +552,12 @@
</item>
<item>
<widget class="QCheckBox" name="cbLoadFolder">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>Load files in the same folder</string>
</property>
@@ -553,6 +565,12 @@
</item>
<item>
<widget class="QCheckBox" name="cbDialogStatus">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>Save dialog status</string>
</property>
@@ -560,6 +578,12 @@
</item>
<item>
<widget class="QCheckBox" name="cbSaveEfxParam">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>Save parameters in effects window</string>
</property>
@@ -567,11 +591,53 @@
</item>
<item>
<widget class="QCheckBox" name="cbPersistentfs">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>Persistent fluidsynth instance</string>
</property>
</widget>
</item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Icon Theme</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="cbIconTheme">
+ <item>
+ <property name="text">
+ <string>Auto</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Dark</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Light</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
<widget class="QWidget" name="tab_5">
diff --git a/qmidiplayer-desktop/resources.qrc b/qmidiplayer-desktop/resources.qrc
index b3348f4..044acd8 100644
--- a/qmidiplayer-desktop/resources.qrc
+++ b/qmidiplayer-desktop/resources.qrc
@@ -25,6 +25,30 @@
<file>../img/stop.png</file>
<file>../img/up.png</file>
<file>../img/visualization.png</file>
+ <file>../img/add_i.png</file>
+ <file>../img/list_i.png</file>
+ <file>../img/addfolder_i.png</file>
+ <file>../img/channel_i.png</file>
+ <file>../img/prev_i.png</file>
+ <file>../img/remove_i.png</file>
+ <file>../img/clear_i.png</file>
+ <file>../img/down_i.png</file>
+ <file>../img/effects_i.png</file>
+ <file>../img/repeat-all_i.png</file>
+ <file>../img/repeat-base_i.png</file>
+ <file>../img/repeat-non_i.png</file>
+ <file>../img/load_i.png</file>
+ <file>../img/next_i.png</file>
+ <file>../img/repeat-one_i.png</file>
+ <file>../img/save_i.png</file>
+ <file>../img/settings_i.png</file>
+ <file>../img/pause_i.png</file>
+ <file>../img/play_i.png</file>
+ <file>../img/shuffle-off_i.png</file>
+ <file>../img/shuffle_i.png</file>
+ <file>../img/stop_i.png</file>
+ <file>../img/up_i.png</file>
+ <file>../img/visualization_i.png</file>
<file>../img/ledon.png</file>
<file>../img/ledoff.png</file>
<file>../doc/index_internal.html</file>
diff --git a/qmidiplayer-desktop/translations/qmp_zh_CN.ts b/qmidiplayer-desktop/translations/qmp_zh_CN.ts
index 8d313d2..f7f79df 100644
--- a/qmidiplayer-desktop/translations/qmp_zh_CN.ts
+++ b/qmidiplayer-desktop/translations/qmp_zh_CN.ts
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1" language="zh_CN">
+<TS version="2.0" language="zh_CN">
<context>
<name>qmpChannelEditor</name>
<message>
@@ -41,7 +41,7 @@
<message>
<location filename="../qmpchanneleditor.ui" line="135"/>
<source>Filters</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">滤波器</translation>
</message>
<message>
<location filename="../qmpchanneleditor.ui" line="192"/>
@@ -111,7 +111,7 @@
<message>
<location filename="../qmpchanneleditor.ui" line="275"/>
<source>Mixer</source>
- <translation type="unfinished"></translation>
+ <translation>混音</translation>
</message>
<message>
<location filename="../qmpchanneleditor.ui" line="332"/>
@@ -134,32 +134,32 @@
<message>
<location filename="../qmpchannelswindow.ui" line="26"/>
<source>Channels</source>
- <translation type="unfinished">通道</translation>
+ <translation>通道</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="72"/>
<source>A</source>
- <translation type="unfinished"></translation>
+ <translation>活动</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="77"/>
<source>M</source>
- <translation type="unfinished"></translation>
+ <translation>静音</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="82"/>
<source>S</source>
- <translation type="unfinished"></translation>
+ <translation>独奏</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="87"/>
<source>Device</source>
- <translation type="unfinished"></translation>
+ <translation>输出设备</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="92"/>
<source>Preset</source>
- <translation type="unfinished">乐器</translation>
+ <translation>乐器</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="97"/>
@@ -169,22 +169,22 @@
<message>
<location filename="../qmpchannelswindow.ui" line="114"/>
<source>Save</source>
- <translation type="unfinished">保存播放列表</translation>
+ <translation>保存播放列表</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="127"/>
<source>Load</source>
- <translation type="unfinished">打开播放列表</translation>
+ <translation>打开播放列表</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="134"/>
<source>Unmute All</source>
- <translation type="unfinished">取消全部静音</translation>
+ <translation>取消全部静音</translation>
</message>
<message>
<location filename="../qmpchannelswindow.ui" line="141"/>
<source>Unsolo All</source>
- <translation type="unfinished">取消全部独奏</translation>
+ <translation>取消全部独奏</translation>
</message>
</context>
<context>
@@ -192,53 +192,53 @@
<message>
<location filename="../qmpefxwindow.ui" line="26"/>
<source>Effects</source>
- <translation type="unfinished">效果</translation>
+ <translation>效果</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="32"/>
<source>Reverb</source>
- <translation type="unfinished">混响</translation>
+ <translation>混响</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="121"/>
<source>Room</source>
- <translation type="unfinished">房间大小</translation>
+ <translation>房间大小</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="147"/>
<source>Damp</source>
- <translation type="unfinished">衰减</translation>
+ <translation>衰减</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="176"/>
<source>Width</source>
- <translation type="unfinished">声场</translation>
+ <translation>声场</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="202"/>
<location filename="../qmpefxwindow.ui" line="376"/>
<source>Level</source>
- <translation type="unfinished">音量</translation>
+ <translation>音量</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="226"/>
<source>Chorus</source>
- <translation type="unfinished">和声</translation>
+ <translation>和声</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="321"/>
<source>Feedback</source>
- <translation type="unfinished">和声数量</translation>
+ <translation>和声数量</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="347"/>
<source>Rate</source>
- <translation type="unfinished">频率</translation>
+ <translation>频率</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="363"/>
<source>Depth</source>
- <translation type="unfinished">延迟</translation>
+ <translation>延迟</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="424"/>
@@ -248,12 +248,12 @@
<message>
<location filename="../qmpefxwindow.ui" line="437"/>
<source>Sine</source>
- <translation type="unfinished">正弦</translation>
+ <translation>正弦</translation>
</message>
<message>
<location filename="../qmpefxwindow.ui" line="450"/>
<source>Trian&amp;gle</source>
- <translation type="unfinished"></translation>
+ <translation>三角波(&amp;g)</translation>
</message>
</context>
<context>
@@ -261,7 +261,7 @@
<message>
<location filename="../qmphelpwindow.ui" line="20"/>
<source>Help</source>
- <translation type="unfinished">帮助</translation>
+ <translation>帮助</translation>
</message>
</context>
<context>
@@ -269,47 +269,47 @@
<message>
<location filename="../qmpinfowindow.ui" line="20"/>
<source>File Information</source>
- <translation type="unfinished">文件信息</translation>
+ <translation>文件信息</translation>
</message>
<message>
<location filename="../qmpinfowindow.ui" line="26"/>
<source>File name: </source>
- <translation type="unfinished">文件名:</translation>
+ <translation>文件名:</translation>
</message>
<message>
<location filename="../qmpinfowindow.ui" line="35"/>
<source>Tempo: </source>
- <translation type="unfinished">速度:</translation>
+ <translation>速度:</translation>
</message>
<message>
<location filename="../qmpinfowindow.ui" line="42"/>
<source>Key Sig.: </source>
- <translation type="unfinished">调式:</translation>
+ <translation>调式:</translation>
</message>
<message>
<location filename="../qmpinfowindow.ui" line="49"/>
<source>Time Sig.:</source>
- <translation type="unfinished">节拍:</translation>
+ <translation>节拍:</translation>
</message>
<message>
<location filename="../qmpinfowindow.ui" line="58"/>
<source>Title: </source>
- <translation type="unfinished">标题:</translation>
+ <translation>标题:</translation>
</message>
<message>
<location filename="../qmpinfowindow.ui" line="65"/>
<source>Copyright: </source>
- <translation type="unfinished">作者:</translation>
+ <translation>作者:</translation>
</message>
<message>
<location filename="../qmpinfowindow.ui" line="74"/>
<source>Note count: </source>
- <translation type="unfinished">音符数:</translation>
+ <translation>音符数:</translation>
</message>
<message>
<location filename="../qmpinfowindow.ui" line="81"/>
<source>File standard: </source>
- <translation type="unfinished">文件标准:</translation>
+ <translation>文件标准:</translation>
</message>
</context>
<context>
@@ -327,32 +327,32 @@
<message>
<location filename="../qmpmainwindow.ui" line="126"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Poly&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;复音&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;复音&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../qmpmainwindow.ui" line="390"/>
<source>Channels</source>
- <translation type="unfinished">通道</translation>
+ <translation>通道</translation>
</message>
<message>
<location filename="../qmpmainwindow.ui" line="419"/>
<source>Playlist</source>
- <translation type="unfinished">播放列表</translation>
+ <translation>播放列表</translation>
</message>
<message>
<location filename="../qmpmainwindow.ui" line="454"/>
<source>Effects</source>
- <translation type="unfinished">效果</translation>
+ <translation>效果</translation>
</message>
<message>
<location filename="../qmpmainwindow.ui" line="483"/>
<source>Visualization</source>
- <translation type="unfinished">可视化</translation>
+ <translation>可视化</translation>
</message>
<message>
<location filename="../qmpmainwindow.ui" line="539"/>
<source>Master</source>
- <translation type="unfinished">主音量</translation>
+ <translation>主音量</translation>
</message>
<message>
<location filename="../qmpmainwindow.ui" line="105"/>
@@ -368,17 +368,17 @@
<message>
<location filename="../qmpmainwindow.cpp" line="72"/>
<source>File Information</source>
- <translation type="unfinished">文件信息</translation>
+ <translation>文件信息</translation>
</message>
<message>
<location filename="../qmpmainwindow.cpp" line="73"/>
<source>Render to Wave</source>
- <translation type="unfinished">输出到wav文件</translation>
+ <translation>输出到wav文件</translation>
</message>
<message>
<location filename="../qmpmainwindow.cpp" line="74"/>
<source>Panic</source>
- <translation type="unfinished">关闭所有音符</translation>
+ <translation>关闭所有音符</translation>
</message>
</context>
<context>
@@ -386,79 +386,79 @@
<message>
<location filename="../qmpplistwindow.ui" line="29"/>
<source>Playlist</source>
- <translation type="unfinished">播放列表</translation>
+ <translation>播放列表</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="97"/>
<source>Add</source>
- <translation type="unfinished">添加</translation>
+ <translation>添加</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="225"/>
<source>Add Folder</source>
- <translation type="unfinished">添加文件夹</translation>
+ <translation>添加文件夹</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="161"/>
<location filename="../qmpplistwindow.cpp" line="188"/>
<location filename="../qmpplistwindow.cpp" line="296"/>
<source>Repeat Off</source>
- <translation type="unfinished">循环关</translation>
+ <translation>循环关</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="257"/>
<location filename="../qmpplistwindow.cpp" line="213"/>
<location filename="../qmpplistwindow.cpp" line="289"/>
<source>Shuffle Off</source>
- <translation type="unfinished">随机关</translation>
+ <translation>随机关</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="65"/>
<source>Save</source>
- <translation type="unfinished">保存列表</translation>
+ <translation>保存列表</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="129"/>
<source>Load</source>
- <translation type="unfinished">加载列表</translation>
+ <translation>加载列表</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="193"/>
<source>Remove</source>
- <translation type="unfinished">移除</translation>
+ <translation>移除</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="289"/>
<source>Clear</source>
- <translation type="unfinished">清空</translation>
+ <translation>清空</translation>
</message>
<message>
<location filename="../qmpplistwindow.cpp" line="192"/>
<location filename="../qmpplistwindow.cpp" line="300"/>
<source>Repeat One</source>
- <translation type="unfinished">循环当前</translation>
+ <translation>循环当前</translation>
</message>
<message>
<location filename="../qmpplistwindow.cpp" line="196"/>
<location filename="../qmpplistwindow.cpp" line="304"/>
<source>Repeat All</source>
- <translation type="unfinished">循环全部</translation>
+ <translation>循环全部</translation>
</message>
<message>
<location filename="../qmpplistwindow.cpp" line="208"/>
<location filename="../qmpplistwindow.cpp" line="284"/>
<source>Shuffle On</source>
- <translation type="unfinished">随机开</translation>
+ <translation>随机开</translation>
</message>
<message>
<location filename="../qmpplistwindow.cpp" line="259"/>
<source>Save playlist</source>
- <translation type="unfinished">保存播放列表</translation>
+ <translation>保存播放列表</translation>
</message>
<message>
<location filename="../qmpplistwindow.cpp" line="272"/>
<source>Load playlist</source>
- <translation type="unfinished">加载播放列表</translation>
+ <translation>加载播放列表</translation>
</message>
</context>
<context>
@@ -466,27 +466,27 @@
<message>
<location filename="../qmppresetselect.ui" line="26"/>
<source>Preset Selection</source>
- <translation type="unfinished">乐器选择</translation>
+ <translation>乐器选择</translation>
</message>
<message>
<location filename="../qmppresetselect.ui" line="39"/>
<source>Bank</source>
- <translation type="unfinished">乐器库</translation>
+ <translation>乐器库</translation>
</message>
<message>
<location filename="../qmppresetselect.ui" line="66"/>
<source>Preset</source>
- <translation type="unfinished">乐器</translation>
+ <translation>乐器</translation>
</message>
<message>
<location filename="../qmppresetselect.ui" line="114"/>
<source>OK</source>
- <translation type="unfinished">确定</translation>
+ <translation>确定</translation>
</message>
<message>
<location filename="../qmppresetselect.ui" line="101"/>
<source>Cancel</source>
- <translation type="unfinished">取消</translation>
+ <translation>取消</translation>
</message>
</context>
<context>
@@ -494,17 +494,17 @@
<message>
<location filename="../qmpsettingswindow.ui" line="20"/>
<source>Settings</source>
- <translation type="unfinished">选项</translation>
+ <translation>选项</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="30"/>
<source>Midi</source>
- <translation type="unfinished">MIDI选项</translation>
+ <translation>MIDI选项</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="44"/>
<source>Default Output Device</source>
- <translation type="unfinished">默认输出设备</translation>
+ <translation>默认输出设备</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="58"/>
@@ -514,22 +514,22 @@
<message>
<location filename="../qmpsettingswindow.ui" line="74"/>
<source>Disable Midi Mapping</source>
- <translation type="unfinished">只使用默认输出设备</translation>
+ <translation>只使用默认输出设备</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="87"/>
<source>Send SysEx</source>
- <translation type="unfinished">发送SysEx指令</translation>
+ <translation>发送SysEx指令</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="100"/>
<source>Wait for remaining voices before stopping</source>
- <translation type="unfinished">停止前等待复音数降为0</translation>
+ <translation>停止前等待复音数降为0</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="115"/>
<source>Text Encoding</source>
- <translation type="unfinished">MIDI文本编码</translation>
+ <translation type="unfinished">MIDI内文本编码</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="129"/>
@@ -594,12 +594,12 @@
<message>
<location filename="../qmpsettingswindow.ui" line="196"/>
<source>Audio Buffer Count</source>
- <translation type="unfinished">音频缓冲区数量</translation>
+ <translation>音频缓冲区数量</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="203"/>
<source>Audio Buffer Size</source>
- <translation type="unfinished">音频缓冲区大小</translation>
+ <translation>音频缓冲区大小</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="217"/>
@@ -645,7 +645,7 @@
<message>
<location filename="../qmpsettingswindow.ui" line="260"/>
<source>Audio Frequency</source>
- <translation type="unfinished">采样频率</translation>
+ <translation>采样频率</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="271"/>
@@ -675,7 +675,7 @@
<message>
<location filename="../qmpsettingswindow.ui" line="304"/>
<source>Audio Driver</source>
- <translation type="unfinished">音频驱动</translation>
+ <translation>音频驱动</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="312"/>
@@ -710,22 +710,22 @@
<message>
<location filename="../qmpsettingswindow.ui" line="355"/>
<source>Audio Format</source>
- <translation type="unfinished">音频格式</translation>
+ <translation>音频格式</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="375"/>
<source>Max Polyphony</source>
- <translation type="unfinished">最大复音数</translation>
+ <translation>最大复音数</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="382"/>
<source>Auto bank select mode</source>
- <translation type="unfinished">自动乐器库选择方式</translation>
+ <translation>自动确定乐器库选择方式</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="389"/>
<source>Bank select mode</source>
- <translation type="unfinished">乐器库选择方式</translation>
+ <translation>乐器库选择方式</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="400"/>
@@ -750,42 +750,42 @@
<message>
<location filename="../qmpsettingswindow.ui" line="423"/>
<source>CPU Cores</source>
- <translation type="unfinished">合成器线程数</translation>
+ <translation>合成器线程数</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="441"/>
<source>Soundfonts</source>
- <translation type="unfinished">音源</translation>
+ <translation>音源</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="527"/>
<source>Behavior</source>
- <translation type="unfinished">行为设定</translation>
+ <translation>行为设定</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="533"/>
<source>Restore last playlist on startup</source>
- <translation type="unfinished">启动时,恢复上次的播放列表</translation>
+ <translation>启动时,恢复上次的播放列表</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="540"/>
<source>Load files in the same folder</source>
- <translation type="unfinished">添加同一文件夹下的所有文件</translation>
+ <translation>添加同一文件夹下的所有文件</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="547"/>
<source>Save dialog status</source>
- <translation type="unfinished">保存对话框状态</translation>
+ <translation>保存对话框状态</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="554"/>
<source>Save parameters in effects window</source>
- <translation type="unfinished">保存效果窗口内的设定</translation>
+ <translation>保存效果窗口内的设定</translation>
</message>
<message>
<location filename="../qmpsettingswindow.ui" line="561"/>
<source>Persistent fluidsynth instance</source>
- <translation type="unfinished">单一fluidsynth实例</translation>
+ <translation>单一fluidsynth实例</translation>
</message>
</context>
</TS>