diff --git a/CHANGE.txt b/CHANGE.txt index 206ecb72..54fa496b 100644 --- a/CHANGE.txt +++ b/CHANGE.txt @@ -1,4 +1,9 @@ 更新履歴 +STBL447 2024/07/28 + RCSMP:PCM8の場合にmode指定が出来ていなかったのを修正 + RCSMP:PCM8の場合にfreq変更指示が来ても未対応の周波数(5以上)を指定してきたら無視するように調整 + PlayList:RCSMP:D&Dに対応 + STBL446 2024/07/27 2nd mp3:APICタグに対応 diff --git a/MDPlayer/MDPlayer-STBL445.exe b/MDPlayer/MDPlayer-STBL446.exe similarity index 72% rename from MDPlayer/MDPlayer-STBL445.exe rename to MDPlayer/MDPlayer-STBL446.exe index 2c19fdc4..bb1c9c83 100644 Binary files a/MDPlayer/MDPlayer-STBL445.exe and b/MDPlayer/MDPlayer-STBL446.exe differ diff --git a/MDPlayer/MDPlayer_InstKit/02info.nsh b/MDPlayer/MDPlayer_InstKit/02info.nsh index 134bc54a..381a6199 100644 --- a/MDPlayer/MDPlayer_InstKit/02info.nsh +++ b/MDPlayer/MDPlayer_InstKit/02info.nsh @@ -1,4 +1,4 @@ !define NAME "MDPlayer" -!define VERSION "STBL445" +!define VERSION "STBL446" !define PUBLISHER "Kumata" !define PACKAGE "${NAME} ${VERSION}" diff --git a/MDPlayer/MDPlayerx64/Driver/RCP/RCS.cs b/MDPlayer/MDPlayerx64/Driver/RCP/RCS.cs index 691b7a44..c3cdf934 100644 --- a/MDPlayer/MDPlayerx64/Driver/RCP/RCS.cs +++ b/MDPlayer/MDPlayerx64/Driver/RCP/RCS.cs @@ -330,7 +330,14 @@ private void rcsControl(MIDITrack trk, MIDIEvent eve) switch (rcsControlMode) { case 0://蜻ィ豕「謨ー螟画峩 - pcmInfos[rcsControlNoteNumber].freq = val; + if (pcm8type == 0) + { + if (val < 5) pcmInfos[rcsControlNoteNumber].freq = val; + } + else + { + pcmInfos[rcsControlNoteNumber].freq = val; + } break; case 1://繝代Φ繝昴ャ繝亥、画峩 pcmInfos[rcsControlNoteNumber].pan = val; @@ -401,7 +408,7 @@ void efNoteOn(MIDITrack trk, MIDIEvent eve) (((eve.MIDIMessage[2] + 1) / 8) << 16) | (pcmInfos[key].freq << 8) | (pcmInfos[key].pan); - if (pcm8type == 0) opmPCM?.x68sound[0].X68Sound_Pcm8_Out(ch, null, (uint)pcmInfos[key].ptr, pcmInfos[key].freq, pcmInfos[key].length);//謖螳壹メ繝」繝ウ繝阪Ν逋コ髻ウ髢句ァ + if (pcm8type == 0) opmPCM?.x68sound[0].X68Sound_Pcm8_Out(ch, null, (uint)pcmInfos[key].ptr, mode, pcmInfos[key].length);//謖螳壹メ繝」繝ウ繝阪Ν逋コ髻ウ髢句ァ else pcm8pp?.KeyOn(ch, (uint)pcmInfos[key].ptr, mode, pcmInfos[key].length);//謖螳壹メ繝」繝ウ繝阪Ν逋コ髻ウ髢句ァ pcm8St[ch].tablePtr = (uint)pcmInfos[key].ptr; pcm8St[ch].mode = (uint)mode; diff --git a/MDPlayer/MDPlayerx64/PlayList.cs b/MDPlayer/MDPlayerx64/PlayList.cs index cd7b8f44..4222cb03 100644 --- a/MDPlayer/MDPlayerx64/PlayList.cs +++ b/MDPlayer/MDPlayerx64/PlayList.cs @@ -438,6 +438,9 @@ private void AddFileLoop(ref int index, Music mc, object entry = null) case EnmFileFormat.RCP: AddFileRCP(ref index, mc, entry); break; + case EnmFileFormat.RCS: + AddFileRCS(ref index, mc, entry); + break; case EnmFileFormat.S98: AddFileS98(ref index, mc, entry); break; @@ -668,6 +671,11 @@ private void AddFileRCS(Music mc, object entry = null) AddFilexxx(mc, entry); } + private void AddFileRCS(ref int index, Music mc, object entry = null) + { + AddFilexxx(ref index, mc, entry); + } + private void AddFileS98(Music mc, object entry = null) { AddFilexxx(mc, entry); diff --git a/MDPlayer/MDPlayerx64/form/SYS/frmPlayList.cs b/MDPlayer/MDPlayerx64/form/SYS/frmPlayList.cs index 1c158244..7e79b6ae 100644 --- a/MDPlayer/MDPlayerx64/form/SYS/frmPlayList.cs +++ b/MDPlayer/MDPlayerx64/form/SYS/frmPlayList.cs @@ -34,7 +34,7 @@ public partial class frmPlayList : Form private Random rand = new System.Random(); private bool IsInitialOpenFolder = true; - private string[] sext = ".vgm;.vgz;.zip;.lzh;.nrd;.xgm;.xgz;.zgm;.s98;.nsf;.hes;.sid;.mnd;.mgs;.bgm;.msd;.mdr;.mdx;.mub;.muc;.m;.m2;.mz;.mml;.mpi;.mvi;.mzi;.opi;.ovi;.ozi;.mid;.zms;.zmd;.rcp;.wav;.mp3;.aiff;.m3u".Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + private string[] sext = ".vgm;.vgz;.zip;.lzh;.nrd;.xgm;.xgz;.zgm;.s98;.nsf;.hes;.sid;.mnd;.mgs;.bgm;.msd;.mdr;.mdx;.mub;.muc;.m;.m2;.mz;.mml;.mpi;.mvi;.mzi;.opi;.ovi;.ozi;.mid;.zms;.zmd;.rcp;.rcs;.wav;.mp3;.aiff;.m3u".Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); public frmPlayList(frmMain frm) {