aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2020-01-11 22:04:07 +0800
committerGravatar Chris Xiong <chirs241097@gmail.com> 2020-01-11 22:57:01 +0800
commit12ad6495fa332ea499485082272f796c4b08c83c (patch)
tree644607f6523185050a069fcf6eb6255c45060181
parent06496661120f7858f26a29f76631e6f0a0ebae7f (diff)
downloadQMidiPlayer-12ad6495fa332ea499485082272f796c4b08c83c.tar.xz
Bring back i18n support.
Address compiler warnings in QDialSkualptureStyle. Introduced build BUILD_PORTABLE, replacing QMP_BUILD_MODE in the QMake project. The QMake project is now fully covered by the CMake project and officially deprecated.
-rw-r--r--CMakeLists.txt5
-rw-r--r--core/qmpmidiread.cpp2
-rw-r--r--qmidiplayer-desktop/CMakeLists.txt8
-rw-r--r--qmidiplayer-desktop/main.cpp12
-rw-r--r--qmidiplayer-desktop/qdialskulpturestyle.cpp43
-rw-r--r--qmidiplayer-desktop/qmphelpwindow.cpp3
-rw-r--r--qmidiplayer-desktop/qmphelpwindow.hpp2
-rw-r--r--qmidiplayer-desktop/qmpplugin.cpp9
-rw-r--r--qmidiplayer-desktop/translations/qmp_zh_CN.ts631
9 files changed, 496 insertions, 219 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6b92872..e789ec8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
include(FindPkgConfig)
-find_package(Qt5 COMPONENTS Widgets REQUIRED)
+find_package(Qt5 REQUIRED COMPONENTS Widgets LinguistTools)
find_package(Threads REQUIRED)
pkg_search_module(fluidsynth REQUIRED fluidsynth>=2.0.0)
pkg_search_module(rtmidi REQUIRED rtmidi)
@@ -18,6 +18,9 @@ option(BUILD_VISUALIZATION "Build visualization plugin" ON)
if(WIN32)
option(BUILD_BACKTRACE "Build backtrace library" OFF)
endif()
+if(UNIX)
+ option(BUILD_PORTABLE "Instruct the built binary not to search system directories" OFF)
+endif()
add_subdirectory(core)
add_subdirectory(qmidiplayer-desktop)
diff --git a/core/qmpmidiread.cpp b/core/qmpmidiread.cpp
index 697a5bd..c7d11f2 100644
--- a/core/qmpmidiread.cpp
+++ b/core/qmpmidiread.cpp
@@ -221,7 +221,7 @@ uint32_t CSMFReader::read_chunk(int is_header)
else
if(strncmp(hdr,"MTrk",4))
{
- error(0,"Wrong track chunk header. Ignoring the whole chunk");
+ error(0,"Wrong track chunk header. Ignoring the entire chunk.");
uint32_t chnklen=read_u32();fseek(f,chnklen,SEEK_CUR);return 0;
}
else return read_track(),1;
diff --git a/qmidiplayer-desktop/CMakeLists.txt b/qmidiplayer-desktop/CMakeLists.txt
index 87741f8..ca2b6b7 100644
--- a/qmidiplayer-desktop/CMakeLists.txt
+++ b/qmidiplayer-desktop/CMakeLists.txt
@@ -60,6 +60,9 @@ include_directories(${PROJECT_SOURCE_DIR}/include/)
cmake_host_system_information(RESULT build_host QUERY HOSTNAME)
add_definitions(-DBUILD_MACHINE=${build_host})
+if(UNIX AND NOT BUILD_PORTABLE)
+ add_definitions(-DNON_PORTABLE -DINSTALL_PREFIX=${CMAKE_INSTALL_PREFIX})
+endif()
add_executable(qmidiplayer
${qmpdesktop_SOURCES}
@@ -74,6 +77,10 @@ target_link_libraries(qmidiplayer
${CMAKE_DL_LIBS}
)
+file(GLOB qmpdesktop_TS_FILES translations/*.ts)
+qt5_create_translation(qmpdesktop_QM_FILES ${qmpdesktop_SOURCES} ${qmpdesktop_TS_FILES})
+add_custom_target(translations ALL DEPENDS ${qmpdesktop_QM_FILES})
+
install(TARGETS qmidiplayer)
install(DIRECTORY ${PROJECT_SOURCE_DIR}/doc DESTINATION ${CMAKE_INSTALL_PREFIX}/share/qmidiplayer)
@@ -84,3 +91,4 @@ install(FILES ${PROJECT_SOURCE_DIR}/img/qmidiplyr.png DESTINATION ${CMAKE_INSTAL
install(FILES ${PROJECT_SOURCE_DIR}/img/qmidiplyr.svg DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps)
install(FILES menu/qmidiplayer DESTINATION ${CMAKE_INSTALL_PREFIX}/share/menu)
install(FILES qmidiplayer.mime DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mime/packages)
+install(FILES ${qmpdesktop_QM_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/qmidiplayer/translations)
diff --git a/qmidiplayer-desktop/main.cpp b/qmidiplayer-desktop/main.cpp
index b1c9149..9f1d593 100644
--- a/qmidiplayer-desktop/main.cpp
+++ b/qmidiplayer-desktop/main.cpp
@@ -44,11 +44,19 @@ int main(int argc,char **argv)
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
a.installTranslator(&qtTranslator);
QTranslator qmpTranslator;
- qmpTranslator.load("qmp_"+QLocale::system().name());
+#ifndef NON_PORTABLE
+ qmpTranslator.load("qmp_"+QLocale::system().name(),
+ QCoreApplication::applicationDirPath()+"/translations/");
+#else
+#define strify(s) #s
+ qmpTranslator.load("qmp_"+QLocale::system().name(),
+ QString(strify(INSTALL_PREFIX))+"/share/qmidiplayer/translations");
+#undef strify
+#endif
a.installTranslator(&qmpTranslator);
QCommandLineParser clp;
- clp.setApplicationDescription("A cross-platform MIDI player.");
+ clp.setApplicationDescription(QCoreApplication::translate("main","A cross-platform MIDI player."));
clp.addHelpOption();
clp.addVersionOption();
clp.addPositionalArgument("file",QCoreApplication::translate("main","midi files to play (optional)."),"[files...]");
diff --git a/qmidiplayer-desktop/qdialskulpturestyle.cpp b/qmidiplayer-desktop/qdialskulpturestyle.cpp
index 33c80de..7650edb 100644
--- a/qmidiplayer-desktop/qdialskulpturestyle.cpp
+++ b/qmidiplayer-desktop/qdialskulpturestyle.cpp
@@ -134,27 +134,23 @@ paintDialBase(QPainter *painter, const QStyleOption *option)
dial_color = option->palette.color(QPalette::Window);
}
qreal t = option->state & QStyle::State_Enabled ? 2.0 : 1.5;
- if (1) {
- // ###: work around Qt 4.3.0 bug? (this works for 4.3.1)
- QConicalGradient border_gradient(r.center(), angle);
- border_gradient.setColorAt(0.0, dial_color.lighter(120));
- border_gradient.setColorAt(0.2, dial_color);
- border_gradient.setColorAt(0.5, dial_color.darker(130));
- border_gradient.setColorAt(0.8, dial_color);
- border_gradient.setColorAt(1.0, dial_color.lighter(120));
- painter->setPen(QPen(border_gradient, t));
- } else {
- painter->setPen(QPen(Qt::red, t));
- }
+ // ###: work around Qt 4.3.0 bug? (this works for 4.3.1)
+ QConicalGradient border_gradient(r.center(), angle);
+ border_gradient.setColorAt(0.0, dial_color.lighter(120));
+ border_gradient.setColorAt(0.2, dial_color);
+ border_gradient.setColorAt(0.5, dial_color.darker(130));
+ border_gradient.setColorAt(0.8, dial_color);
+ border_gradient.setColorAt(1.0, dial_color.lighter(120));
+ painter->setPen(QPen(border_gradient, t));
#if 0
QLinearGradient dial_gradient(r.topLeft(), r.bottomLeft());
dial_gradient.setColorAt(0.0, dial_color.darker(105));
dial_gradient.setColorAt(0.5, dial_color.lighter(102));
dial_gradient.setColorAt(1.0, dial_color.lighter(105));
#elif 1
- QLinearGradient dial_gradient(option->direction == Qt::LeftToRight ? r.topLeft() : r.topRight(), option->direction == Qt::LeftToRight ? r.bottomRight() : r.bottomLeft());
+ QLinearGradient dial_gradient(option->direction == Qt::LeftToRight ? r.topLeft() : r.topRight(), option->direction == Qt::LeftToRight ? r.bottomRight() : r.bottomLeft());
// QLinearGradient dial_gradient(r.topLeft(), r.bottomLeft());
- if (true || option->state & QStyle::State_Enabled) {
+ if (option->state & QStyle::State_Enabled) {
#if 1
dial_gradient.setColorAt(0.0, dial_color.darker(106));
dial_gradient.setColorAt(1.0, dial_color.lighter(104));
@@ -213,7 +209,11 @@ paintCachedDialBase(QPainter *painter, const QStyleOptionSlider *option)
state &= ~(QStyle::State_MouseOver | QStyle::State_HasFocus | QStyle::State_KeyboardFocusChange);
}
// state &= ~(QStyle::State_HasFocus);
- pixmapName.sprintf("scp-qdb-%x-%x-%llx-%x", state, option->direction, option->palette.cacheKey(), d);
+ pixmapName = QString("scp-qdb-%1-%2-%3-%4")
+ .arg(state, 0, 16)
+ .arg(option->direction, 0, 16)
+ .arg(option->palette.cacheKey(), 0, 16)
+ .arg(d, 0, 16);
}
paintIndicatorCached(painter, option, paintDialBase, useCache, pixmapName);
}
@@ -356,18 +356,23 @@ paintCachedGrip(QPainter *painter, const QStyleOption *option)
useCache = false;
}
if (useCache) {
- uint state = uint(option->state) & (QStyle::State_Enabled | QStyle::State_On | QStyle::State_MouseOver | QStyle::State_Sunken | QStyle::State_HasFocus);
+ QStyle::State state = option->state & (QStyle::State_Enabled | QStyle::State_On | QStyle::State_MouseOver | QStyle::State_Sunken | QStyle::State_HasFocus);
if (!(state & QStyle::State_Enabled)) {
state &= ~(QStyle::State_MouseOver | QStyle::State_HasFocus);
}
state &= ~(QStyle::State_HasFocus);
- QByteArray colorName = option->palette.color(QPalette::Button).name().toLatin1();
- pixmapName.sprintf("scp-isg-%x-%x-%s-%x-%x", state, option->direction, colorName.constData(), option->rect.width(), option->rect.height());
+ QByteArray colorName = option->palette.color(QPalette::Button).name().toLatin1();
+ pixmapName = QString("scp-isg-%1-%2-%3-%4-%5")
+ .arg(state, 0, 16)
+ .arg(option->direction, 0, 16)
+ .arg(QString(colorName))
+ .arg(option->rect.width(), 0, 16)
+ .arg(option->rect.height(), 0, 16);
}
paintIndicatorCached(painter,option,
[=](QPainter *painter,const QStyleOption *option){
QStyleOption opt(*option);
- opt.rect.moveTo(0,0);
+ opt.rect.moveTo(0, 0);
paintGrip(painter,&opt);
},
useCache,pixmapName);
diff --git a/qmidiplayer-desktop/qmphelpwindow.cpp b/qmidiplayer-desktop/qmphelpwindow.cpp
index 2faed61..325fc57 100644
--- a/qmidiplayer-desktop/qmphelpwindow.cpp
+++ b/qmidiplayer-desktop/qmphelpwindow.cpp
@@ -1,6 +1,7 @@
#include <fluidsynth.h>
#include "qmphelpwindow.hpp"
#include "ui_qmphelpwindow.h"
+#define strify(s) #s
static const char *months="JanFebMarAprMayJunJulAugSepOctNovDec";
std::string parseDate(const char *date)
@@ -38,7 +39,7 @@ void qmpHelpWindow::on_textBrowser_sourceChanged(const QUrl &src)
s.replace("RT_FLUIDSYNTH_VERSION",fluid_version_str());
s.replace("APP_VERSION",APP_VERSION);
s.replace("BUILD_DATE",parseDate(__DATE__).c_str());
- s.replace("BUILD_MACHINE",sss(BUILD_MACHINE));
+ s.replace("BUILD_MACHINE",strify(BUILD_MACHINE));
ui->textBrowser->setHtml(s);
}
}
diff --git a/qmidiplayer-desktop/qmphelpwindow.hpp b/qmidiplayer-desktop/qmphelpwindow.hpp
index 4e1ca4c..2cde49d 100644
--- a/qmidiplayer-desktop/qmphelpwindow.hpp
+++ b/qmidiplayer-desktop/qmphelpwindow.hpp
@@ -6,8 +6,6 @@
#ifndef BUILD_MACHINE
#define BUILD_MACHINE UNKNOWN
#endif
-#define ss(s) #s
-#define sss(s) ss(s)
namespace Ui {
class qmpHelpWindow;
diff --git a/qmidiplayer-desktop/qmpplugin.cpp b/qmidiplayer-desktop/qmpplugin.cpp
index 8f16573..19d14b5 100644
--- a/qmidiplayer-desktop/qmpplugin.cpp
+++ b/qmidiplayer-desktop/qmpplugin.cpp
@@ -55,13 +55,16 @@ void qmpPluginManager::scanPlugins(const std::vector<std::string> &pp)
{
QDirIterator *dir;
std::vector<std::string> cpluginpaths(pp);
-#ifdef QMP_BUILD_UNIX_PACKAGE
- dir=new QDirIterator("/usr/lib/qmidiplayer/");
+#ifdef NON_PORTABLE
+#define strify(s) #s
+ QString pdir=QString(strify(INSTALL_PREFIX))+"/lib/qmidiplayer/";
+#undef strify
+ dir=new QDirIterator(pdir);
while(dir->hasNext())
{
dir->next();
if(dir->fileInfo().suffix()=="so")
- cpluginpaths.push_back(std::string("/usr/lib/qmidiplayer/")+dir->fileName().toStdString());
+ cpluginpaths.push_back((pdir+dir->fileName()).toStdString());
}
delete dir;
#endif
diff --git a/qmidiplayer-desktop/translations/qmp_zh_CN.ts b/qmidiplayer-desktop/translations/qmp_zh_CN.ts
index f7f79df..c9e0800 100644
--- a/qmidiplayer-desktop/translations/qmp_zh_CN.ts
+++ b/qmidiplayer-desktop/translations/qmp_zh_CN.ts
@@ -1,6 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="zh_CN">
+<TS version="2.1" language="zh_CN">
+<context>
+ <name>QFileEdit</name>
+ <message>
+ <location filename="../qmpsettingswindow.cpp" line="752"/>
+ <source>Select a file</source>
+ <translation type="unfinished">选择文件</translation>
+ </message>
+</context>
+<context>
+ <name>main</name>
+ <message>
+ <location filename="../main.cpp" line="51"/>
+ <source>A cross-platform MIDI player.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="54"/>
+ <source>midi files to play (optional).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="55"/>
+ <source>Load a plugin from &lt;plugin library&gt;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="56"/>
+ <source>Load all files from the same folder.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="58"/>
+ <source>Keep console window open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
<context>
<name>qmpChannelEditor</name>
<message>
@@ -24,11 +60,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpchanneleditor.ui" line="124"/>
- <source>Yamaha Grand Piano</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../qmpchanneleditor.ui" line="97"/>
<source>BK: 0</source>
<translation type="unfinished"></translation>
@@ -39,18 +70,23 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../qmpchanneleditor.ui" line="124"/>
+ <source>Yamaha Grand Piano</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../qmpchanneleditor.ui" line="135"/>
<source>Filters</source>
<translation type="unfinished">滤波器</translation>
</message>
<message>
- <location filename="../qmpchanneleditor.ui" line="192"/>
- <source>Res. 64</source>
+ <location filename="../qmpchanneleditor.ui" line="182"/>
+ <source>Cut. 64</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpchanneleditor.ui" line="182"/>
- <source>Cut. 64</source>
+ <location filename="../qmpchanneleditor.ui" line="192"/>
+ <source>Res. 64</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -59,31 +95,46 @@
<translation type="unfinished">效果</translation>
</message>
<message>
+ <location filename="../qmpchanneleditor.ui" line="252"/>
+ <source>Rev. 64</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../qmpchanneleditor.ui" line="262"/>
<source>Chr. 64</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpchanneleditor.ui" line="252"/>
- <source>Rev. 64</source>
- <translation type="unfinished"></translation>
+ <location filename="../qmpchanneleditor.ui" line="275"/>
+ <source>Mixer</source>
+ <translation>混音</translation>
</message>
<message>
- <location filename="../qmpchanneleditor.ui" line="349"/>
- <source>Envelope</source>
+ <location filename="../qmpchanneleditor.ui" line="322"/>
+ <source>Vol. 127</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpchanneleditor.ui" line="419"/>
- <source>Dec. 64</source>
+ <location filename="../qmpchanneleditor.ui" line="332"/>
+ <source>Pan. C</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../qmpchanneleditor.ui" line="349"/>
+ <source>Envelope</source>
+ <translation type="unfinished">包络</translation>
+ </message>
+ <message>
<location filename="../qmpchanneleditor.ui" line="409"/>
<source>Atk. 64</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../qmpchanneleditor.ui" line="419"/>
+ <source>Dec. 64</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../qmpchanneleditor.ui" line="429"/>
<source>Rel. 64</source>
<translation type="unfinished"></translation>
@@ -91,12 +142,7 @@
<message>
<location filename="../qmpchanneleditor.ui" line="442"/>
<source>Vibrato</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qmpchanneleditor.ui" line="512"/>
- <source>Dep. 64</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">振音</translation>
</message>
<message>
<location filename="../qmpchanneleditor.ui" line="502"/>
@@ -104,23 +150,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpchanneleditor.ui" line="522"/>
- <source>Del. 64</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qmpchanneleditor.ui" line="275"/>
- <source>Mixer</source>
- <translation>混音</translation>
- </message>
- <message>
- <location filename="../qmpchanneleditor.ui" line="332"/>
- <source>Pan. C</source>
+ <location filename="../qmpchanneleditor.ui" line="512"/>
+ <source>Dep. 64</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpchanneleditor.ui" line="322"/>
- <source>Vol. 127</source>
+ <location filename="../qmpchanneleditor.ui" line="522"/>
+ <source>Del. 64</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -137,60 +173,130 @@
<translation>通道</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="72"/>
<source>A</source>
- <translation>活动</translation>
+ <translation type="vanished">活动</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="77"/>
<source>M</source>
- <translation>静音</translation>
+ <translation type="vanished">静音</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="82"/>
<source>S</source>
- <translation>独奏</translation>
+ <translation type="vanished">独奏</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="87"/>
<source>Device</source>
- <translation>输出设备</translation>
+ <translation type="vanished">输出设备</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="92"/>
<source>Preset</source>
- <translation>乐器</translation>
- </message>
- <message>
- <location filename="../qmpchannelswindow.ui" line="97"/>
- <source>...</source>
- <translation type="unfinished"></translation>
+ <translation type="vanished">乐器</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="114"/>
+ <location filename="../qmpchannelswindow.ui" line="41"/>
<source>Save</source>
<translation>保存播放列表</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="127"/>
+ <location filename="../qmpchannelswindow.ui" line="54"/>
<source>Load</source>
<translation>打开播放列表</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="134"/>
+ <location filename="../qmpchannelswindow.ui" line="61"/>
<source>Unmute All</source>
<translation>取消全部静音</translation>
</message>
<message>
- <location filename="../qmpchannelswindow.ui" line="141"/>
+ <location filename="../qmpchannelswindow.ui" line="68"/>
<source>Unsolo All</source>
<translation>取消全部独奏</translation>
</message>
+ <message>
+ <location filename="../qmpchannelswindow.cpp" line="293"/>
+ <source>Channel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>qmpCustomizeWindow</name>
+ <message>
+ <location filename="../qmpcustomizewindow.ui" line="14"/>
+ <source>Customize widgets</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpcustomizewindow.ui" line="31"/>
+ <source>&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpcustomizewindow.ui" line="38"/>
+ <source>&lt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpcustomizewindow.ui" line="56"/>
+ <source>Items can be sorted by drag and drop.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>qmpDevPropDialog</name>
+ <message>
+ <location filename="../qmpdevpropdialog.ui" line="14"/>
+ <source>External Output Device Setup</source>
+ <translation type="unfinished">外部输出设备设置</translation>
+ </message>
+ <message>
+ <location filename="../qmpdevpropdialog.ui" line="27"/>
+ <source>Device</source>
+ <translation type="unfinished">输出设备</translation>
+ </message>
+ <message>
+ <location filename="../qmpdevpropdialog.ui" line="32"/>
+ <source>Connected?</source>
+ <translation>已连接</translation>
+ </message>
+ <message>
+ <location filename="../qmpdevpropdialog.ui" line="37"/>
+ <source>Device Initialization File</source>
+ <translation>设备配置文件</translation>
+ </message>
+ <message>
+ <location filename="../qmpdevpropdialog.ui" line="52"/>
+ <source>+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpdevpropdialog.ui" line="59"/>
+ <source>-</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>qmpDevicePriorityDialog</name>
+ <message>
+ <location filename="../qmpdeviceprioritydialog.ui" line="14"/>
+ <source>Select MIDI Output Devices</source>
+ <translation type="unfinished">选择MIDI输出设备</translation>
+ </message>
+ <message>
+ <location filename="../qmpdeviceprioritydialog.ui" line="25"/>
+ <source>Move Up</source>
+ <translation type="unfinished">上移</translation>
+ </message>
+ <message>
+ <location filename="../qmpdeviceprioritydialog.ui" line="32"/>
+ <source>Move Down</source>
+ <translation type="unfinished">下移</translation>
+ </message>
</context>
<context>
<name>qmpEfxWindow</name>
<message>
<location filename="../qmpefxwindow.ui" line="26"/>
+ <location filename="../qmpefxwindow.cpp" line="31"/>
<source>Effects</source>
<translation>效果</translation>
</message>
@@ -200,58 +306,68 @@
<translation>混响</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="121"/>
+ <location filename="../qmpefxwindow.ui" line="59"/>
+ <location filename="../qmpefxwindow.ui" line="287"/>
+ <source>Enabled</source>
+ <translation type="unfinished">启用</translation>
+ </message>
+ <message>
+ <location filename="../qmpefxwindow.ui" line="135"/>
<source>Room</source>
<translation>房间大小</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="147"/>
+ <location filename="../qmpefxwindow.ui" line="163"/>
<source>Damp</source>
<translation>衰减</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="176"/>
+ <location filename="../qmpefxwindow.ui" line="91"/>
<source>Width</source>
<translation>声场</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="202"/>
- <location filename="../qmpefxwindow.ui" line="376"/>
+ <location filename="../qmpefxwindow.ui" line="210"/>
+ <location filename="../qmpefxwindow.ui" line="473"/>
<source>Level</source>
<translation>音量</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="226"/>
+ <location filename="../qmpefxwindow.ui" line="258"/>
<source>Chorus</source>
<translation>和声</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="321"/>
+ <location filename="../qmpefxwindow.ui" line="294"/>
+ <source>LFO</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpefxwindow.ui" line="301"/>
+ <source>Si&amp;ne</source>
+ <translation type="unfinished">正弦波(&amp;n)</translation>
+ </message>
+ <message>
+ <location filename="../qmpefxwindow.ui" line="401"/>
<source>Feedback</source>
<translation>和声数量</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="347"/>
+ <location filename="../qmpefxwindow.ui" line="326"/>
<source>Rate</source>
<translation>频率</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="363"/>
+ <location filename="../qmpefxwindow.ui" line="439"/>
<source>Depth</source>
<translation>延迟</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="424"/>
- <source>LFO</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qmpefxwindow.ui" line="437"/>
<source>Sine</source>
- <translation>正弦</translation>
+ <translation type="vanished">正弦</translation>
</message>
<message>
- <location filename="../qmpefxwindow.ui" line="450"/>
+ <location filename="../qmpefxwindow.ui" line="308"/>
<source>Trian&amp;gle</source>
<translation>三角波(&amp;g)</translation>
</message>
@@ -268,6 +384,7 @@
<name>qmpInfoWindow</name>
<message>
<location filename="../qmpinfowindow.ui" line="20"/>
+ <location filename="../qmpinfowindow.cpp" line="19"/>
<source>File Information</source>
<translation>文件信息</translation>
</message>
@@ -320,71 +437,96 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpmainwindow.ui" line="84"/>
+ <location filename="../qmpmainwindow.ui" line="77"/>
<source>somefile.mid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpmainwindow.ui" line="126"/>
+ <location filename="../qmpmainwindow.ui" line="104"/>
<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>&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"/>
+ <location filename="../qmpmainwindow.ui" line="126"/>
+ <location filename="../qmpmainwindow.ui" line="170"/>
+ <source>00000</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpmainwindow.ui" line="199"/>
+ <source>?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpmainwindow.ui" line="237"/>
+ <location filename="../qmpmainwindow.ui" line="253"/>
+ <source>00:00</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpmainwindow.ui" line="533"/>
+ <source>Vol.</source>
+ <translation>音量</translation>
+ </message>
+ <message>
<source>Channels</source>
- <translation>通道</translation>
+ <translation type="vanished">通道</translation>
</message>
<message>
- <location filename="../qmpmainwindow.ui" line="419"/>
<source>Playlist</source>
- <translation>播放列表</translation>
+ <translation type="vanished">播放列表</translation>
</message>
<message>
- <location filename="../qmpmainwindow.ui" line="454"/>
<source>Effects</source>
- <translation>效果</translation>
+ <translation type="vanished">效果</translation>
</message>
<message>
- <location filename="../qmpmainwindow.ui" line="483"/>
<source>Visualization</source>
- <translation>可视化</translation>
+ <translation type="vanished">可视化</translation>
</message>
<message>
- <location filename="../qmpmainwindow.ui" line="539"/>
<source>Master</source>
- <translation>主音量</translation>
+ <translation type="vanished">主音量</translation>
</message>
<message>
- <location filename="../qmpmainwindow.ui" line="105"/>
- <location filename="../qmpmainwindow.ui" line="163"/>
- <source>00:00</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qmpmainwindow.ui" line="46"/>
- <source>?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qmpmainwindow.cpp" line="72"/>
<source>File Information</source>
- <translation>文件信息</translation>
+ <translation type="vanished">文件信息</translation>
</message>
<message>
- <location filename="../qmpmainwindow.cpp" line="73"/>
<source>Render to Wave</source>
- <translation>输出到wav文件</translation>
+ <translation type="vanished">输出到wav文件</translation>
+ </message>
+ <message>
+ <location filename="../qmpmainwindow.cpp" line="113"/>
+ <source>Render to wave</source>
+ <translation>输出wav文件</translation>
</message>
<message>
- <location filename="../qmpmainwindow.cpp" line="74"/>
+ <location filename="../qmpmainwindow.cpp" line="114"/>
<source>Panic</source>
<translation>关闭所有音符</translation>
</message>
+ <message>
+ <location filename="../qmpmainwindow.cpp" line="115"/>
+ <source>Restart fluidsynth</source>
+ <translation>重新载入FluidSynth</translation>
+ </message>
+ <message>
+ <location filename="../qmpmainwindow.cpp" line="353"/>
+ <source>Error</source>
+ <translation>错误</translation>
+ </message>
+ <message>
+ <location filename="../qmpmainwindow.cpp" line="353"/>
+ <source>%1 is not a valid midi file.</source>
+ <translation>%1是无效的midi文件。</translation>
+ </message>
</context>
<context>
<name>qmpPlistWindow</name>
<message>
<location filename="../qmpplistwindow.ui" line="29"/>
+ <location filename="../qmpplistwindow.cpp" line="73"/>
<source>Playlist</source>
<translation>播放列表</translation>
</message>
@@ -400,15 +542,15 @@
</message>
<message>
<location filename="../qmpplistwindow.ui" line="161"/>
- <location filename="../qmpplistwindow.cpp" line="188"/>
- <location filename="../qmpplistwindow.cpp" line="296"/>
+ <location filename="../qmpplistwindow.cpp" line="213"/>
+ <location filename="../qmpplistwindow.cpp" line="329"/>
<source>Repeat Off</source>
<translation>循环关</translation>
</message>
<message>
<location filename="../qmpplistwindow.ui" line="257"/>
- <location filename="../qmpplistwindow.cpp" line="213"/>
- <location filename="../qmpplistwindow.cpp" line="289"/>
+ <location filename="../qmpplistwindow.cpp" line="238"/>
+ <location filename="../qmpplistwindow.cpp" line="322"/>
<source>Shuffle Off</source>
<translation>随机关</translation>
</message>
@@ -433,30 +575,30 @@
<translation>清空</translation>
</message>
<message>
- <location filename="../qmpplistwindow.cpp" line="192"/>
- <location filename="../qmpplistwindow.cpp" line="300"/>
+ <location filename="../qmpplistwindow.cpp" line="217"/>
+ <location filename="../qmpplistwindow.cpp" line="333"/>
<source>Repeat One</source>
<translation>循环当前</translation>
</message>
<message>
- <location filename="../qmpplistwindow.cpp" line="196"/>
- <location filename="../qmpplistwindow.cpp" line="304"/>
+ <location filename="../qmpplistwindow.cpp" line="221"/>
+ <location filename="../qmpplistwindow.cpp" line="337"/>
<source>Repeat All</source>
<translation>循环全部</translation>
</message>
<message>
- <location filename="../qmpplistwindow.cpp" line="208"/>
- <location filename="../qmpplistwindow.cpp" line="284"/>
+ <location filename="../qmpplistwindow.cpp" line="233"/>
+ <location filename="../qmpplistwindow.cpp" line="317"/>
<source>Shuffle On</source>
<translation>随机开</translation>
</message>
<message>
- <location filename="../qmpplistwindow.cpp" line="259"/>
+ <location filename="../qmpplistwindow.cpp" line="292"/>
<source>Save playlist</source>
<translation>保存播放列表</translation>
</message>
<message>
- <location filename="../qmpplistwindow.cpp" line="272"/>
+ <location filename="../qmpplistwindow.cpp" line="305"/>
<source>Load playlist</source>
<translation>加载播放列表</translation>
</message>
@@ -469,24 +611,37 @@
<translation>乐器选择</translation>
</message>
<message>
- <location filename="../qmppresetselect.ui" line="39"/>
+ <location filename="../qmppresetselect.ui" line="42"/>
<source>Bank</source>
<translation>乐器库</translation>
</message>
<message>
- <location filename="../qmppresetselect.ui" line="66"/>
+ <location filename="../qmppresetselect.ui" line="69"/>
<source>Preset</source>
<translation>乐器</translation>
</message>
<message>
- <location filename="../qmppresetselect.ui" line="114"/>
+ <location filename="../qmppresetselect.ui" line="85"/>
+ <source>Bank MSB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmppresetselect.ui" line="99"/>
+ <source>Bank LSB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmppresetselect.ui" line="113"/>
+ <source>Patch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>OK</source>
- <translation>确定</translation>
+ <translation type="vanished">确定</translation>
</message>
<message>
- <location filename="../qmppresetselect.ui" line="101"/>
<source>Cancel</source>
- <translation>取消</translation>
+ <translation type="vanished">取消</translation>
</message>
</context>
<context>
@@ -502,290 +657,386 @@
<translation>MIDI选项</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="44"/>
<source>Default Output Device</source>
- <translation>默认输出设备</translation>
+ <translation type="vanished">默认输出设备</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="58"/>
- <source>Internal FluidSynth</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../qmpsettingswindow.ui" line="74"/>
+ <location filename="../qmpsettingswindow.ui" line="42"/>
<source>Disable Midi Mapping</source>
<translation>只使用默认输出设备</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="87"/>
+ <location filename="../qmpsettingswindow.ui" line="55"/>
<source>Send SysEx</source>
<translation>发送SysEx指令</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="100"/>
+ <location filename="../qmpsettingswindow.ui" line="68"/>
<source>Wait for remaining voices before stopping</source>
<translation>停止前等待复音数降为0</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="115"/>
+ <location filename="../qmpsettingswindow.ui" line="83"/>
<source>Text Encoding</source>
- <translation type="unfinished">MIDI内文本编码</translation>
+ <translation type="unfinished">文本编码</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="129"/>
+ <location filename="../qmpsettingswindow.ui" line="97"/>
<source>Unicode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="134"/>
+ <location filename="../qmpsettingswindow.ui" line="102"/>
<source>Big5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="139"/>
+ <location filename="../qmpsettingswindow.ui" line="107"/>
<source>Big5-HKSCS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="144"/>
+ <location filename="../qmpsettingswindow.ui" line="112"/>
<source>CP949</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="149"/>
+ <location filename="../qmpsettingswindow.ui" line="117"/>
<source>EUC-JP</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="154"/>
+ <location filename="../qmpsettingswindow.ui" line="122"/>
<source>EUC-KR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="159"/>
+ <location filename="../qmpsettingswindow.ui" line="127"/>
<source>GB18030</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="164"/>
+ <location filename="../qmpsettingswindow.ui" line="132"/>
<source>KOI8-R</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="169"/>
+ <location filename="../qmpsettingswindow.ui" line="137"/>
<source>KOI8-U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="174"/>
+ <location filename="../qmpsettingswindow.ui" line="142"/>
<source>Macintosh</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="179"/>
+ <location filename="../qmpsettingswindow.ui" line="147"/>
<source>Shift-JIS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="190"/>
+ <location filename="../qmpsettingswindow.ui" line="165"/>
+ <source>Select MIDI output devices</source>
+ <translation type="unfinished">选择MIDI输出设备</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="178"/>
+ <location filename="../qmpsettingswindow.ui" line="208"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="195"/>
+ <source>External MIDI output device setup</source>
+ <translation type="unfinished">外部MIDI设备设置</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="218"/>
<source>Synth</source>
<translation type="unfinished">合成器</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="196"/>
+ <location filename="../qmpsettingswindow.ui" line="224"/>
<source>Audio Buffer Count</source>
<translation>音频缓冲区数量</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="203"/>
+ <location filename="../qmpsettingswindow.ui" line="231"/>
<source>Audio Buffer Size</source>
<translation>音频缓冲区大小</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="217"/>
- <location filename="../qmpsettingswindow.ui" line="296"/>
+ <location filename="../qmpsettingswindow.ui" line="245"/>
+ <location filename="../qmpsettingswindow.ui" line="324"/>
<source>64</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="222"/>
+ <location filename="../qmpsettingswindow.ui" line="250"/>
<source>128</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="227"/>
+ <location filename="../qmpsettingswindow.ui" line="255"/>
<source>256</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="232"/>
+ <location filename="../qmpsettingswindow.ui" line="260"/>
<source>512</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="237"/>
+ <location filename="../qmpsettingswindow.ui" line="265"/>
<source>1024</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="242"/>
+ <location filename="../qmpsettingswindow.ui" line="270"/>
<source>2048</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="247"/>
+ <location filename="../qmpsettingswindow.ui" line="275"/>
<source>4096</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="252"/>
+ <location filename="../qmpsettingswindow.ui" line="280"/>
<source>8192</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="260"/>
- <source>Audio Frequency</source>
- <translation>采样频率</translation>
+ <location filename="../qmpsettingswindow.ui" line="288"/>
+ <source>Sample Rate</source>
+ <translation type="unfinished">采样率</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="271"/>
+ <location filename="../qmpsettingswindow.ui" line="299"/>
<source>2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="276"/>
+ <location filename="../qmpsettingswindow.ui" line="304"/>
<source>4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="281"/>
+ <location filename="../qmpsettingswindow.ui" line="309"/>
<source>8</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="286"/>
+ <location filename="../qmpsettingswindow.ui" line="314"/>
<source>16</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="291"/>
+ <location filename="../qmpsettingswindow.ui" line="319"/>
<source>32</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="304"/>
- <source>Audio Driver</source>
- <translation>音频驱动</translation>
- </message>
- <message>
- <location filename="../qmpsettingswindow.ui" line="312"/>
+ <location filename="../qmpsettingswindow.ui" line="340"/>
<source>16bits</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="317"/>
+ <location filename="../qmpsettingswindow.ui" line="345"/>
<source>float</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="332"/>
+ <location filename="../qmpsettingswindow.ui" line="360"/>
<source>22050</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="337"/>
+ <location filename="../qmpsettingswindow.ui" line="365"/>
<source>44100</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="342"/>
+ <location filename="../qmpsettingswindow.ui" line="370"/>
<source>48000</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="347"/>
+ <location filename="../qmpsettingswindow.ui" line="375"/>
<source>96000</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="355"/>
+ <location filename="../qmpsettingswindow.ui" line="383"/>
+ <source>Sample Format</source>
+ <translation type="unfinished">采样格式</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="648"/>
+ <source>Show label beside icon in toolbar buttons</source>
+ <translation type="unfinished">工具栏按钮中显示文字标签</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="663"/>
+ <source>Icon Theme</source>
+ <translation type="unfinished">图标主题</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="671"/>
+ <source>Auto</source>
+ <translation type="unfinished">自动</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="676"/>
+ <source>Dark</source>
+ <translation type="unfinished">暗色</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="681"/>
+ <source>Light</source>
+ <translation type="unfinished">亮色</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="693"/>
+ <source>Customize toolbar</source>
+ <translation type="unfinished">自定义工具栏</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="700"/>
+ <location filename="../qmpsettingswindow.ui" line="718"/>
+ <source>Customize</source>
+ <translation type="unfinished">设置</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="711"/>
+ <source>Customize actions</source>
+ <translation type="unfinished">自定义右键菜单</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="728"/>
+ <source>Plugins</source>
+ <translation type="unfinished">插件</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="746"/>
+ <source>Name</source>
+ <translation type="unfinished">名称</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="751"/>
+ <source>Version</source>
+ <translation type="unfinished">版本</translation>
+ </message>
+ <message>
+ <source>Audio Frequency</source>
+ <translation type="vanished">采样频率</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="332"/>
+ <source>Audio Driver</source>
+ <translation>音频驱动</translation>
+ </message>
+ <message>
<source>Audio Format</source>
- <translation>音频格式</translation>
+ <translation type="vanished">音频格式</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="375"/>
+ <location filename="../qmpsettingswindow.ui" line="403"/>
<source>Max Polyphony</source>
<translation>最大复音数</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="382"/>
+ <location filename="../qmpsettingswindow.ui" line="410"/>
<source>Auto bank select mode</source>
<translation>自动确定乐器库选择方式</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="389"/>
+ <location filename="../qmpsettingswindow.ui" line="417"/>
<source>Bank select mode</source>
<translation>乐器库选择方式</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="400"/>
+ <location filename="../qmpsettingswindow.ui" line="428"/>
<source>Ignored</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="405"/>
+ <location filename="../qmpsettingswindow.ui" line="433"/>
<source>CC#0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="410"/>
+ <location filename="../qmpsettingswindow.ui" line="438"/>
<source>CC#32</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="415"/>
+ <location filename="../qmpsettingswindow.ui" line="443"/>
<source>CC#0*128+CC#32</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="423"/>
+ <location filename="../qmpsettingswindow.ui" line="451"/>
<source>CPU Cores</source>
<translation>合成器线程数</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="441"/>
+ <location filename="../qmpsettingswindow.ui" line="469"/>
<source>Soundfonts</source>
<translation>音源</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="527"/>
+ <location filename="../qmpsettingswindow.ui" line="485"/>
+ <location filename="../qmpsettingswindow.ui" line="741"/>
+ <source>E</source>
+ <translation>启用</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="490"/>
+ <location filename="../qmpsettingswindow.ui" line="756"/>
+ <source>Path</source>
+ <translation>路径</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.ui" line="571"/>
<source>Behavior</source>
<translation>行为设定</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="533"/>
+ <location filename="../qmpsettingswindow.ui" line="583"/>
<source>Restore last playlist on startup</source>
<translation>启动时,恢复上次的播放列表</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="540"/>
+ <location filename="../qmpsettingswindow.ui" line="596"/>
<source>Load files in the same folder</source>
<translation>添加同一文件夹下的所有文件</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="547"/>
+ <location filename="../qmpsettingswindow.ui" line="609"/>
<source>Save dialog status</source>
<translation>保存对话框状态</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="554"/>
+ <location filename="../qmpsettingswindow.ui" line="622"/>
<source>Save parameters in effects window</source>
<translation>保存效果窗口内的设定</translation>
</message>
<message>
- <location filename="../qmpsettingswindow.ui" line="561"/>
+ <location filename="../qmpsettingswindow.ui" line="635"/>
<source>Persistent fluidsynth instance</source>
<translation>单一fluidsynth实例</translation>
</message>
+ <message>
+ <location filename="../qmpsettingswindow.cpp" line="398"/>
+ <source>No soundfont loaded</source>
+ <translation>未选择soundfont</translation>
+ </message>
+ <message>
+ <location filename="../qmpsettingswindow.cpp" line="399"/>
+ <source>Internal fluidsynth is the only available MIDI output but it has no soundfont set. Would you like to setup soundfonts now? You may have to reload the internal synth afterwards.</source>
+ <translation>仅有FluidSynth输出可用,但未选择其使用的soundfont。需要现在进行设置吗?(设置完毕后需要重新加载FluidSynth。)</translation>
+ </message>
</context>
</TS>