void CPatternContainer::ResizeArray(const PATTERNINDEX newSize) //------------------------------------------------------------- { if(Size() <= newSize) m_Patterns.resize(newSize, MODPATTERN(*this)); else { for(PATTERNINDEX i = Size(); i > newSize; i--) Remove(i-1); m_Patterns.resize(newSize, MODPATTERN(*this)); } }
OPENMPT_NAMESPACE_BEGIN void CPatternContainer::ClearPatterns() //------------------------------------- { DestroyPatterns(); m_Patterns.assign(m_Patterns.size(), MODPATTERN(*this)); }
bool CPatternContainer::Insert(const PATTERNINDEX index, const ROWINDEX rows) //--------------------------------------------------------------------------- { const CModSpecifications& specs = m_rSndFile.GetModSpecifications(); if(index >= specs.patternsMax || rows > MAX_PATTERN_ROWS || rows == 0) return false; if(index < m_Patterns.size() && m_Patterns[index]) return false; if(index >= m_Patterns.size()) { m_Patterns.resize(index + 1, MODPATTERN(*this)); } m_Patterns[index].AllocatePattern(rows); m_Patterns[index].RemoveSignature(); m_Patterns[index].SetName(""); return m_Patterns[index] != nullptr; }
void CPatternContainer::ClearPatterns() //------------------------------------- { DestroyPatterns(); m_Patterns.assign(m_Patterns.size(), MODPATTERN(*this)); }