2003-01-23 CLAM_0_4_1 'Analysis Synthesis debuggin' *In AnalysisSynthesisExampleBase: **default HopSize is now computed from residual window size **SynthHopSize has disappeared: only frameSize is used (affects also SMSAnalysisSynthesisConfig.hxx) **Max number of sines of Peak Detect and SineTracking are now configured using configuration value *In Audio: **GetAudioChunk now allows to ask for a chunk with begin time beyond the original audio limits. It just returns zeros but configures the chunk if necessary. *In SMSAnalysisConfig: **Buffer Size of both spectral analysis (sinusoidal and residual) is configured after the largest window size (this condition is necessary for handling different window sizes in both components). *In SpectralPeakDetect: **Added a condition so the loop breaks whenever we have more peaks than those indicated in MaxPeaks (Note: here the algorithm should be changed to decide what are the n best peaks, not the n first peaks: TODO) *In SMSAnalysis: **Sample rate was not correctly initialized under some conditions 2002-12-10 'Zero padding move' *Analysis Synthesis example: ** Removed useless synthesis zero padding factor ** Fixed some other bugs related to zero padding ** Did a little modification in the GUI so Audio displays are closed when editing configuration 2002-11-26 CLAM_0_4_0-rel 'Fly examples, fly to seattle' release * General: ** Directory reorganization ** CLAM_WARNING macros with customizable behaviour ** New integrated examples: Salto and Rappid * AnalisysSysthesis: ** Major rework * SpectralDelay: ** Stability and performance enhancements ** New filter control interface * Dynamic Types: ** Attribute visitors * Standard: ** Enum method to get the symbol mapping ** Added TabFunct to deal with precalculed function tables * SDIF: ** Added SDIF support for storing analysis result in a binary format * Visualization Module( GUI ) ** Automatic user interface generation for editing configurations ** A lot of bug fixes (see Mantis) * XML: ** Now a given order between sibling xml elements is always required to boost the performance a little ** Multiple XML implementations can be selected (currently XercesC++ and Gnome-libxml) ** DOMPrint is not used anymore ** XMLStorage internal refactoring to improve mantainability, clearness and future improvements * LADSPA ** Added support for writing LASDPA plug-ins * Examples ** The following examples are now running and fairly debugged: SALTO, AnalysisSynthesis, SpectralDelay and Rappid * Unix build system ** Selective clean ** Include paths not shown on the command line * Windows build system ** Workspaces reorganization 2002-04-26 CLAM_0_3_0-rel * General: ** CLAM code is now released under GPL license. ** MTG namespace becomes CLAM namespace ** All library macros have 'CLAM_' as prefix ** PARANOID support has been dropped. ** New error handling macros. ** More tests and examples * Dynamic Types: ** New DT macros ** AddAll, RemoveAll ** User init-methods: DefaultInit, CopyInit. Macro-expanded-init: MandatoryInit ** InformAll, all dyn attributes are informed at construction time. ** SetPreallocateAllAttributes, to enhance time performance vs space performance. * Basic Types: ** TypeInfo, a template class to get static information from a type. ** Complex, Polar and Point templates, have default template parameters. ** Point works with only one template parameter or two. ** Complex<>, Polar<> and Point<> have TypeInfo for TData instance ** BPF now allows setting the lateral derivatives. ** Array initializes numeric data to zero again. * Processing Data classes ** Most ProcessingDataConfig classes have been removed, and their attirbutes are now in the processing data classes. * Processing classes ** Completed "EnvelopeExtractor", which calculates audio envelopes. ** Completed "EnvelopeModulator" class, which applies envelopes to audio. ** New MIDI input class. * XML: ** Dump and Restore deprecates dumpOn and restoreFrom ** Dump and Restore requires using the default XMLStorage constructor ** XML Load for any DynamicType using the new macros ** XML Load for Arrays, BPFs... ** Some XML Store formats changed to allow Loading: Array, BPF, * Documentation ** The documentation has been updated with all the changes in the library. * Visualization Module( GUI ) ** Major reworking of most of GUI classes ** Model-View-Presentation Architecture introduced ** Automatic Generic Snapshot Generation first attempt. It works for sure for Spectrum's, Audio's and Segment's. ** New GUI folder organisation: now it contains several subfolders + src/GUI/Core - Visualization Module Core Classes + src/GUI/GL - OpenGL renderers + src/GUI/View - Set of actually implemented System Views ( Views Processings and PDs offered by CLAM ) + src/GUI/Presentation - Set of presentations for representing standard CLAM concepts ( Processing's and PDs ) + src/GUI/Widget - Some custom widgets, as well as wrappers for different Toolkits + src/GUI/Util - Miscellaneous stuff ** Some old snapshots have been eliminated and is a TODO to port them to the new interface * Unix build system ** New configure arguments to set some compilation flags. ** External library dependencies can be tuned with autoconf. * Windows Build system: ** More reliable projects have been provided ** Tests projects now share .obj files between them, thus making faster the build process 2002-04-19 CLAM_0_2_2-rel * DynamicType class: ** Dynamic type accessor checks are now only done in debug mode. * Spectrum class: ** Removed again the old kludge for BPF self-references, and a related memory leak. ** Updated obsolete assertion condition macros. ** Fixed bug in SetType/Configure logic. * Audio class: ** Added silence initializations. ** Added optimisation flag to chunk getters. ** Added chunk setters. * AudioFile classes ** New configuration fields: SampleRate and Channels. ** Both mono and stereo Do() methods are now available. ** Improved error handling. * Array class: ** GetPtr has now a pure-const and a non-const versions. ** Fixed the STL implementation so that it compiles again. ** Implementing stream operators for your objects is no more needed if you don't want to use XML. * BPF class: ** Fixed a couple of initialization bugs. * Updated the documentation index with a new reference. * Time machine project: ** Added spectral analysis and synthesis related classes. * Build system: ** Added some VisualStudio projects for new tests. ** _DEBUG flag is now set by default in unix. * Documentation: ** Added Flow Control and Nodes design documents. ** Added doc about binary libraries in CVS. ** Updated versions of the Documentation index, the ErrorHandling document and the User tutorial. 2002-02-27 CLAM_0_2_1-rel * Array class: ** Changed the Resize/SetSize semantics, fixing some remaining bugs. This has important consequences: *** Order is now important! Do Resize() first, then SetSize(). *** You need to do SetSize() with a proper value before trying to access an element in the array. ** Added a STL based implementation (_MTG_USE_STL_ARRAY flag) ** Empty arrays do not dump an "Empty" string when Storing. ** Improved the tests. * FFT_rfftw/IFFT_rfftw classes: ** Fixed memory leak in destructors. * Audio, Spectrum, WindowGenerator, BPF, TestSpectrum, Envelope, EnvelopeExtractor, TestSpectrum ** Fixed Array SetSize/Resize calls order. * Assertion and Error classes and functions, in files Assert.hxx, Assert.cxx, Err.hxx, Err.cxx: ** C string arguments are now const, fixing compilation errors. * DynamicType: ** Fixed memory leak in destructor. * XMLArrayAdapter and XMLAdapter classes: ** Removed the extraction operator. This temporarily fixes some compilation errors. * Unix build system: ** Added automatic make tests target. 2002-02-20 * Array class: ** Fixed bug which caused data corruption when two consecutive Resizes with the same argument where called. ** Fixed wrong InsertElement initialization when mInitElems flags is false * SpectralPeak class: ** Fixed wrong REGISTER_NUM_ATTRIBUTES which caused dynamic type inconsistencies. * Updated the GUI Snapshot code. 2002-02-19 CLAM_0_2_0-rel * Array class: ** Fixed bug in memory reallocation and movement. ** Added speciiallization macro for fast implementation. ** TestArray is now an autotest. * Audio class: ** Fixed size modification bug (Thx, Gunter!). * Segment class: ** Fixed lost references bug (replacing Array with List) * Spectrum class: ** Removed a performance bottleneck in the data synchronization routines. * AudioIO classes ** Some more error condition checks. ** Added underrun/overrun recovery mechanism. * List class ** It is now tested and working. * Changes in the Documentation: ** Updated doxygen generation configuration. ** Updated coding recomendations. * Other: ** Fixed minor compilation problems in several source files. ** Fixed some missing binary dependencies in the UNIX build system. 2001-02-07 development-root cuidado-root salto-root time_machine-root * Branches created.