- 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< N >::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::DYN_ATTRIBUTE (6, public, Array< FrameDescriptors >, FramesD)
- : 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::DYN_ATTRIBUTE (1, public, TData, HarmonicCentroid)
- 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< abs, T, U, initOrder >::GetFlatness ()
- Explain why this is a mesure of the flatness
- Member CLAM::StatsTmpl< abs, T, U, initOrder >::GetRMS ()
- Is it a mean??
- Member CLAM::StatsTmpl< abs, T, U, initOrder >::GetSkew ()
- Give an order of magnitude, limits or something
- Member CLAM::StatsTmpl< abs, T, U, initOrder >::GetSpread ()
still not tested as stats but tested its usage for SpectralSpread
should use other stats than centroid to save computations
- Member CLAM::XMLIterableAdapter< T >::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.