MCPcopy Create free account
hub / github.com/HertzDevil/0CC-FamiTracker / SetupParser

Method SetupParser

Source/InstrumentEditorFDSEnvelope.cpp:92–117  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90}
91
92void CInstrumentEditorFDSEnvelope::SetupParser() const // // //
93{
94 const auto MakeParser = [] (sequence_t seqType, seq_setting_t setting) -> std::unique_ptr<CSeqConversionBase> {
95 switch (seqType) {
96 case sequence_t::Volume:
97 return std::make_unique<CSeqConversionDefault>(0, CInstrumentEditorFDSEnvelope::MAX_VOLUME);
98 case sequence_t::Arpeggio:
99 switch (setting) {
100 case SETTING_ARP_SCHEME: // // //
101 return std::make_unique<CSeqConversionArpScheme>(ARPSCHEME_MIN);
102 case SETTING_ARP_FIXED:
103 return std::make_unique<CSeqConversionArpFixed>();
104 default:
105 return std::make_unique<CSeqConversionDefault>(-NOTE_COUNT, NOTE_COUNT);
106 }
107 case sequence_t::Pitch:
108 return std::make_unique<CSeqConversionDefault>(-128, 127);
109 }
110 DEBUG_BREAK(); return nullptr;
111 };
112
113 auto pConv = MakeParser(m_iSelectedSetting, m_pSequence->GetSetting());
114 m_pSequenceEditor->SetConversion(*pConv); // // //
115 m_pParser->SetSequence(m_pSequence);
116 m_pParser->SetConversion(std::move(pConv));
117}
118
119void CInstrumentEditorFDSEnvelope::OnCbnSelchangeType()
120{

Callers

nothing calls this directly

Calls 3

GetSettingMethod · 0.80
SetConversionMethod · 0.45
SetSequenceMethod · 0.45

Tested by

no test coverage detected