MIDITrail をピカピカにする。鍵盤方向自動切替・多ポート・歌詞対応等
Revision | bd5e9e81d1254e20ef536f5769bfcb17aeb31927 (tree) |
---|---|
Time | 2019-08-28 03:37:19 |
Author | yoshy <yoshy@user...> |
Commiter | yoshy |
[UPDATE] original 1.2.4をマージ
Merge master/yknk into develop
# Conflicts:
# MIDITrail/MIDITrailVersion.h
# MIDITrail/MTTimeIndicator.cpp
@@ -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 |
@@ -84,10 +84,9 @@ BEGIN | ||
84 | 84 | MENUITEM "Grid Box", IDM_ENABLE_GRIDBOX |
85 | 85 | // <<< add 20180404 yossiepon end |
86 | 86 | MENUITEM SEPARATOR |
87 | - MENUITEM "Auto save viewpoint", 32838 | |
88 | - MENUITEM SEPARATOR | |
89 | - MENUITEM "Reset viewpoint", IDM_RESET_VIEWPOINT | |
90 | - MENUITEM "Save viewpoint", IDM_SAVE_VIEWPOINT | |
87 | + MENUITEM "Viewpoint 1\t7", IDM_RESET_VIEWPOINT | |
88 | + MENUITEM "Viewpoint 2\t8", IDM_VIEWPOINT2 | |
89 | + MENUITEM "Viewpoint 3\t9", IDM_VIEWPOINT3 | |
91 | 90 | MENUITEM SEPARATOR |
92 | 91 | MENUITEM "Window size...", IDM_WINDOWSIZE |
93 | 92 | 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 |
@@ -647,14 +647,24 @@ LRESULT MIDITrailApp::_WndProcImpl( | ||
647 | 647 | result = _OnMenuAutoSaveViewpoint(); |
648 | 648 | if (result != 0) goto EXIT; |
649 | 649 | break; |
650 | + case IDM_SAVE_VIEWPOINT: | |
651 | + //視点保存 | |
652 | + result = _OnMenuSaveViewpoint(); | |
653 | + if (result != 0) goto EXIT; | |
654 | + break; | |
650 | 655 | case IDM_RESET_VIEWPOINT: |
651 | 656 | //視点リセット |
652 | 657 | result = _OnMenuResetViewpoint(); |
653 | 658 | if (result != 0) goto EXIT; |
654 | 659 | break; |
655 | - case IDM_SAVE_VIEWPOINT: | |
656 | - //視点保存 | |
657 | - result = _OnMenuSaveViewpoint(); | |
660 | + case IDM_VIEWPOINT2: | |
661 | + //静的視点2に移動 | |
662 | + result = _OnMenuViewpoint(2); | |
663 | + if (result != 0) goto EXIT; | |
664 | + break; | |
665 | + case IDM_VIEWPOINT3: | |
666 | + //静的視点3に移動 | |
667 | + result = _OnMenuViewpoint(3); | |
658 | 668 | if (result != 0) goto EXIT; |
659 | 669 | break; |
660 | 670 | case IDM_ENABLE_PIANOKEYBOARD: |
@@ -1227,6 +1237,24 @@ EXIT:; | ||
1227 | 1237 | } |
1228 | 1238 | |
1229 | 1239 | //****************************************************************************** |
1240 | +// メニュー選択:静的視点移動 | |
1241 | +//****************************************************************************** | |
1242 | +int MIDITrailApp::_OnMenuViewpoint( | |
1243 | + unsigned long viewpointNo | |
1244 | + ) | |
1245 | +{ | |
1246 | + int result = 0; | |
1247 | + | |
1248 | + if (m_PlayStatus == NoData) goto EXIT; | |
1249 | + | |
1250 | + //静的視点に移動 | |
1251 | + m_pScene->MoveToStaticViewpoint(viewpointNo); | |
1252 | + | |
1253 | +EXIT:; | |
1254 | + return result; | |
1255 | +} | |
1256 | + | |
1257 | +//****************************************************************************** | |
1230 | 1258 | // メニュー選択:視点リセット |
1231 | 1259 | //****************************************************************************** |
1232 | 1260 | int MIDITrailApp::_OnMenuResetViewpoint() |
@@ -1649,6 +1677,24 @@ int MIDITrailApp::_OnKeyDown( | ||
1649 | 1677 | result = _OnMenuPlaySpeedUp(); |
1650 | 1678 | if (result != 0) goto EXIT; |
1651 | 1679 | break; |
1680 | + case '7': | |
1681 | + case VK_NUMPAD7: | |
1682 | + //視点リセット | |
1683 | + result = _OnMenuResetViewpoint(); | |
1684 | + if (result != 0) goto EXIT; | |
1685 | + break; | |
1686 | + case '8': | |
1687 | + case VK_NUMPAD8: | |
1688 | + //静的視点2移動 | |
1689 | + result = _OnMenuViewpoint(2); | |
1690 | + if (result != 0) goto EXIT; | |
1691 | + break; | |
1692 | + case '9': | |
1693 | + case VK_NUMPAD9: | |
1694 | + //静的視点3移動 | |
1695 | + result = _OnMenuViewpoint(3); | |
1696 | + if (result != 0) goto EXIT; | |
1697 | + break; | |
1652 | 1698 | case 'O': |
1653 | 1699 | if (GetKeyState(VK_CONTROL) & 0x8000) { |
1654 | 1700 | //ファイルオープン |
@@ -2154,9 +2200,9 @@ int MIDITrailApp::_ChangeMenuStyle() | ||
2154 | 2200 | IDM_VIEW_2DPIANOROLL, |
2155 | 2201 | IDM_VIEW_PIANOROLLRAIN, |
2156 | 2202 | IDM_VIEW_PIANOROLLRAIN2D, |
2157 | - IDM_AUTO_SAVE_VIEWPOINT, | |
2158 | 2203 | IDM_RESET_VIEWPOINT, |
2159 | - IDM_SAVE_VIEWPOINT, | |
2204 | + IDM_VIEWPOINT2, | |
2205 | + IDM_VIEWPOINT3, | |
2160 | 2206 | IDM_ENABLE_PIANOKEYBOARD, |
2161 | 2207 | IDM_ENABLE_RIPPLE, |
2162 | 2208 | IDM_ENABLE_PITCHBEND, |
@@ -2196,9 +2242,9 @@ int MIDITrailApp::_ChangeMenuStyle() | ||
2196 | 2242 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_VIEW_2DPIANOROLL |
2197 | 2243 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_VIEW_PIANOROLLRAIN |
2198 | 2244 | { MF_ENABLED, MF_ENABLED, MF_GRAYED, MF_GRAYED, MF_ENABLED, MF_GRAYED }, //IDM_VIEW_PIANOROLLRAIN2D |
2199 | - { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_AUTO_SAVE_VIEWPOINT | |
2200 | 2245 | { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_RESET_VIEWPOINT |
2201 | - { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_SAVE_VIEWPOINT | |
2246 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_VIEWPOINT2 | |
2247 | + { MF_GRAYED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_VIEWPOINT3 | |
2202 | 2248 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_PIANOKEYBOARD |
2203 | 2249 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_RIPPLE |
2204 | 2250 | { MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED, MF_ENABLED }, //IDM_ENABLE_PITCHBEND |
@@ -2411,13 +2457,16 @@ int MIDITrailApp::_LoadSceneConf() | ||
2411 | 2457 | if (result != 0) goto EXIT; |
2412 | 2458 | |
2413 | 2459 | //自動視点保存 |
2414 | - result = m_ViewConf.GetInt(_T("AutoSaveViewpoint"), &autoSaveViewpoint, 0); | |
2415 | - if (result != 0) goto EXIT; | |
2416 | - | |
2417 | - m_isAutoSaveViewpoint = false; | |
2418 | - if (autoSaveViewpoint == 1) { | |
2419 | - m_isAutoSaveViewpoint = true; | |
2420 | - } | |
2460 | + //result = m_ViewConf.GetInt(_T("AutoSaveViewpoint"), &autoSaveViewpoint, 0); | |
2461 | + //if (result != 0) goto EXIT; | |
2462 | + // | |
2463 | + //m_isAutoSaveViewpoint = false; | |
2464 | + //if (autoSaveViewpoint == 1) { | |
2465 | + // m_isAutoSaveViewpoint = true; | |
2466 | + //} | |
2467 | + | |
2468 | + //自動視点保存:常に有効とする | |
2469 | + m_isAutoSaveViewpoint = true; | |
2421 | 2470 | |
2422 | 2471 | EXIT:; |
2423 | 2472 | 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 |
@@ -262,6 +262,7 @@ private: | ||
262 | 262 | int _OnMenuStopMonitoring(); |
263 | 263 | int _OnMenuAutoSaveViewpoint(); |
264 | 264 | int _OnMenuResetViewpoint(); |
265 | + int _OnMenuViewpoint(unsigned long viewpointNo); | |
265 | 266 | int _OnMenuSaveViewpoint(); |
266 | 267 | int _OnMenuEnableEffect(MTScene::EffectType type); |
267 | 268 | 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,12 +16,12 @@ | ||
16 | 16 | //****************************************************************************** |
17 | 17 | |
18 | 18 | //バージョン文字列 |
19 | -// >>> modify 20180412 yossiepon begin | |
20 | -#define MIDITRAIL_VERSION_STRING_X86 _T("1.2.3 (x86), mod. yossiepon_20180412") | |
21 | -#define MIDITRAIL_VERSION_STRING_X64 _T("1.2.3 (x64), mod. yossiepon_20180412") | |
22 | -// <<< modify 20180412 yossiepon end | |
19 | +// >>> modify 20190828 yossiepon begin | |
20 | +#define MIDITRAIL_VERSION_STRING_X86 _T("1.2.4 (x86), mod. yossiepon_20190828") | |
21 | +#define MIDITRAIL_VERSION_STRING_X64 _T("1.2.4 (x64), mod. yossiepon_20190828") | |
22 | +// <<< modify 20190828 yossiepon end | |
23 | 23 | |
24 | 24 | //コピーライト |
25 | -#define MIDITRAIL_COPYRIGHT _T("Copyright (C) 2010-2017 WADA Masashi"); | |
25 | +#define MIDITRAIL_COPYRIGHT _T("Copyright (C) 2010-2019 WADA Masashi"); | |
26 | 26 | |
27 | 27 |
@@ -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 |
@@ -95,6 +95,7 @@ public: | ||
95 | 95 | virtual void GetDefaultViewParam(MTViewParamMap* pParamMap); |
96 | 96 | virtual void GetViewParam(MTViewParamMap* pParamMap); |
97 | 97 | virtual void SetViewParam(MTViewParamMap* pParamMap); |
98 | + virtual void MoveToStaticViewpoint(unsigned long viewpointNo); | |
98 | 99 | |
99 | 100 | //視点リセット |
100 | 101 | 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 |
@@ -634,6 +634,34 @@ void MTScenePianoRoll3D::SetViewParam( | ||
634 | 634 | } |
635 | 635 | |
636 | 636 | //****************************************************************************** |
637 | +// 静的視点移動 | |
638 | +//****************************************************************************** | |
639 | +void MTScenePianoRoll3D::MoveToStaticViewpoint( | |
640 | + unsigned long viewpointNo | |
641 | + ) | |
642 | +{ | |
643 | + MTScene::MTViewParamMap::iterator itr; | |
644 | + MTViewParamMap paramMap; | |
645 | + | |
646 | + if (viewpointNo == 1) { | |
647 | + GetDefaultViewParam(¶mMap); | |
648 | + SetViewParam(¶mMap); | |
649 | + } | |
650 | + else if (viewpointNo == 2) { | |
651 | + SetViewParam(&m_Viewpoint2); | |
652 | + } | |
653 | + else if (viewpointNo == 3) { | |
654 | + SetViewParam(&m_Viewpoint3); | |
655 | + } | |
656 | + else { | |
657 | + GetDefaultViewParam(¶mMap); | |
658 | + SetViewParam(¶mMap); | |
659 | + } | |
660 | + | |
661 | + return; | |
662 | +} | |
663 | + | |
664 | +//****************************************************************************** | |
637 | 665 | // 視点リセット |
638 | 666 | //****************************************************************************** |
639 | 667 | void MTScenePianoRoll3D::ResetViewpoint() |
@@ -746,6 +774,70 @@ int MTScenePianoRoll3D::_LoadConf() | ||
746 | 774 | |
747 | 775 | SetBGColor(DXColorUtil::MakeColorFromHexRGBA(hexColor)); |
748 | 776 | |
777 | + result = _LoadConfViewpoint(&confFile, 2, &m_Viewpoint2); | |
778 | + if (result != 0) goto EXIT; | |
779 | + | |
780 | + result = _LoadConfViewpoint(&confFile, 3, &m_Viewpoint3); | |
781 | + if (result != 0) goto EXIT; | |
782 | + | |
783 | +EXIT:; | |
784 | + return result; | |
785 | +} | |
786 | + | |
787 | +//****************************************************************************** | |
788 | +// 設定ファイル読み込み:視点 | |
789 | +//****************************************************************************** | |
790 | +int MTScenePianoRoll3D::_LoadConfViewpoint( | |
791 | + MTConfFile* pConfFile, | |
792 | + unsigned long viewpointNo, | |
793 | + MTViewParamMap* pParamMap | |
794 | + ) | |
795 | +{ | |
796 | + int result = 0; | |
797 | + int eresult = 0; | |
798 | + TCHAR sectionStr[32] = {0}; | |
799 | + float x, y, z = 0.0f; | |
800 | + float phi, theta = 0.0f; | |
801 | + float manualRollAngle = 0.0f; | |
802 | + float autoRollVelocity = 0.0f; | |
803 | + | |
804 | + //セクション名作成 | |
805 | + eresult = _stprintf_s(sectionStr, 32, _T("Viewpoint-%d"), viewpointNo); | |
806 | + if (eresult < 0) { | |
807 | + result = YN_SET_ERR("Program error.", viewpointNo, 0); | |
808 | + goto EXIT; | |
809 | + } | |
810 | + | |
811 | + //セクション設定 | |
812 | + result = pConfFile->SetCurSection(sectionStr); | |
813 | + if (result != 0) goto EXIT; | |
814 | + | |
815 | + //パラメータ取得 | |
816 | + result = pConfFile->GetFloat(_T("X"), &x, 0.0f); | |
817 | + if (result != 0) goto EXIT; | |
818 | + result = pConfFile->GetFloat(_T("Y"), &y, 0.0f); | |
819 | + if (result != 0) goto EXIT; | |
820 | + result = pConfFile->GetFloat(_T("Z"), &z, 0.0f); | |
821 | + if (result != 0) goto EXIT; | |
822 | + result = pConfFile->GetFloat(_T("Phi"), &phi, 0.0f); | |
823 | + if (result != 0) goto EXIT; | |
824 | + result = pConfFile->GetFloat(_T("Theta"), &theta, 0.0f); | |
825 | + if (result != 0) goto EXIT; | |
826 | + result = pConfFile->GetFloat(_T("ManualRollAngle"), &manualRollAngle, 0.0f); | |
827 | + if (result != 0) goto EXIT; | |
828 | + result = pConfFile->GetFloat(_T("AutoRollVelocity"), &autoRollVelocity, 0.0f); | |
829 | + if (result != 0) goto EXIT; | |
830 | + | |
831 | + //マップ登録 | |
832 | + pParamMap->clear(); | |
833 | + pParamMap->insert(MTViewParamMapPair("X", x)); | |
834 | + pParamMap->insert(MTViewParamMapPair("Y", y)); | |
835 | + pParamMap->insert(MTViewParamMapPair("Z", z)); | |
836 | + pParamMap->insert(MTViewParamMapPair("Phi", phi)); | |
837 | + pParamMap->insert(MTViewParamMapPair("Theta", theta)); | |
838 | + pParamMap->insert(MTViewParamMapPair("ManualRollAngle", manualRollAngle)); | |
839 | + pParamMap->insert(MTViewParamMapPair("AutoRollVelocity", autoRollVelocity)); | |
840 | + | |
749 | 841 | EXIT:; |
750 | 842 | return result; |
751 | 843 | } |
@@ -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; |
@@ -97,6 +98,7 @@ public: | ||
97 | 98 | void GetDefaultViewParam(MTViewParamMap* pParamMap); |
98 | 99 | void GetViewParam(MTViewParamMap* pParamMap); |
99 | 100 | void SetViewParam(MTViewParamMap* pParamMap); |
101 | + void MoveToStaticViewpoint(unsigned long viewpointNo); | |
100 | 102 | |
101 | 103 | //視点リセット |
102 | 104 | void ResetViewpoint(); |
@@ -150,6 +152,8 @@ private: | ||
150 | 152 | |
151 | 153 | //視点情報 |
152 | 154 | MTViewParamMap m_ViewParamMap; |
155 | + MTViewParamMap m_Viewpoint2; | |
156 | + MTViewParamMap m_Viewpoint3; | |
153 | 157 | |
154 | 158 | //ノートデザインオブジェクト |
155 | 159 | MTNoteDesign m_NoteDesign; |
@@ -171,6 +175,7 @@ private: | ||
171 | 175 | // <<< modify access level 20161223 yossiepon end |
172 | 176 | |
173 | 177 | int _LoadConf(); |
178 | + int _LoadConfViewpoint(MTConfFile* pConfFile, unsigned long viewpointNo, MTScene::MTViewParamMap* pParamMap); | |
174 | 179 | |
175 | 180 | }; |
176 | 181 |
@@ -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 |
@@ -212,15 +212,17 @@ int MTTimeIndicator::Draw( | ||
212 | 212 | |
213 | 213 | // <<< add 20180404 yossiepon end |
214 | 214 | |
215 | -// >>> add 20120728 yossiepon begin | |
216 | - | |
217 | 215 | //テクスチャステージ設定 |
218 | - // カラー演算:無効 | |
219 | - pD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_DISABLE); | |
220 | - // アルファ演算:無効 | |
221 | - pD3DDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_DISABLE); | |
216 | + // カラー演算:引数1を使用 引数1:テクスチャ | |
217 | + pD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1); | |
218 | + pD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); | |
219 | + // アルファ演算:引数1を使用 引数1:テクスチャ | |
220 | + pD3DDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1); | |
221 | + pD3DDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE); | |
222 | 222 | |
223 | -// <<< add 20120728 yossiepon end | |
223 | + //テクスチャフィルタ | |
224 | + pD3DDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); | |
225 | + pD3DDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); | |
224 | 226 | |
225 | 227 | if (m_isEnableLine) { |
226 | 228 | result = m_PrimitiveLine.Draw(pD3DDevice); |
@@ -258,6 +260,7 @@ int MTTimeIndicator::_CreateVertexOfIndicator( | ||
258 | 260 | D3DXVECTOR3 vectorRU; |
259 | 261 | D3DXVECTOR3 vectorLD; |
260 | 262 | D3DXVECTOR3 vectorRD; |
263 | + float delta = 0.0f; | |
261 | 264 | |
262 | 265 | // y x |
263 | 266 | // 0+----+1 |/ |
@@ -280,8 +283,12 @@ int MTTimeIndicator::_CreateVertexOfIndicator( | ||
280 | 283 | pVertex[2].p = vectorLD; |
281 | 284 | pVertex[3].p = vectorRD; |
282 | 285 | |
283 | - //再生面の幅がゼロの場合はラインを描画する | |
284 | - if (vectorLU.z == vectorRU.z) { | |
286 | + //再生面の幅がゼロに近い場合はラインを描画する | |
287 | + delta = vectorLU.z - vectorRU.z; | |
288 | + if (delta < 0) { | |
289 | + delta = -1.0f * delta; | |
290 | + } | |
291 | + if (delta < 0.1) { | |
285 | 292 | m_isEnableLine = true; |
286 | 293 | } |
287 | 294 |
@@ -76,6 +76,8 @@ | ||
76 | 76 | #define IDM_ENABLE_TIMEINDICATOR 32841 |
77 | 77 | // <<< add 20180404 yossiepon end |
78 | 78 | #define IDM_ENABLE_BACKGROUNDIMAGE 32842 |
79 | +#define IDM_VIEWPOINT2 32843 | |
80 | +#define IDM_VIEWPOINT3 32844 | |
79 | 81 | #define IDC_STATIC -1 |
80 | 82 | |
81 | 83 | // Next default values for new objects |
@@ -84,7 +86,7 @@ | ||
84 | 86 | #ifndef APSTUDIO_READONLY_SYMBOLS |
85 | 87 | #define _APS_NO_MFC 1 |
86 | 88 | #define _APS_NEXT_RESOURCE_VALUE 134 |
87 | -#define _APS_NEXT_COMMAND_VALUE 32843 | |
89 | +#define _APS_NEXT_COMMAND_VALUE 32848 | |
88 | 90 | #define _APS_NEXT_CONTROL_VALUE 1024 |
89 | 91 | #define _APS_NEXT_SYMED_VALUE 110 |
90 | 92 | #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 |