Todo List

File BasicOps.hxx

There a lot of hacks because of Visual C++ compiler, could be optimized and cleaned-up making use of partial specialization.

It is still not clear whether the "abs" aspect should be promoted later on to the argument list.

Member CLAM::Audio::ResizeToDuration (TTime duration)
Document how data in the buffer is discarded

Member CLAM::Audio::ResizeToEndTime (TTime time)
Document how data in the buffer is discarded

Member CLAM::Audio::SetSize (int s)
Document how data in the buffer is discarded

Class CLAM::AudioCodecs::Stream
Document Stream methods

Class CLAM::BaseMemOp
: check if polymorphism affects efficiency.

Member CLAM::DescriptionDataPool::InstantiateAttribute (const std::string &scopeName, const std::string &attributeName)
Should this method be deprecated??

Class CLAM::DescriptorTmpl< abs >
This class could abstract more common behaviour from subclasses by becoming template

Member CLAM::Enum::SetValueSafely (const tValue v)
Fill IllegalValue with useful information to recover instead a insightfull string.

Class CLAM::ErrAssertionFailed
Subclass ErrAssertionFailed from Err.

Class CLAM::ErrNotFound

This class must subclass from somewhere

This class must have semantic modifiers

This class must be moved to some other file

Class CLAM::FDCombFilter

: add a gain control to be able to filter out harmonic series instead of amplifying it.

: don't know why it does not work correctly with spectrums that have less than 512 bins !!

Member CLAM::FDFilterGen::Do (Spectrum &out)

: decide ConstantOutput mode. In ConstantOutput mode it will actually generate the filter, only if some in control has been received. In Non-ConstantOutput mode, the output will allways be calculated.

Member CLAM::Flags::GetClassName () const
GetClassName for Flags

Member CLAM::FlagsBase::CheckInvariant ()

TODO: Check blanks in names

TODO: Check blanks in names

Class CLAM::FrameAdder
: maybe other attributes in Frame could also be interpolated if so specified in the configuration.

Class CLAM::FrameInterpolator
: maybe other attributes in Frame could also be interpolated if so specified in the configuration.

Member CLAM::Fundamental::SortByError ()
It uses a bubble sort, not so efficient

Member CLAM::Fundamental::SortByFrequency ()
It uses a bubble sort, not so efficient

Class CLAM::InControlBase
Remove the float services

Member CLAM::InControlBase::GetTypeId () const =0
Add a link to the

Class CLAM::LibXmlDomWriter
dumping selections

Member CLAM::operator>> (std::istream &is, PointTmpl< TX, TY > &a)

Not yet implemented

Error conditions management

Member CLAM::OutControlBase::IsLinkable (const InControlBase &in)=0
move here a base implementation by checking the typeid.

Member CLAM::PhaseManagement::Do (SpectralPeakArray &in)
: the way the algorithms are now, they just allow inplace processing. This should be changed.

Member CLAM::SegmentDescriptors::__COMMON_DYN_ATTRIBUTE (6, public, Array< FrameDescriptors >, FramesD) protected
: this should better be a List but by now Stats do not operate on lists

Class CLAM::SegmentSMSMorph
: introduce interpolation of spectral shapes, before that, interpolations may be extracted to external Processing's

Class CLAM::SegmentSMSTimeStretch
: introduce interpolation of spectral shapes, before that, interpolations may be extracted to external Processing's

Class CLAM::SMSTimeStretch
: introduce interpolation of spectral shapes, before that, interpolations may be extracted to external Processing's

Member CLAM::SpectralDescriptors::ComputeMaxMagFreq ()
Promote MaxPosition to Stats

Class CLAM::SpectralEnvelopeApply
: the spline interpolation gets a bit out of hand in the ends of the spectral envelope so you may get artifacts in the higher frequencies!!!

Member CLAM::SpectralPeakDescriptors::__COMMON_DYN_ATTRIBUTE (1, public, TData, HarmonicCentroid) protected
Peaks at 0Hz are not counted

Class CLAM::SpectrumAdder

Class CLAM::SpectrumAdder2
Possible optimisations (which require more states):

Class CLAM::SpectrumInterpolator
Possible optimisations (which require more states):

Class CLAM::SpectrumProduct
Possible optimisations (which require more states):

Class CLAM::SpectrumSubstracter2

Member CLAM::StatsTmpl::GetFlatness ()
Explain why this is a mesure of the flatness

Member CLAM::StatsTmpl::GetRMS ()
Is it a mean??

Member CLAM::StatsTmpl::GetSkew ()
Give an order of magnitude, limits or something

Member CLAM::StatsTmpl::GetSpread ()

still not tested as stats but tested its usage for SpectralSpread

should use other stats than centroid to save computations

Member CLAM::XMLIterableAdapter::LoadFrom (Storage &store)
Not yet implemented

Member CLAM::XmlStorage::UseIndentation (bool useIndentation)
Not implemented yet

Class CLAM::XmlWriteContext

Indentation

Explicit namespaces (now are supported by hand)

Checks on element levels

Member CLAM_EMBEDDED_FILE (varname, file)
Try to make CLAM_EMBEDDED_FILE work with path relatives to the source that uses the macro.

Group Float specific services
move them to the concrete float class

Class Simac::CircularPeakTunner
be more explicit on the meaning of reference tunning.

Member Simac::CircularPeakTunner::chromagramToSemitone (double tunning, double peakPosition)
Migrate this function tests to one bin per semitone Given a tunning (in chromogram bins) and a peak position, it returns the semitone pitch index being the zero semitone the one containing the reference tunning.

Class Simac::ConstantQFolder
Only nConstantQBins that are multiple of binsPerOctave have been tested.

Class Simac::InstantTunningEstimator
Explain which are the reference values the tunning is expressed relative to.
Generated by  doxygen 1.6.3