MIDITrail をピカピカにする。鍵盤方向自動切替・多ポート・歌詞対応等
リビジョン | 613d74b807b642f156732bc1bdd908c7f4422a79 (tree) |
---|---|
日時 | 2022-08-12 01:17:15 |
作者 | yoshy <yoshy.org.bitbucket@gz.j...> |
コミッター | yoshy |
[UPGRADE] original 1.3.6
@@ -1,5 +1,5 @@ | ||
1 | 1 | |
2 | -Copyright (c) 2010-2021, WADA Masashi <yknk@users.osdn.me> | |
2 | +Copyright (c) 2010-2022, WADA Masashi <yknk@users.osdn.me> | |
3 | 3 | All rights reserved. |
4 | 4 | |
5 | 5 | Redistribution and use in source and binary forms, with or without |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ディレクショナルライトクラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -105,13 +105,25 @@ D3DXVECTOR3 DXDirLight::GetDirection() | ||
105 | 105 | } |
106 | 106 | |
107 | 107 | //****************************************************************************** |
108 | -// デバイス登録 | |
108 | +// デバイス登録:インデックス0 | |
109 | 109 | //****************************************************************************** |
110 | 110 | int DXDirLight::SetDevice( |
111 | 111 | LPDIRECT3DDEVICE9 pD3DDevice, |
112 | 112 | BOOL isLightON |
113 | 113 | ) |
114 | 114 | { |
115 | + return SetDevice(pD3DDevice, 0, isLightON); | |
116 | +} | |
117 | + | |
118 | +//****************************************************************************** | |
119 | +// デバイス登録:インデックス指定 | |
120 | +//****************************************************************************** | |
121 | +int DXDirLight::SetDevice( | |
122 | + LPDIRECT3DDEVICE9 pD3DDevice, | |
123 | + DWORD index, | |
124 | + BOOL isLightON | |
125 | + ) | |
126 | +{ | |
115 | 127 | int result = 0; |
116 | 128 | HRESULT hresult = D3D_OK; |
117 | 129 |
@@ -132,14 +144,14 @@ int DXDirLight::SetDevice( | ||
132 | 144 | } |
133 | 145 | |
134 | 146 | // ライトをレンダリングパイプラインに設定 |
135 | - hresult = pD3DDevice->SetLight(0, &m_Light); | |
147 | + hresult = pD3DDevice->SetLight(index, &m_Light); | |
136 | 148 | if (FAILED(hresult)) { |
137 | 149 | result = YN_SET_ERR("DirectX API error.", hresult, 0); |
138 | 150 | goto EXIT; |
139 | 151 | } |
140 | 152 | |
141 | 153 | //ライト有効化 |
142 | - hresult = pD3DDevice->LightEnable(0, isLightON); | |
154 | + hresult = pD3DDevice->LightEnable(index, isLightON); | |
143 | 155 | if (FAILED(hresult)) { |
144 | 156 | result = YN_SET_ERR("DirectX API error.", hresult, isLightON); |
145 | 157 | goto EXIT; |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ディレクショナルライトクラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -42,6 +42,11 @@ public: | ||
42 | 42 | LPDIRECT3DDEVICE9 pD3DDevice, |
43 | 43 | BOOL isLightON |
44 | 44 | ); |
45 | + int SetDevice( | |
46 | + LPDIRECT3DDEVICE9 pD3DDevice, | |
47 | + DWORD index, | |
48 | + BOOL isLightON | |
49 | + ); | |
45 | 50 | |
46 | 51 | private: |
47 | 52 |
@@ -83,13 +83,26 @@ BEGIN | ||
83 | 83 | MENUITEM "Stars", IDM_ENABLE_STARS |
84 | 84 | MENUITEM "Counter", IDM_ENABLE_COUNTER |
85 | 85 | MENUITEM "Background Image", IDM_ENABLE_BACKGROUNDIMAGE |
86 | + MENUITEM "Grid Line", IDM_ENABLE_GRIDLINE | |
87 | + MENUITEM "Time Indicator", IDM_ENABLE_TIMEINDICATOR | |
86 | 88 | MENUITEM SEPARATOR |
87 | 89 | MENUITEM "Viewpoint 1\t7", IDM_RESET_VIEWPOINT |
88 | 90 | MENUITEM "Viewpoint 2\t8", IDM_VIEWPOINT2 |
89 | 91 | MENUITEM "Viewpoint 3\t9", IDM_VIEWPOINT3 |
92 | + POPUP "My Viewpoint" | |
93 | + BEGIN | |
94 | + MENUITEM "My Viewpoint 1\tCtrl + 7", IDM_MYVIEWPOINT1 | |
95 | + MENUITEM "My Viewpoint 2\tCtrl + 8", IDM_MYVIEWPOINT2 | |
96 | + MENUITEM "My Viewpoint 3\tCtrl + 9", IDM_MYVIEWPOINT3 | |
97 | + MENUITEM SEPARATOR | |
98 | + MENUITEM "Save My Viewpoint 1\tShift + Ctrl + 7", IDM_SAVE_MYVIEWPOINT1 | |
99 | + MENUITEM "Save My Viewpoint 2\tShift + Ctrl + 8", IDM_SAVE_MYVIEWPOINT2 | |
100 | + MENUITEM "Save My Viewpoint 3\tShift + Ctrl + 9", IDM_SAVE_MYVIEWPOINT3 | |
101 | + END | |
90 | 102 | MENUITEM SEPARATOR |
91 | - MENUITEM "Window size...", IDM_WINDOWSIZE | |
103 | + MENUITEM "Window Size...", IDM_WINDOWSIZE | |
92 | 104 | MENUITEM "Full Screen\tF11", IDM_FULLSCREEN |
105 | + MENUITEM "Menu Bar\tF12", IDM_MENUBAR | |
93 | 106 | END |
94 | 107 | POPUP "Option" |
95 | 108 | BEGIN |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail アプリケーションクラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2021 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -55,6 +55,7 @@ MIDITrailApp::MIDITrailApp(void) | ||
55 | 55 | m_Title[0] = _T('\0'); |
56 | 56 | m_WndClassName[0] = _T('\0'); |
57 | 57 | m_isFullScreen = false; |
58 | + m_isEnableMenuBar = true; | |
58 | 59 | m_hMenu = NULL; |
59 | 60 | |
60 | 61 | //レンダリング系 |
@@ -82,6 +83,8 @@ MIDITrailApp::MIDITrailApp(void) | ||
82 | 83 | m_isEnableCounter = true; |
83 | 84 | m_isEnableFileName = false; |
84 | 85 | m_isEnableBackgroundImage = true; |
86 | + m_isEnableGridLine = true; | |
87 | + m_isEnableTimeIndicator = true; | |
85 | 88 | |
86 | 89 | //シーン種別 |
87 | 90 | m_SceneType = Title; |
@@ -204,6 +207,10 @@ int MIDITrailApp::Initialize( | ||
204 | 207 | result = _LoadSceneConf(); |
205 | 208 | if (result != 0) goto EXIT; |
206 | 209 | |
210 | + //表示効果選択状態読み込み | |
211 | + result = _LoadEffectStatus(); | |
212 | + if (result != 0) goto EXIT; | |
213 | + | |
207 | 214 | //メニュー選択マーク更新 |
208 | 215 | result = _UpdateMenuCheckmark(); |
209 | 216 | if (result != 0) goto EXIT; |
@@ -463,6 +470,23 @@ int MIDITrailApp::_SetWindowSize() | ||
463 | 470 | if (result != 0) goto EXIT; |
464 | 471 | result = m_ViewConf.GetInt(_T("ApplyToViewArea"), &applyToViewArea, 0); |
465 | 472 | if (result != 0) goto EXIT; |
473 | + | |
474 | + //ウィンドウスタイル設定 | |
475 | + apiresult = SetWindowLong(m_hWnd, GWL_STYLE, MIDITRAIL_WINDOW_STYLE); | |
476 | + if (apiresult == 0) { | |
477 | + result = YN_SET_ERR("Windows API error.", GetLastError(), (DWORD64)m_hWnd); | |
478 | + goto EXIT; | |
479 | + } | |
480 | + | |
481 | + //メニューバー表示 | |
482 | + if (m_isEnableMenuBar) { | |
483 | + result = _ShowMenu(); | |
484 | + if (result != 0) goto EXIT; | |
485 | + } | |
486 | + else { | |
487 | + result = _HideMenu(); | |
488 | + if (result != 0) goto EXIT; | |
489 | + } | |
466 | 490 | |
467 | 491 | //初回起動時のウィンドウサイズ |
468 | 492 | if ((width <= 0) || (height <= 0)) { |
@@ -489,18 +513,7 @@ int MIDITrailApp::_SetWindowSize() | ||
489 | 513 | width = width + framew; |
490 | 514 | height = height + frameh; |
491 | 515 | } |
492 | - | |
493 | - //ウィンドウスタイル設定 | |
494 | - apiresult = SetWindowLong(m_hWnd, GWL_STYLE, MIDITRAIL_WINDOW_STYLE); | |
495 | - if (apiresult == 0) { | |
496 | - result = YN_SET_ERR("Windows API error.", GetLastError(), (DWORD64)m_hWnd); | |
497 | - goto EXIT; | |
498 | - } | |
499 | - | |
500 | - //メニューバー表示 | |
501 | - result = _ShowMenu(); | |
502 | - if (result != 0) goto EXIT; | |
503 | - | |
516 | + | |
504 | 517 | //ウィンドウサイズ変更 |
505 | 518 | bresult = SetWindowPos( |
506 | 519 | m_hWnd, //ウィンドウハンドル |
@@ -792,6 +805,16 @@ LRESULT MIDITrailApp::_WndProcImpl( | ||
792 | 805 | result = _OnMenuEnableEffect(MTScene::EffectBackgroundImage); |
793 | 806 | if (result != 0) goto EXIT; |
794 | 807 | break; |
808 | + case IDM_ENABLE_GRIDLINE: | |
809 | + //表示効果:グリッドライン | |
810 | + result = _OnMenuEnableEffect(MTScene::EffectGridLine); | |
811 | + if (result != 0) goto EXIT; | |
812 | + break; | |
813 | + case IDM_ENABLE_TIMEINDICATOR: | |
814 | + //表示効果:タイムインジケータ | |
815 | + result = _OnMenuEnableEffect(MTScene::EffectTimeIndicator); | |
816 | + if (result != 0) goto EXIT; | |
817 | + break; | |
795 | 818 | //自動視点保存と視点保存は廃止 |
796 | 819 | //case IDM_AUTO_SAVE_VIEWPOINT: |
797 | 820 | // //自動視点保存 |
@@ -818,6 +841,36 @@ LRESULT MIDITrailApp::_WndProcImpl( | ||
818 | 841 | result = _OnMenuViewpoint(3); |
819 | 842 | if (result != 0) goto EXIT; |
820 | 843 | break; |
844 | + case IDM_MYVIEWPOINT1: | |
845 | + //私の視点1に移動 | |
846 | + result = _OnMenuMyViewpoint(1); | |
847 | + if (result != 0) goto EXIT; | |
848 | + break; | |
849 | + case IDM_MYVIEWPOINT2: | |
850 | + //私の視点2に移動 | |
851 | + result = _OnMenuMyViewpoint(2); | |
852 | + if (result != 0) goto EXIT; | |
853 | + break; | |
854 | + case IDM_MYVIEWPOINT3: | |
855 | + //私の視点3に移動 | |
856 | + result = _OnMenuMyViewpoint(3); | |
857 | + if (result != 0) goto EXIT; | |
858 | + break; | |
859 | + case IDM_SAVE_MYVIEWPOINT1: | |
860 | + //私の視点1を保存 | |
861 | + result = _OnMenuSaveMyViewpoint(1); | |
862 | + if (result != 0) goto EXIT; | |
863 | + break; | |
864 | + case IDM_SAVE_MYVIEWPOINT2: | |
865 | + //私の視点2を保存 | |
866 | + result = _OnMenuSaveMyViewpoint(2); | |
867 | + if (result != 0) goto EXIT; | |
868 | + break; | |
869 | + case IDM_SAVE_MYVIEWPOINT3: | |
870 | + //私の視点3を保存 | |
871 | + result = _OnMenuSaveMyViewpoint(3); | |
872 | + if (result != 0) goto EXIT; | |
873 | + break; | |
821 | 874 | case IDM_WINDOWSIZE: |
822 | 875 | //ウィンドウサイズ設定 |
823 | 876 | result = _OnMenuWindowSize(); |
@@ -828,6 +881,11 @@ LRESULT MIDITrailApp::_WndProcImpl( | ||
828 | 881 | result = _OnMenuFullScreen(); |
829 | 882 | if (result != 0) goto EXIT; |
830 | 883 | break; |
884 | + case IDM_MENUBAR: | |
885 | + //メニューバー | |
886 | + result = _OnMenuMenuBar(); | |
887 | + if (result != 0) goto EXIT; | |
888 | + break; | |
831 | 889 | case IDM_OPTION_MIDIOUT: |
832 | 890 | //MIDI出力デバイス設定 |
833 | 891 | result = _OnMenuOptionMIDIOUT(); |
@@ -1475,6 +1533,44 @@ EXIT:; | ||
1475 | 1533 | } |
1476 | 1534 | |
1477 | 1535 | //****************************************************************************** |
1536 | +// メニュー選択:私の視点移動 | |
1537 | +//****************************************************************************** | |
1538 | +int MIDITrailApp::_OnMenuMyViewpoint( | |
1539 | + unsigned long viewpointNo | |
1540 | + ) | |
1541 | +{ | |
1542 | + int result = 0; | |
1543 | + | |
1544 | + if (m_PlayStatus == NoData) goto EXIT; | |
1545 | + | |
1546 | + //私の視点に移動 | |
1547 | + result = _MoveToMyViewpoint(viewpointNo); | |
1548 | + if (result != 0) goto EXIT; | |
1549 | + | |
1550 | +EXIT:; | |
1551 | + return result; | |
1552 | +} | |
1553 | + | |
1554 | +//****************************************************************************** | |
1555 | +// メニュー選択:私の視点保存 | |
1556 | +//****************************************************************************** | |
1557 | +int MIDITrailApp::_OnMenuSaveMyViewpoint( | |
1558 | + unsigned long viewpointNo | |
1559 | + ) | |
1560 | +{ | |
1561 | + int result = 0; | |
1562 | + | |
1563 | + if (m_PlayStatus == NoData) goto EXIT; | |
1564 | + | |
1565 | + //私の視点を保存 | |
1566 | + result = _SaveMyViewpoint(viewpointNo); | |
1567 | + if (result != 0) goto EXIT; | |
1568 | + | |
1569 | +EXIT:; | |
1570 | + return result; | |
1571 | +} | |
1572 | + | |
1573 | +//****************************************************************************** | |
1478 | 1574 | // メニュー選択:視点リセット |
1479 | 1575 | //****************************************************************************** |
1480 | 1576 | int MIDITrailApp::_OnMenuResetViewpoint() |
@@ -1539,14 +1635,27 @@ int MIDITrailApp::_OnMenuEnableEffect( | ||
1539 | 1635 | case MTScene::EffectBackgroundImage: |
1540 | 1636 | m_isEnableBackgroundImage = m_isEnableBackgroundImage ? false : true; |
1541 | 1637 | break; |
1638 | + case MTScene::EffectGridLine: | |
1639 | + m_isEnableGridLine = m_isEnableGridLine ? false : true; | |
1640 | + break; | |
1641 | + case MTScene::EffectTimeIndicator: | |
1642 | + m_isEnableTimeIndicator = m_isEnableTimeIndicator ? false : true; | |
1643 | + break; | |
1542 | 1644 | default: |
1543 | 1645 | break; |
1544 | 1646 | } |
1545 | 1647 | |
1648 | + //表示効果反映 | |
1546 | 1649 | _UpdateEffect(); |
1650 | + | |
1651 | + //メニュー選択マーク更新 | |
1547 | 1652 | _UpdateMenuCheckmark(); |
1548 | 1653 | |
1549 | -//EXIT:; | |
1654 | + //表示効果選択状態保存 | |
1655 | + result = _SaveEffectStatus(); | |
1656 | + if (result != 0) goto EXIT; | |
1657 | + | |
1658 | +EXIT:; | |
1550 | 1659 | return result; |
1551 | 1660 | } |
1552 | 1661 |
@@ -1587,6 +1696,21 @@ EXIT:; | ||
1587 | 1696 | } |
1588 | 1697 | |
1589 | 1698 | //****************************************************************************** |
1699 | +// メニュー選択:メニューバー | |
1700 | +//****************************************************************************** | |
1701 | +int MIDITrailApp::_OnMenuMenuBar() | |
1702 | +{ | |
1703 | + int result = 0; | |
1704 | + | |
1705 | + //メニューバー表示切替 | |
1706 | + result = _ToggleMenuBar(); | |
1707 | + if (result != 0) goto EXIT; | |
1708 | + | |
1709 | +EXIT:; | |
1710 | + return result; | |
1711 | +} | |
1712 | + | |
1713 | +//****************************************************************************** | |
1590 | 1714 | // メニュー選択:MIDI出力デバイス設定 |
1591 | 1715 | //****************************************************************************** |
1592 | 1716 | int MIDITrailApp::_OnMenuOptionMIDIOUT() |
@@ -1897,6 +2021,23 @@ int MIDITrailApp::_OnMouseMove( | ||
1897 | 2021 | if (result != 0) goto EXIT; |
1898 | 2022 | } |
1899 | 2023 | } |
2024 | + //ウィンドウ表示の場合 | |
2025 | + else { | |
2026 | + //メニュー非表示の場合 | |
2027 | + //マウスカーソルがウィンドウ上端近くに移動したときだけメニューを表示する | |
2028 | + if (!m_isEnableMenuBar) { | |
2029 | + if (point.y <= 5) { | |
2030 | + //メニューバー表示 | |
2031 | + result = _ShowMenu(); | |
2032 | + if (result != 0) goto EXIT; | |
2033 | + } | |
2034 | + else { | |
2035 | + //メニューバー非表示 | |
2036 | + result = _HideMenu(); | |
2037 | + if (result != 0) goto EXIT; | |
2038 | + } | |
2039 | + } | |
2040 | + } | |
1900 | 2041 | |
1901 | 2042 | EXIT:; |
1902 | 2043 | return result; |
@@ -1974,21 +2115,57 @@ int MIDITrailApp::_OnKeyDown( | ||
1974 | 2115 | break; |
1975 | 2116 | case '7': |
1976 | 2117 | case VK_NUMPAD7: |
1977 | - //視点リセット | |
1978 | - result = _OnMenuResetViewpoint(); | |
1979 | - if (result != 0) goto EXIT; | |
2118 | + if ((GetKeyState(VK_SHIFT) & 0x8000) && (GetKeyState(VK_CONTROL) & 0x8000)) { | |
2119 | + //私の視点1保存 | |
2120 | + result = _OnMenuSaveMyViewpoint(1); | |
2121 | + if (result != 0) goto EXIT; | |
2122 | + } | |
2123 | + else if (GetKeyState(VK_CONTROL) & 0x8000) { | |
2124 | + //私の視点1移動 | |
2125 | + result = _OnMenuMyViewpoint(1); | |
2126 | + if (result != 0) goto EXIT; | |
2127 | + } | |
2128 | + else { | |
2129 | + //視点リセット | |
2130 | + result = _OnMenuResetViewpoint(); | |
2131 | + if (result != 0) goto EXIT; | |
2132 | + } | |
1980 | 2133 | break; |
1981 | 2134 | case '8': |
1982 | 2135 | case VK_NUMPAD8: |
1983 | - //静的視点2移動 | |
1984 | - result = _OnMenuViewpoint(2); | |
1985 | - if (result != 0) goto EXIT; | |
2136 | + if ((GetKeyState(VK_SHIFT) & 0x8000) && (GetKeyState(VK_CONTROL) & 0x8000)) { | |
2137 | + //私の視点2保存 | |
2138 | + result = _OnMenuSaveMyViewpoint(2); | |
2139 | + if (result != 0) goto EXIT; | |
2140 | + } | |
2141 | + else if (GetKeyState(VK_CONTROL) & 0x8000) { | |
2142 | + //私の視点2移動 | |
2143 | + result = _OnMenuMyViewpoint(2); | |
2144 | + if (result != 0) goto EXIT; | |
2145 | + } | |
2146 | + else { | |
2147 | + //静的視点2移動 | |
2148 | + result = _OnMenuViewpoint(2); | |
2149 | + if (result != 0) goto EXIT; | |
2150 | + } | |
1986 | 2151 | break; |
1987 | 2152 | case '9': |
1988 | 2153 | case VK_NUMPAD9: |
1989 | - //静的視点3移動 | |
1990 | - result = _OnMenuViewpoint(3); | |
1991 | - if (result != 0) goto EXIT; | |
2154 | + if ((GetKeyState(VK_SHIFT) & 0x8000) && (GetKeyState(VK_CONTROL) & 0x8000)) { | |
2155 | + //私の視点3保存 | |
2156 | + result = _OnMenuSaveMyViewpoint(3); | |
2157 | + if (result != 0) goto EXIT; | |
2158 | + } | |
2159 | + else if (GetKeyState(VK_CONTROL) & 0x8000) { | |
2160 | + //私の視点3移動 | |
2161 | + result = _OnMenuMyViewpoint(3); | |
2162 | + if (result != 0) goto EXIT; | |
2163 | + } | |
2164 | + else { | |
2165 | + //静的視点3移動 | |
2166 | + result = _OnMenuViewpoint(3); | |
2167 | + if (result != 0) goto EXIT; | |
2168 | + } | |
1992 | 2169 | break; |
1993 | 2170 | case 'O': |
1994 | 2171 | if (GetKeyState(VK_CONTROL) & 0x8000) { |
@@ -2017,6 +2194,11 @@ int MIDITrailApp::_OnKeyDown( | ||
2017 | 2194 | result = _OnMenuFullScreen(); |
2018 | 2195 | if (result != 0) goto EXIT; |
2019 | 2196 | break; |
2197 | + case VK_F12: | |
2198 | + //メニューバー | |
2199 | + result = _OnMenuMenuBar(); | |
2200 | + if (result != 0) goto EXIT; | |
2201 | + break; | |
2020 | 2202 | default: |
2021 | 2203 | break; |
2022 | 2204 | } |
@@ -2630,11 +2812,20 @@ int MIDITrailApp::_ChangeMenuStyle() | ||
2630 | 2812 | IDM_ENABLE_STARS, |
2631 | 2813 | IDM_ENABLE_COUNTER, |
2632 | 2814 | IDM_ENABLE_BACKGROUNDIMAGE, |
2815 | + IDM_ENABLE_GRIDLINE, | |
2816 | + IDM_ENABLE_TIMEINDICATOR, | |
2633 | 2817 | IDM_RESET_VIEWPOINT, |
2634 | 2818 | IDM_VIEWPOINT2, |
2635 | 2819 | IDM_VIEWPOINT3, |
2820 | + IDM_MYVIEWPOINT1, | |
2821 | + IDM_MYVIEWPOINT2, | |
2822 | + IDM_MYVIEWPOINT3, | |
2823 | + IDM_SAVE_MYVIEWPOINT1, | |
2824 | + IDM_SAVE_MYVIEWPOINT2, | |
2825 | + IDM_SAVE_MYVIEWPOINT3, | |
2636 | 2826 | IDM_WINDOWSIZE, |
2637 | 2827 | IDM_FULLSCREEN, |
2828 | + IDM_MENUBAR, | |
2638 | 2829 | IDM_OPTION_MIDIOUT, |
2639 | 2830 | IDM_OPTION_MIDIIN, |
2640 | 2831 | IDM_OPTION_GRAPHIC, |
@@ -2672,11 +2863,20 @@ int MIDITrailApp::_ChangeMenuStyle() | ||
2672 | 2863 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_STARS |
2673 | 2864 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_COUNTER |
2674 | 2865 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_BACKGROUNDIMAGE |
2866 | + { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_GRIDLINE | |
2867 | + { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_TIMEINDICATOR | |
2675 | 2868 | { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_RESET_VIEWPOINT |
2676 | 2869 | { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_VIEWPOINT2 |
2677 | 2870 | { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_VIEWPOINT3 |
2871 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_MYVIEWPOINT1 | |
2872 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_MYVIEWPOINT2 | |
2873 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_MYVIEWPOINT3 | |
2874 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_SAVE_MYVIEWPOINT1 | |
2875 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_SAVE_MYVIEWPOINT2 | |
2876 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_SAVE_MYVIEWPOINT3 | |
2678 | 2877 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_WINDOWSIZE |
2679 | 2878 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_FULLSCREEN |
2879 | + { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_MENUBAR | |
2680 | 2880 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_OPTION_MIDIOUT |
2681 | 2881 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_OPTION_MIDIIN |
2682 | 2882 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_OPTION_GRAPHIC |
@@ -2929,6 +3129,100 @@ EXIT:; | ||
2929 | 3129 | } |
2930 | 3130 | |
2931 | 3131 | //****************************************************************************** |
3132 | +// 表示効果選択状態読み込み | |
3133 | +//****************************************************************************** | |
3134 | +int MIDITrailApp::_LoadEffectStatus() | |
3135 | +{ | |
3136 | + int result = 0; | |
3137 | + int value = 0; | |
3138 | + | |
3139 | + result = m_ViewConf.SetCurSection(_T("Effect")); | |
3140 | + if (result != 0) goto EXIT; | |
3141 | + | |
3142 | + result = m_ViewConf.GetInt(_T("PianoKeyboard"), &value, 1); | |
3143 | + if (result != 0) goto EXIT; | |
3144 | + m_isEnablePianoKeyboard = (value > 0)? true : false; | |
3145 | + | |
3146 | + result = m_ViewConf.GetInt(_T("Ripple"), &value, 1); | |
3147 | + if (result != 0) goto EXIT; | |
3148 | + m_isEnableRipple = (value > 0)? true : false; | |
3149 | + | |
3150 | + result = m_ViewConf.GetInt(_T("PitchBend"), &value, 1); | |
3151 | + if (result != 0) goto EXIT; | |
3152 | + m_isEnablePitchBend = (value > 0)? true : false; | |
3153 | + | |
3154 | + result = m_ViewConf.GetInt(_T("Stars"), &value, 1); | |
3155 | + if (result != 0) goto EXIT; | |
3156 | + m_isEnableStars = (value > 0)? true : false; | |
3157 | + | |
3158 | + result = m_ViewConf.GetInt(_T("Counter"), &value, 1); | |
3159 | + if (result != 0) goto EXIT; | |
3160 | + m_isEnableCounter = (value > 0)? true : false; | |
3161 | + | |
3162 | + result = m_ViewConf.GetInt(_T("BackgroundImage"), &value, 1); | |
3163 | + if (result != 0) goto EXIT; | |
3164 | + m_isEnableBackgroundImage = (value > 0)? true : false; | |
3165 | + | |
3166 | + result = m_ViewConf.GetInt(_T("GridLine"), &value, 1); | |
3167 | + if (result != 0) goto EXIT; | |
3168 | + m_isEnableGridLine = (value > 0)? true : false; | |
3169 | + | |
3170 | + result = m_ViewConf.GetInt(_T("TimeIndicator"), &value, 1); | |
3171 | + if (result != 0) goto EXIT; | |
3172 | + m_isEnableTimeIndicator = (value > 0)? true : false; | |
3173 | + | |
3174 | +EXIT:; | |
3175 | + return result; | |
3176 | +} | |
3177 | + | |
3178 | +//****************************************************************************** | |
3179 | +// 表示効果選択状態保存 | |
3180 | +//****************************************************************************** | |
3181 | +int MIDITrailApp::_SaveEffectStatus() | |
3182 | +{ | |
3183 | + int result = 0; | |
3184 | + int value = 0; | |
3185 | + | |
3186 | + result = m_ViewConf.SetCurSection(_T("Effect")); | |
3187 | + if (result != 0) goto EXIT; | |
3188 | + | |
3189 | + value = m_isEnablePianoKeyboard ? 1 : 0; | |
3190 | + result = m_ViewConf.SetInt(_T("PianoKeyboard"), value); | |
3191 | + if (result != 0) goto EXIT; | |
3192 | + | |
3193 | + value = m_isEnableRipple ? 1 : 0; | |
3194 | + result = m_ViewConf.SetInt(_T("Ripple"), value); | |
3195 | + if (result != 0) goto EXIT; | |
3196 | + | |
3197 | + value = m_isEnablePitchBend ? 1 : 0; | |
3198 | + result = m_ViewConf.SetInt(_T("PitchBend"), value); | |
3199 | + if (result != 0) goto EXIT; | |
3200 | + | |
3201 | + value = m_isEnableStars ? 1 : 0; | |
3202 | + result = m_ViewConf.SetInt(_T("Stars"), value); | |
3203 | + if (result != 0) goto EXIT; | |
3204 | + | |
3205 | + value = m_isEnableCounter ? 1 : 0; | |
3206 | + result = m_ViewConf.SetInt(_T("Counter"), value); | |
3207 | + if (result != 0) goto EXIT; | |
3208 | + | |
3209 | + value = m_isEnableBackgroundImage ? 1 : 0; | |
3210 | + result = m_ViewConf.SetInt(_T("BackgroundImage"), value); | |
3211 | + if (result != 0) goto EXIT; | |
3212 | + | |
3213 | + value = m_isEnableGridLine ? 1 : 0; | |
3214 | + result = m_ViewConf.SetInt(_T("GridLine"), value); | |
3215 | + if (result != 0) goto EXIT; | |
3216 | + | |
3217 | + value = m_isEnableTimeIndicator ? 1 : 0; | |
3218 | + result = m_ViewConf.SetInt(_T("TimeIndicator"), value); | |
3219 | + if (result != 0) goto EXIT; | |
3220 | + | |
3221 | +EXIT:; | |
3222 | + return result; | |
3223 | +} | |
3224 | + | |
3225 | +//****************************************************************************** | |
2932 | 3226 | // 視点読み込み |
2933 | 3227 | //****************************************************************************** |
2934 | 3228 | int MIDITrailApp::_LoadViewpoint() |
@@ -2996,6 +3290,74 @@ EXIT:; | ||
2996 | 3290 | } |
2997 | 3291 | |
2998 | 3292 | //****************************************************************************** |
3293 | +// 私の視点に移動 | |
3294 | +//****************************************************************************** | |
3295 | +int MIDITrailApp::_MoveToMyViewpoint( | |
3296 | + unsigned long viewpointNo | |
3297 | + ) | |
3298 | +{ | |
3299 | + int result = 0; | |
3300 | + MTScene::MTViewParamMap defParamMap; | |
3301 | + MTScene::MTViewParamMap viewParamMap; | |
3302 | + MTScene::MTViewParamMap::iterator itr; | |
3303 | + TCHAR section[256] = {_T('\0')}; | |
3304 | + float param = 0.0f; | |
3305 | + | |
3306 | + //シーンからデフォルト視点を取得 | |
3307 | + m_pScene->GetDefaultViewParam(&defParamMap); | |
3308 | + | |
3309 | + //セクション名 | |
3310 | + _stprintf_s(section, 256, _T("MyViewpoint-%d-"), viewpointNo); | |
3311 | + _tcscat_s(section, 256, m_pScene->GetName()); | |
3312 | + result = m_ViewConf.SetCurSection(section); | |
3313 | + if (result != 0) goto EXIT; | |
3314 | + | |
3315 | + //パラメータを設定ファイルから取得(未設定の場合はデフォルト視点を適用) | |
3316 | + for (itr = defParamMap.begin(); itr != defParamMap.end(); itr++) { | |
3317 | + result = m_ViewConf.GetFloat((itr->first).c_str(), ¶m, itr->second); | |
3318 | + if (result != 0) goto EXIT; | |
3319 | + viewParamMap.insert(MTScene::MTViewParamMapPair((itr->first).c_str(), param)); | |
3320 | + } | |
3321 | + | |
3322 | + //視点が切り替えられたことをシーンに伝達 | |
3323 | + m_pScene->SetViewParam(&viewParamMap); | |
3324 | + | |
3325 | +EXIT:; | |
3326 | + return result; | |
3327 | +} | |
3328 | + | |
3329 | +//****************************************************************************** | |
3330 | +// 私の視点保存 | |
3331 | +//****************************************************************************** | |
3332 | +int MIDITrailApp::_SaveMyViewpoint( | |
3333 | + unsigned long viewpointNo | |
3334 | + ) | |
3335 | +{ | |
3336 | + int result = 0; | |
3337 | + MTScene::MTViewParamMap viewParamMap; | |
3338 | + MTScene::MTViewParamMap::iterator itr; | |
3339 | + TCHAR section[256] = {_T('\0')}; | |
3340 | + | |
3341 | + //シーンから現在の視点を取得 | |
3342 | + m_pScene->GetViewParam(&viewParamMap); | |
3343 | + | |
3344 | + //セクション名 | |
3345 | + _stprintf_s(section, 256, _T("MyViewpoint-%d-"), viewpointNo); | |
3346 | + _tcscat_s(section, 256, m_pScene->GetName()); | |
3347 | + result = m_ViewConf.SetCurSection(section); | |
3348 | + if (result != 0) goto EXIT; | |
3349 | + | |
3350 | + //パラメータを設定ファイルに登録 | |
3351 | + for (itr = viewParamMap.begin(); itr != viewParamMap.end(); itr++) { | |
3352 | + result = m_ViewConf.SetFloat((itr->first).c_str(), itr->second); | |
3353 | + if (result != 0) goto EXIT; | |
3354 | + } | |
3355 | + | |
3356 | +EXIT:; | |
3357 | + return result; | |
3358 | +} | |
3359 | + | |
3360 | +//****************************************************************************** | |
2999 | 3361 | // グラフィック設定読み込み |
3000 | 3362 | //****************************************************************************** |
3001 | 3363 | int MIDITrailApp::_LoadGraphicConf() |
@@ -3335,12 +3697,21 @@ int MIDITrailApp::_UpdateMenuCheckmark() | ||
3335 | 3697 | //背景画像表示 |
3336 | 3698 | _CheckMenuItem(IDM_ENABLE_BACKGROUNDIMAGE, m_isEnableBackgroundImage); |
3337 | 3699 | |
3338 | - //自動視点保存 | |
3339 | - _CheckMenuItem(IDM_AUTO_SAVE_VIEWPOINT, m_isAutoSaveViewpoint); | |
3700 | + //自動視点保存は廃止 | |
3701 | + //_CheckMenuItem(IDM_AUTO_SAVE_VIEWPOINT, m_isAutoSaveViewpoint); | |
3702 | + | |
3703 | + //グリッドライン | |
3704 | + _CheckMenuItem(IDM_ENABLE_GRIDLINE, m_isEnableGridLine); | |
3705 | + | |
3706 | + //タイムインジケータ | |
3707 | + _CheckMenuItem(IDM_ENABLE_TIMEINDICATOR, m_isEnableTimeIndicator); | |
3340 | 3708 | |
3341 | 3709 | //フルスクリーン |
3342 | 3710 | _CheckMenuItem(IDM_FULLSCREEN, m_isFullScreen); |
3343 | - | |
3711 | + | |
3712 | + //メニューバー | |
3713 | + _CheckMenuItem(IDM_MENUBAR, m_isEnableMenuBar); | |
3714 | + | |
3344 | 3715 | EXIT:; |
3345 | 3716 | return result; |
3346 | 3717 | } |
@@ -3378,8 +3749,10 @@ void MIDITrailApp::_UpdateEffect() | ||
3378 | 3749 | m_pScene->SetEffect(MTScene::EffectPitchBend, m_isEnablePitchBend); |
3379 | 3750 | m_pScene->SetEffect(MTScene::EffectStars, m_isEnableStars); |
3380 | 3751 | m_pScene->SetEffect(MTScene::EffectCounter, m_isEnableCounter); |
3381 | - m_pScene->SetEffect(MTScene::EffectFileName, m_isEnableFileName); | |
3382 | 3752 | m_pScene->SetEffect(MTScene::EffectBackgroundImage, m_isEnableBackgroundImage); |
3753 | + m_pScene->SetEffect(MTScene::EffectGridLine, m_isEnableGridLine); | |
3754 | + m_pScene->SetEffect(MTScene::EffectTimeIndicator, m_isEnableTimeIndicator); | |
3755 | + m_pScene->SetEffect(MTScene::EffectFileName, m_isEnableFileName); | |
3383 | 3756 | } |
3384 | 3757 | return; |
3385 | 3758 | } |
@@ -4085,6 +4458,22 @@ EXIT:; | ||
4085 | 4458 | } |
4086 | 4459 | |
4087 | 4460 | //****************************************************************************** |
4461 | +// メニューバー表示切替 | |
4462 | +//****************************************************************************** | |
4463 | +int MIDITrailApp::_ToggleMenuBar() | |
4464 | +{ | |
4465 | + int result = 0; | |
4466 | + | |
4467 | + m_isEnableMenuBar = m_isEnableMenuBar ? false : true; | |
4468 | + | |
4469 | + result = _ChangeWindowSize(); | |
4470 | + if (result != 0) goto EXIT; | |
4471 | + | |
4472 | +EXIT:; | |
4473 | + return result; | |
4474 | +} | |
4475 | + | |
4476 | +//****************************************************************************** | |
4088 | 4477 | // メニュー表示 |
4089 | 4478 | //****************************************************************************** |
4090 | 4479 | int MIDITrailApp::_ShowMenu() |
@@ -4263,3 +4652,4 @@ EXIT:; | ||
4263 | 4652 | return result; |
4264 | 4653 | } |
4265 | 4654 | |
4655 | + |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail アプリケーションクラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2021 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -45,7 +45,7 @@ using namespace SMIDILib; | ||
45 | 45 | |
46 | 46 | //メニュースタイル制御 |
47 | 47 | //TAG:シーン追加 |
48 | -#define MT_MENU_NUM (37) | |
48 | +#define MT_MENU_NUM (46) | |
49 | 49 | #define MT_PLAYSTATUS_NUM (6) |
50 | 50 | |
51 | 51 | //デバイスロスト警告メッセージ |
@@ -161,6 +161,7 @@ private: | ||
161 | 161 | TCHAR m_Title[MAX_LOADSTRING]; |
162 | 162 | TCHAR m_WndClassName[MAX_LOADSTRING]; |
163 | 163 | bool m_isFullScreen; |
164 | + bool m_isEnableMenuBar; | |
164 | 165 | HMENU m_hMenu; |
165 | 166 | |
166 | 167 | //レンダリング系 |
@@ -196,6 +197,8 @@ private: | ||
196 | 197 | bool m_isEnableCounter; |
197 | 198 | bool m_isEnableFileName; |
198 | 199 | bool m_isEnableBackgroundImage; |
200 | + bool m_isEnableGridLine; | |
201 | + bool m_isEnableTimeIndicator; | |
199 | 202 | |
200 | 203 | //シーン種別 |
201 | 204 | SceneType m_SceneType; |
@@ -288,10 +291,13 @@ private: | ||
288 | 291 | int _OnMenuAutoSaveViewpoint(); |
289 | 292 | int _OnMenuResetViewpoint(); |
290 | 293 | int _OnMenuViewpoint(unsigned long viewpointNo); |
294 | + int _OnMenuMyViewpoint(unsigned long viewpointNo); | |
295 | + int _OnMenuSaveMyViewpoint(unsigned long viewpointNo); | |
291 | 296 | int _OnMenuSaveViewpoint(); |
292 | 297 | int _OnMenuEnableEffect(MTScene::EffectType type); |
293 | 298 | int _OnMenuWindowSize(); |
294 | 299 | int _OnMenuFullScreen(); |
300 | + int _OnMenuMenuBar(); | |
295 | 301 | int _OnMenuOptionMIDIOUT(); |
296 | 302 | int _OnMenuOptionMIDIIN(); |
297 | 303 | int _OnMenuOptionGraphic(); |
@@ -322,8 +328,12 @@ private: | ||
322 | 328 | int _SaveSceneType(); |
323 | 329 | int _LoadSceneConf(); |
324 | 330 | int _SaveSceneConf(); |
331 | + int _LoadEffectStatus(); | |
332 | + int _SaveEffectStatus(); | |
325 | 333 | int _LoadViewpoint(); |
326 | 334 | int _SaveViewpoint(); |
335 | + int _MoveToMyViewpoint(unsigned long viewpointNo); | |
336 | + int _SaveMyViewpoint(unsigned long viewpointNo); | |
327 | 337 | int _LoadGraphicConf(); |
328 | 338 | int _LoadPlayerConf(); |
329 | 339 | int _OnDestroy(); |
@@ -348,6 +358,7 @@ private: | ||
348 | 358 | int _StopPlaybackAndOpenFolder(const TCHAR* pFolderPath); |
349 | 359 | int _FileOpenProc(const TCHAR* pFilePath); |
350 | 360 | int _ToggleFullScreen(); |
361 | + int _ToggleMenuBar(); | |
351 | 362 | int _ShowMenu(); |
352 | 363 | int _HideMenu(); |
353 | 364 | int _GamePadProc(); |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail バージョン定義 |
6 | 6 | // |
7 | -// Copyright (C) 2014-2021 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2014-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -16,10 +16,10 @@ | ||
16 | 16 | //****************************************************************************** |
17 | 17 | |
18 | 18 | //バージョン文字列 |
19 | -#define MIDITRAIL_VERSION_STRING_X86 _T("Version 1.3.4 (32bit)") | |
20 | -#define MIDITRAIL_VERSION_STRING_X64 _T("Version 1.3.4 (64bit)") | |
19 | +#define MIDITRAIL_VERSION_STRING_X86 _T("Version 1.3.6 (32bit)") | |
20 | +#define MIDITRAIL_VERSION_STRING_X64 _T("Version 1.3.6 (64bit)") | |
21 | 21 | |
22 | 22 | //コピーライト |
23 | -#define MIDITRAIL_COPYRIGHT _T("Copyright (C) 2010-2021 WADA Masashi"); | |
23 | +#define MIDITRAIL_COPYRIGHT _T("Copyright (C) 2010-2022 WADA Masashi"); | |
24 | 24 | |
25 | 25 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // グリッドボックス描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -22,6 +22,7 @@ MTGridBox::MTGridBox(void) | ||
22 | 22 | { |
23 | 23 | m_BarNum = 0; |
24 | 24 | m_isVisible = true; |
25 | + m_isEnable = true; | |
25 | 26 | } |
26 | 27 | |
27 | 28 | //****************************************************************************** |
@@ -192,7 +193,7 @@ int MTGridBox::Draw( | ||
192 | 193 | { |
193 | 194 | int result = 0; |
194 | 195 | |
195 | - if (m_isVisible) { | |
196 | + if (m_isEnable && m_isVisible) { | |
196 | 197 | result = m_Primitive.Draw(pD3DDevice); |
197 | 198 | if (result != 0) goto EXIT; |
198 | 199 | } |
@@ -497,3 +498,13 @@ void MTGridBox::_MakeMaterial( | ||
497 | 498 | pMaterial->Emissive.a = 0.0f; |
498 | 499 | } |
499 | 500 | |
501 | +//****************************************************************************** | |
502 | +// 表示設定 | |
503 | +//****************************************************************************** | |
504 | +void MTGridBox::SetEnable( | |
505 | + bool isEnable | |
506 | + ) | |
507 | +{ | |
508 | + m_isEnable = isEnable; | |
509 | +} | |
510 | + |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // グリッドボックス描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -45,6 +45,9 @@ public: | ||
45 | 45 | //解放 |
46 | 46 | void Release(); |
47 | 47 | |
48 | + //表示設定 | |
49 | + void SetEnable(bool isEnable); | |
50 | + | |
48 | 51 | private: |
49 | 52 | |
50 | 53 | DXPrimitive m_Primitive; |
@@ -52,6 +55,7 @@ private: | ||
52 | 55 | SMPortList m_PortList; |
53 | 56 | MTNoteDesign m_NoteDesign; |
54 | 57 | bool m_isVisible; |
58 | + bool m_isEnable; | |
55 | 59 | |
56 | 60 | //頂点バッファ構造体 |
57 | 61 | struct MTGRIDBOX_VERTEX { |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用グリッドボックス描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -21,6 +21,7 @@ using namespace YNBaseLib; | ||
21 | 21 | MTGridBoxLive::MTGridBoxLive(void) |
22 | 22 | { |
23 | 23 | m_isVisible = true; |
24 | + m_isEnable = true; | |
24 | 25 | } |
25 | 26 | |
26 | 27 | //****************************************************************************** |
@@ -155,7 +156,7 @@ int MTGridBoxLive::Draw( | ||
155 | 156 | { |
156 | 157 | int result = 0; |
157 | 158 | |
158 | - if (m_isVisible) { | |
159 | + if (m_isEnable && m_isVisible) { | |
159 | 160 | result = m_Primitive.Draw(pD3DDevice); |
160 | 161 | if (result != 0) goto EXIT; |
161 | 162 | } |
@@ -292,4 +293,14 @@ void MTGridBoxLive::_MakeMaterial( | ||
292 | 293 | pMaterial->Emissive.a = 0.0f; |
293 | 294 | } |
294 | 295 | |
296 | +//****************************************************************************** | |
297 | +// 表示設定 | |
298 | +//****************************************************************************** | |
299 | +void MTGridBoxLive::SetEnable( | |
300 | + bool isEnable | |
301 | + ) | |
302 | +{ | |
303 | + m_isEnable = isEnable; | |
304 | +} | |
305 | + | |
295 | 306 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用グリッドボックス描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -42,11 +42,15 @@ public: | ||
42 | 42 | //解放 |
43 | 43 | void Release(); |
44 | 44 | |
45 | + //表示設定 | |
46 | + void SetEnable(bool isEnable); | |
47 | + | |
45 | 48 | private: |
46 | 49 | |
47 | 50 | DXPrimitive m_Primitive; |
48 | 51 | MTNoteDesign m_NoteDesign; |
49 | 52 | bool m_isVisible; |
53 | + bool m_isEnable; | |
50 | 54 | |
51 | 55 | //頂点バッファ構造体 |
52 | 56 | struct MTGRIDBOXLIVE_VERTEX { |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // グリッドリング描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -23,6 +23,7 @@ MTGridRing::MTGridRing(void) | ||
23 | 23 | { |
24 | 24 | m_BarNum = 0; |
25 | 25 | m_isVisible = true; |
26 | + m_isEnable = true; | |
26 | 27 | } |
27 | 28 | |
28 | 29 | //****************************************************************************** |
@@ -174,7 +175,7 @@ int MTGridRing::Draw( | ||
174 | 175 | { |
175 | 176 | int result = 0; |
176 | 177 | |
177 | - if (m_isVisible) { | |
178 | + if (m_isEnable && m_isVisible) { | |
178 | 179 | result = m_Primitive.Draw(pD3DDevice); |
179 | 180 | if (result != 0) goto EXIT; |
180 | 181 | } |
@@ -302,4 +303,14 @@ void MTGridRing::_MakeMaterial( | ||
302 | 303 | pMaterial->Emissive.a = 0.0f; |
303 | 304 | } |
304 | 305 | |
306 | +//****************************************************************************** | |
307 | +// 表示設定 | |
308 | +//****************************************************************************** | |
309 | +void MTGridRing::SetEnable( | |
310 | + bool isEnable | |
311 | + ) | |
312 | +{ | |
313 | + m_isEnable = isEnable; | |
314 | +} | |
315 | + | |
305 | 316 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // グリッドリング描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -42,6 +42,9 @@ public: | ||
42 | 42 | //解放 |
43 | 43 | void Release(); |
44 | 44 | |
45 | + //表示設定 | |
46 | + void SetEnable(bool isEnable); | |
47 | + | |
45 | 48 | private: |
46 | 49 | |
47 | 50 | DXPrimitive m_Primitive; |
@@ -49,6 +52,7 @@ private: | ||
49 | 52 | SMPortList m_PortList; |
50 | 53 | MTNoteDesignRing m_NoteDesign; |
51 | 54 | bool m_isVisible; |
55 | + bool m_isEnable; | |
52 | 56 | |
53 | 57 | //頂点バッファ構造体 |
54 | 58 | struct MTGRIDBOX_VERTEX { |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用グリッドリング描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -22,6 +22,7 @@ using namespace YNBaseLib; | ||
22 | 22 | MTGridRingLive::MTGridRingLive(void) |
23 | 23 | { |
24 | 24 | m_isVisible = true; |
25 | + m_isEnable = true; | |
25 | 26 | } |
26 | 27 | |
27 | 28 | //****************************************************************************** |
@@ -156,7 +157,7 @@ int MTGridRingLive::Draw( | ||
156 | 157 | { |
157 | 158 | int result = 0; |
158 | 159 | |
159 | - if (m_isVisible) { | |
160 | + if (m_isEnable && m_isVisible) { | |
160 | 161 | result = m_Primitive.Draw(pD3DDevice); |
161 | 162 | if (result != 0) goto EXIT; |
162 | 163 | } |
@@ -284,4 +285,14 @@ void MTGridRingLive::_MakeMaterial( | ||
284 | 285 | pMaterial->Emissive.a = 0.0f; |
285 | 286 | } |
286 | 287 | |
288 | +//****************************************************************************** | |
289 | +// 表示設定 | |
290 | +//****************************************************************************** | |
291 | +void MTGridRingLive::SetEnable( | |
292 | + bool isEnable | |
293 | + ) | |
294 | +{ | |
295 | + m_isEnable = isEnable; | |
296 | +} | |
297 | + | |
287 | 298 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用グリッドリング描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -39,11 +39,15 @@ public: | ||
39 | 39 | //解放 |
40 | 40 | void Release(); |
41 | 41 | |
42 | + //表示設定 | |
43 | + void SetEnable(bool isEnable); | |
44 | + | |
42 | 45 | private: |
43 | 46 | |
44 | 47 | DXPrimitive m_Primitive; |
45 | 48 | MTNoteDesignRing m_NoteDesign; |
46 | 49 | bool m_isVisible; |
50 | + bool m_isEnable; | |
47 | 51 | |
48 | 52 | //頂点バッファ構造体 |
49 | 53 | struct MTGRIDBOXLIVE_VERTEX { |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail シーン基底クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2018 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -34,6 +34,8 @@ public: | ||
34 | 34 | EffectStars, |
35 | 35 | EffectCounter, |
36 | 36 | EffectBackgroundImage, |
37 | + EffectGridLine, | |
38 | + EffectTimeIndicator, | |
37 | 39 | EffectFileName |
38 | 40 | }; |
39 | 41 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ピアノロール3Dシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2021 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -100,7 +100,24 @@ int MTScenePianoRoll3D::Create( | ||
100 | 100 | m_DirLight.SetDirection(D3DXVECTOR3(1.0f, -1.0f, 2.0f)); |
101 | 101 | |
102 | 102 | //ライトのデバイス登録 |
103 | - result = m_DirLight.SetDevice(pD3DDevice, m_IsEnableLight); | |
103 | + result = m_DirLight.SetDevice(pD3DDevice, 0, m_IsEnableLight); | |
104 | + if (result != 0) goto EXIT; | |
105 | + | |
106 | + //---------------------------------- | |
107 | + // ライト2 | |
108 | + //---------------------------------- | |
109 | + //ライト初期化 | |
110 | + result = m_DirLight2.Initialize(); | |
111 | + if (result != 0) goto EXIT; | |
112 | + | |
113 | + //ライト色 | |
114 | + _SetLightColor2(&m_DirLight2); | |
115 | + | |
116 | + //ライト方向 | |
117 | + m_DirLight2.SetDirection(D3DXVECTOR3(-1.0f, 1.0f, -2.0f)); | |
118 | + | |
119 | + //ライトのデバイス登録 | |
120 | + result = m_DirLight2.SetDevice(pD3DDevice, 1, m_IsEnableLight); | |
104 | 121 | if (result != 0) goto EXIT; |
105 | 122 | |
106 | 123 | //---------------------------------- |
@@ -280,7 +297,9 @@ int MTScenePianoRoll3D::Draw( | ||
280 | 297 | |
281 | 298 | //ライトを一時的に無効にする |
282 | 299 | // ノート波紋とダッシュボードの描画色はライトの方向に依存させないため |
283 | - result = m_DirLight.SetDevice(pD3DDevice, FALSE); | |
300 | + result = m_DirLight.SetDevice(pD3DDevice, 0, FALSE); | |
301 | + if (result != 0) goto EXIT; | |
302 | + result = m_DirLight2.SetDevice(pD3DDevice, 1, FALSE); | |
284 | 303 | if (result != 0) goto EXIT; |
285 | 304 | |
286 | 305 | //ノート波紋描画 |
@@ -292,7 +311,9 @@ int MTScenePianoRoll3D::Draw( | ||
292 | 311 | if (result != 0) goto EXIT; |
293 | 312 | |
294 | 313 | //ライトを戻す |
295 | - result = m_DirLight.SetDevice(pD3DDevice, m_IsEnableLight); | |
314 | + result = m_DirLight.SetDevice(pD3DDevice, 0, m_IsEnableLight); | |
315 | + if (result != 0) goto EXIT; | |
316 | + result = m_DirLight2.SetDevice(pD3DDevice, 1, m_IsEnableLight); | |
296 | 317 | if (result != 0) goto EXIT; |
297 | 318 | |
298 | 319 | EXIT:; |
@@ -709,12 +730,18 @@ void MTScenePianoRoll3D::SetEffect( | ||
709 | 730 | case EffectCounter: |
710 | 731 | m_Dashboard.SetEnable(isEnable); |
711 | 732 | break; |
712 | - case EffectFileName: | |
713 | - m_Dashboard.SetEnableFileName(isEnable); | |
714 | - break; | |
715 | 733 | case EffectBackgroundImage: |
716 | 734 | m_BackgroundImage.SetEnable(isEnable); |
717 | 735 | break; |
736 | + case EffectGridLine: | |
737 | + m_GridBox.SetEnable(isEnable); | |
738 | + break; | |
739 | + case EffectTimeIndicator: | |
740 | + m_TimeIndicator.SetEnable(isEnable); | |
741 | + break; | |
742 | + case EffectFileName: | |
743 | + m_Dashboard.SetEnableFileName(isEnable); | |
744 | + break; | |
718 | 745 | default: |
719 | 746 | break; |
720 | 747 | } |
@@ -765,6 +792,38 @@ void MTScenePianoRoll3D::_SetLightColor( | ||
765 | 792 | } |
766 | 793 | |
767 | 794 | //****************************************************************************** |
795 | +// ライト2色設定 | |
796 | +//****************************************************************************** | |
797 | +void MTScenePianoRoll3D::_SetLightColor2( | |
798 | + DXDirLight* pLight | |
799 | + ) | |
800 | +{ | |
801 | + D3DXCOLOR diffuse; | |
802 | + D3DXCOLOR specular; | |
803 | + D3DXCOLOR ambient; | |
804 | + | |
805 | + //拡散光 | |
806 | + diffuse.r = 1.2f; | |
807 | + diffuse.g = 1.2f; | |
808 | + diffuse.b = 1.2f; | |
809 | + diffuse.a = 1.0f; | |
810 | + //鏡面反射光 | |
811 | + specular.r = 0.0f; | |
812 | + specular.g = 0.0f; | |
813 | + specular.b = 0.0f; | |
814 | + specular.a = 0.0f; | |
815 | + //環境光 | |
816 | + ambient.r = 0.0f; | |
817 | + ambient.g = 0.0f; | |
818 | + ambient.b = 0.0f; | |
819 | + ambient.a = 0.0f; | |
820 | + | |
821 | + pLight->SetColor(diffuse, specular, ambient); | |
822 | + | |
823 | + return; | |
824 | +} | |
825 | + | |
826 | +//****************************************************************************** | |
768 | 827 | // 設定ファイル読み込み |
769 | 828 | //****************************************************************************** |
770 | 829 | int MTScenePianoRoll3D::_LoadConf() |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ピアノロール3Dシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -108,6 +108,7 @@ private: | ||
108 | 108 | |
109 | 109 | //ライト |
110 | 110 | DXDirLight m_DirLight; |
111 | + DXDirLight m_DirLight2; | |
111 | 112 | |
112 | 113 | //一人称カメラ |
113 | 114 | MTFirstPersonCam m_FirstPersonCam; |
@@ -143,6 +144,7 @@ private: | ||
143 | 144 | |
144 | 145 | void _Reset(); |
145 | 146 | void _SetLightColor(DXDirLight* pLight); |
147 | + void _SetLightColor2(DXDirLight* pLight); | |
146 | 148 | int _LoadConf(); |
147 | 149 | int _LoadConfViewpoint(MTConfFile* pConfFile, unsigned long viewpointNo, MTScene::MTViewParamMap* pParamMap); |
148 | 150 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロール3Dシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012-2021 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -94,12 +94,32 @@ int MTScenePianoRoll3DLive::Create( | ||
94 | 94 | result = m_DirLight.Initialize(); |
95 | 95 | if (result != 0) goto EXIT; |
96 | 96 | |
97 | + //ライト色 | |
98 | + _SetLightColor(&m_DirLight); | |
99 | + | |
97 | 100 | //ライト方向 |
98 | 101 | // 原点を光源としてその方向をベクトルで表現する |
99 | 102 | m_DirLight.SetDirection(D3DXVECTOR3(1.0f, -1.0f, 2.0f)); |
100 | 103 | |
101 | 104 | //ライトのデバイス登録 |
102 | - result = m_DirLight.SetDevice(pD3DDevice, m_IsEnableLight); | |
105 | + result = m_DirLight.SetDevice(pD3DDevice, 0, m_IsEnableLight); | |
106 | + if (result != 0) goto EXIT; | |
107 | + | |
108 | + //---------------------------------- | |
109 | + // ライト2 | |
110 | + //---------------------------------- | |
111 | + //ライト初期化 | |
112 | + result = m_DirLight2.Initialize(); | |
113 | + if (result != 0) goto EXIT; | |
114 | + | |
115 | + //ライト色 | |
116 | + _SetLightColor2(&m_DirLight2); | |
117 | + | |
118 | + //ライト方向 | |
119 | + m_DirLight2.SetDirection(D3DXVECTOR3(-1.0f, 1.0f, -2.0f)); | |
120 | + | |
121 | + //ライトのデバイス登録 | |
122 | + result = m_DirLight2.SetDevice(pD3DDevice, 1, m_IsEnableLight); | |
103 | 123 | if (result != 0) goto EXIT; |
104 | 124 | |
105 | 125 | //---------------------------------- |
@@ -279,7 +299,9 @@ int MTScenePianoRoll3DLive::Draw( | ||
279 | 299 | |
280 | 300 | //ライトを一時的に無効にする |
281 | 301 | // ノート波紋とダッシュボードの描画色はライトの方向に依存させないため |
282 | - result = m_DirLight.SetDevice(pD3DDevice, FALSE); | |
302 | + result = m_DirLight.SetDevice(pD3DDevice, 0, FALSE); | |
303 | + if (result != 0) goto EXIT; | |
304 | + result = m_DirLight2.SetDevice(pD3DDevice, 1, FALSE); | |
283 | 305 | if (result != 0) goto EXIT; |
284 | 306 | |
285 | 307 | //ノート波紋描画 |
@@ -291,7 +313,9 @@ int MTScenePianoRoll3DLive::Draw( | ||
291 | 313 | if (result != 0) goto EXIT; |
292 | 314 | |
293 | 315 | //ライトを戻す |
294 | - result = m_DirLight.SetDevice(pD3DDevice, m_IsEnableLight); | |
316 | + result = m_DirLight.SetDevice(pD3DDevice, 0, m_IsEnableLight); | |
317 | + if (result != 0) goto EXIT; | |
318 | + result = m_DirLight2.SetDevice(pD3DDevice, 1, m_IsEnableLight); | |
295 | 319 | if (result != 0) goto EXIT; |
296 | 320 | |
297 | 321 | EXIT:; |
@@ -692,6 +716,12 @@ void MTScenePianoRoll3DLive::SetEffect( | ||
692 | 716 | case EffectBackgroundImage: |
693 | 717 | m_BackgroundImage.SetEnable(isEnable); |
694 | 718 | break; |
719 | + case EffectGridLine: | |
720 | + m_GridBoxLive.SetEnable(isEnable); | |
721 | + break; | |
722 | + case EffectTimeIndicator: | |
723 | + m_TimeIndicator.SetEnable(isEnable); | |
724 | + break; | |
695 | 725 | default: |
696 | 726 | break; |
697 | 727 | } |
@@ -700,6 +730,70 @@ void MTScenePianoRoll3DLive::SetEffect( | ||
700 | 730 | } |
701 | 731 | |
702 | 732 | //****************************************************************************** |
733 | +// ライト色設定 | |
734 | +//****************************************************************************** | |
735 | +void MTScenePianoRoll3DLive::_SetLightColor( | |
736 | + DXDirLight* pLight | |
737 | + ) | |
738 | +{ | |
739 | + D3DXCOLOR diffuse; | |
740 | + D3DXCOLOR specular; | |
741 | + D3DXCOLOR ambient; | |
742 | + | |
743 | + //拡散光 | |
744 | + diffuse.r = 1.2f; | |
745 | + diffuse.g = 1.2f; | |
746 | + diffuse.b = 1.2f; | |
747 | + diffuse.a = 1.0f; | |
748 | + //鏡面反射光 | |
749 | + specular.r = 0.0f; | |
750 | + specular.g = 0.0f; | |
751 | + specular.b = 0.0f; | |
752 | + specular.a = 0.0f; | |
753 | + //環境光 | |
754 | + ambient.r = 0.2f; | |
755 | + ambient.g = 0.2f; | |
756 | + ambient.b = 0.2f; | |
757 | + ambient.a = 1.0f; | |
758 | + | |
759 | + pLight->SetColor(diffuse, specular, ambient); | |
760 | + | |
761 | + return; | |
762 | +} | |
763 | + | |
764 | +//****************************************************************************** | |
765 | +// ライト2色設定 | |
766 | +//****************************************************************************** | |
767 | +void MTScenePianoRoll3DLive::_SetLightColor2( | |
768 | + DXDirLight* pLight | |
769 | + ) | |
770 | +{ | |
771 | + D3DXCOLOR diffuse; | |
772 | + D3DXCOLOR specular; | |
773 | + D3DXCOLOR ambient; | |
774 | + | |
775 | + //拡散光 | |
776 | + diffuse.r = 1.2f; | |
777 | + diffuse.g = 1.2f; | |
778 | + diffuse.b = 1.2f; | |
779 | + diffuse.a = 1.0f; | |
780 | + //鏡面反射光 | |
781 | + specular.r = 0.0f; | |
782 | + specular.g = 0.0f; | |
783 | + specular.b = 0.0f; | |
784 | + specular.a = 0.0f; | |
785 | + //環境光 | |
786 | + ambient.r = 0.0f; | |
787 | + ambient.g = 0.0f; | |
788 | + ambient.b = 0.0f; | |
789 | + ambient.a = 0.0f; | |
790 | + | |
791 | + pLight->SetColor(diffuse, specular, ambient); | |
792 | + | |
793 | + return; | |
794 | +} | |
795 | + | |
796 | +//****************************************************************************** | |
703 | 797 | // 設定ファイル読み込み |
704 | 798 | //****************************************************************************** |
705 | 799 | int MTScenePianoRoll3DLive::_LoadConf() |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロール3Dシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012-2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -105,6 +105,7 @@ private: | ||
105 | 105 | |
106 | 106 | //ライト |
107 | 107 | DXDirLight m_DirLight; |
108 | + DXDirLight m_DirLight2; | |
108 | 109 | |
109 | 110 | //一人称カメラ |
110 | 111 | MTFirstPersonCam m_FirstPersonCam; |
@@ -139,6 +140,8 @@ private: | ||
139 | 140 | bool m_IsSkipping; |
140 | 141 | |
141 | 142 | void _Reset(); |
143 | + void _SetLightColor(DXDirLight* pLight); | |
144 | + void _SetLightColor2(DXDirLight* pLight); | |
142 | 145 | int _LoadConf(); |
143 | 146 | int _LoadConfViewpoint(MTConfFile* pConfFile, unsigned long viewpointNo, MTScene::MTViewParamMap* pParamMap); |
144 | 147 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ピアノロールレインシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -658,12 +658,18 @@ void MTScenePianoRollRain::SetEffect( | ||
658 | 658 | case EffectCounter: |
659 | 659 | m_Dashboard.SetEnable(isEnable); |
660 | 660 | break; |
661 | - case EffectFileName: | |
662 | - m_Dashboard.SetEnableFileName(isEnable); | |
663 | - break; | |
664 | 661 | case EffectBackgroundImage: |
665 | 662 | m_BackgroundImage.SetEnable(isEnable); |
666 | 663 | break; |
664 | + case EffectGridLine: | |
665 | + //表示対象無し | |
666 | + break; | |
667 | + case EffectTimeIndicator: | |
668 | + //表示対象無し | |
669 | + break; | |
670 | + case EffectFileName: | |
671 | + m_Dashboard.SetEnableFileName(isEnable); | |
672 | + break; | |
667 | 673 | default: |
668 | 674 | break; |
669 | 675 | } |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロールレインシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012-2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -643,6 +643,12 @@ void MTScenePianoRollRainLive::SetEffect( | ||
643 | 643 | case EffectBackgroundImage: |
644 | 644 | m_BackgroundImage.SetEnable(isEnable); |
645 | 645 | break; |
646 | + case EffectGridLine: | |
647 | + //表示対象無し | |
648 | + break; | |
649 | + case EffectTimeIndicator: | |
650 | + //表示対象無し | |
651 | + break; | |
646 | 652 | default: |
647 | 653 | break; |
648 | 654 | } |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ピアノロールリングシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -698,12 +698,18 @@ void MTScenePianoRollRing::SetEffect( | ||
698 | 698 | case EffectCounter: |
699 | 699 | m_Dashboard.SetEnable(isEnable); |
700 | 700 | break; |
701 | - case EffectFileName: | |
702 | - m_Dashboard.SetEnableFileName(isEnable); | |
703 | - break; | |
704 | 701 | case EffectBackgroundImage: |
705 | 702 | m_BackgroundImage.SetEnable(isEnable); |
706 | 703 | break; |
704 | + case EffectGridLine: | |
705 | + m_GridRing.SetEnable(isEnable); | |
706 | + break; | |
707 | + case EffectTimeIndicator: | |
708 | + m_TimeIndicator.SetEnable(isEnable); | |
709 | + break; | |
710 | + case EffectFileName: | |
711 | + m_Dashboard.SetEnableFileName(isEnable); | |
712 | + break; | |
707 | 713 | default: |
708 | 714 | break; |
709 | 715 | } |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロールリングシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -120,8 +120,8 @@ int MTScenePianoRollRingLive::Create( | ||
120 | 120 | result = m_NoteRipple.Create(pD3DDevice, GetName(), pSeqData, &m_NotePitchBend); |
121 | 121 | if (result != 0) goto EXIT; |
122 | 122 | |
123 | - //グリッドボックス生成 | |
124 | - result = m_GridBoxLive.Create(pD3DDevice, GetName()); | |
123 | + //グリッドリング生成 | |
124 | + result = m_GridRingLive.Create(pD3DDevice, GetName()); | |
125 | 125 | if (result != 0) goto EXIT; |
126 | 126 | |
127 | 127 | //ピクチャボード生成 |
@@ -202,8 +202,8 @@ int MTScenePianoRollRingLive::Transform( | ||
202 | 202 | result = m_NoteBoxLive.Transform(pD3DDevice, rollAngle); |
203 | 203 | if (result != 0) goto EXIT; |
204 | 204 | |
205 | - //グリッドボックス更新 | |
206 | - result = m_GridBoxLive.Transform(pD3DDevice, rollAngle); | |
205 | + //グリッドリング更新 | |
206 | + result = m_GridRingLive.Transform(pD3DDevice, rollAngle); | |
207 | 207 | if (result != 0) goto EXIT; |
208 | 208 | |
209 | 209 | //ピクチャボード更新 |
@@ -256,8 +256,8 @@ int MTScenePianoRollRingLive::Draw( | ||
256 | 256 | result = m_BackgroundImage.Draw(pD3DDevice); |
257 | 257 | if (result != 0) goto EXIT; |
258 | 258 | |
259 | - //グリッドボックス描画 | |
260 | - result = m_GridBoxLive.Draw(pD3DDevice); | |
259 | + //グリッドリング描画 | |
260 | + result = m_GridRingLive.Draw(pD3DDevice); | |
261 | 261 | if (result != 0) goto EXIT; |
262 | 262 | |
263 | 263 | //ノートボックス描画 |
@@ -298,7 +298,7 @@ EXIT:; | ||
298 | 298 | void MTScenePianoRollRingLive::Release() |
299 | 299 | { |
300 | 300 | m_NoteBoxLive.Release(); |
301 | - m_GridBoxLive.Release(); | |
301 | + m_GridRingLive.Release(); | |
302 | 302 | m_PictBoard.Release(); |
303 | 303 | m_DashboardLive.Release(); |
304 | 304 | m_Stars.Release(); |
@@ -681,6 +681,12 @@ void MTScenePianoRollRingLive::SetEffect( | ||
681 | 681 | case EffectBackgroundImage: |
682 | 682 | m_BackgroundImage.SetEnable(isEnable); |
683 | 683 | break; |
684 | + case EffectGridLine: | |
685 | + m_GridRingLive.SetEnable(isEnable); | |
686 | + break; | |
687 | + case EffectTimeIndicator: | |
688 | + m_TimeIndicator.SetEnable(isEnable); | |
689 | + break; | |
684 | 690 | default: |
685 | 691 | break; |
686 | 692 | } |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロールリングシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -113,7 +113,7 @@ private: | ||
113 | 113 | MTNoteBoxRingLive m_NoteBoxLive; |
114 | 114 | MTNoteRippleRingLive m_NoteRipple; |
115 | 115 | MTNotePitchBend m_NotePitchBend; |
116 | - MTGridRingLive m_GridBoxLive; | |
116 | + MTGridRingLive m_GridRingLive; | |
117 | 117 | MTPictBoardRing m_PictBoard; |
118 | 118 | MTDashboardLive m_DashboardLive; |
119 | 119 | MTStars m_Stars; |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // タイムインジケータ描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -23,6 +23,7 @@ MTTimeIndicator::MTTimeIndicator(void) | ||
23 | 23 | m_CurPos = 0.0f; |
24 | 24 | m_CurTickTime = 0; |
25 | 25 | m_isEnableLine = false; |
26 | + m_isEnable = true; | |
26 | 27 | } |
27 | 28 | |
28 | 29 | //****************************************************************************** |
@@ -203,6 +204,8 @@ int MTTimeIndicator::Draw( | ||
203 | 204 | { |
204 | 205 | int result = 0; |
205 | 206 | |
207 | + if (!m_isEnable) goto EXIT; | |
208 | + | |
206 | 209 | //テクスチャステージ設定 |
207 | 210 | // カラー演算:引数1を使用 引数1:テクスチャ |
208 | 211 | pD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1); |
@@ -384,3 +387,14 @@ D3DXVECTOR3 MTTimeIndicator::GetMoveVector() | ||
384 | 387 | return D3DXVECTOR3(m_CurPos, 0.0f, 0.0f); |
385 | 388 | } |
386 | 389 | |
390 | +//****************************************************************************** | |
391 | +// 表示設定 | |
392 | +//****************************************************************************** | |
393 | +void MTTimeIndicator::SetEnable( | |
394 | + bool isEnable | |
395 | + ) | |
396 | +{ | |
397 | + m_isEnable = isEnable; | |
398 | +} | |
399 | + | |
400 | + |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // タイムインジケータ描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2013 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -57,6 +57,9 @@ public: | ||
57 | 57 | //移動ベクトル取得 |
58 | 58 | D3DXVECTOR3 GetMoveVector(); |
59 | 59 | |
60 | + //表示設定 | |
61 | + void SetEnable(bool isEnable); | |
62 | + | |
60 | 63 | private: |
61 | 64 | |
62 | 65 | DXPrimitive m_Primitive; |
@@ -64,8 +67,8 @@ private: | ||
64 | 67 | float m_CurPos; |
65 | 68 | MTNoteDesign m_NoteDesign; |
66 | 69 | bool m_isEnableLine; |
67 | - | |
68 | 70 | unsigned long m_CurTickTime; |
71 | + bool m_isEnable; | |
69 | 72 | |
70 | 73 | //頂点バッファ構造体 |
71 | 74 | struct MTTIMEINDICATOR_VERTEX { |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // タイムインジケータリング描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -23,6 +23,7 @@ MTTimeIndicatorRing::MTTimeIndicatorRing(void) | ||
23 | 23 | { |
24 | 24 | m_CurPos = 0.0f; |
25 | 25 | m_CurTickTime = 0; |
26 | + m_isEnable = true; | |
26 | 27 | } |
27 | 28 | |
28 | 29 | //****************************************************************************** |
@@ -158,6 +159,8 @@ int MTTimeIndicatorRing::Draw( | ||
158 | 159 | { |
159 | 160 | int result = 0; |
160 | 161 | |
162 | + if (!m_isEnable) goto EXIT; | |
163 | + | |
161 | 164 | //テクスチャステージ設定 |
162 | 165 | // カラー演算:引数1を使用 引数1:テクスチャ |
163 | 166 | pD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1); |
@@ -268,4 +271,14 @@ D3DXVECTOR3 MTTimeIndicatorRing::GetMoveVector() | ||
268 | 271 | return D3DXVECTOR3(m_CurPos, 0.0f, 0.0f); |
269 | 272 | } |
270 | 273 | |
274 | +//****************************************************************************** | |
275 | +// 表示設定 | |
276 | +//****************************************************************************** | |
277 | +void MTTimeIndicatorRing::SetEnable( | |
278 | + bool isEnable | |
279 | + ) | |
280 | +{ | |
281 | + m_isEnable = isEnable; | |
282 | +} | |
283 | + | |
271 | 284 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // タイムインジケータリング描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2019 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2019-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -57,13 +57,16 @@ public: | ||
57 | 57 | //移動ベクトル取得 |
58 | 58 | D3DXVECTOR3 GetMoveVector(); |
59 | 59 | |
60 | + //表示設定 | |
61 | + void SetEnable(bool isEnable); | |
62 | + | |
60 | 63 | private: |
61 | 64 | |
62 | 65 | DXPrimitive m_PrimitiveLine; |
63 | 66 | float m_CurPos; |
64 | 67 | MTNoteDesignRing m_NoteDesign; |
65 | - | |
66 | 68 | unsigned long m_CurTickTime; |
69 | + bool m_isEnable; | |
67 | 70 | |
68 | 71 | //頂点バッファ構造体 |
69 | 72 | struct MTTIMEINDICATOR_VERTEX { |
@@ -76,6 +76,15 @@ | ||
76 | 76 | #define IDM_OPEN_FOLDER 32855 |
77 | 77 | #define IDM_PREVIOUS_FILE 32858 |
78 | 78 | #define IDM_NEXT_FILE 32860 |
79 | +#define IDM_MENUBAR 32861 | |
80 | +#define IDM_MYVIEWPOINT1 32862 | |
81 | +#define IDM_MYVIEWPOINT2 32863 | |
82 | +#define IDM_MYVIEWPOINT3 32864 | |
83 | +#define IDM_SAVE_MYVIEWPOINT1 32865 | |
84 | +#define IDM_SAVE_MYVIEWPOINT2 32866 | |
85 | +#define IDM_SAVE_MYVIEWPOINT3 32867 | |
86 | +#define IDM_ENABLE_GRIDLINE 32868 | |
87 | +#define IDM_ENABLE_TIMEINDICATOR 32869 | |
79 | 88 | #define IDC_STATIC -1 |
80 | 89 | |
81 | 90 | // Next default values for new objects |
@@ -84,7 +93,7 @@ | ||
84 | 93 | #ifndef APSTUDIO_READONLY_SYMBOLS |
85 | 94 | #define _APS_NO_MFC 1 |
86 | 95 | #define _APS_NEXT_RESOURCE_VALUE 134 |
87 | -#define _APS_NEXT_COMMAND_VALUE 32861 | |
96 | +#define _APS_NEXT_COMMAND_VALUE 32870 | |
88 | 97 | #define _APS_NEXT_CONTROL_VALUE 1025 |
89 | 98 | #define _APS_NEXT_SYMED_VALUE 110 |
90 | 99 | #endif |
@@ -1,8 +1,8 @@ | ||
1 | 1 | ****************************************************************************** |
2 | 2 | |
3 | - MIDITrail source code Ver.1.3.4 for Windows | |
3 | + MIDITrail source code Ver.1.3.6 for Windows | |
4 | 4 | |
5 | - Copyright (C) 2010-2021 WADA Masashi. All Rights Reserved. | |
5 | + Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
6 | 6 | |
7 | 7 | Web : https://osdn.jp/projects/miditrail/ |
8 | 8 | Mail: yknk@users.osdn.me |
@@ -1,8 +1,8 @@ | ||
1 | 1 | ****************************************************************************** |
2 | 2 | |
3 | - MIDITrail ソースコード Ver.1.3.4 for Windows | |
3 | + MIDITrail ソースコード Ver.1.3.6 for Windows | |
4 | 4 | |
5 | - Copyright (C) 2010-2021 WADA Masashi. All Rights Reserved. | |
5 | + Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
6 | 6 | |
7 | 7 | Web : https://osdn.jp/projects/miditrail/ |
8 | 8 | Mail: yknk@users.osdn.me |
@@ -1,5 +1,5 @@ | ||
1 | 1 | |
2 | -Copyright (c) 2010-2021, WADA Masashi <yknk@users.osdn.me> | |
2 | +Copyright (c) 2010-2022, WADA Masashi <yknk@users.osdn.me> | |
3 | 3 | All rights reserved. |
4 | 4 | |
5 | 5 | Redistribution and use in source and binary forms, with or without |
@@ -2,7 +2,7 @@ | ||
2 | 2 | |
3 | 3 | MIDITrail for Windows |
4 | 4 | |
5 | - Copyright (C) 2010-2021 WADA Masashi. All Rights Reserved. | |
5 | + Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
6 | 6 | |
7 | 7 | Web : https://osdn.jp/projects/miditrail/ |
8 | 8 | Mail: yknk@users.osdn.me |
@@ -17,7 +17,7 @@ | ||
17 | 17 | |
18 | 18 | (2) System requirement |
19 | 19 | |
20 | - OS: Windows 7 / 8 / 10 | |
20 | + OS: Windows 7 / 8 / 10 / 11 | |
21 | 21 | VIDEO: Support for DirectX 9.0c graphics |
22 | 22 | |
23 | 23 | (3) Quick Start |
@@ -2,7 +2,7 @@ | ||
2 | 2 | |
3 | 3 | MIDITrail for Windows |
4 | 4 | |
5 | - Copyright (C) 2010-2021 WADA Masashi. All Rights Reserved. | |
5 | + Copyright (C) 2010-2022 WADA Masashi. All Rights Reserved. | |
6 | 6 | |
7 | 7 | Web : https://osdn.jp/projects/miditrail/ |
8 | 8 | Mail: yknk@users.osdn.me |
@@ -16,7 +16,7 @@ | ||
16 | 16 | |
17 | 17 | (2) 動作環境 |
18 | 18 | |
19 | - OS: Windows 7 / 8 / 10 | |
19 | + OS: Windows 7 / 8 / 10 / 11 | |
20 | 20 | VIDEO: DirectX 9.0c に対応したグラフィックチップが必要です。 |
21 | 21 | |
22 | 22 | (3) クイックスタート |
@@ -4,7 +4,7 @@ | ||
4 | 4 | <meta http-equiv="content-type" content="text/html; charset=UTF-8"> |
5 | 5 | <meta http-equiv="Content-Language" content="en"> |
6 | 6 | <link rel="stylesheet" href="Files/doc.css" type="text/css"> |
7 | -<title>MIDITrail Ver.1.3.4 for Windows User Manual</title> | |
7 | +<title>MIDITrail Ver.1.3.6 for Windows User Manual</title> | |
8 | 8 | </head> |
9 | 9 | <body> |
10 | 10 |
@@ -15,10 +15,10 @@ | ||
15 | 15 | English / <a href="MANUAL.ja.html">Japanese</a> |
16 | 16 | </div> |
17 | 17 | |
18 | -<h1>MIDITrail Ver.1.3.4 for Windows User Manual</h1> | |
18 | +<h1>MIDITrail Ver.1.3.6 for Windows User Manual</h1> | |
19 | 19 | |
20 | 20 | <p> |
21 | -Copyright (c) 2010-2021, WADA Masashi All rights reserved.<br> | |
21 | +Copyright (c) 2010-2022, WADA Masashi All rights reserved.<br> | |
22 | 22 | Web: <a href="https://osdn.jp/projects/miditrail/">https://osdn.jp/projects/miditrail/</a><br> |
23 | 23 | Mail: <img src="Files/mail.png" align="top"><br> |
24 | 24 | </p> |
@@ -62,7 +62,7 @@ Screenshot: PianoRollRain<br> | ||
62 | 62 | <h2><a name="system"></a>2. System requirement</h2> |
63 | 63 | |
64 | 64 | <p> |
65 | -OS: Windows 7 / 8 / 10<br> | |
65 | +OS: Windows 7 / 8 / 10 / 11<br> | |
66 | 66 | VIDEO: Support for DirectX 9.0c graphics |
67 | 67 | </p> |
68 | 68 | <p> |
@@ -286,15 +286,33 @@ If you use a mouse with your left hand, this one may be convenience. | ||
286 | 286 | <h3>(5) Selection of the viewpoint</h3> |
287 | 287 | |
288 | 288 | <p> |
289 | -When you select "Viewpoint 1 / Viewpoint 2 / Viewpoint 3" from "View" menu, | |
289 | +When you select "Viewpoint 1 / 2 / 3" from "View" menu, | |
290 | 290 | or when you push following key, you can move to a fixed viewpoint. |
291 | 291 | </p> |
292 | 292 | <p> |
293 | 293 | <table> |
294 | 294 | <tr><th>Key</th><th>Action</th></tr> |
295 | - <tr><td><kbd>7</kbd></td><td>Move to viewpoint 1</td></tr> | |
296 | - <tr><td><kbd>8</kbd></td><td>Move to viewpoint 2</td></tr> | |
297 | - <tr><td><kbd>9</kbd></td><td>Move to viewpoint 3</td></tr> | |
295 | + <tr><td><kbd>7</kbd></td><td>Move to fixed viewpoint 1</td></tr> | |
296 | + <tr><td><kbd>8</kbd></td><td>Move to fixed viewpoint 2</td></tr> | |
297 | + <tr><td><kbd>9</kbd></td><td>Move to fixed viewpoint 3</td></tr> | |
298 | +</table> | |
299 | +</p> | |
300 | + | |
301 | +<p> | |
302 | +When you select "My Viewpoint 1 / 2 / 3" from "View" menu, | |
303 | +or when you push following key, you can move to a viewpoint saved by the user in advance.<br> | |
304 | +If you want to save current viewpoint, select "Save My Viewpoint 1 / 2 / 3" from "View" menu | |
305 | +or push following key. | |
306 | +</p> | |
307 | +<p> | |
308 | +<table> | |
309 | + <tr><th>Key</th><th>Action</th></tr> | |
310 | + <tr><td><kbd>CTRL</kbd> + <kbd>7</kbd></td><td>Move to my viewpoint 1</td></tr> | |
311 | + <tr><td><kbd>CTRL</kbd> + <kbd>8</kbd></td><td>Move to my viewpoint 2</td></tr> | |
312 | + <tr><td><kbd>CTRL</kbd> + <kbd>9</kbd></td><td>Move to my viewpoint 3</td></tr> | |
313 | + <tr><td><kbd>SHIFT</kbd> + <kbd>CTRL</kbd> + <kbd>7</kbd></td><td>Save my viewpoint 1</td></tr> | |
314 | + <tr><td><kbd>SHIFT</kbd> + <kbd>CTRL</kbd> + <kbd>8</kbd></td><td>Save my viewpoint 2</td></tr> | |
315 | + <tr><td><kbd>SHIFT</kbd> + <kbd>CTRL</kbd> + <kbd>9</kbd></td><td>Save my viewpoint 3</td></tr> | |
298 | 316 | </table> |
299 | 317 | </p> |
300 | 318 |
@@ -503,7 +521,7 @@ You can customize the window size. | ||
503 | 521 | Please open following file by text editor, and edit "Width" and "Height". |
504 | 522 | </p> |
505 | 523 | <pre> |
506 | -Windows 7 / 8 / 10 | |
524 | +Windows 7 / 8 / 10 / 11 | |
507 | 525 | C:\Users\(user name)\AppData\Roaming\yknk\MIDITrail\View.ini |
508 | 526 | </pre> |
509 | 527 | <pre> |
@@ -831,7 +849,7 @@ MIDITrail is released under the BSD license. | ||
831 | 849 | </p> |
832 | 850 | |
833 | 851 | <pre> |
834 | -Copyright (c) 2010-2021, WADA Masashi <<img src="Files/mail.png" align="top">> | |
852 | +Copyright (c) 2010-2022, WADA Masashi <<img src="Files/mail.png" align="top">> | |
835 | 853 | All rights reserved. |
836 | 854 | |
837 | 855 | Redistribution and use in source and binary forms, with or without |
@@ -867,33 +885,33 @@ POSSIBILITY OF SUCH DAMAGE. | ||
867 | 885 | <p> |
868 | 886 | <table> |
869 | 887 | <tr><th>Date</th><th>Version</th><th>Changelog</th></tr> |
870 | - <tr><td>2010/03/08</td><td>Ver.0.0.0</td><td>Development start.</td></tr> | |
871 | - <tr><td>2010/05/18</td><td>Ver.1.0.0 beta</td><td>Beta release.</td></tr> | |
872 | - <tr><td>2010/06/02</td><td>Ver.1.0.0</td><td>First formal release.</td></tr> | |
888 | + <tr><td>2010/03/08</td><td>Ver.0.0.0</td><td>Development start</td></tr> | |
889 | + <tr><td>2010/05/18</td><td>Ver.1.0.0 beta</td><td>Beta release</td></tr> | |
890 | + <tr><td>2010/06/02</td><td>Ver.1.0.0</td><td>First formal release</td></tr> | |
873 | 891 | <tr><td>2010/06/05</td><td>Ver.1.0.1</td><td> |
874 | 892 | #22102 Fixed bug (execution fails by missing Visual C++ runtime library)<br> |
875 | 893 | #22106 Fixed bug (size of about dialog is big on Windows English version)<br> |
876 | 894 | </td></tr> |
877 | 895 | <tr><td>2010/06/20</td><td>Ver.1.0.2</td><td> |
878 | -#22218 Added English manual.<br> | |
896 | +#22218 Added English manual<br> | |
879 | 897 | #22108 Fixed bug (crash when opening the MIDI file exported from VOCALOID)<br> |
880 | 898 | #22217 Fixed bug (overlapped ripples flicker)<br> |
881 | 899 | </td></tr> |
882 | 900 | <tr><td>2010/07/11</td><td>Ver.1.0.3</td><td> |
883 | -#22319 Added color effect to active piano roll bar.<br> | |
884 | -#22412 Added pitch bend effect to piano roll bar.<br> | |
885 | -#22425 Added view mode of piano roll 2D.<br> | |
886 | -#22442 Added switch interface of display and effect.<br> | |
901 | +#22319 Added color effect to active piano roll bar<br> | |
902 | +#22412 Added pitch bend effect to piano roll bar<br> | |
903 | +#22425 Added view mode of piano roll 2D<br> | |
904 | +#22442 Added switch interface of display and effect<br> | |
887 | 905 | #22413 Fixed bug (rendering performance has declined by specular effect)<br> |
888 | 906 | #22414 Fixed bug (total count of notes is incorrect)<br> |
889 | 907 | #22424 Fixed bug (duration of a ripple is not constant)<br> |
890 | 908 | </td></tr> |
891 | 909 | <tr><td>2010/07/25</td><td>Ver.1.0.4</td><td> |
892 | -#22320 Added application icon.<br> | |
893 | -#22522 Added support for Recomposer data file.<br> | |
894 | -#22523 Added command line interface.<br> | |
895 | -#22582 Added double speed playback mode.<br> | |
896 | -#22585 Added function of piano roll rotation by a mouse wheel.<br> | |
910 | +#22320 Added application icon<br> | |
911 | +#22522 Added support for Recomposer data file<br> | |
912 | +#22523 Added command line interface<br> | |
913 | +#22582 Added double speed playback mode<br> | |
914 | +#22585 Added function of piano roll rotation by a mouse wheel<br> | |
897 | 915 | #22566 Fixed bug (Playback time was slightly short)<br> |
898 | 916 | #22506 Fixed bug (Note may continue sounding after the end of playback)<br> |
899 | 917 | </td></tr> |
@@ -903,7 +921,7 @@ POSSIBILITY OF SUCH DAMAGE. | ||
903 | 921 | #22709 Fixed bug (MIDITrail sends redundant "F7" to MIDI-OUT with multi-packet system exclusive message)<br> |
904 | 922 | #22710 Fixed bug (Auto rotation speed of piano roll is not constant)<br> |
905 | 923 | </td></tr> |
906 | - <tr><td>2010/08/29</td><td>Ver.1.1.0 beta</td><td>Beta release.(Added "Piano Roll Rain")</td></tr> | |
924 | + <tr><td>2010/08/29</td><td>Ver.1.1.0 beta</td><td>Beta release (Added "Piano Roll Rain")</td></tr> | |
907 | 925 | <tr><td>2010/09/19</td><td>Ver.1.1.0</td><td> |
908 | 926 | #23174 Added view mode "Piano Roll Rain"<br> |
909 | 927 | #23175 Fixed bug (File open dialog is not modal)<br> |
@@ -915,10 +933,10 @@ POSSIBILITY OF SUCH DAMAGE. | ||
915 | 933 | #23422 Fixed bug (Position of black is not correct in PianoRollRain)<br> |
916 | 934 | </td></tr> |
917 | 935 | <tr><td>2010/12/26</td><td>Ver.1.1.2</td><td> |
918 | -This version was released with MIDITrail for Mac OS X.<br> | |
919 | -#23970 Added eye direction control by key operation.<br> | |
920 | -#23971 Updated texture images.<br> | |
921 | -#23972 Updated application icon.<br> | |
936 | +This version was released with MIDITrail for Mac OS X<br> | |
937 | +#23970 Added eye direction control by key operation<br> | |
938 | +#23971 Updated texture images<br> | |
939 | +#23972 Updated application icon<br> | |
922 | 940 | #23497 Fixed bug ("Piano Roll Rain" item in "View" menu is always enable)<br> |
923 | 941 | #23968 Fixed bug (Time signature was always 4/4 after loading file)<br> |
924 | 942 | #23969 Fixed bug (Space charactor in the title string has been ignored)<br> |
@@ -996,8 +1014,8 @@ This version was released with MIDITrail for Mac OS X.<br> | ||
996 | 1014 | #39675 Added view mode "Piano Roll Ring"<br> |
997 | 1015 | </td></tr> |
998 | 1016 | <tr><td>2019/11/09</td><td>Ver.1.3.1</td><td> |
999 | -#39733 Changed keyboard display direction on Piano Roll Ring.<br> | |
1000 | -#39734 Changed processing to keep viewpoint when window size changed.<br> | |
1017 | +#39733 Changed keyboard display direction on Piano Roll Ring<br> | |
1018 | +#39734 Changed processing to keep viewpoint when window size changed<br> | |
1001 | 1019 | #39735 Fixed bug (Assertion occurs in _controlfp_s when x64 debug configuration)<br> |
1002 | 1020 | #39736 Fixed bug (Exception occurs in "How to view" dialog when x64 debug configuration)<br> |
1003 | 1021 | </td></tr> |
@@ -1011,6 +1029,14 @@ This version was released with MIDITrail for Mac OS X.<br> | ||
1011 | 1029 | <tr><td>2021/09/13</td><td>Ver.1.3.4</td><td> |
1012 | 1030 | #42859 Added setting of delay between songs<br> |
1013 | 1031 | </td></tr> |
1032 | + <tr><td>2022/07/14</td><td>Ver.1.3.6</td><td> | |
1033 | +#45088 Added menu bar display switch<br> | |
1034 | +#45089 Added feature of saving my viewpoint<br> | |
1035 | +#45090 Added display switch of grid line and time indicator<br> | |
1036 | +#45091 Added feature of saving display switch status<br> | |
1037 | +#45092 Added 2nd light for Piano Roll 3D<br> | |
1038 | +#45093 Added MIDI system message parsing<br> | |
1039 | + </td></tr> | |
1014 | 1040 | </table> |
1015 | 1041 | </p> |
1016 | 1042 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | <meta http-equiv="content-type" content="text/html; charset=UTF-8"> |
5 | 5 | <meta http-equiv="Content-Language" content="ja"> |
6 | 6 | <link rel="stylesheet" href="Files/doc.css" type="text/css"> |
7 | -<title>MIDITrail Ver.1.3.4 for Windows ユーザーマニュアル</title> | |
7 | +<title>MIDITrail Ver.1.3.6 for Windows ユーザーマニュアル</title> | |
8 | 8 | </head> |
9 | 9 | <body> |
10 | 10 |
@@ -14,10 +14,10 @@ | ||
14 | 14 | <a href="MANUAL.en.html">English</a> / Japanese |
15 | 15 | </div> |
16 | 16 | |
17 | -<h1>MIDITrail Ver.1.3.4 for Windows ユーザーマニュアル</h1> | |
17 | +<h1>MIDITrail Ver.1.3.6 for Windows ユーザーマニュアル</h1> | |
18 | 18 | |
19 | 19 | <p> |
20 | -Copyright (c) 2010-2021, WADA Masashi All rights reserved.<br> | |
20 | +Copyright (c) 2010-2022, WADA Masashi All rights reserved.<br> | |
21 | 21 | Web: <a href="https://osdn.jp/projects/miditrail/">https://osdn.jp/projects/miditrail/</a><br> |
22 | 22 | Mail: <img src="Files/mail.png" align="top"><br> |
23 | 23 | </p> |
@@ -61,7 +61,7 @@ MIDITrailはWindows, macOS, iOSに対応しています。 | ||
61 | 61 | <h2><a name="system"></a>2. 動作環境</h2> |
62 | 62 | |
63 | 63 | <p> |
64 | -対応OS: Windows 7 / 8 / 10<br> | |
64 | +対応OS: Windows 7 / 8 / 10 / 11<br> | |
65 | 65 | DirectX 9.0c に対応したグラフィックチップが必要です。<br> |
66 | 66 | </p> |
67 | 67 | <p> |
@@ -283,15 +283,32 @@ FPS(一人称シューティング)ゲームでおなじみの操作で、 | ||
283 | 283 | |
284 | 284 | <h3>(5) 視点の選択</h3> |
285 | 285 | <p> |
286 | -Viewメニューから「Viewpoint 1 / Viewpoint 2 / Viewpoint 3」を選択するか、次のキーを押すと、 | |
286 | +Viewメニューから「Viewpoint 1 / 2 / 3」を選択するか、次のキーを押すと、 | |
287 | 287 | あらかじめ固定された視点に移動することができます。 |
288 | 288 | </p> |
289 | 289 | <p> |
290 | 290 | <table> |
291 | 291 | <tr><th>キー</th><th>動作</th></tr> |
292 | - <tr><td><kbd>7</kbd></td><td>視点1に移動する</td></tr> | |
293 | - <tr><td><kbd>8</kbd></td><td>視点2に移動する</td></tr> | |
294 | - <tr><td><kbd>9</kbd></td><td>視点3に移動する</td></tr> | |
292 | + <tr><td><kbd>7</kbd></td><td>固定視点1に移動する</td></tr> | |
293 | + <tr><td><kbd>8</kbd></td><td>固定視点2に移動する</td></tr> | |
294 | + <tr><td><kbd>9</kbd></td><td>固定視点3に移動する</td></tr> | |
295 | +</table> | |
296 | +</p> | |
297 | +<p> | |
298 | +Viewメニューから「My Viewpoint 1 / 2 / 3」を選択するか、次のキーを押すと、 | |
299 | +あらかじめユーザが保存しておいた視点に移動することができます。<br> | |
300 | +現在の視点を保存するには、Viewメニューから「Save My Viewpoint 1 / 2 / 3」を選択するか、 | |
301 | +次のキーを押します。 | |
302 | +</p> | |
303 | +<p> | |
304 | +<table> | |
305 | + <tr><th>キー</th><th>動作</th></tr> | |
306 | + <tr><td><kbd>CTRL</kbd> + <kbd>7</kbd></td><td>私の視点1に移動する</td></tr> | |
307 | + <tr><td><kbd>CTRL</kbd> + <kbd>8</kbd></td><td>私の視点2に移動する</td></tr> | |
308 | + <tr><td><kbd>CTRL</kbd> + <kbd>9</kbd></td><td>私の視点3に移動する</td></tr> | |
309 | + <tr><td><kbd>SHIFT</kbd> + <kbd>CTRL</kbd> + <kbd>7</kbd></td><td>私の視点1を保存する</td></tr> | |
310 | + <tr><td><kbd>SHIFT</kbd> + <kbd>CTRL</kbd> + <kbd>8</kbd></td><td>私の視点2を保存する</td></tr> | |
311 | + <tr><td><kbd>SHIFT</kbd> + <kbd>CTRL</kbd> + <kbd>9</kbd></td><td>私の視点3を保存する</td></tr> | |
295 | 312 | </table> |
296 | 313 | </p> |
297 | 314 |
@@ -503,7 +520,7 @@ PCの処理能力を確認するために、音符の数が少ないMIDIデー | ||
503 | 520 | 次のファイルをテキストエディタで編集することにより、ウィンドウサイズをカスタマイズできます。 |
504 | 521 | </p> |
505 | 522 | <pre> |
506 | -Windows 7 / 8 / 10 の場合 | |
523 | +Windows 7 / 8 / 10 / 11 の場合 | |
507 | 524 | C:\Users\(ユーザー名)\AppData\Roaming\yknk\MIDITrail\View.ini |
508 | 525 | </pre> |
509 | 526 | <p> |
@@ -821,7 +838,7 @@ MIDITrailは修正BSDライセンスを適用して公開しています。 | ||
821 | 838 | </p> |
822 | 839 | |
823 | 840 | <pre> |
824 | -Copyright (c) 2010-2021, WADA Masashi <<img src="Files/mail.png" align="top">> | |
841 | +Copyright (c) 2010-2022, WADA Masashi <<img src="Files/mail.png" align="top">> | |
825 | 842 | All rights reserved. |
826 | 843 | |
827 | 844 | Redistribution and use in source and binary forms, with or without |
@@ -856,7 +873,7 @@ POSSIBILITY OF SUCH DAMAGE. | ||
856 | 873 | |
857 | 874 | <p> |
858 | 875 | <table> |
859 | - <tr><th>日時</th><th>バージョン</th><th>変更内容</th></tr> | |
876 | + <tr><th>日付</th><th>バージョン</th><th>変更内容</th></tr> | |
860 | 877 | <tr><td>2010/03/08</td><td>Ver.0.0.0</td><td>開発開始</td></tr> |
861 | 878 | <tr><td>2010/05/18</td><td>Ver.1.0.0 beta</td><td>ベータ版公開</td></tr> |
862 | 879 | <tr><td>2010/06/02</td><td>Ver.1.0.0</td><td>正式版公開</td></tr> |
@@ -1001,6 +1018,14 @@ MIDITrail for Mac OS Xと同時にリリース<br> | ||
1001 | 1018 | <tr><td>2021/09/13</td><td>Ver.1.3.4</td><td> |
1002 | 1019 | #42859 機能追加:曲間待機時間の設定を追加<br> |
1003 | 1020 | </td></tr> |
1021 | + <tr><td>2022/07/14</td><td>Ver.1.3.6</td><td> | |
1022 | +#45088 機能追加:メニューバー非表示対応<br> | |
1023 | +#45089 機能追加:視点保存機能を追加<br> | |
1024 | +#45090 機能追加:グリッドラインとタイムインジケータの表示切替対応<br> | |
1025 | +#45091 機能追加:表示/効果スイッチの選択状態を保存<br> | |
1026 | +#45092 機能追加:Piano Roll 3Dにライトを追加<br> | |
1027 | +#45093 機能追加:システムメッセージの解析処理を追加<br> | |
1028 | + </td></tr> | |
1004 | 1029 | </table> |
1005 | 1030 | </p> |
1006 | 1031 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // システムメッセージイベントクラス |
6 | 6 | // |
7 | -// Copyright (C) 2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -90,6 +90,40 @@ EXIT:; | ||
90 | 90 | return result; |
91 | 91 | } |
92 | 92 | |
93 | +//****************************************************************************** | |
94 | +// システムメッセージ種別取得 | |
95 | +//****************************************************************************** | |
96 | +SMEventSysMsg::SysMsg SMEventSysMsg::GetSysMsg() | |
97 | +{ | |
98 | + SysMsg msg = None; | |
99 | + unsigned char* pData = NULL; | |
100 | + unsigned char size = 0; | |
101 | + | |
102 | + if (m_pEvent == NULL) { | |
103 | + goto EXIT; | |
104 | + } | |
105 | + | |
106 | + switch (m_pEvent->GetStatus()) { | |
107 | + case 0xF1: msg = Common_QuarterFrame; size = 2; break; | |
108 | + case 0xF2: msg = Common_SongPositionPointer; size = 3; break; | |
109 | + case 0xF3: msg = Common_SongSelect; size = 2; break; | |
110 | + case 0xF6: msg = Common_TuneRequest; size = 1; break; | |
111 | + case 0xF8: msg = RealTime_TimingClock; size = 1; break; | |
112 | + case 0xFA: msg = RealTime_Start; size = 1; break; | |
113 | + case 0xFB: msg = RealTime_Continue; size = 1; break; | |
114 | + case 0xFC: msg = RealTime_Stop; size = 1; break; | |
115 | + case 0xFE: msg = RealTime_ActiveSensing; size = 1; break; | |
116 | + case 0xFF: msg = RealTime_SystemReset; size = 1; break; | |
117 | + default: break; | |
118 | + } | |
119 | + if ((m_pEvent->GetDataSize() + 1) != size) { | |
120 | + msg = None; | |
121 | + } | |
122 | + | |
123 | +EXIT:; | |
124 | + return msg; | |
125 | +} | |
126 | + | |
93 | 127 | } // end of namespace |
94 | 128 | |
95 | 129 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // システムメッセージイベントクラス |
6 | 6 | // |
7 | -// Copyright (C) 2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -50,7 +50,26 @@ namespace SMIDILib { | ||
50 | 50 | class SMIDILIB_API SMEventSysMsg |
51 | 51 | { |
52 | 52 | public: |
53 | - | |
53 | + | |
54 | + //システムメッセージ種別 | |
55 | + enum SysMsg { | |
56 | + None = 0x00, // none | |
57 | + //システムコモンメッセージ | |
58 | + Common_QuarterFrame = 0xF1, // F1 dd | |
59 | + Common_SongPositionPointer = 0xF2, // F2 dl dm | |
60 | + Common_SongSelect = 0xF3, // F3 dd | |
61 | + Common_TuneRequest = 0xF6, // F6 | |
62 | + //システムリアルタイムメッセージ | |
63 | + RealTime_TimingClock = 0xF8, // F8 | |
64 | + RealTime_Start = 0xFA, // FA | |
65 | + RealTime_Continue = 0xFB, // FB | |
66 | + RealTime_Stop = 0xFC, // FC | |
67 | + RealTime_ActiveSensing = 0xFE, // FE | |
68 | + RealTime_SystemReset = 0xFF // FF | |
69 | + }; | |
70 | + | |
71 | +public: | |
72 | + | |
54 | 73 | //コンストラクタ/デストラクタ |
55 | 74 | SMEventSysMsg(); |
56 | 75 | virtual ~SMEventSysMsg(void); |
@@ -61,6 +80,9 @@ public: | ||
61 | 80 | //MIDI出力メッセージ取得 |
62 | 81 | int GetMIDIOutShortMsg(unsigned long* pMsg, unsigned long* pSize); |
63 | 82 | |
83 | + //システムメッセージ取得 | |
84 | + SysMsg GetSysMsg(); | |
85 | + | |
64 | 86 | private: |
65 | 87 | |
66 | 88 | SMEvent* m_pEvent; |
@@ -4,13 +4,14 @@ | ||
4 | 4 | // |
5 | 5 | // イベントウォッチャークラス |
6 | 6 | // |
7 | -// Copyright (C) 2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 | |
11 | 11 | #include "StdAfx.h" |
12 | 12 | #include "YNBaseLib.h" |
13 | 13 | #include "SMEventWatcher.h" |
14 | +#include "SMEventSysMsg.h" | |
14 | 15 | |
15 | 16 | using namespace YNBaseLib; |
16 | 17 |
@@ -57,6 +58,7 @@ int SMEventWatcher::WatchEvent( | ||
57 | 58 | { |
58 | 59 | int result = 0; |
59 | 60 | SMEventMIDI eventMIDI; |
61 | + SMEventSysMsg eventSysMsg; | |
60 | 62 | |
61 | 63 | if (pEvent->GetType() == SMEvent::EventMIDI) { |
62 | 64 | eventMIDI.Attach(pEvent); |
@@ -73,6 +75,13 @@ int SMEventWatcher::WatchEvent( | ||
73 | 75 | if (result != 0) goto EXIT; |
74 | 76 | } |
75 | 77 | } |
78 | + else if (pEvent->GetType() == SMEvent::EventSysMsg) { | |
79 | + eventSysMsg.Attach(pEvent); | |
80 | + | |
81 | + //システムメッセージイベント監視 | |
82 | + result = _WatchEventSysMsg(portNo, &eventSysMsg); | |
83 | + if (result != 0) goto EXIT; | |
84 | + } | |
76 | 85 | |
77 | 86 | EXIT:; |
78 | 87 | return result; |
@@ -325,6 +334,58 @@ int SMEventWatcher::_WatchEventControlChange2( | ||
325 | 334 | return result; |
326 | 335 | } |
327 | 336 | |
337 | +//****************************************************************************** | |
338 | +// システムメッセージイベント監視処理 | |
339 | +//****************************************************************************** | |
340 | +int SMEventWatcher::_WatchEventSysMsg( | |
341 | + unsigned char portNo, | |
342 | + SMEventSysMsg* pEventSysMsg | |
343 | + ) | |
344 | +{ | |
345 | + int result = 0; | |
346 | + | |
347 | + //現状は何もしない | |
348 | + goto EXIT; | |
349 | + | |
350 | + switch (pEventSysMsg->GetSysMsg()) { | |
351 | + case SMEventSysMsg::Common_QuarterFrame: | |
352 | + OutputDebugString(_T("Common_QuarterFrame\n")); | |
353 | + break; | |
354 | + case SMEventSysMsg::Common_SongPositionPointer: | |
355 | + OutputDebugString(_T("Common_SongPositionPointer\n")); | |
356 | + break; | |
357 | + case SMEventSysMsg::Common_SongSelect: | |
358 | + OutputDebugString(_T("Common_SongSelect\n")); | |
359 | + break; | |
360 | + case SMEventSysMsg::Common_TuneRequest: | |
361 | + OutputDebugString(_T("Common_TuneRequest\n")); | |
362 | + break; | |
363 | + case SMEventSysMsg::RealTime_TimingClock: | |
364 | + OutputDebugString(_T("RealTime_TimingClock\n")); | |
365 | + break; | |
366 | + case SMEventSysMsg::RealTime_Start: | |
367 | + OutputDebugString(_T("RealTime_Start\n")); | |
368 | + break; | |
369 | + case SMEventSysMsg::RealTime_Continue: | |
370 | + OutputDebugString(_T("RealTime_Continue\n")); | |
371 | + break; | |
372 | + case SMEventSysMsg::RealTime_Stop: | |
373 | + OutputDebugString(_T("RealTime_Stop\n")); | |
374 | + break; | |
375 | + case SMEventSysMsg::RealTime_ActiveSensing: | |
376 | + OutputDebugString(_T("RealTime_ActiveSensing\n")); | |
377 | + break; | |
378 | + case SMEventSysMsg::RealTime_SystemReset: | |
379 | + OutputDebugString(_T("RealTime_SystemReset\n")); | |
380 | + break; | |
381 | + default: | |
382 | + break; | |
383 | + } | |
384 | + | |
385 | +EXIT:; | |
386 | + return result; | |
387 | +} | |
388 | + | |
328 | 389 | } // end of namespace |
329 | 390 | |
330 | 391 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // イベントウォッチャークラス |
6 | 6 | // |
7 | -// Copyright (C) 2012 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2022 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -18,6 +18,7 @@ | ||
18 | 18 | |
19 | 19 | #include "SMEvent.h" |
20 | 20 | #include "SMEventMIDI.h" |
21 | +#include "SMEventSysMsg.h" | |
21 | 22 | #include "SMMsgTransmitter.h" |
22 | 23 | #include "SMCommon.h" |
23 | 24 |
@@ -78,6 +79,7 @@ private: | ||
78 | 79 | int _WatchEventControlChange(unsigned char portNo, SMEventMIDI* pMIDIEvent); |
79 | 80 | int _WatchEventControlChange2(unsigned char portNo, SMEventMIDI* pMIDIEvent); |
80 | 81 | RPN_Type _GetCurRPNType(unsigned char portNo, unsigned char chNo); |
82 | + int _WatchEventSysMsg(unsigned char portNo, SMEventSysMsg* pEventSysMsg); | |
81 | 83 | |
82 | 84 | }; |
83 | 85 |