MIDITrail をピカピカにする。鍵盤方向自動切替・多ポート・歌詞対応等
Revision | e32735a243d831f0a6350e178ae4f8f51aacb6f0 (tree) |
---|---|
Time | 2018-04-12 08:44:04 |
Author | yoshy <yoshy@user...> |
Commiter | yoshy |
[ADD] タイムインジケータ・グリッドボックスの表示切替機能を追加
@@ -79,6 +79,10 @@ BEGIN | ||
79 | 79 | MENUITEM "Stars", IDM_ENABLE_STARS |
80 | 80 | MENUITEM "Counter", IDM_ENABLE_COUNTER |
81 | 81 | MENUITEM "Background Image", IDM_ENABLE_BACKGROUNDIMAGE |
82 | +// >>> add 20180404 yossiepon begin | |
83 | + MENUITEM "Time Indicator", IDM_ENABLE_TIMEINDICATOR | |
84 | + MENUITEM "Grid Box", IDM_ENABLE_GRIDBOX | |
85 | +// <<< add 20180404 yossiepon end | |
82 | 86 | MENUITEM SEPARATOR |
83 | 87 | MENUITEM "Auto save viewpoint", 32838 |
84 | 88 | MENUITEM SEPARATOR |
@@ -76,6 +76,10 @@ MIDITrailApp::MIDITrailApp(void) | ||
76 | 76 | m_isEnableCounter = true; |
77 | 77 | m_isEnableFileName = false; |
78 | 78 | m_isEnableBackgroundImage = true; |
79 | +// >>> add 20180404 yossiepon begin | |
80 | + m_isEnableTimeIndicator = true; | |
81 | + m_isEnableGridBox = true; | |
82 | +// <<< add 20180404 yossiepon end | |
79 | 83 | |
80 | 84 | //シーン種別 |
81 | 85 | m_SceneType = Title; |
@@ -683,6 +687,18 @@ LRESULT MIDITrailApp::_WndProcImpl( | ||
683 | 687 | result = _OnMenuEnableEffect(MTScene::EffectBackgroundImage); |
684 | 688 | if (result != 0) goto EXIT; |
685 | 689 | break; |
690 | +// >>> add 20180404 yossiepon begin | |
691 | + case IDM_ENABLE_TIMEINDICATOR: | |
692 | + //表示効果:タイムインジケータ | |
693 | + result = _OnMenuEnableEffect(MTScene::EffectTimeIndicator); | |
694 | + if (result != 0) goto EXIT; | |
695 | + break; | |
696 | + case IDM_ENABLE_GRIDBOX: | |
697 | + //表示効果:グリッドボックス | |
698 | + result = _OnMenuEnableEffect(MTScene::EffectGridBox); | |
699 | + if (result != 0) goto EXIT; | |
700 | + break; | |
701 | +// <<< add 20180404 yossiepon end | |
686 | 702 | case IDM_WINDOWSIZE: |
687 | 703 | //ウィンドウサイズ設定 |
688 | 704 | result = _OnMenuWindowSize(); |
@@ -1275,6 +1291,14 @@ int MIDITrailApp::_OnMenuEnableEffect( | ||
1275 | 1291 | case MTScene::EffectBackgroundImage: |
1276 | 1292 | m_isEnableBackgroundImage = m_isEnableBackgroundImage ? false : true; |
1277 | 1293 | break; |
1294 | +// >>> add 20180404 yossiepon begin | |
1295 | + case MTScene::EffectTimeIndicator: | |
1296 | + m_isEnableTimeIndicator = !m_isEnableTimeIndicator; | |
1297 | + break; | |
1298 | + case MTScene::EffectGridBox: | |
1299 | + m_isEnableGridBox = !m_isEnableGridBox; | |
1300 | + break; | |
1301 | +// <<< add 20180404 yossiepon end | |
1278 | 1302 | default: |
1279 | 1303 | break; |
1280 | 1304 | } |
@@ -2138,7 +2162,10 @@ int MIDITrailApp::_ChangeMenuStyle() | ||
2138 | 2162 | IDM_ENABLE_PITCHBEND, |
2139 | 2163 | IDM_ENABLE_STARS, |
2140 | 2164 | IDM_ENABLE_COUNTER, |
2141 | - IDM_ENABLE_BACKGROUNDIMAGE, | |
2165 | +// >>> add 20180404 yossiepon begin | |
2166 | + IDM_ENABLE_TIMEINDICATOR, | |
2167 | + IDM_ENABLE_GRIDBOX, | |
2168 | +// <<< add 20180404 yossiepon end | |
2142 | 2169 | IDM_WINDOWSIZE, |
2143 | 2170 | IDM_OPTION_MIDIOUT, |
2144 | 2171 | IDM_OPTION_MIDIIN, |
@@ -2178,6 +2205,10 @@ int MIDITrailApp::_ChangeMenuStyle() | ||
2178 | 2205 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_STARS |
2179 | 2206 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_COUNTER |
2180 | 2207 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_BACKGROUNDIMAGE |
2208 | +// >>> add 20180404 yossiepon begin | |
2209 | + { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_TIMEINDICATOR | |
2210 | + { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_GRIDBOX | |
2211 | +// <<< add 20180404 yossiepon end | |
2181 | 2212 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_WINDOWSIZE |
2182 | 2213 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_OPTION_MIDIOUT |
2183 | 2214 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_OPTION_MIDIIN |
@@ -2798,6 +2829,14 @@ int MIDITrailApp::_UpdateMenuCheckmark() | ||
2798 | 2829 | //背景画像表示 |
2799 | 2830 | _CheckMenuItem(IDM_ENABLE_BACKGROUNDIMAGE, m_isEnableBackgroundImage); |
2800 | 2831 | |
2832 | +// >>> add 20180404 yossiepon begin | |
2833 | + //タイムインジケータ表示 | |
2834 | + _CheckMenuItem(IDM_ENABLE_TIMEINDICATOR, m_isEnableTimeIndicator); | |
2835 | + | |
2836 | + //グリッドボックス表示 | |
2837 | + _CheckMenuItem(IDM_ENABLE_GRIDBOX, m_isEnableGridBox); | |
2838 | +// <<< add 20180404 yossiepon end | |
2839 | + | |
2801 | 2840 | //自動視点保存 |
2802 | 2841 | _CheckMenuItem(IDM_AUTO_SAVE_VIEWPOINT, m_isAutoSaveViewpoint); |
2803 | 2842 |
@@ -2840,6 +2879,10 @@ void MIDITrailApp::_UpdateEffect() | ||
2840 | 2879 | m_pScene->SetEffect(MTScene::EffectCounter, m_isEnableCounter); |
2841 | 2880 | m_pScene->SetEffect(MTScene::EffectFileName, m_isEnableFileName); |
2842 | 2881 | m_pScene->SetEffect(MTScene::EffectBackgroundImage, m_isEnableBackgroundImage); |
2882 | +// >>> add 20180404 yossiepon begin | |
2883 | + m_pScene->SetEffect(MTScene::EffectTimeIndicator, m_isEnableTimeIndicator); | |
2884 | + m_pScene->SetEffect(MTScene::EffectGridBox, m_isEnableGridBox); | |
2885 | +// <<< add 20180404 yossiepon end | |
2843 | 2886 | } |
2844 | 2887 | return; |
2845 | 2888 | } |
@@ -43,9 +43,9 @@ using namespace SMIDILib; | ||
43 | 43 | #define WM_FILEPATH_POSTED (WM_USER + 100) |
44 | 44 | |
45 | 45 | //メニュースタイル制御 |
46 | -// >>> modify 20161223 yossiepon begin | |
47 | -#define MT_MENU_NUM (32) | |
48 | -// <<< modify 20161223 yossiepon end | |
46 | +// >>> modify 20180404 yossiepon begin | |
47 | +#define MT_MENU_NUM (34) | |
48 | +// <<< modify 20180404 yossiepon end | |
49 | 49 | #define MT_PLAYSTATUS_NUM (6) |
50 | 50 | |
51 | 51 | //デバイスロスト警告メッセージ |
@@ -181,6 +181,10 @@ private: | ||
181 | 181 | bool m_isEnableCounter; |
182 | 182 | bool m_isEnableFileName; |
183 | 183 | bool m_isEnableBackgroundImage; |
184 | +// >>> add 20180404 yossiepon begin | |
185 | + bool m_isEnableTimeIndicator; | |
186 | + bool m_isEnableGridBox; | |
187 | +// <<< add 20180404 yossiepon end | |
184 | 188 | |
185 | 189 | //シーン種別 |
186 | 190 | SceneType m_SceneType; |
@@ -36,11 +36,13 @@ public: | ||
36 | 36 | //生成 |
37 | 37 | int Create(LPDIRECT3DDEVICE9 pD3DDevice, const TCHAR* pSceneName, SMSeqData* pSeqData); |
38 | 38 | |
39 | +// >>> modify function to virtual 20180404 yossiepon begin | |
39 | 40 | //更新 |
40 | - int Transform(LPDIRECT3DDEVICE9 pD3DDevice, float rollAngle); | |
41 | + virtual int Transform(LPDIRECT3DDEVICE9 pD3DDevice, float rollAngle); | |
41 | 42 | |
42 | 43 | //描画 |
43 | - int Draw(LPDIRECT3DDEVICE9 pD3DDevice); | |
44 | + virtual int Draw(LPDIRECT3DDEVICE9 pD3DDevice); | |
45 | +// <<< modify function to virtual 20180404 yossiepon end | |
44 | 46 | |
45 | 47 | //解放 |
46 | 48 | void Release(); |
@@ -20,6 +20,7 @@ using namespace YNBaseLib; | ||
20 | 20 | //****************************************************************************** |
21 | 21 | MTGridBoxMod::MTGridBoxMod(void) |
22 | 22 | { |
23 | + m_isEnable = true; | |
23 | 24 | } |
24 | 25 | |
25 | 26 | //****************************************************************************** |
@@ -71,3 +72,31 @@ int MTGridBoxMod::Transform( | ||
71 | 72 | |
72 | 73 | return result; |
73 | 74 | } |
75 | + | |
76 | +//****************************************************************************** | |
77 | +// 描画 | |
78 | +//****************************************************************************** | |
79 | +int MTGridBoxMod::Draw( | |
80 | + LPDIRECT3DDEVICE9 pD3DDevice | |
81 | + ) | |
82 | +{ | |
83 | + int result = 0; | |
84 | + | |
85 | + if (!m_isEnable) goto EXIT; | |
86 | + | |
87 | + result = MTGridBox::Draw(pD3DDevice); | |
88 | + if (result != 0) goto EXIT; | |
89 | + | |
90 | +EXIT:; | |
91 | + return result; | |
92 | +} | |
93 | + | |
94 | +//****************************************************************************** | |
95 | +// 表示設定 | |
96 | +//****************************************************************************** | |
97 | +void MTGridBoxMod::SetEnable( | |
98 | + bool isEnable | |
99 | + ) | |
100 | +{ | |
101 | + m_isEnable = isEnable; | |
102 | +} |
@@ -27,5 +27,15 @@ public: | ||
27 | 27 | //更新 |
28 | 28 | virtual int Transform(LPDIRECT3DDEVICE9 pD3DDevice, float rollAngle); |
29 | 29 | |
30 | + //描画 | |
31 | + virtual int Draw(LPDIRECT3DDEVICE9 pD3DDevice); | |
32 | + | |
33 | + //表示設定 | |
34 | + void SetEnable(bool isEnable); | |
35 | + | |
36 | +private: | |
37 | + | |
38 | + //表示可否 | |
39 | + bool m_isEnable; | |
30 | 40 | }; |
31 | 41 |
@@ -34,7 +34,11 @@ public: | ||
34 | 34 | EffectStars, |
35 | 35 | EffectCounter, |
36 | 36 | EffectBackgroundImage, |
37 | - EffectFileName | |
37 | + EffectFileName, | |
38 | +// >>> add 20180404 yossiepon begin | |
39 | + EffectTimeIndicator, | |
40 | + EffectGridBox, | |
41 | +// <<< add 20180404 yossiepon end | |
38 | 42 | }; |
39 | 43 | |
40 | 44 | typedef std::map<std::string, float> MTViewParamMap; |
@@ -388,6 +388,14 @@ void MTScenePianoRoll3DMod::SetEffect( | ||
388 | 388 | case EffectBackgroundImage: |
389 | 389 | m_BackgroundImage.SetEnable(isEnable); |
390 | 390 | break; |
391 | +// >>> add 20180404 yossiepon begin | |
392 | + case EffectTimeIndicator: | |
393 | + m_TimeIndicator.SetEnable(isEnable); | |
394 | + break; | |
395 | + case EffectGridBox: | |
396 | + m_GridBoxMod.SetEnable(isEnable); | |
397 | + break; | |
398 | +// <<< add 20180404 yossiepon end | |
391 | 399 | default: |
392 | 400 | break; |
393 | 401 | } |
@@ -23,6 +23,9 @@ MTTimeIndicator::MTTimeIndicator(void) | ||
23 | 23 | m_CurPos = 0.0f; |
24 | 24 | m_CurTickTime = 0; |
25 | 25 | m_isEnableLine = false; |
26 | +// >>> add 20180404 yossiepon begin | |
27 | + m_isEnable = true; | |
28 | +// <<< add 20180404 yossiepon end | |
26 | 29 | } |
27 | 30 | |
28 | 31 | //****************************************************************************** |
@@ -203,6 +206,12 @@ int MTTimeIndicator::Draw( | ||
203 | 206 | { |
204 | 207 | int result = 0; |
205 | 208 | |
209 | +// >>> add 20180404 yossiepon begin | |
210 | + | |
211 | + if (!m_isEnable) goto EXIT; | |
212 | + | |
213 | +// <<< add 20180404 yossiepon end | |
214 | + | |
206 | 215 | // >>> add 20120728 yossiepon begin |
207 | 216 | |
208 | 217 | //テクスチャステージ設定 |
@@ -377,3 +386,12 @@ D3DXVECTOR3 MTTimeIndicator::GetMoveVector() | ||
377 | 386 | return D3DXVECTOR3(m_CurPos, 0.0f, 0.0f); |
378 | 387 | } |
379 | 388 | |
389 | +//****************************************************************************** | |
390 | +// 表示設定 | |
391 | +//****************************************************************************** | |
392 | +void MTTimeIndicator::SetEnable( | |
393 | + bool isEnable | |
394 | + ) | |
395 | +{ | |
396 | + m_isEnable = isEnable; | |
397 | +} |
@@ -57,6 +57,11 @@ public: | ||
57 | 57 | //移動ベクトル取得 |
58 | 58 | D3DXVECTOR3 GetMoveVector(); |
59 | 59 | |
60 | +// >>> add 20180404 yossiepon begin | |
61 | + //表示設定 | |
62 | + void SetEnable(bool isEnable); | |
63 | +// <<< add 20180404 yossiepon end | |
64 | + | |
60 | 65 | private: |
61 | 66 | |
62 | 67 | DXPrimitive m_Primitive; |
@@ -65,6 +70,11 @@ private: | ||
65 | 70 | MTNoteDesign m_NoteDesign; |
66 | 71 | bool m_isEnableLine; |
67 | 72 | |
73 | +// >>> add 20180404 yossiepon begin | |
74 | + //表示可否 | |
75 | + bool m_isEnable; | |
76 | +// <<< add 20180404 yossiepon end | |
77 | + | |
68 | 78 | unsigned long m_CurTickTime; |
69 | 79 | |
70 | 80 | //頂点バッファ構造体 |
@@ -68,7 +68,13 @@ | ||
68 | 68 | #define IDM_ADD_FILE 32837 |
69 | 69 | // <<< add 20120728 yossiepon end |
70 | 70 | #define IDM_AUTO_SAVE_VIEWPOINT 32838 |
71 | +// >>> add 20180404 yossiepon begin | |
72 | +#define IDM_ENABLE_GRIDBOX 32839 | |
73 | +// <<< add 20180404 yossiepon end | |
71 | 74 | #define IDM_VIEW_PIANOROLLRAIN2D 32840 |
75 | +// >>> add 20180404 yossiepon begin | |
76 | +#define IDM_ENABLE_TIMEINDICATOR 32841 | |
77 | +// <<< add 20180404 yossiepon end | |
72 | 78 | #define IDM_ENABLE_BACKGROUNDIMAGE 32842 |
73 | 79 | #define IDC_STATIC -1 |
74 | 80 |