From 09bc96b9afda262f7d3ff73be0a17a1e1be91649 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Fri, 23 Sep 2016 17:35:03 +0800 Subject: Add a set of icons for dark themes and a option to change the icon theme. --- ChangeLog | 4 + doc/optionsdialog.html | 1 + img/add_i.png | Bin 0 -> 254 bytes img/addfolder_i.png | Bin 0 -> 962 bytes img/channel_i.png | Bin 0 -> 305 bytes img/clear_i.png | Bin 0 -> 361 bytes img/down_i.png | Bin 0 -> 316 bytes img/effects_i.png | Bin 0 -> 774 bytes img/kb.png | Bin 0 -> 10948 bytes img/list_i.png | Bin 0 -> 256 bytes img/load_i.png | Bin 0 -> 890 bytes img/next_i.png | Bin 0 -> 632 bytes img/pause_i.png | Bin 0 -> 237 bytes img/play_i.png | Bin 0 -> 577 bytes img/prev_i.png | Bin 0 -> 672 bytes img/remove_i.png | Bin 0 -> 191 bytes img/repeat-all_i.png | Bin 0 -> 1176 bytes img/repeat-base_i.png | Bin 0 -> 865 bytes img/repeat-non_i.png | Bin 0 -> 951 bytes img/repeat-one_i.png | Bin 0 -> 956 bytes img/save_i.png | Bin 0 -> 1072 bytes img/save_i.svg | 523 ++++++++++++++++++++++++++ img/settings_i.png | Bin 0 -> 919 bytes img/shuffle-off_i.png | Bin 0 -> 910 bytes img/shuffle_i.png | Bin 0 -> 819 bytes img/stop_i.png | Bin 0 -> 242 bytes img/up_i.png | Bin 0 -> 312 bytes img/visualization_i.png | Bin 0 -> 302 bytes qmidiplayer-desktop/qmpmainwindow.cpp | 28 +- qmidiplayer-desktop/qmpmainwindow.hpp | 5 +- qmidiplayer-desktop/qmpplistwindow.cpp | 16 +- qmidiplayer-desktop/qmpsettingswindow.cpp | 15 +- qmidiplayer-desktop/qmpsettingswindow.ui | 66 ++++ qmidiplayer-desktop/resources.qrc | 24 ++ qmidiplayer-desktop/translations/qmp_zh_CN.ts | 172 ++++----- 35 files changed, 755 insertions(+), 99 deletions(-) create mode 100644 img/add_i.png create mode 100644 img/addfolder_i.png create mode 100644 img/channel_i.png create mode 100644 img/clear_i.png create mode 100644 img/down_i.png create mode 100644 img/effects_i.png create mode 100644 img/kb.png create mode 100644 img/list_i.png create mode 100644 img/load_i.png create mode 100644 img/next_i.png create mode 100644 img/pause_i.png create mode 100644 img/play_i.png create mode 100644 img/prev_i.png create mode 100644 img/remove_i.png create mode 100644 img/repeat-all_i.png create mode 100644 img/repeat-base_i.png create mode 100644 img/repeat-non_i.png create mode 100644 img/repeat-one_i.png create mode 100644 img/save_i.png create mode 100644 img/save_i.svg create mode 100644 img/settings_i.png create mode 100644 img/shuffle-off_i.png create mode 100644 img/shuffle_i.png create mode 100644 img/stop_i.png create mode 100644 img/up_i.png create mode 100644 img/visualization_i.png diff --git a/ChangeLog b/ChangeLog index 0a1e254..a77475a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2016-09-23 0.8.3 alpha +Add a set of icons for dark themes and a option to +change the icon theme. + 2016-09-16 0.8.3 alpha Minor bug fix. Update documentation. diff --git a/doc/optionsdialog.html b/doc/optionsdialog.html index efa5baf..c512447 100644 --- a/doc/optionsdialog.html +++ b/doc/optionsdialog.html @@ -72,6 +72,7 @@
  • Save parameters in effects window
  • Persistent fluidsynth instance*: If checked, the synthesizer engine will keep running through the whole session. Otherwise it is restarted every time when a new song is played.
  • +
  • Icon Theme: Leave it unchanged unless you can't see the icons on those buttons.

  • Plugin manager. View details of plugins, enable or disable them here.
    diff --git a/img/add_i.png b/img/add_i.png new file mode 100644 index 0000000..5143396 Binary files /dev/null and b/img/add_i.png differ diff --git a/img/addfolder_i.png b/img/addfolder_i.png new file mode 100644 index 0000000..1c784f3 Binary files /dev/null and b/img/addfolder_i.png differ diff --git a/img/channel_i.png b/img/channel_i.png new file mode 100644 index 0000000..30bba80 Binary files /dev/null and b/img/channel_i.png differ diff --git a/img/clear_i.png b/img/clear_i.png new file mode 100644 index 0000000..671b7b7 Binary files /dev/null and b/img/clear_i.png differ diff --git a/img/down_i.png b/img/down_i.png new file mode 100644 index 0000000..e77d19f Binary files /dev/null and b/img/down_i.png differ diff --git a/img/effects_i.png b/img/effects_i.png new file mode 100644 index 0000000..b655c5f Binary files /dev/null and b/img/effects_i.png differ diff --git a/img/kb.png b/img/kb.png new file mode 100644 index 0000000..832bee4 Binary files /dev/null and b/img/kb.png differ diff --git a/img/list_i.png b/img/list_i.png new file mode 100644 index 0000000..73a0ab5 Binary files /dev/null and b/img/list_i.png differ diff --git a/img/load_i.png b/img/load_i.png new file mode 100644 index 0000000..7b2de7f Binary files /dev/null and b/img/load_i.png differ diff --git a/img/next_i.png b/img/next_i.png new file mode 100644 index 0000000..7e32146 Binary files /dev/null and b/img/next_i.png differ diff --git a/img/pause_i.png b/img/pause_i.png new file mode 100644 index 0000000..499ef4c Binary files /dev/null and b/img/pause_i.png differ diff --git a/img/play_i.png b/img/play_i.png new file mode 100644 index 0000000..e38e1a9 Binary files /dev/null and b/img/play_i.png differ diff --git a/img/prev_i.png b/img/prev_i.png new file mode 100644 index 0000000..b4b0312 Binary files /dev/null and b/img/prev_i.png differ diff --git a/img/remove_i.png b/img/remove_i.png new file mode 100644 index 0000000..50dfc42 Binary files /dev/null and b/img/remove_i.png differ diff --git a/img/repeat-all_i.png b/img/repeat-all_i.png new file mode 100644 index 0000000..6984458 Binary files /dev/null and b/img/repeat-all_i.png differ diff --git a/img/repeat-base_i.png b/img/repeat-base_i.png new file mode 100644 index 0000000..80c4532 Binary files /dev/null and b/img/repeat-base_i.png differ diff --git a/img/repeat-non_i.png b/img/repeat-non_i.png new file mode 100644 index 0000000..050952e Binary files /dev/null and b/img/repeat-non_i.png differ diff --git a/img/repeat-one_i.png b/img/repeat-one_i.png new file mode 100644 index 0000000..fa1cc35 Binary files /dev/null and b/img/repeat-one_i.png differ diff --git a/img/save_i.png b/img/save_i.png new file mode 100644 index 0000000..11959f6 Binary files /dev/null and b/img/save_i.png differ diff --git a/img/save_i.svg b/img/save_i.svg new file mode 100644 index 0000000..c021f8f --- /dev/null +++ b/img/save_i.svg @@ -0,0 +1,523 @@ + + + + + Save all + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Save all + + + + + + Based on Jakub Steiner "Floppy" icon from GTK sock icon + + + + + + + + + + + + + + + + + + + diff --git a/img/settings_i.png b/img/settings_i.png new file mode 100644 index 0000000..ca682b7 Binary files /dev/null and b/img/settings_i.png differ diff --git a/img/shuffle-off_i.png b/img/shuffle-off_i.png new file mode 100644 index 0000000..9f2206f Binary files /dev/null and b/img/shuffle-off_i.png differ diff --git a/img/shuffle_i.png b/img/shuffle_i.png new file mode 100644 index 0000000..6c3a61d Binary files /dev/null and b/img/shuffle_i.png differ diff --git a/img/stop_i.png b/img/stop_i.png new file mode 100644 index 0000000..cf30c28 Binary files /dev/null and b/img/stop_i.png differ diff --git a/img/up_i.png b/img/up_i.png new file mode 100644 index 0000000..0ff90c0 Binary files /dev/null and b/img/up_i.png differ diff --git a/img/visualization_i.png b/img/visualization_i.png new file mode 100644 index 0000000..b1a7a93 Binary files /dev/null and b/img/visualization_i.png differ 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;itwSoundfont->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;itwPluginList->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 @@ + + + 0 + 0 + + Restore last playlist on startup @@ -546,6 +552,12 @@ + + + 0 + 0 + + Load files in the same folder @@ -553,6 +565,12 @@ + + + 0 + 0 + + Save dialog status @@ -560,6 +578,12 @@ + + + 0 + 0 + + Save parameters in effects window @@ -567,11 +591,53 @@ + + + 0 + 0 + + Persistent fluidsynth instance + + + + + + + 0 + 0 + + + + Icon Theme + + + + + + + + Auto + + + + + Dark + + + + + Light + + + + + + 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 @@ ../img/stop.png ../img/up.png ../img/visualization.png + ../img/add_i.png + ../img/list_i.png + ../img/addfolder_i.png + ../img/channel_i.png + ../img/prev_i.png + ../img/remove_i.png + ../img/clear_i.png + ../img/down_i.png + ../img/effects_i.png + ../img/repeat-all_i.png + ../img/repeat-base_i.png + ../img/repeat-non_i.png + ../img/load_i.png + ../img/next_i.png + ../img/repeat-one_i.png + ../img/save_i.png + ../img/settings_i.png + ../img/pause_i.png + ../img/play_i.png + ../img/shuffle-off_i.png + ../img/shuffle_i.png + ../img/stop_i.png + ../img/up_i.png + ../img/visualization_i.png ../img/ledon.png ../img/ledoff.png ../doc/index_internal.html 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 @@ - + qmpChannelEditor @@ -41,7 +41,7 @@ Filters - + 滤波器 @@ -111,7 +111,7 @@ Mixer - + 混音 @@ -134,32 +134,32 @@ Channels - 通道 + 通道 A - + 活动 M - + 静音 S - + 独奏 Device - + 输出设备 Preset - 乐器 + 乐器 @@ -169,22 +169,22 @@ Save - 保存播放列表 + 保存播放列表 Load - 打开播放列表 + 打开播放列表 Unmute All - 取消全部静音 + 取消全部静音 Unsolo All - 取消全部独奏 + 取消全部独奏 @@ -192,53 +192,53 @@ Effects - 效果 + 效果 Reverb - 混响 + 混响 Room - 房间大小 + 房间大小 Damp - 衰减 + 衰减 Width - 声场 + 声场 Level - 音量 + 音量 Chorus - 和声 + 和声 Feedback - 和声数量 + 和声数量 Rate - 频率 + 频率 Depth - 延迟 + 延迟 @@ -248,12 +248,12 @@ Sine - 正弦 + 正弦 Trian&gle - + 三角波(&g) @@ -261,7 +261,7 @@ Help - 帮助 + 帮助 @@ -269,47 +269,47 @@ File Information - 文件信息 + 文件信息 File name: - 文件名: + 文件名: Tempo: - 速度: + 速度: Key Sig.: - 调式: + 调式: Time Sig.: - 节拍: + 节拍: Title: - 标题: + 标题: Copyright: - 作者: + 作者: Note count: - 音符数: + 音符数: File standard: - 文件标准: + 文件标准: @@ -327,32 +327,32 @@ <html><head/><body><p>Poly</p></body></html> - <html><head/><body><p>复音</p></body></html> + <html><head/><body><p>复音</p></body></html> Channels - 通道 + 通道 Playlist - 播放列表 + 播放列表 Effects - 效果 + 效果 Visualization - 可视化 + 可视化 Master - 主音量 + 主音量 @@ -368,17 +368,17 @@ File Information - 文件信息 + 文件信息 Render to Wave - 输出到wav文件 + 输出到wav文件 Panic - 关闭所有音符 + 关闭所有音符 @@ -386,79 +386,79 @@ Playlist - 播放列表 + 播放列表 Add - 添加 + 添加 Add Folder - 添加文件夹 + 添加文件夹 Repeat Off - 循环关 + 循环关 Shuffle Off - 随机关 + 随机关 Save - 保存列表 + 保存列表 Load - 加载列表 + 加载列表 Remove - 移除 + 移除 Clear - 清空 + 清空 Repeat One - 循环当前 + 循环当前 Repeat All - 循环全部 + 循环全部 Shuffle On - 随机开 + 随机开 Save playlist - 保存播放列表 + 保存播放列表 Load playlist - 加载播放列表 + 加载播放列表 @@ -466,27 +466,27 @@ Preset Selection - 乐器选择 + 乐器选择 Bank - 乐器库 + 乐器库 Preset - 乐器 + 乐器 OK - 确定 + 确定 Cancel - 取消 + 取消 @@ -494,17 +494,17 @@ Settings - 选项 + 选项 Midi - MIDI选项 + MIDI选项 Default Output Device - 默认输出设备 + 默认输出设备 @@ -514,22 +514,22 @@ Disable Midi Mapping - 只使用默认输出设备 + 只使用默认输出设备 Send SysEx - 发送SysEx指令 + 发送SysEx指令 Wait for remaining voices before stopping - 停止前等待复音数降为0 + 停止前等待复音数降为0 Text Encoding - MIDI文本编码 + MIDI内文本编码 @@ -594,12 +594,12 @@ Audio Buffer Count - 音频缓冲区数量 + 音频缓冲区数量 Audio Buffer Size - 音频缓冲区大小 + 音频缓冲区大小 @@ -645,7 +645,7 @@ Audio Frequency - 采样频率 + 采样频率 @@ -675,7 +675,7 @@ Audio Driver - 音频驱动 + 音频驱动 @@ -710,22 +710,22 @@ Audio Format - 音频格式 + 音频格式 Max Polyphony - 最大复音数 + 最大复音数 Auto bank select mode - 自动乐器库选择方式 + 自动确定乐器库选择方式 Bank select mode - 乐器库选择方式 + 乐器库选择方式 @@ -750,42 +750,42 @@ CPU Cores - 合成器线程数 + 合成器线程数 Soundfonts - 音源 + 音源 Behavior - 行为设定 + 行为设定 Restore last playlist on startup - 启动时,恢复上次的播放列表 + 启动时,恢复上次的播放列表 Load files in the same folder - 添加同一文件夹下的所有文件 + 添加同一文件夹下的所有文件 Save dialog status - 保存对话框状态 + 保存对话框状态 Save parameters in effects window - 保存效果窗口内的设定 + 保存效果窗口内的设定 Persistent fluidsynth instance - 单一fluidsynth实例 + 单一fluidsynth实例 -- cgit v1.2.3