Windows Apps
Revisión | c429092027ed463e275bc158f991a621b0f8f88a (tree) |
---|---|
Tiempo | 2014-06-29 01:40:40 |
Autor | oga <oga@mxg....> |
Commiter | oga |
V1.04-14 V0.50-13 clear PushRect2[]
@@ -24,7 +24,8 @@ ToDo | ||
24 | 24 | #ステップ実行(Fwd)で表示対象以外のchのデータはスキップ 6/21 V0.50-11 |
25 | 25 | #ステップ実行(Fwd)時の9x(vv>0),Cx,ff5103tttttt(Tempo)以外無視 6/21 V0.50-11 |
26 | 26 | #ギターのエリア表示機能 V1.04-13 (14/06/19-14/06/21) |
27 | - ステップ実行(Rew) 1四分音符の時間分戻す? V0.50-12 (作業中) | |
27 | + #ステップ実行(Rew) 1四分音符の時間分戻す? V0.50-12 (14/06/25) | |
28 | + #キー押下情報が時々残ってしまう。→一時停止解除後にいったんクリア V1.04-14 V0.50-13 (14/06/26) | |
28 | 29 | Tempoが途中で遅くなると演奏が一時止まる(tsubame)。早くなると演奏が飛ぶ(dspirit.mid) |
29 | 30 | Tempoが効かないことがある件調査(Exメッセージ処理不正対策で解決?) |
30 | 31 | 古い鍵盤押下情報の廃止 |
@@ -2032,6 +2032,7 @@ int MidiGetStatus(playstat_t *playstat) | ||
2032 | 2032 | } |
2033 | 2033 | playstat->measure = gmeasure; /* play measure number */ |
2034 | 2034 | playstat->playing = minst.playing; /* play status */ |
2035 | + playstat->pause = pause?1:0; /* pause status V0.50-13-A */ | |
2035 | 2036 | return 0; |
2036 | 2037 | } |
2037 | 2038 |
@@ -6,7 +6,8 @@ | ||
6 | 6 | typedef unsigned int u_int; |
7 | 7 | |
8 | 8 | typedef struct _playstat { |
9 | - int playing; /* current play status 1: playing */ | |
9 | + int playing; /* current play status 1: playing */ | |
10 | + int pause; /* current pause status 1: pause V0.50-13-A */ | |
10 | 11 | int progress; /* play progress rage (1/1000) */ |
11 | 12 | int totaltime; /* total time (delta value) */ |
12 | 13 | int curtime; /* current play position (delta value) */ |
@@ -1859,16 +1859,27 @@ void CWkeyboardDlg::OnBtnPlay() | ||
1859 | 1859 | |
1860 | 1860 | memset(&pstat, 0, sizeof(playstat_t)); |
1861 | 1861 | MidiGetStatus(&pstat); // 再生状態取得 |
1862 | - if (pstat.playing == 0) { | |
1863 | - ClearPushRect2(); | |
1862 | + if (pstat.playing == 0 || pstat.pause == 1) { // V1.04-14-C | |
1863 | + ClearPushRect2(); // Play時に押下情報クリア | |
1864 | 1864 | } |
1865 | 1865 | |
1866 | - MidiPlay(0); // Play | |
1866 | + // Play | |
1867 | + MidiPlay(0); | |
1867 | 1868 | } |
1868 | 1869 | |
1869 | 1870 | void CWkeyboardDlg::OnBtnPause() |
1870 | 1871 | { |
1871 | 1872 | // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください |
1873 | + playstat_t pstat; | |
1874 | + | |
1875 | + // V1.04-14-A start | |
1876 | + memset(&pstat, 0, sizeof(playstat_t)); | |
1877 | + MidiGetStatus(&pstat); // 再生状態取得 | |
1878 | + if (pstat.pause == 1) { | |
1879 | + ClearPushRect2(); // 再Play時に押下情報クリア | |
1880 | + } | |
1881 | + // V1.04-14-A end | |
1882 | + | |
1872 | 1883 | MidiPause(); |
1873 | 1884 | } |
1874 | 1885 |
@@ -1882,12 +1893,14 @@ void CWkeyboardDlg::OnBtnStop() | ||
1882 | 1893 | void CWkeyboardDlg::OnBtnFwOnestep() |
1883 | 1894 | { |
1884 | 1895 | // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください |
1896 | + ClearPushRect2(); // V1.04-14-A | |
1885 | 1897 | MidiPlayOneStep(); |
1886 | 1898 | } |
1887 | 1899 | |
1888 | 1900 | void CWkeyboardDlg::OnBtnRevOnestep() |
1889 | 1901 | { |
1890 | 1902 | // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください |
1903 | + ClearPushRect2(); // V1.04-14-A | |
1891 | 1904 | MidiRevOneStep(); |
1892 | 1905 | } |
1893 | 1906 |