c@225: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ c@225: c@225: /* c@225: QM DSP Library c@225: c@225: Centre for Digital Music, Queen Mary, University of London. c@225: This file copyright 2006 Martin Gasser. c@309: c@309: This program is free software; you can redistribute it and/or c@309: modify it under the terms of the GNU General Public License as c@309: published by the Free Software Foundation; either version 2 of the c@309: License, or (at your option) any later version. See the file c@309: COPYING included with this distribution for more information. c@225: */ c@225: c@225: #include "TCSgram.h" c@225: c@225: #include c@225: #include c@225: #include c@225: #include c@225: c@241: #include "maths/MathUtilities.h" c@225: c@225: TCSGram::TCSGram() : c@225: m_uNumBins(6) c@225: { c@225: } c@225: c@225: TCSGram::~TCSGram() c@225: { c@225: } c@225: c@225: c@225: void TCSGram::getTCSVector(int iPosition, TCSVector& rTCSVector) const c@225: { c@225: if (iPosition < 0) c@225: rTCSVector = TCSVector(); c@225: else if (iPosition >= m_VectorList.size()) c@225: rTCSVector = TCSVector(); c@225: else c@225: rTCSVector = m_VectorList[iPosition].second; c@225: } c@225: c@225: long TCSGram::getTime(size_t uPosition) const c@225: { c@225: return m_VectorList[uPosition].first; c@225: } c@225: c@225: c@225: void TCSGram::addTCSVector(const TCSVector& rTCSVector) c@225: { c@225: size_t uSize = m_VectorList.size(); c@225: long lMilliSeconds = static_cast(uSize*m_dFrameDurationMS); c@225: std::pair p; c@225: p.first = lMilliSeconds; c@225: p.second = rTCSVector; c@225: c@225: m_VectorList.push_back(p); c@225: } c@225: c@225: long TCSGram::getDuration() const c@225: { c@225: size_t uSize = m_VectorList.size(); c@225: return static_cast(uSize*m_dFrameDurationMS); c@225: } c@225: c@225: void TCSGram::printDebug() c@225: { c@225: vectorlist_t::iterator vectorIterator = m_VectorList.begin(); c@225: c@225: while (vectorIterator != m_VectorList.end()) c@225: { c@225: vectorIterator->second.printDebug(); c@225: vectorIterator++; c@225: } c@225: }