MIDITrail をピカピカにする。鍵盤方向自動切替・多ポート・歌詞対応等
Revisão | 7733154dddaca6ae85c53d02f44cde4ea4ad3866 (tree) |
---|---|
Hora | 2019-08-28 01:11:45 |
Autor | yoshy <yoshy@user...> |
Commiter | yoshy |
[UPGRADE] original 1.2.4
@@ -1,5 +1,5 @@ | ||
1 | 1 | |
2 | -Copyright (c) 2010-2017, WADA Masashi <yknk@users.osdn.me> | |
2 | +Copyright (c) 2010-2019, 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 |
@@ -77,10 +77,9 @@ BEGIN | ||
77 | 77 | MENUITEM "Counter", IDM_ENABLE_COUNTER |
78 | 78 | MENUITEM "Background Image", IDM_ENABLE_BACKGROUNDIMAGE |
79 | 79 | MENUITEM SEPARATOR |
80 | - MENUITEM "Auto save viewpoint", 32838 | |
81 | - MENUITEM SEPARATOR | |
82 | - MENUITEM "Reset viewpoint", IDM_RESET_VIEWPOINT | |
83 | - MENUITEM "Save viewpoint", IDM_SAVE_VIEWPOINT | |
80 | + MENUITEM "Viewpoint 1\t7", IDM_RESET_VIEWPOINT | |
81 | + MENUITEM "Viewpoint 2\t8", IDM_VIEWPOINT2 | |
82 | + MENUITEM "Viewpoint 3\t9", IDM_VIEWPOINT3 | |
84 | 83 | MENUITEM SEPARATOR |
85 | 84 | MENUITEM "Window size...", IDM_WINDOWSIZE |
86 | 85 | END |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail アプリケーションクラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -631,14 +631,24 @@ LRESULT MIDITrailApp::_WndProcImpl( | ||
631 | 631 | result = _OnMenuAutoSaveViewpoint(); |
632 | 632 | if (result != 0) goto EXIT; |
633 | 633 | break; |
634 | + case IDM_SAVE_VIEWPOINT: | |
635 | + //視点保存 | |
636 | + result = _OnMenuSaveViewpoint(); | |
637 | + if (result != 0) goto EXIT; | |
638 | + break; | |
634 | 639 | case IDM_RESET_VIEWPOINT: |
635 | 640 | //視点リセット |
636 | 641 | result = _OnMenuResetViewpoint(); |
637 | 642 | if (result != 0) goto EXIT; |
638 | 643 | break; |
639 | - case IDM_SAVE_VIEWPOINT: | |
640 | - //視点保存 | |
641 | - result = _OnMenuSaveViewpoint(); | |
644 | + case IDM_VIEWPOINT2: | |
645 | + //静的視点2に移動 | |
646 | + result = _OnMenuViewpoint(2); | |
647 | + if (result != 0) goto EXIT; | |
648 | + break; | |
649 | + case IDM_VIEWPOINT3: | |
650 | + //静的視点3に移動 | |
651 | + result = _OnMenuViewpoint(3); | |
642 | 652 | if (result != 0) goto EXIT; |
643 | 653 | break; |
644 | 654 | case IDM_ENABLE_PIANOKEYBOARD: |
@@ -1162,6 +1172,24 @@ EXIT:; | ||
1162 | 1172 | } |
1163 | 1173 | |
1164 | 1174 | //****************************************************************************** |
1175 | +// メニュー選択:静的視点移動 | |
1176 | +//****************************************************************************** | |
1177 | +int MIDITrailApp::_OnMenuViewpoint( | |
1178 | + unsigned long viewpointNo | |
1179 | + ) | |
1180 | +{ | |
1181 | + int result = 0; | |
1182 | + | |
1183 | + if (m_PlayStatus == NoData) goto EXIT; | |
1184 | + | |
1185 | + //静的視点に移動 | |
1186 | + m_pScene->MoveToStaticViewpoint(viewpointNo); | |
1187 | + | |
1188 | +EXIT:; | |
1189 | + return result; | |
1190 | +} | |
1191 | + | |
1192 | +//****************************************************************************** | |
1165 | 1193 | // メニュー選択:視点リセット |
1166 | 1194 | //****************************************************************************** |
1167 | 1195 | int MIDITrailApp::_OnMenuResetViewpoint() |
@@ -1576,6 +1604,24 @@ int MIDITrailApp::_OnKeyDown( | ||
1576 | 1604 | result = _OnMenuPlaySpeedUp(); |
1577 | 1605 | if (result != 0) goto EXIT; |
1578 | 1606 | break; |
1607 | + case '7': | |
1608 | + case VK_NUMPAD7: | |
1609 | + //視点リセット | |
1610 | + result = _OnMenuResetViewpoint(); | |
1611 | + if (result != 0) goto EXIT; | |
1612 | + break; | |
1613 | + case '8': | |
1614 | + case VK_NUMPAD8: | |
1615 | + //静的視点2移動 | |
1616 | + result = _OnMenuViewpoint(2); | |
1617 | + if (result != 0) goto EXIT; | |
1618 | + break; | |
1619 | + case '9': | |
1620 | + case VK_NUMPAD9: | |
1621 | + //静的視点3移動 | |
1622 | + result = _OnMenuViewpoint(3); | |
1623 | + if (result != 0) goto EXIT; | |
1624 | + break; | |
1579 | 1625 | case 'O': |
1580 | 1626 | if (GetKeyState(VK_CONTROL) & 0x8000) { |
1581 | 1627 | //ファイルオープン |
@@ -1992,9 +2038,9 @@ int MIDITrailApp::_ChangeMenuStyle() | ||
1992 | 2038 | IDM_VIEW_2DPIANOROLL, |
1993 | 2039 | IDM_VIEW_PIANOROLLRAIN, |
1994 | 2040 | IDM_VIEW_PIANOROLLRAIN2D, |
1995 | - IDM_AUTO_SAVE_VIEWPOINT, | |
1996 | 2041 | IDM_RESET_VIEWPOINT, |
1997 | - IDM_SAVE_VIEWPOINT, | |
2042 | + IDM_VIEWPOINT2, | |
2043 | + IDM_VIEWPOINT3, | |
1998 | 2044 | IDM_ENABLE_PIANOKEYBOARD, |
1999 | 2045 | IDM_ENABLE_RIPPLE, |
2000 | 2046 | IDM_ENABLE_PITCHBEND, |
@@ -2028,9 +2074,9 @@ int MIDITrailApp::_ChangeMenuStyle() | ||
2028 | 2074 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_VIEW_2DPIANOROLL |
2029 | 2075 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_VIEW_PIANOROLLRAIN |
2030 | 2076 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_VIEW_PIANOROLLRAIN2D |
2031 | - { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_AUTO_SAVE_VIEWPOINT | |
2032 | 2077 | { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_RESET_VIEWPOINT |
2033 | - { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_SAVE_VIEWPOINT | |
2078 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_VIEWPOINT2 | |
2079 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_VIEWPOINT3 | |
2034 | 2080 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_PIANOKEYBOARD |
2035 | 2081 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_RIPPLE |
2036 | 2082 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_PITCHBEND |
@@ -2235,13 +2281,16 @@ int MIDITrailApp::_LoadSceneConf() | ||
2235 | 2281 | if (result != 0) goto EXIT; |
2236 | 2282 | |
2237 | 2283 | //自動視点保存 |
2238 | - result = m_ViewConf.GetInt(_T("AutoSaveViewpoint"), &autoSaveViewpoint, 0); | |
2239 | - if (result != 0) goto EXIT; | |
2240 | - | |
2241 | - m_isAutoSaveViewpoint = false; | |
2242 | - if (autoSaveViewpoint == 1) { | |
2243 | - m_isAutoSaveViewpoint = true; | |
2244 | - } | |
2284 | + //result = m_ViewConf.GetInt(_T("AutoSaveViewpoint"), &autoSaveViewpoint, 0); | |
2285 | + //if (result != 0) goto EXIT; | |
2286 | + // | |
2287 | + //m_isAutoSaveViewpoint = false; | |
2288 | + //if (autoSaveViewpoint == 1) { | |
2289 | + // m_isAutoSaveViewpoint = true; | |
2290 | + //} | |
2291 | + | |
2292 | + //自動視点保存:常に有効とする | |
2293 | + m_isAutoSaveViewpoint = true; | |
2245 | 2294 | |
2246 | 2295 | EXIT:; |
2247 | 2296 | return result; |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail アプリケーションクラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2018 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -253,6 +253,7 @@ private: | ||
253 | 253 | int _OnMenuStopMonitoring(); |
254 | 254 | int _OnMenuAutoSaveViewpoint(); |
255 | 255 | int _OnMenuResetViewpoint(); |
256 | + int _OnMenuViewpoint(unsigned long viewpointNo); | |
256 | 257 | int _OnMenuSaveViewpoint(); |
257 | 258 | int _OnMenuEnableEffect(MTScene::EffectType type); |
258 | 259 | int _OnMenuWindowSize(); |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail バージョン定義 |
6 | 6 | // |
7 | -// Copyright (C) 2014-2017 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2014-2019 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.2.3 (32bit)") | |
20 | -#define MIDITRAIL_VERSION_STRING_X64 _T("Version 1.2.3 (64bit)") | |
19 | +#define MIDITRAIL_VERSION_STRING_X86 _T("Version 1.2.4 (32bit)") | |
20 | +#define MIDITRAIL_VERSION_STRING_X64 _T("Version 1.2.4 (64bit)") | |
21 | 21 | |
22 | 22 | //コピーライト |
23 | -#define MIDITRAIL_COPYRIGHT _T("Copyright (C) 2010-2017 WADA Masashi"); | |
23 | +#define MIDITRAIL_COPYRIGHT _T("Copyright (C) 2010-2019 WADA Masashi"); | |
24 | 24 | |
25 | 25 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail シーン基底クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2014 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2018 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -160,6 +160,16 @@ void MTScene::SetViewParam( | ||
160 | 160 | } |
161 | 161 | |
162 | 162 | //****************************************************************************** |
163 | +// 静的視点移動 | |
164 | +//****************************************************************************** | |
165 | +void MTScene::MoveToStaticViewpoint( | |
166 | + unsigned long viewpointNo | |
167 | + ) | |
168 | +{ | |
169 | + return; | |
170 | +} | |
171 | + | |
172 | +//****************************************************************************** | |
163 | 173 | // 視点リセット |
164 | 174 | //****************************************************************************** |
165 | 175 | void MTScene::ResetViewpoint() |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // MIDITrail シーン基底クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2018 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -91,6 +91,7 @@ public: | ||
91 | 91 | virtual void GetDefaultViewParam(MTViewParamMap* pParamMap); |
92 | 92 | virtual void GetViewParam(MTViewParamMap* pParamMap); |
93 | 93 | virtual void SetViewParam(MTViewParamMap* pParamMap); |
94 | + virtual void MoveToStaticViewpoint(unsigned long viewpointNo); | |
94 | 95 | |
95 | 96 | //視点リセット |
96 | 97 | virtual void ResetViewpoint(); |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ピアノロール3Dシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -632,6 +632,34 @@ void MTScenePianoRoll3D::SetViewParam( | ||
632 | 632 | } |
633 | 633 | |
634 | 634 | //****************************************************************************** |
635 | +// 静的視点移動 | |
636 | +//****************************************************************************** | |
637 | +void MTScenePianoRoll3D::MoveToStaticViewpoint( | |
638 | + unsigned long viewpointNo | |
639 | + ) | |
640 | +{ | |
641 | + MTScene::MTViewParamMap::iterator itr; | |
642 | + MTViewParamMap paramMap; | |
643 | + | |
644 | + if (viewpointNo == 1) { | |
645 | + GetDefaultViewParam(¶mMap); | |
646 | + SetViewParam(¶mMap); | |
647 | + } | |
648 | + else if (viewpointNo == 2) { | |
649 | + SetViewParam(&m_Viewpoint2); | |
650 | + } | |
651 | + else if (viewpointNo == 3) { | |
652 | + SetViewParam(&m_Viewpoint3); | |
653 | + } | |
654 | + else { | |
655 | + GetDefaultViewParam(¶mMap); | |
656 | + SetViewParam(¶mMap); | |
657 | + } | |
658 | + | |
659 | + return; | |
660 | +} | |
661 | + | |
662 | +//****************************************************************************** | |
635 | 663 | // 視点リセット |
636 | 664 | //****************************************************************************** |
637 | 665 | void MTScenePianoRoll3D::ResetViewpoint() |
@@ -744,6 +772,70 @@ int MTScenePianoRoll3D::_LoadConf() | ||
744 | 772 | |
745 | 773 | SetBGColor(DXColorUtil::MakeColorFromHexRGBA(hexColor)); |
746 | 774 | |
775 | + result = _LoadConfViewpoint(&confFile, 2, &m_Viewpoint2); | |
776 | + if (result != 0) goto EXIT; | |
777 | + | |
778 | + result = _LoadConfViewpoint(&confFile, 3, &m_Viewpoint3); | |
779 | + if (result != 0) goto EXIT; | |
780 | + | |
781 | +EXIT:; | |
782 | + return result; | |
783 | +} | |
784 | + | |
785 | +//****************************************************************************** | |
786 | +// 設定ファイル読み込み:視点 | |
787 | +//****************************************************************************** | |
788 | +int MTScenePianoRoll3D::_LoadConfViewpoint( | |
789 | + MTConfFile* pConfFile, | |
790 | + unsigned long viewpointNo, | |
791 | + MTViewParamMap* pParamMap | |
792 | + ) | |
793 | +{ | |
794 | + int result = 0; | |
795 | + int eresult = 0; | |
796 | + TCHAR sectionStr[32] = {0}; | |
797 | + float x, y, z = 0.0f; | |
798 | + float phi, theta = 0.0f; | |
799 | + float manualRollAngle = 0.0f; | |
800 | + float autoRollVelocity = 0.0f; | |
801 | + | |
802 | + //セクション名作成 | |
803 | + eresult = _stprintf_s(sectionStr, 32, _T("Viewpoint-%d"), viewpointNo); | |
804 | + if (eresult < 0) { | |
805 | + result = YN_SET_ERR("Program error.", viewpointNo, 0); | |
806 | + goto EXIT; | |
807 | + } | |
808 | + | |
809 | + //セクション設定 | |
810 | + result = pConfFile->SetCurSection(sectionStr); | |
811 | + if (result != 0) goto EXIT; | |
812 | + | |
813 | + //パラメータ取得 | |
814 | + result = pConfFile->GetFloat(_T("X"), &x, 0.0f); | |
815 | + if (result != 0) goto EXIT; | |
816 | + result = pConfFile->GetFloat(_T("Y"), &y, 0.0f); | |
817 | + if (result != 0) goto EXIT; | |
818 | + result = pConfFile->GetFloat(_T("Z"), &z, 0.0f); | |
819 | + if (result != 0) goto EXIT; | |
820 | + result = pConfFile->GetFloat(_T("Phi"), &phi, 0.0f); | |
821 | + if (result != 0) goto EXIT; | |
822 | + result = pConfFile->GetFloat(_T("Theta"), &theta, 0.0f); | |
823 | + if (result != 0) goto EXIT; | |
824 | + result = pConfFile->GetFloat(_T("ManualRollAngle"), &manualRollAngle, 0.0f); | |
825 | + if (result != 0) goto EXIT; | |
826 | + result = pConfFile->GetFloat(_T("AutoRollVelocity"), &autoRollVelocity, 0.0f); | |
827 | + if (result != 0) goto EXIT; | |
828 | + | |
829 | + //マップ登録 | |
830 | + pParamMap->clear(); | |
831 | + pParamMap->insert(MTViewParamMapPair("X", x)); | |
832 | + pParamMap->insert(MTViewParamMapPair("Y", y)); | |
833 | + pParamMap->insert(MTViewParamMapPair("Z", z)); | |
834 | + pParamMap->insert(MTViewParamMapPair("Phi", phi)); | |
835 | + pParamMap->insert(MTViewParamMapPair("Theta", theta)); | |
836 | + pParamMap->insert(MTViewParamMapPair("ManualRollAngle", manualRollAngle)); | |
837 | + pParamMap->insert(MTViewParamMapPair("AutoRollVelocity", autoRollVelocity)); | |
838 | + | |
747 | 839 | EXIT:; |
748 | 840 | return result; |
749 | 841 | } |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ピアノロール3Dシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -26,6 +26,7 @@ | ||
26 | 26 | #include "MTTimeIndicator.h" |
27 | 27 | #include "MTMeshCtrl.h" |
28 | 28 | #include "MTBackgroundImage.h" |
29 | +#include "MTConfFile.h" | |
29 | 30 | #include "SMIDILib.h" |
30 | 31 | |
31 | 32 | using namespace SMIDILib; |
@@ -87,6 +88,7 @@ public: | ||
87 | 88 | void GetDefaultViewParam(MTViewParamMap* pParamMap); |
88 | 89 | void GetViewParam(MTViewParamMap* pParamMap); |
89 | 90 | void SetViewParam(MTViewParamMap* pParamMap); |
91 | + void MoveToStaticViewpoint(unsigned long viewpointNo); | |
90 | 92 | |
91 | 93 | //視点リセット |
92 | 94 | void ResetViewpoint(); |
@@ -130,6 +132,8 @@ private: | ||
130 | 132 | |
131 | 133 | //視点情報 |
132 | 134 | MTViewParamMap m_ViewParamMap; |
135 | + MTViewParamMap m_Viewpoint2; | |
136 | + MTViewParamMap m_Viewpoint3; | |
133 | 137 | |
134 | 138 | //ノートデザインオブジェクト |
135 | 139 | MTNoteDesign m_NoteDesign; |
@@ -140,6 +144,7 @@ private: | ||
140 | 144 | void _Reset(); |
141 | 145 | void _SetLightColor(DXDirLight* pLight); |
142 | 146 | int _LoadConf(); |
147 | + int _LoadConfViewpoint(MTConfFile* pConfFile, unsigned long viewpointNo, MTScene::MTViewParamMap* pParamMap); | |
143 | 148 | |
144 | 149 | }; |
145 | 150 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロール3Dシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -612,6 +612,34 @@ void MTScenePianoRoll3DLive::SetViewParam( | ||
612 | 612 | } |
613 | 613 | |
614 | 614 | //****************************************************************************** |
615 | +// 静的視点移動 | |
616 | +//****************************************************************************** | |
617 | +void MTScenePianoRoll3DLive::MoveToStaticViewpoint( | |
618 | + unsigned long viewpointNo | |
619 | + ) | |
620 | +{ | |
621 | + MTScene::MTViewParamMap::iterator itr; | |
622 | + MTViewParamMap paramMap; | |
623 | + | |
624 | + if (viewpointNo == 1) { | |
625 | + GetDefaultViewParam(¶mMap); | |
626 | + SetViewParam(¶mMap); | |
627 | + } | |
628 | + else if (viewpointNo == 2) { | |
629 | + SetViewParam(&m_Viewpoint2); | |
630 | + } | |
631 | + else if (viewpointNo == 3) { | |
632 | + SetViewParam(&m_Viewpoint3); | |
633 | + } | |
634 | + else { | |
635 | + GetDefaultViewParam(¶mMap); | |
636 | + SetViewParam(¶mMap); | |
637 | + } | |
638 | + | |
639 | + return; | |
640 | +} | |
641 | + | |
642 | +//****************************************************************************** | |
615 | 643 | // 視点リセット |
616 | 644 | //****************************************************************************** |
617 | 645 | void MTScenePianoRoll3DLive::ResetViewpoint() |
@@ -679,6 +707,70 @@ int MTScenePianoRoll3DLive::_LoadConf() | ||
679 | 707 | |
680 | 708 | SetBGColor(DXColorUtil::MakeColorFromHexRGBA(hexColor)); |
681 | 709 | |
710 | + result = _LoadConfViewpoint(&confFile, 2, &m_Viewpoint2); | |
711 | + if (result != 0) goto EXIT; | |
712 | + | |
713 | + result = _LoadConfViewpoint(&confFile, 3, &m_Viewpoint3); | |
714 | + if (result != 0) goto EXIT; | |
715 | + | |
716 | +EXIT:; | |
717 | + return result; | |
718 | +} | |
719 | + | |
720 | +//****************************************************************************** | |
721 | +// 設定ファイル読み込み:視点 | |
722 | +//****************************************************************************** | |
723 | +int MTScenePianoRoll3DLive::_LoadConfViewpoint( | |
724 | + MTConfFile* pConfFile, | |
725 | + unsigned long viewpointNo, | |
726 | + MTViewParamMap* pParamMap | |
727 | + ) | |
728 | +{ | |
729 | + int result = 0; | |
730 | + int eresult = 0; | |
731 | + TCHAR sectionStr[32] = {0}; | |
732 | + float x, y, z = 0.0f; | |
733 | + float phi, theta = 0.0f; | |
734 | + float manualRollAngle = 0.0f; | |
735 | + float autoRollVelocity = 0.0f; | |
736 | + | |
737 | + //セクション名作成 | |
738 | + eresult = _stprintf_s(sectionStr, 32, _T("Viewpoint-%d"), viewpointNo); | |
739 | + if (eresult < 0) { | |
740 | + result = YN_SET_ERR("Program error.", viewpointNo, 0); | |
741 | + goto EXIT; | |
742 | + } | |
743 | + | |
744 | + //セクション設定 | |
745 | + result = pConfFile->SetCurSection(sectionStr); | |
746 | + if (result != 0) goto EXIT; | |
747 | + | |
748 | + //パラメータ取得 | |
749 | + result = pConfFile->GetFloat(_T("X"), &x, 0.0f); | |
750 | + if (result != 0) goto EXIT; | |
751 | + result = pConfFile->GetFloat(_T("Y"), &y, 0.0f); | |
752 | + if (result != 0) goto EXIT; | |
753 | + result = pConfFile->GetFloat(_T("Z"), &z, 0.0f); | |
754 | + if (result != 0) goto EXIT; | |
755 | + result = pConfFile->GetFloat(_T("Phi"), &phi, 0.0f); | |
756 | + if (result != 0) goto EXIT; | |
757 | + result = pConfFile->GetFloat(_T("Theta"), &theta, 0.0f); | |
758 | + if (result != 0) goto EXIT; | |
759 | + result = pConfFile->GetFloat(_T("ManualRollAngle"), &manualRollAngle, 0.0f); | |
760 | + if (result != 0) goto EXIT; | |
761 | + result = pConfFile->GetFloat(_T("AutoRollVelocity"), &autoRollVelocity, 0.0f); | |
762 | + if (result != 0) goto EXIT; | |
763 | + | |
764 | + //マップ登録 | |
765 | + pParamMap->clear(); | |
766 | + pParamMap->insert(MTViewParamMapPair("X", x)); | |
767 | + pParamMap->insert(MTViewParamMapPair("Y", y)); | |
768 | + pParamMap->insert(MTViewParamMapPair("Z", z)); | |
769 | + pParamMap->insert(MTViewParamMapPair("Phi", phi)); | |
770 | + pParamMap->insert(MTViewParamMapPair("Theta", theta)); | |
771 | + pParamMap->insert(MTViewParamMapPair("ManualRollAngle", manualRollAngle)); | |
772 | + pParamMap->insert(MTViewParamMapPair("AutoRollVelocity", autoRollVelocity)); | |
773 | + | |
682 | 774 | EXIT:; |
683 | 775 | return result; |
684 | 776 | } |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロール3Dシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -26,6 +26,7 @@ | ||
26 | 26 | #include "MTTimeIndicator.h" |
27 | 27 | #include "MTMeshCtrl.h" |
28 | 28 | #include "MTBackgroundImage.h" |
29 | +#include "MTConfFile.h" | |
29 | 30 | #include "SMIDILib.h" |
30 | 31 | |
31 | 32 | using namespace SMIDILib; |
@@ -87,6 +88,7 @@ public: | ||
87 | 88 | void GetDefaultViewParam(MTViewParamMap* pParamMap); |
88 | 89 | void GetViewParam(MTViewParamMap* pParamMap); |
89 | 90 | void SetViewParam(MTViewParamMap* pParamMap); |
91 | + void MoveToStaticViewpoint(unsigned long viewpointNo); | |
90 | 92 | |
91 | 93 | //視点リセット |
92 | 94 | void ResetViewpoint(); |
@@ -127,6 +129,8 @@ private: | ||
127 | 129 | |
128 | 130 | //視点情報 |
129 | 131 | MTViewParamMap m_ViewParamMap; |
132 | + MTViewParamMap m_Viewpoint2; | |
133 | + MTViewParamMap m_Viewpoint3; | |
130 | 134 | |
131 | 135 | //ノートデザインオブジェクト |
132 | 136 | MTNoteDesign m_NoteDesign; |
@@ -136,6 +140,7 @@ private: | ||
136 | 140 | |
137 | 141 | void _Reset(); |
138 | 142 | int _LoadConf(); |
143 | + int _LoadConfViewpoint(MTConfFile* pConfFile, unsigned long viewpointNo, MTScene::MTViewParamMap* pParamMap); | |
139 | 144 | |
140 | 145 | }; |
141 | 146 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ピアノロールレインシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -459,6 +459,7 @@ void MTScenePianoRollRain::GetDefaultViewParam( | ||
459 | 459 | D3DXVECTOR3 viewPointVector; |
460 | 460 | float phi, theta = 0.0f; |
461 | 461 | |
462 | + //視点情報作成 | |
462 | 463 | viewPointVector.x = 0.0f; |
463 | 464 | viewPointVector.y = 0.0f; |
464 | 465 | viewPointVector.z = - (1.5f * 16.0f / 2.0f) - 10.0f; |
@@ -588,6 +589,34 @@ void MTScenePianoRollRain::SetViewParam( | ||
588 | 589 | } |
589 | 590 | |
590 | 591 | //****************************************************************************** |
592 | +// 静的視点移動 | |
593 | +//****************************************************************************** | |
594 | +void MTScenePianoRollRain::MoveToStaticViewpoint( | |
595 | + unsigned long viewpointNo | |
596 | + ) | |
597 | +{ | |
598 | + MTScene::MTViewParamMap::iterator itr; | |
599 | + MTViewParamMap paramMap; | |
600 | + | |
601 | + if (viewpointNo == 1) { | |
602 | + GetDefaultViewParam(¶mMap); | |
603 | + SetViewParam(¶mMap); | |
604 | + } | |
605 | + else if (viewpointNo == 2) { | |
606 | + SetViewParam(&m_Viewpoint2); | |
607 | + } | |
608 | + else if (viewpointNo == 3) { | |
609 | + SetViewParam(&m_Viewpoint3); | |
610 | + } | |
611 | + else { | |
612 | + GetDefaultViewParam(¶mMap); | |
613 | + SetViewParam(¶mMap); | |
614 | + } | |
615 | + | |
616 | + return; | |
617 | +} | |
618 | + | |
619 | +//****************************************************************************** | |
591 | 620 | // 視点リセット |
592 | 621 | //****************************************************************************** |
593 | 622 | void MTScenePianoRollRain::ResetViewpoint() |
@@ -701,6 +730,70 @@ int MTScenePianoRollRain::_LoadConf() | ||
701 | 730 | |
702 | 731 | SetBGColor(DXColorUtil::MakeColorFromHexRGBA(hexColor)); |
703 | 732 | |
733 | + result = _LoadConfViewpoint(&confFile, 2, &m_Viewpoint2); | |
734 | + if (result != 0) goto EXIT; | |
735 | + | |
736 | + result = _LoadConfViewpoint(&confFile, 3, &m_Viewpoint3); | |
737 | + if (result != 0) goto EXIT; | |
738 | + | |
739 | +EXIT:; | |
740 | + return result; | |
741 | +} | |
742 | + | |
743 | +//****************************************************************************** | |
744 | +// 設定ファイル読み込み:視点 | |
745 | +//****************************************************************************** | |
746 | +int MTScenePianoRollRain::_LoadConfViewpoint( | |
747 | + MTConfFile* pConfFile, | |
748 | + unsigned long viewpointNo, | |
749 | + MTViewParamMap* pParamMap | |
750 | + ) | |
751 | +{ | |
752 | + int result = 0; | |
753 | + int eresult = 0; | |
754 | + TCHAR sectionStr[32] = {0}; | |
755 | + float x, y, z = 0.0f; | |
756 | + float phi, theta = 0.0f; | |
757 | + float manualRollAngle = 0.0f; | |
758 | + float autoRollVelocity = 0.0f; | |
759 | + | |
760 | + //セクション名作成 | |
761 | + eresult = _stprintf_s(sectionStr, 32, _T("Viewpoint-%d"), viewpointNo); | |
762 | + if (eresult < 0) { | |
763 | + result = YN_SET_ERR("Program error.", viewpointNo, 0); | |
764 | + goto EXIT; | |
765 | + } | |
766 | + | |
767 | + //セクション設定 | |
768 | + result = pConfFile->SetCurSection(sectionStr); | |
769 | + if (result != 0) goto EXIT; | |
770 | + | |
771 | + //パラメータ取得 | |
772 | + result = pConfFile->GetFloat(_T("X"), &x, 0.0f); | |
773 | + if (result != 0) goto EXIT; | |
774 | + result = pConfFile->GetFloat(_T("Y"), &y, 0.0f); | |
775 | + if (result != 0) goto EXIT; | |
776 | + result = pConfFile->GetFloat(_T("Z"), &z, 0.0f); | |
777 | + if (result != 0) goto EXIT; | |
778 | + result = pConfFile->GetFloat(_T("Phi"), &phi, 0.0f); | |
779 | + if (result != 0) goto EXIT; | |
780 | + result = pConfFile->GetFloat(_T("Theta"), &theta, 0.0f); | |
781 | + if (result != 0) goto EXIT; | |
782 | + result = pConfFile->GetFloat(_T("ManualRollAngle"), &manualRollAngle, 0.0f); | |
783 | + if (result != 0) goto EXIT; | |
784 | + result = pConfFile->GetFloat(_T("AutoRollVelocity"), &autoRollVelocity, 0.0f); | |
785 | + if (result != 0) goto EXIT; | |
786 | + | |
787 | + //マップ登録 | |
788 | + pParamMap->clear(); | |
789 | + pParamMap->insert(MTViewParamMapPair("X", x)); | |
790 | + pParamMap->insert(MTViewParamMapPair("Y", y)); | |
791 | + pParamMap->insert(MTViewParamMapPair("Z", z)); | |
792 | + pParamMap->insert(MTViewParamMapPair("Phi", phi)); | |
793 | + pParamMap->insert(MTViewParamMapPair("Theta", theta)); | |
794 | + pParamMap->insert(MTViewParamMapPair("ManualRollAngle", manualRollAngle)); | |
795 | + pParamMap->insert(MTViewParamMapPair("AutoRollVelocity", autoRollVelocity)); | |
796 | + | |
704 | 797 | EXIT:; |
705 | 798 | return result; |
706 | 799 | } |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ピアノロールレインシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -22,6 +22,7 @@ | ||
22 | 22 | #include "MTNotePitchBend.h" |
23 | 23 | #include "MTMeshCtrl.h" |
24 | 24 | #include "MTBackgroundImage.h" |
25 | +#include "MTConfFile.h" | |
25 | 26 | #include "SMIDILib.h" |
26 | 27 | |
27 | 28 | using namespace SMIDILib; |
@@ -83,6 +84,7 @@ public: | ||
83 | 84 | virtual void GetDefaultViewParam(MTViewParamMap* pParamMap); |
84 | 85 | void GetViewParam(MTViewParamMap* pParamMap); |
85 | 86 | void SetViewParam(MTViewParamMap* pParamMap); |
87 | + void MoveToStaticViewpoint(unsigned long viewpointNo); | |
86 | 88 | |
87 | 89 | //視点リセット |
88 | 90 | void ResetViewpoint(); |
@@ -126,6 +128,8 @@ private: | ||
126 | 128 | |
127 | 129 | //視点情報 |
128 | 130 | MTViewParamMap m_ViewParamMap; |
131 | + MTViewParamMap m_Viewpoint2; | |
132 | + MTViewParamMap m_Viewpoint3; | |
129 | 133 | |
130 | 134 | //演奏位置 |
131 | 135 | unsigned long m_CurTickTime; |
@@ -136,6 +140,7 @@ private: | ||
136 | 140 | void _Reset(); |
137 | 141 | void _SetLightColor(DXDirLight* pLight); |
138 | 142 | int _LoadConf(); |
143 | + int _LoadConfViewpoint(MTConfFile* pConfFile, unsigned long viewpointNo, MTScene::MTViewParamMap* pParamMap); | |
139 | 144 | |
140 | 145 | }; |
141 | 146 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロールレインシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -447,7 +447,7 @@ void MTScenePianoRollRainLive::GetDefaultViewParam( | ||
447 | 447 | viewPointVector.z = -(1.5f * 16.0f / 2.0f) - 10.0f; |
448 | 448 | phi = 90.0f; //+Z軸方向 |
449 | 449 | theta = 90.0f; //+Z軸方向 |
450 | - | |
450 | + | |
451 | 451 | pParamMap->clear(); |
452 | 452 | pParamMap->insert(MTViewParamMapPair("X", viewPointVector.x)); |
453 | 453 | pParamMap->insert(MTViewParamMapPair("Y", viewPointVector.y)); |
@@ -571,6 +571,34 @@ void MTScenePianoRollRainLive::SetViewParam( | ||
571 | 571 | } |
572 | 572 | |
573 | 573 | //****************************************************************************** |
574 | +// 静的視点移動 | |
575 | +//****************************************************************************** | |
576 | +void MTScenePianoRollRainLive::MoveToStaticViewpoint( | |
577 | + unsigned long viewpointNo | |
578 | + ) | |
579 | +{ | |
580 | + MTScene::MTViewParamMap::iterator itr; | |
581 | + MTViewParamMap paramMap; | |
582 | + | |
583 | + if (viewpointNo == 1) { | |
584 | + GetDefaultViewParam(¶mMap); | |
585 | + SetViewParam(¶mMap); | |
586 | + } | |
587 | + else if (viewpointNo == 2) { | |
588 | + SetViewParam(&m_Viewpoint2); | |
589 | + } | |
590 | + else if (viewpointNo == 3) { | |
591 | + SetViewParam(&m_Viewpoint3); | |
592 | + } | |
593 | + else { | |
594 | + GetDefaultViewParam(¶mMap); | |
595 | + SetViewParam(¶mMap); | |
596 | + } | |
597 | + | |
598 | + return; | |
599 | +} | |
600 | + | |
601 | +//****************************************************************************** | |
574 | 602 | // 視点リセット |
575 | 603 | //****************************************************************************** |
576 | 604 | void MTScenePianoRollRainLive::ResetViewpoint() |
@@ -639,6 +667,70 @@ int MTScenePianoRollRainLive::_LoadConf() | ||
639 | 667 | |
640 | 668 | SetBGColor(DXColorUtil::MakeColorFromHexRGBA(hexColor)); |
641 | 669 | |
670 | + result = _LoadConfViewpoint(&confFile, 2, &m_Viewpoint2); | |
671 | + if (result != 0) goto EXIT; | |
672 | + | |
673 | + result = _LoadConfViewpoint(&confFile, 3, &m_Viewpoint3); | |
674 | + if (result != 0) goto EXIT; | |
675 | + | |
676 | +EXIT:; | |
677 | + return result; | |
678 | +} | |
679 | + | |
680 | +//****************************************************************************** | |
681 | +// 設定ファイル読み込み:視点 | |
682 | +//****************************************************************************** | |
683 | +int MTScenePianoRollRainLive::_LoadConfViewpoint( | |
684 | + MTConfFile* pConfFile, | |
685 | + unsigned long viewpointNo, | |
686 | + MTViewParamMap* pParamMap | |
687 | + ) | |
688 | +{ | |
689 | + int result = 0; | |
690 | + int eresult = 0; | |
691 | + TCHAR sectionStr[32] = {0}; | |
692 | + float x, y, z = 0.0f; | |
693 | + float phi, theta = 0.0f; | |
694 | + float manualRollAngle = 0.0f; | |
695 | + float autoRollVelocity = 0.0f; | |
696 | + | |
697 | + //セクション名作成 | |
698 | + eresult = _stprintf_s(sectionStr, 32, _T("Viewpoint-%d"), viewpointNo); | |
699 | + if (eresult < 0) { | |
700 | + result = YN_SET_ERR("Program error.", viewpointNo, 0); | |
701 | + goto EXIT; | |
702 | + } | |
703 | + | |
704 | + //セクション設定 | |
705 | + result = pConfFile->SetCurSection(sectionStr); | |
706 | + if (result != 0) goto EXIT; | |
707 | + | |
708 | + //パラメータ取得 | |
709 | + result = pConfFile->GetFloat(_T("X"), &x, 0.0f); | |
710 | + if (result != 0) goto EXIT; | |
711 | + result = pConfFile->GetFloat(_T("Y"), &y, 0.0f); | |
712 | + if (result != 0) goto EXIT; | |
713 | + result = pConfFile->GetFloat(_T("Z"), &z, 0.0f); | |
714 | + if (result != 0) goto EXIT; | |
715 | + result = pConfFile->GetFloat(_T("Phi"), &phi, 0.0f); | |
716 | + if (result != 0) goto EXIT; | |
717 | + result = pConfFile->GetFloat(_T("Theta"), &theta, 0.0f); | |
718 | + if (result != 0) goto EXIT; | |
719 | + result = pConfFile->GetFloat(_T("ManualRollAngle"), &manualRollAngle, 0.0f); | |
720 | + if (result != 0) goto EXIT; | |
721 | + result = pConfFile->GetFloat(_T("AutoRollVelocity"), &autoRollVelocity, 0.0f); | |
722 | + if (result != 0) goto EXIT; | |
723 | + | |
724 | + //マップ登録 | |
725 | + pParamMap->clear(); | |
726 | + pParamMap->insert(MTViewParamMapPair("X", x)); | |
727 | + pParamMap->insert(MTViewParamMapPair("Y", y)); | |
728 | + pParamMap->insert(MTViewParamMapPair("Z", z)); | |
729 | + pParamMap->insert(MTViewParamMapPair("Phi", phi)); | |
730 | + pParamMap->insert(MTViewParamMapPair("Theta", theta)); | |
731 | + pParamMap->insert(MTViewParamMapPair("ManualRollAngle", manualRollAngle)); | |
732 | + pParamMap->insert(MTViewParamMapPair("AutoRollVelocity", autoRollVelocity)); | |
733 | + | |
642 | 734 | EXIT:; |
643 | 735 | return result; |
644 | 736 | } |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // ライブモニタ用ピアノロールレインシーン描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2012-2016 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2012-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -22,6 +22,7 @@ | ||
22 | 22 | #include "MTNotePitchBend.h" |
23 | 23 | #include "MTMeshCtrl.h" |
24 | 24 | #include "MTBackgroundImage.h" |
25 | +#include "MTConfFile.h" | |
25 | 26 | #include "SMIDILib.h" |
26 | 27 | |
27 | 28 | using namespace SMIDILib; |
@@ -86,6 +87,7 @@ public: | ||
86 | 87 | |
87 | 88 | //視点リセット |
88 | 89 | void ResetViewpoint(); |
90 | + void MoveToStaticViewpoint(unsigned long viewpointNo); | |
89 | 91 | |
90 | 92 | //エフェクト設定 |
91 | 93 | void SetEffect(MTScene::EffectType type, bool isEnable); |
@@ -123,9 +125,12 @@ private: | ||
123 | 125 | |
124 | 126 | //視点情報 |
125 | 127 | MTViewParamMap m_ViewParamMap; |
128 | + MTViewParamMap m_Viewpoint2; | |
129 | + MTViewParamMap m_Viewpoint3; | |
126 | 130 | |
127 | 131 | void _Reset(); |
128 | 132 | int _LoadConf(); |
133 | + int _LoadConfViewpoint(MTConfFile* pConfFile, unsigned long viewpointNo, MTScene::MTViewParamMap* pParamMap); | |
129 | 134 | |
130 | 135 | }; |
131 | 136 |
@@ -4,7 +4,7 @@ | ||
4 | 4 | // |
5 | 5 | // タイムインジケータ描画クラス |
6 | 6 | // |
7 | -// Copyright (C) 2010-2013 WADA Masashi. All Rights Reserved. | |
7 | +// Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
8 | 8 | // |
9 | 9 | //****************************************************************************** |
10 | 10 |
@@ -203,6 +203,18 @@ int MTTimeIndicator::Draw( | ||
203 | 203 | { |
204 | 204 | int result = 0; |
205 | 205 | |
206 | + //テクスチャステージ設定 | |
207 | + // カラー演算:引数1を使用 引数1:テクスチャ | |
208 | + pD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1); | |
209 | + pD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); | |
210 | + // アルファ演算:引数1を使用 引数1:テクスチャ | |
211 | + pD3DDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1); | |
212 | + pD3DDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE); | |
213 | + | |
214 | + //テクスチャフィルタ | |
215 | + pD3DDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); | |
216 | + pD3DDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); | |
217 | + | |
206 | 218 | if (m_isEnableLine) { |
207 | 219 | result = m_PrimitiveLine.Draw(pD3DDevice); |
208 | 220 | if (result != 0) goto EXIT; |
@@ -239,6 +251,7 @@ int MTTimeIndicator::_CreateVertexOfIndicator( | ||
239 | 251 | D3DXVECTOR3 vectorRU; |
240 | 252 | D3DXVECTOR3 vectorLD; |
241 | 253 | D3DXVECTOR3 vectorRD; |
254 | + float delta = 0.0f; | |
242 | 255 | |
243 | 256 | // y x |
244 | 257 | // 0+----+1 |/ |
@@ -261,8 +274,12 @@ int MTTimeIndicator::_CreateVertexOfIndicator( | ||
261 | 274 | pVertex[2].p = vectorLD; |
262 | 275 | pVertex[3].p = vectorRD; |
263 | 276 | |
264 | - //再生面の幅がゼロの場合はラインを描画する | |
265 | - if (vectorLU.z == vectorRU.z) { | |
277 | + //再生面の幅がゼロに近い場合はラインを描画する | |
278 | + delta = vectorLU.z - vectorRU.z; | |
279 | + if (delta < 0) { | |
280 | + delta = -1.0f * delta; | |
281 | + } | |
282 | + if (delta < 0.1) { | |
266 | 283 | m_isEnableLine = true; |
267 | 284 | } |
268 | 285 |
@@ -67,6 +67,8 @@ | ||
67 | 67 | #define IDM_AUTO_SAVE_VIEWPOINT 32838 |
68 | 68 | #define IDM_VIEW_PIANOROLLRAIN2D 32840 |
69 | 69 | #define IDM_ENABLE_BACKGROUNDIMAGE 32842 |
70 | +#define IDM_VIEWPOINT2 32843 | |
71 | +#define IDM_VIEWPOINT3 32844 | |
70 | 72 | #define IDC_STATIC -1 |
71 | 73 | |
72 | 74 | // Next default values for new objects |
@@ -75,7 +77,7 @@ | ||
75 | 77 | #ifndef APSTUDIO_READONLY_SYMBOLS |
76 | 78 | #define _APS_NO_MFC 1 |
77 | 79 | #define _APS_NEXT_RESOURCE_VALUE 134 |
78 | -#define _APS_NEXT_COMMAND_VALUE 32843 | |
80 | +#define _APS_NEXT_COMMAND_VALUE 32848 | |
79 | 81 | #define _APS_NEXT_CONTROL_VALUE 1024 |
80 | 82 | #define _APS_NEXT_SYMED_VALUE 110 |
81 | 83 | #endif |
@@ -1,8 +1,8 @@ | ||
1 | 1 | ****************************************************************************** |
2 | 2 | |
3 | - MIDITrail source code Ver.1.2.3 for Windows | |
3 | + MIDITrail source code Ver.1.2.4 for Windows | |
4 | 4 | |
5 | - Copyright (C) 2010-2017 WADA Masashi. All Rights Reserved. | |
5 | + Copyright (C) 2010-2019 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.2.3 for Windows | |
3 | + MIDITrail ソースコード Ver.1.2.4 for Windows | |
4 | 4 | |
5 | - Copyright (C) 2010-2017 WADA Masashi. All Rights Reserved. | |
5 | + Copyright (C) 2010-2019 WADA Masashi. All Rights Reserved. | |
6 | 6 | |
7 | 7 | Web : https://osdn.jp/projects/miditrail/ |
8 | 8 | Mail: yknk@users.osdn.me |