Mercurial > hg > aimc
diff src/Modules/Output/Graphics/Scale/Scale.cc @ 229:ddf35dd82d63
- A few changes to get graphics working. In progress.
author | tom@acousticscale.org |
---|---|
date | Sat, 16 Oct 2010 22:27:03 +0000 |
parents | 82e0dc3dfd16 |
children | 2aa72aa8a0d4 |
line wrap: on
line diff
--- a/src/Modules/Output/Graphics/Scale/Scale.cc Fri Oct 15 05:46:53 2010 +0000 +++ b/src/Modules/Output/Graphics/Scale/Scale.cc Sat Oct 16 22:27:03 2010 +0000 @@ -9,16 +9,17 @@ /* (c) 2006, University of Cambridge, Medical Research Council * http://www.pdn.cam.ac.uk/groups/cnbh/aimmanual */ -#include "Support/common.h" -#include "Support/util.h" -#include "Modules/Scale/Scale.h" -#include "Modules/Scale/ScaleLinear.h" -#include "Modules/Scale/ScaleERB.h" -#include "Modules/Scale/ScaleLog.h" -#include "Modules/Scale/ScaleLogScaled.h" +#include "Support/Common.h" +#include "Modules/Output/Graphics/Scale/Scale.h" +#include "Modules/Output/Graphics/Scale/ScaleLinear.h" +#include "Modules/Output/Graphics/Scale/ScaleERB.h" +#include "Modules/Output/Graphics/Scale/ScaleLog.h" +#include "Modules/Output/Graphics/Scale/ScaleLogScaled.h" -Scale *Scale::Create(ScaleType iType, unsigned int min, unsigned int max, float density) -{ +Scale *Scale::Create(ScaleType iType, + unsigned int min, + unsigned int max, + float density) { switch(iType) { case SCALE_LINEAR: return static_cast<Scale*>(new ScaleLinear(min, max, density)); @@ -37,30 +38,27 @@ return NULL; } -Scale *Scale::Create(ScaleType iType) -{ +Scale *Scale::Create(ScaleType iType) { return Create(iType, 0, 0, 0); } -Scale *Scale::Clone() -{ +Scale *Scale::Clone() { Scale *pScale = Create(m_iType, m_iMin, m_iMax, m_fDensity); - aimASSERT(pScale); + AIM_ASSERT(pScale); pScale->m_fScaledCurHalfSum = m_fScaledCurHalfSum; pScale->m_fScaledCurDiff = m_fScaledCurDiff; return pScale; } -float Scale::FromLinearScaled(float fVal) -{ +float Scale::FromLinearScaled(float fVal) { /*! This function returns * ( FromLinear(fVal) - (fMinScaled+fMaxScaled)/2 ) / (fMaxScaled-fMinScaled) */ float fValScaled = FromLinear(fVal); return (fValScaled - m_fScaledCurHalfSum) / m_fScaledCurDiff; } -void Scale::FromLinearScaledExtrema(float fMin, float fMax) -{ + +void Scale::FromLinearScaledExtrema(float fMin, float fMax) { float fMinScaled = FromLinear(fMin); float fMaxScaled = FromLinear(fMax); m_fScaledCurHalfSum = (fMinScaled+fMaxScaled)/2; @@ -68,39 +66,8 @@ m_fMin = fMin; m_fMax = fMax; } -void Scale::FromLinearScaledExtrema(Scale *pScale) -{ + +void Scale::FromLinearScaledExtrema(Scale *pScale) { aimASSERT(pScale); FromLinearScaledExtrema(pScale->m_fMin, pScale->m_fMax); } - -SignalBank* Scale::CreateSignalBank(unsigned int iChannels, unsigned int iBufferlength, unsigned int iSamplerate) -{ - SignalBank *pBank; - double intpart, fracpart; - fracpart = modf((m_iMax-m_iMin)*m_fDensity, &intpart); - unsigned int nBankChan = (unsigned int) intpart; - if (fracpart >= 0.5f) - nBankChan++; - - pBank = new SignalBank(iChannels, iBufferlength, iSamplerate, nBankChan); - aimASSERT(pBank); - - float scaleDelta = ( FromLinear(m_iMax) - FromLinear(m_iMin) ) / (nBankChan-1); - float scaleCur = FromLinear(m_iMin); - - for (unsigned int i=0; i<nBankChan; i++) { - pBank->setCentreFrequency(i, ToLinear(scaleCur)); - scaleCur+=scaleDelta; - } - - return pBank; -} - - - -SignalBank* Scale::CreateSignalBank(Signal* pSig) { - aimASSERT(pSig); - return CreateSignalBank(pSig->getAudioChannels(), pSig->getBufferlength(), pSig->getSamplerate()); -} -