diff options
author | Chris Xiong <chirs241097@gmail.com> | 2016-04-14 23:28:30 +0800 |
---|---|---|
committer | Chris Xiong <chirs241097@gmail.com> | 2016-04-14 23:28:30 +0800 |
commit | eee7a6e13ec8cfcb70e3777d83a3a11b3cd30ac6 (patch) | |
tree | 7b0820543a3d1d97090434f173bd7d9df0bd4b13 | |
parent | 2888a8349d11a3e959c300256ce36e824337e636 (diff) | |
download | QMidiPlayer-eee7a6e13ec8cfcb70e3777d83a3a11b3cd30ac6.tar.xz |
History of the Moon.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | core/qmpmidimapperrtmidi.cpp | 5 | ||||
-rw-r--r-- | core/qmpmidimappers.hpp | 1 | ||||
-rw-r--r-- | core/qmpmidiplay.cpp | 10 | ||||
-rw-r--r-- | core/qmpmidiplay.hpp | 1 | ||||
-rw-r--r-- | qmidiplayer-desktop/translations/qmp_zh_CN.ts | 44 |
6 files changed, 42 insertions, 23 deletions
@@ -1,3 +1,7 @@ +2016-04-14 0.7.2 beta +Also reset mapped midi devices. +Translation work... + 2016-04-13 0.7.2 beta Reset channel activity indicators properly. Windows version now has an icon. diff --git a/core/qmpmidimapperrtmidi.cpp b/core/qmpmidimapperrtmidi.cpp index f28bb9d..845f24b 100644 --- a/core/qmpmidimapperrtmidi.cpp +++ b/core/qmpmidimapperrtmidi.cpp @@ -91,3 +91,8 @@ void qmpMidiMapperRtMidi::panic(int iid,int ch) ctrlChange(iid,ch,120,0); //ctrlChange(iid,ch,123,0); } +void qmpMidiMapperRtMidi::reset(int iid,int ch) +{ + ctrlChange(iid,ch,120,0); + ctrlChange(iid,ch,121,0); +} diff --git a/core/qmpmidimappers.hpp b/core/qmpmidimappers.hpp index 334a2d2..ae4fa3f 100644 --- a/core/qmpmidimappers.hpp +++ b/core/qmpmidimappers.hpp @@ -18,6 +18,7 @@ public: void pitchBend(int iid,int ch,int val); void sysEx(int iid,int length,const char* data); void panic(int iid,int ch); + void reset(int iid,int ch); int enumDevices(); std::string deviceName(int id); }; diff --git a/core/qmpmidiplay.cpp b/core/qmpmidiplay.cpp index 6af7722..780b8f7 100644 --- a/core/qmpmidiplay.cpp +++ b/core/qmpmidiplay.cpp @@ -181,6 +181,12 @@ void w32usleep(uint64_t t) timeEndPeriod(1); } #endif +void CMidiPlayer::prePlayInit() +{ + playerPanic(true); + for(int i=0;i<16;++i)if(deviceusage[i]) + for(int j=0;j<16;++j)mapper->reset(i,j); +} void CMidiPlayer::playEvents() { for(uint32_t ct=midiFile->getEvent(0)->time;tceptr<midiFile->getEventCount();) @@ -287,6 +293,7 @@ void CMidiPlayer::playerPanic(bool reset) fluid_synth_cc(synth,i,7,100); fluid_synth_cc(synth,i,10,64); fluid_synth_cc(synth,i,11,127); + if(deviceusage[i])for(int j=0;j<16;++j)mapper->reset(i,j); } //all sounds off causes the minus polyphone bug... for(int i=0;i<16;++i)fluid_synth_all_notes_off(synth,i); @@ -320,6 +327,7 @@ void CMidiPlayer::playerDeinit() } void CMidiPlayer::playerThread() { + prePlayInit(); playEvents(); } @@ -376,7 +384,7 @@ uint32_t CMidiPlayer::getFileNoteCount(){return midiFile?midiFile->getNoteCount( uint32_t CMidiPlayer::getFileStandard(){return midiFile?midiFile->getStandard():0;} const char* CMidiPlayer::getTitle(){return midiFile?midiFile->getTitle():"";} const char* CMidiPlayer::getCopyright(){return midiFile?midiFile->getCopyright():"";} -double CMidiPlayer::getTempo(){return 60./(ctempo/1e6)/**ctsd/4.*/;} +double CMidiPlayer::getTempo(){return 60./(ctempo/1e6);} uint32_t CMidiPlayer::getTCpaused(){return tcpaused;} void CMidiPlayer::setTCpaused(uint32_t ps){tcpaused=ps;} uint32_t CMidiPlayer::isFinished(){return finished;} diff --git a/core/qmpmidiplay.hpp b/core/qmpmidiplay.hpp index 15fcd89..b0fb387 100644 --- a/core/qmpmidiplay.hpp +++ b/core/qmpmidiplay.hpp @@ -86,6 +86,7 @@ class CMidiPlayer void setBit(uint16_t &n,uint16_t bn,uint16_t b); void processEvent(const SEvent *e); void processEventStub(const SEvent *e); + void prePlayInit(); void playEvents(); void fileTimer1Pass(); void fileTimer2Pass(); diff --git a/qmidiplayer-desktop/translations/qmp_zh_CN.ts b/qmidiplayer-desktop/translations/qmp_zh_CN.ts index 4b95192..4810b05 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> @@ -159,7 +159,7 @@ <message> <location filename="../qmpchannelswindow.ui" line="92"/> <source>Preset</source> - <translation type="unfinished"></translation> + <translation type="unfinished">乐器</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="97"/> @@ -179,12 +179,12 @@ <message> <location filename="../qmpchannelswindow.ui" line="134"/> <source>Unmute All</source> - <translation type="unfinished"></translation> + <translation type="unfinished">取消全部静音</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="141"/> <source>Unsolo All</source> - <translation type="unfinished"></translation> + <translation type="unfinished">取消全部独奏</translation> </message> </context> <context> @@ -248,7 +248,7 @@ <message> <location filename="../qmpefxwindow.ui" line="437"/> <source>Sine</source> - <translation type="unfinished"></translation> + <translation type="unfinished">正弦</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="450"/> @@ -261,7 +261,7 @@ <message> <location filename="../qmphelpwindow.ui" line="20"/> <source>Help</source> - <translation type="unfinished"></translation> + <translation type="unfinished">帮助</translation> </message> </context> <context> @@ -388,24 +388,24 @@ <location filename="../qmpplistwindow.cpp" line="188"/> <location filename="../qmpplistwindow.cpp" line="296"/> <source>Repeat Off</source> - <translation type="unfinished"></translation> + <translation type="unfinished">循环关</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="122"/> <location filename="../qmpplistwindow.cpp" line="213"/> <location filename="../qmpplistwindow.cpp" line="289"/> <source>Shuffle Off</source> - <translation type="unfinished"></translation> + <translation type="unfinished">随机关</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="148"/> <source>Save</source> - <translation type="unfinished">保存播放列表</translation> + <translation type="unfinished">保存列表</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="174"/> <source>Load</source> - <translation type="unfinished">打开播放列表</translation> + <translation type="unfinished">加载列表</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="200"/> @@ -421,29 +421,29 @@ <location filename="../qmpplistwindow.cpp" line="192"/> <location filename="../qmpplistwindow.cpp" line="300"/> <source>Repeat One</source> - <translation type="unfinished"></translation> + <translation type="unfinished">循环当前</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="196"/> <location filename="../qmpplistwindow.cpp" line="304"/> <source>Repeat All</source> - <translation type="unfinished"></translation> + <translation type="unfinished">循环全部</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="208"/> <location filename="../qmpplistwindow.cpp" line="284"/> <source>Shuffle On</source> - <translation type="unfinished"></translation> + <translation type="unfinished">随机开</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="259"/> <source>Save playlist</source> - <translation type="unfinished"></translation> + <translation type="unfinished">保存播放列表</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="272"/> <source>Load playlist</source> - <translation type="unfinished"></translation> + <translation type="unfinished">加载播放列表</translation> </message> </context> <context> @@ -451,27 +451,27 @@ <message> <location filename="../qmppresetselect.ui" line="26"/> <source>Preset Selection</source> - <translation type="unfinished"></translation> + <translation type="unfinished">乐器选择</translation> </message> <message> <location filename="../qmppresetselect.ui" line="61"/> <source>Bank</source> - <translation type="unfinished"></translation> + <translation type="unfinished">乐器库</translation> </message> <message> <location filename="../qmppresetselect.ui" line="74"/> <source>Preset</source> - <translation type="unfinished"></translation> + <translation type="unfinished">乐器</translation> </message> <message> <location filename="../qmppresetselect.ui" line="87"/> <source>OK</source> - <translation type="unfinished"></translation> + <translation type="unfinished">确定</translation> </message> <message> <location filename="../qmppresetselect.ui" line="100"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">取消</translation> </message> </context> <context> @@ -499,7 +499,7 @@ <message> <location filename="../qmpsettingswindow.ui" line="74"/> <source>Disable Midi Mapping</source> - <translation type="unfinished">禁用MIDI输出分配</translation> + <translation type="unfinished">只使用默认输出设备</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="87"/> @@ -740,7 +740,7 @@ <message> <location filename="../qmpsettingswindow.ui" line="441"/> <source>Soundfonts</source> - <translation type="unfinished"></translation> + <translation type="unfinished">音源</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="527"/> |