• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision1d50303a069f8591a91a9bc822ffdaf54a9905bb (tree)
Time2019-09-05 17:09:23
AuthorStarg <starg@user...>
CommiterStarg

Log Message

[sfz] Add support for <master> header

Change Summary

Incremental Difference

--- a/timidity/sfz.cpp
+++ b/timidity/sfz.cpp
@@ -864,6 +864,7 @@ enum class HeaderKind
864864 {
865865 Control,
866866 Global,
867+ Master,
867868 Group,
868869 Region
869870 };
@@ -1086,6 +1087,7 @@ private:
10861087 {"control"sv, HeaderKind::Control},
10871088 {"global"sv, HeaderKind::Global},
10881089 {"group"sv, HeaderKind::Group},
1090+ {"master"sv, HeaderKind::Master},
10891091 {"region"sv, HeaderKind::Region}
10901092 };
10911093
@@ -1709,6 +1711,7 @@ private:
17091711 std::vector<Section> flatSections;
17101712 std::vector<OpCodeAndValue> controlOpCodes;
17111713 std::vector<OpCodeAndValue> globalOpCodes;
1714+ std::vector<OpCodeAndValue> masterOpCodes;
17121715 std::vector<OpCodeAndValue> groupOpCodes;
17131716
17141717 for (auto&& i : sections)
@@ -1721,6 +1724,13 @@ private:
17211724
17221725 case HeaderKind::Global:
17231726 globalOpCodes = i.OpCodes;
1727+ masterOpCodes.clear();
1728+ groupOpCodes.clear();
1729+ break;
1730+
1731+ case HeaderKind::Master:
1732+ masterOpCodes = i.OpCodes;
1733+ groupOpCodes.clear();
17241734 break;
17251735
17261736 case HeaderKind::Group:
@@ -1733,9 +1743,10 @@ private:
17331743 newSection.HeaderLocation = i.HeaderLocation;
17341744 auto& opCodes = newSection.OpCodes;
17351745 opCodes.clear();
1736- opCodes.reserve(controlOpCodes.size() + globalOpCodes.size() + groupOpCodes.size() + i.OpCodes.size());
1746+ opCodes.reserve(controlOpCodes.size() + globalOpCodes.size() + masterOpCodes.size() + groupOpCodes.size() + i.OpCodes.size());
17371747 opCodes.insert(opCodes.end(), controlOpCodes.begin(), controlOpCodes.end());
17381748 opCodes.insert(opCodes.end(), globalOpCodes.begin(), globalOpCodes.end());
1749+ opCodes.insert(opCodes.end(), masterOpCodes.begin(), masterOpCodes.end());
17391750 opCodes.insert(opCodes.end(), groupOpCodes.begin(), groupOpCodes.end());
17401751 opCodes.insert(opCodes.end(), i.OpCodes.begin(), i.OpCodes.end());
17411752 break;