void ParsePatterns(const Indices& pats, Builder& builder) const { Dbg("Patterns: %1% to parse", pats.Count()); for (Indices::Iterator it = pats.Items(); it; ++it) { const uint_t patIndex = *it; Dbg("Parse pattern %1%", patIndex); ParsePattern(patIndex, builder); } }
void ParseOrnaments(const Indices& ornaments, Builder& builder) const { Dbg("Ornaments: %1% to parse", ornaments.Count()); const std::size_t ornamentsTable = fromLE(Source.OrnamentsOffset); for (Indices::Iterator it = ornaments.Items(); it; ++it) { const uint_t ornIdx = *it; Dbg("Parse ornament %1%", ornIdx); const std::size_t ornOffset = ReadWord(ornamentsTable, ornIdx); Ornament result; ParseOrnament(ornOffset, result); builder.SetOrnament(ornIdx, result); } }
void ParseSamples(const Indices& samples, Builder& builder) const { Dbg("Samples: %1% to parse", samples.Count()); const std::size_t samplesTable = fromLE(Source.SamplesOffset); for (Indices::Iterator it = samples.Items(); it; ++it) { const uint_t samIdx = *it; Dbg("Parse sample %1%", samIdx); const std::size_t samOffset = ReadWord(samplesTable, samIdx); Sample result; ParseSample(samOffset, result); builder.SetSample(samIdx, result); } }