• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#objective-cqtwindows誰得cocoapythonphprubygameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

Windows Apps


コミットメタ情報

リビジョンc013f595852925b018d3a27a1b7858a9ce262ca0 (tree)
日時2014-06-19 06:22:09
作者oga <oga@mxg....>
コミッターoga

ログメッセージ

move play buttons V1.04-11
add select instrument dialogue 14/06/16 V1.04-12
fix delta time sum 14/06/18 V0.50-10 (midilib)

変更サマリ

差分

Binary files a/wkeyboard/Release/wkeyboard.exe and b/wkeyboard/Release/wkeyboard.exe differ
--- a/wkeyboard/ToDo.txt
+++ b/wkeyboard/ToDo.txt
@@ -7,21 +7,26 @@ ToDo
77 (5)ギターの押さえ位置表示機能(隠し) =>済
88 (6)テンポ測定機能 =>済 (V1.03)
99 (7)midiファイル演奏機能 (V1.04実装中)
10- #midilib作成
11- #とりあえずMIDI再生
12- #打楽器/それ以外切り分け対応
13- #チャンネル別鍵盤色分け対応
14- #プログレスバー対応
15- #ステップ実行(Fwd)
16- #クリックによる再生位置変更
17- #ギター対応
18- #テンポ表示機能
19- #再生秒表示機能
20- #ボタン移動、
10+ #midilib作成 V0.50-01
11+ #とりあえずMIDI再生 V1.04-01
12+ #打楽器/それ以外切り分け対応 V1.04-02
13+ #チャンネル別鍵盤色分け対応 V1.04-03
14+ #プログレスバー対応 V1.04-04
15+ #ステップ実行(Fwd) V1.04-05
16+ #クリックによる再生位置変更 V1.04-06
17+ #ギター対応 V1.04-07
18+ #テンポ表示機能 V1.04-08
19+ #再生時の音色リセット V1.04-09
20+ #再生秒表示機能 V1.04-10
21+ #ボタン移動、 V1.04-11
22+ #チャンネル単位の音有無/鍵盤表示設定機能 6/16 V1.04-12
23+ #Deltaが長いMIDIファイルがある件、原因調査(解析不足?) 6/18 V0.50-10
2124 ステップ実行(Rew) 1四分音符の時間分戻す?
2225 ステップ実行(Fwd)時の8x,9x,Cx,ff5103tttttt(Tempo)以外無視
23- チャンネル単位の音有無/鍵盤表示設定機能
24- Deltaが長いMIDIファイルがある件、原因調査(解析不足?)
25- テンポが適用されないことがある
26+ Tempoが途中で遅くなると演奏が一時止まる
27+ Tempoが効かないことがある件調査
28+ ギターのエリア表示機能
29+ 古い鍵盤押下情報の廃止
30+ 音声のないチャンネルのPiano1は消す
2631 (8)キーボード和音押し表示対応
2732
--- a/wkeyboard/midilib.c
+++ b/wkeyboard/midilib.c
@@ -1145,6 +1145,7 @@ int trknm;
11451145 msec = Delta2MilliSec(delta, tempo);
11461146 msec_total += msec;
11471147 delta_sum += delta;
1148+ /* dlog4("#ReadTrack(track%d) %d: delta = %d delta_sum = %d\n", trknm, idx, delta, delta_sum); */
11481149
11491150 #if 0 /* 小節区切り */
11501151 if ((buf[pt] >> 4) == 9) { /* 9n */
@@ -1231,8 +1232,9 @@ int trknm;
12311232 } else if (cmd1 == 0xf0) { /* System Exclusive message(f0) */
12321233 pt += 2;
12331234 while (buf[pt] != 0xf7 && buf[pt] != 0xff) {
1234- ++pt;
1235+ ++pt; /* skip exclusive message data */
12351236 }
1237+ ++pt; /* fix bug V0.50-10-A */
12361238 } else if (cmd1 == 0xf7) { /* System Exclusive message(f7) */
12371239 pt += 2;
12381240 pt += cmd2;
@@ -1267,6 +1269,7 @@ int trknm;
12671269 if (total_delta < delta_sum) total_delta = delta_sum;
12681270 dlog4("ReadTrack(track%d) numdat = %d track_delta = %d, max_delta = %d\n",
12691271 trknm, idx, delta_sum, total_delta);
1272+ dlog2("ReadTrack(track%d) msec_total = %d\n", trknm, msec_total);
12701273 }
12711274
12721275 /*
--- a/wkeyboard/wkeyboard.clw
+++ b/wkeyboard/wkeyboard.clw
@@ -13,9 +13,9 @@ Class2=CWkeyboardDlg
1313 Class3=CAboutDlg
1414
1515 ResourceCount=4
16-Resource1=IDD_WKEYBOARD_DIALOG
16+Resource1=IDD_ABOUTBOX
1717 Resource2=IDR_MAINFRAME
18-Resource3=IDD_ABOUTBOX
18+Resource3=IDD_WKEYBOARD_DIALOG
1919 Class4=CSelectInst
2020 Resource4=IDD_SELINST_DLG
2121
@@ -52,7 +52,7 @@ Control4=IDOK,button,1342373889
5252 [DLG:IDD_WKEYBOARD_DIALOG]
5353 Type=1
5454 Class=CWkeyboardDlg
55-ControlCount=17
55+ControlCount=18
5656 Control1=IDC_COMBO1,combobox,1344340227
5757 Control2=IDC_BTN_NOTEDOWN10,button,1342242816
5858 Control3=IDC_BTN_NOTEDOWN1,button,1342242816
@@ -70,6 +70,7 @@ Control14=IDC_BTN_PLAY,button,1342242816
7070 Control15=IDC_BTN_REV_ONESTEP,button,1342242816
7171 Control16=IDC_BTN_FW_ONESTEP,button,1342242816
7272 Control17=IDC_BTN_SELINST,button,1342242816
73+Control18=IDC_STATIC,button,1342177287
7374
7475 [DLG:IDD_SELINST_DLG]
7576 Type=1
--- a/wkeyboard/wkeyboard.rc
+++ b/wkeyboard/wkeyboard.rc
@@ -90,7 +90,7 @@ STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
9090 WS_SYSMENU
9191 EXSTYLE WS_EX_APPWINDOW
9292 CAPTION "wkeyboard"
93-FONT 9, "MS Pゴシック", 0, 0, 0x1
93+FONT 9, "MS Pゴシック"
9494 BEGIN
9595 COMBOBOX IDC_COMBO1,7,1,90,115,CBS_DROPDOWNLIST | CBS_SORT |
9696 WS_VSCROLL | WS_TABSTOP
@@ -105,12 +105,13 @@ BEGIN
105105 WS_TABSTOP
106106 PUSHBUTTON "GT",IDC_BTN_GT,102,13,15,12
107107 PUSHBUTTON "DR",IDC_BTN_DR,117,13,15,12
108- PUSHBUTTON "■",IDC_BTN_STOP,162,7,10,12
109- PUSHBUTTON "||",IDC_BTN_PAUSE,173,7,10,12
110- PUSHBUTTON ">",IDC_BTN_PLAY,184,7,10,12
111- PUSHBUTTON "<||",IDC_BTN_REV_ONESTEP,195,7,10,12
112- PUSHBUTTON "||>",IDC_BTN_FW_ONESTEP,206,7,10,12
113- PUSHBUTTON "Inst",IDC_BTN_SELINST,217,7,16,12
108+ PUSHBUTTON "■",IDC_BTN_STOP,162,8,10,12
109+ PUSHBUTTON "||",IDC_BTN_PAUSE,173,8,10,12
110+ PUSHBUTTON ">",IDC_BTN_PLAY,184,8,10,12
111+ PUSHBUTTON "<||",IDC_BTN_REV_ONESTEP,195,8,10,12
112+ PUSHBUTTON "||>",IDC_BTN_FW_ONESTEP,206,8,10,12
113+ PUSHBUTTON "Inst",IDC_BTN_SELINST,217,8,16,12
114+ GROUPBOX "MIDI",IDC_STATIC,159,0,80,24
114115 END
115116
116117 IDD_SELINST_DLG DIALOG DISCARDABLE 0, 0, 131, 197
--- a/wkeyboard/wkeyboardDlg.cpp
+++ b/wkeyboard/wkeyboardDlg.cpp
@@ -828,16 +828,16 @@ void CWkeyboardDlg::DrawGuitar(CDC *pDC)
828828
829829 default:
830830 break;
831- }
831+ }
832832
833- // フレット描画
834- xx += (25*(GT_NFRET-i)/21+10)*(OFFS_GT_W)/495;
835- pDC->SelectObject(pen_glay6); // 明るい
836- DrawLine(pDC, OFFS_GT_X+5+xx, OFFS_GT_Y,
837- 0, OFFS_GT_H, 0);
838- pDC->SelectObject(pen_glay5); // ちと暗いグレー
839- DrawLine(pDC, OFFS_GT_X+6+xx, OFFS_GT_Y,
840- 0, OFFS_GT_H, 0);
833+ // フレット描画
834+ xx += (25*(GT_NFRET-i)/21+10)*(OFFS_GT_W)/495;
835+ pDC->SelectObject(pen_glay6); // 明るい
836+ DrawLine(pDC, OFFS_GT_X+5+xx, OFFS_GT_Y,
837+ 0, OFFS_GT_H, 0);
838+ pDC->SelectObject(pen_glay5); // ちと暗いグレー
839+ DrawLine(pDC, OFFS_GT_X+6+xx, OFFS_GT_Y,
840+ 0, OFFS_GT_H, 0);
841841
842842 }
843843
--- a/wkeyboard/wkeyboardDlg.h
+++ b/wkeyboard/wkeyboardDlg.h
@@ -18,7 +18,7 @@
1818 // +--+--+--+--+
1919 //
2020 #define MIDIMSG(stat, data1, data2) (DWORD)((stat) | ((data1) << 8) | ((data2) << 16))
21-#define MAX_RECT 10 // max mPushRect2
21+#define MAX_RECT 20 // max mPushRect2
2222
2323 typedef struct _midiinst {
2424 HMIDIOUT hmo;