EN: |[[english]]0|[[español]]1|[[català]]2|

EN: [[Home]]

EN: [[Faq]]

EN: [[Doc]]

EN: [[Devel]]

EN: [[Planet]]

EN: [[About]]

EN: [[Download]]

EN: [[Screenshots]]

EN: [[Mailinglist]]

EN: [[Bugreporting]]

EN: [[Links]]

EN: [[License]]

EN: ChangeLog

EN: 2006-06-14 CLAM_0_91_0

EN: 'Spectral transformations, annotator, packaging, and desktop integration release'

EN: 30 new spectral transformations

EN: Added Fedora Core packaging

EN: Debian packaging reworked for debian and ubuntu

EN: NSIS setups for windows reworked

EN: Testfarm countinously compiles and runs applications and tests on the supported platforms, Windows, MacOsX and Linux (Ubuntu/Debian/Fedora)

EN: Prototyper and QtPlugin moved to Network Editor tarball

EN: Applications are integrated on the desktop. Icons and menu entries...

EN: Applications tutorials

EN: Applications examples are now installed with the apps

EN: Segmentation classes moved to clam-core

EN: New segmentation class UnsizedSegmentation

EN: New data abstraction EquidistantPointsFunction (An array with units, optional limits and x axis information)

EN: Examples, and tests (Unit/Functional) now compiles with scons

EN: 2006-02-07 CLAM_0_90_0

EN: 'New scons buildsystem and multiplaform again'

EN: Building and packaging

EN: New build system based on scons

EN: Binary libraries

EN: Standard library installation

EN: CLAM applications just link against the libraries

EN: CLAM and all provided applications are working multiplatform (Linux/MacOSX/Windows)

EN: Easy to use installers for MacOSX, Windows and Linux (Debian)

EN: Ported to g++ 4.0

EN: Rappid prototyping infrastructure

EN: New external-generators/sinks and external-control-senders/receiver classes.

EN: They glue specific architecture (jack, portaudio, ladspa, vst) ports with a clam network.

EN: New hierarchy of network-players classes, with these (final) classes:

EN: JACKNetworkPlayer,

EN: PortAudioNetworkPlayer,

EN: BlockingNetworkPlayer,

EN: LADSPA Plugins (Linux): A generic plugin that embeds a network. It just needs the path to a valid network xml file.

EN: VST Plugins (Mac/Windows): A generic plugin that embeds a network. It just needs the path to a valid network xml file.

EN: MIDI files

EN: New classes to read/write standard MIDI files

EN: Qt Visualization Module

EN: Support for multidisplay plots.

EN: BPFEditor: multiple BPF allowed

EN: Faster rendering of plots using buffered pixmaps

EN: QtSMSTools2: New! A total rewrite of SMSTools2 GUI using the Qt toolkit.

EN: Multidisplay implementation sharing common axis

EN: Spectrogram (Color,Black&White)

EN: Improved player: audio and fundamental frequency

EN: More suitable dialogs to configure projects

EN: NetworkEditor

EN: New callback audio-driving mode. This allow different modes (specified as command line options)

EN: Jack client mode (not in Windows)

EN: PortAudio mode

EN: Blocking mode

EN: Annotator

EN: New segment editor:

EN: Different annotation restrictions depending on the schema. Right now:

EN: Continuous segmentation (no gap)

EN: Discontinous segmentation (gaps but not overlaps)

EN: Consistent dragging

EN: Tooltips are faster to appear

EN: Tooltips say just the position of the hovered element instead the cursor position.

EN: Hovering highlights the limit

EN: Optimizations on the song switching and on the display

EN: Inserting and removing segments now has its reflexion on the pool

EN: Playing the wav and the auralization on different channels.

EN: Description schema browser

EN: Now, viable projects can be built from the interface

EN: 2005-07-21 CLAM_0_8_0

EN: 'Prototyper with streaming SMS transformations'

EN: SMS Transformations on the network editor:

EN: All SMS Transformations have been refactored in order to work in streaming mode and not only in offline mode.

EN: New Prototyping way:

EN: Prototyper: Allows to bind a Qt desinger interface to a Network XML definition so you can have an CLAM GUI application up an running without a single line of code. Current features:

EN: It uses the widget names and classes to Automagically relate widgets to processings, ports and controls.

EN: Binds sliders, knobs and so to in-controls on the network

EN: Binds monitoring plots to out-ports on the network

EN: Binds buttons to play/stop actions on the network

EN: QtPlots add-ons:

EN: Editable segmentation marks on all the plots

EN: QtSpectrogram:

EN: Plot to view sonogram (Color/B&W)

EN: BPFEditor:

EN: Editable/auralizable plot (Audio and MIDI support)

EN: Compiler compatibility:

EN: CLAM and its applications now compiles in GNU g++3.4 (as well as 3.3)

EN: Audio file I/O facilities:

EN: MP3 I/O: Bug fixed: that prevented XING headers from being used to compute duration

EN: MP3 I/O: Bug fixed in conversion from milliseconds to seconds

EN: Vorbis I/O: Feature addition: now the # of samples is computed for Vorbis bitstreams

EN: Memory leak review:

EN: FFT internal buffer was not freed on destruction

EN: XML related changes:

EN: Now XmlStorage::Dump does indentation by default. A new optional parameter disables indentation.

EN: XercesC 2.6 is required in order to pass the tests and be memory leak free (even 2.3 should be enough to compile and run CLAM).

EN: XML Storage Error Handling (This solves issue #0000022):

EN: Catchable CLAM::XmlStorageErr excepetions are thrown whenever:

EN: I/O error happens

EN: Malformed XML is readed

EN: Read elements or contents does not match with CLAM objects structure

EN: CLAM objects detect some semantic constraints.

EN: XPath (like) navigation (This solves issue #0000045):

EN: The implementation of XmlStorage::Select allows using:

EN: XmlStorage::AppendToDocument(object, path, filename)

EN: XmlStorage::RestoreFromFragment(object, path, istream)

EN: Using atomic primitives for doing some similar hacks like writing fragments of the XML for an object to disk.

EN: Alternative XML Backends (LibXml++)

EN: Unification of the way XmlStorage interfaces the library dependant code.

EN: LibXml++ Backend implemented. It is planned to be the default backend on future releases but still some work is needed to get the error messages correctly reported.

EN: Network refactoring:

EN: Published{In|Out}{Controls|Ports} -> {In|Out}{Control|Port}Registry

EN: Descriptors:

EN: SpectralDescriptors::HighFrequencyCoefficent -> HighFrequencyContent as specified by the original literature.

EN: Other:

EN: ConnectPorts overloaded to connect free ports (that is not belonging to any processing, normally used for injecting or extracting data)

EN: Build System:

EN: Changes in order to not abort ./configure script when some library is not found (and not specifyed with the --without-libname option)

EN: 2004-11-18 CLAM_0_7_0

EN: 'Easier deployment, better plots and Processing Networks'

EN: Processing Ports Infrastructure Complete Rewrite:

EN: Now effectively works with any datatype (i.e. InPort)

EN: Shortcut CLAM::ConnectPorts with either ports numbers and names

EN: Shortcut CLAM::ConnectControls with either control numbers and names

EN: Underlying data structure for streaming tokens is specified using a Template-Policy

EN: Default policy is PhantomBuffer: an contiguous-memory circular buffer with some nice feature

EN: But also usable any STL container

EN: Internal (implementation) classes hierarchie has been simplified a lot.

EN: Thoroughly (unit) tested, and stress tested

EN: Stream class now can be policy-templatized to PhantomBuffer or any STL container

EN: New ports-linking schema : only out->in (and not out->data or in->data)

EN: Ports Attach(ProcessingData&) method has been deprecated.

EN: Please refer to the migration guide and doxygen docs

EN: New AudioIn/OutPorts. Similar tor In/OutPort but with richer interface

EN: New feature: In/OutPortPublisher

EN: A composite port that "publishes" one or more inner ports.

EN: When linking a port with a publisher it acts like a mediator for its published ports.

EN: New In/OutPort public interface

EN: Constructors. Now gets only two parameters, and not the window size anymore

EN: Size and Hop getters and setters, GetData, Consume, Produce, CanConsume, CanProduce, etc.

EN: SMSAnalysis-Synthesis In Streaming:

EN: Till this release SMSAnalysis and SMSSynthesis needed a Segment as intermediate data now they can also use ports to process in streaming

EN: NetworkEditor:

EN: Added SMSAnalysis and SMSSynthesis in the processings factory. But still some problemes needs to be sorted out.

EN: AudioFile IO:

EN: AudioFile have easier and clearer interface:

EN: AudioFile::SetHeader is obsolete

EN: AudioFile::SetLocation is obsolete, instead use:

EN: AudioFile::OpenExisting

EN: AudioFile::CreateNew

EN: Processing Interface Clean up:

EN: Removed Processing inheritance from Component

EN: Processing::FlattenObjects removed until needed

EN: Processing::SetPrototypes/UnsetPrototypes removed until needed

EN: Processing::MayDisableExecution removed until needed

EN: Processing::DisableExecution removed until needed

EN: Processing::LostData removed until needed

EN: Processing::StoreOn/LoadFrom removed until needed

EN: Processing::composite_begin/end moved to the ProcessingComposite

EN: Low Level Descriptors Revision (Audio, Spectral and SpectralPeaks):

EN: Full doxygen documentation.

EN: Formulas revised and corrected.

EN: Most NaN singularities has ben solved. Check doxygen.

EN: Unit testing and back-to-back testing for every descriptor.

EN: Asserts that source data is in linear format

EN: SpectralDesc Skew/Kurstosis -> MagnitudeSkew MagnitudeKurtosis

EN: Spectral and Harmonic Tilts removed (Returned very unstable values)

EN: Beta Qt Plots:

EN: Audio (playable).

EN: Fundamental (playable).

EN: Spectrum.

EN: Spectrum and peaks.

EN: Sinusoidal tracks.

EN: Some examples at CLAM/build/Examples/Simple/QtPlots

EN: Note that these widgets are in the initial development phase.

EN: Extra requirements: qwt library.

EN: Standard:

EN: FormatData.hxx removed, also their useless uses

EN: Vector removed

EN: QSort removed, use stl's qsort instead

EN: Test Framework:

EN: Qt testing GUI for Linux (activate USE_QT)

EN: Infrastructure for reading basic Data (wav,xml)

EN: Back to back testing infrastructure

EN: Improvements to the python script to run all tests and apps

EN: Doxygen documentation:

EN: XML documentation modules added.

EN: Documentation module on Configurators: Autogenerated Qt/Fltk dialogs to edit DynamicTypes.

EN: More scatered changes and fixes.

EN: Full rewrite of configure.ac. configure.ac is now generated from a perl-script which does a lot of code-reuse to create a consistent and uniform configure.ac.

EN: configure generates HAS_ values (in packages.cfg), which is used by srcdeps to make sure USE_ and HAS_ is consistent. Using USE_=$(HAS_ in settings.cfg can be used to make usage conditional. On windows the user should make sure that the build/packages-win.cfg file is reflecting his system

EN: configure has a new way to present the user with the possibity to disable the use of specific libraries. If the user does not have a specific library, it can tell configure not to use it. The generate HAS_ value will be false, and if a settings.cfg tries to use it, srcdeps will notice it. This allows to compile certain examples that don't use libraries you don't have.

EN: MS Visual support:

EN: MS Visual 6 is no longer supported.

EN: 2004-04-13 CLAM_0_6_1

EN: 'qt && Visual 7 support'

EN: General:

EN: Some memory leaks removed with Valgrind

EN: Added backward compatibility with gcc 2.95

EN: Added support for MS Visual 7. Srcdeps now generates .vcproj

EN: Support for QT library preprocessor steps in linux, mac and windows : visual6 and visual7:

EN: Moc objects generated automatically from mocable headers.

EN: Moc objects generated from UIC files.

EN: Integration of all the platforms code ( linux and mac Makefiles, windows .dsp and .vcproj generated from the same program).

EN: XML:

EN: Fix: Storing arrays with size 1 crashes

EN: Fix: IterableAdapter joined array elements when basics

EN: MIDI I/O:

EN: Added MIDI output

EN: Added virtual devices for midi-to-text out

EN: PortMIDI now also works on Linux

EN: Simplified MIDI input (see documentation)

EN: More fixes on SpectralFlatness, LowFrequencyEnergiRelation and Rolloff:

EN: SpectralFlatness uses log10 instead log

EN: LowFrequencyEnergiRelation doesn't modify the incoming data

EN: RollOff uses Energy instead Moment and compares with the square

EN: Moved to Stats: Tilt, Slope, Flatness

EN: SMSTools:

EN: Bug fixes related to the logics of menu's options activation/deactivation (related to the state of application).

EN: Solved a bug that crashed SMSTools when trying to load an XML analysis.

EN: 2004-02-18 CLAM_0_6_0

EN: 'Audio file formats: Reloaded'

EN: Network Editor:

EN: Added support for ladspa plugins inside the GUI

EN: Support to change the name of processings

EN: Support for new Audio File I/O processings

EN: Now is possible to know the state of a given processing and the error message (if it exists).

EN: Audio File I/O Support:

EN: Four new processings available for reading/writing from audio files:

EN: MonoAudioFileReader/Writer ( single channel reading and writing )

EN: MultiChannelAudioFileReader/Writer ( multi channel reading and writing )

EN: New AudioFile class. This class models the concept of 'audio file' which has attached attributes as 'Location' ( the path to the file ), 'Header' ( the concrete file header information such as length, samplerate, etc. ) and 'TextDescriptors' (text-based meta-data such as Artist, Title, Album, etc. )

EN: New File formats supported:

EN: Almost any PCM-based audio data storage scheme encoding/decoding is supported through libsndfile ( http://www.zip.com.au/~erikd/libsndfile )

EN: Ogg/Vorbis encoding and decoding support

EN: Mpeg Audio Layer 1/2/3 decoding support

EN: New Feature: Partial retrieval of textual metadata embedded in files. For now CLAM is just able to extract information such as Artist, Title, Album and Track number. Support for a wider range of textual descriptors extraction will be available soon.

EN: ID3 metadata frames retrieval from Mpeg bitstreams

EN: Vorbis Comments retrieval from Vorbis bitstreams MacOS X note: ID3 meta-data extraction only works for MacOS X 10.3 systems and above, since Apple did not include Unicode ( wchar_t ) support in their libstdc++ binary distribution.

EN: Three new examples showing how to use the new Processing's and the AudioFile class:

EN: examples/FileInfo_example.cxx

EN: examples/AudioFileReading_example.cxx

EN: examples/AudioFileWritiing_example.cxx their build projects can be found on the build/Examples/Simple folder

EN: FFT refactored:

EN: Removed duplicated code and unused functionality and improved efficiency.

EN: Salto:

EN: Fix: several potentially dangerous out-of-bounce array accesses in fltk G.interface

EN: Processing Data:

EN: Documented (doxygen style) that the time unit is miliseconds in Audio, Frame and Segment

EN: Processings:

EN: AudioFileIn stamps the sample-rate to the written audio

EN: AttackTime is based on the envelope

EN: Fix: LogAttackTime recalculated the AttackTime always

EN: New AudioDescriptors: Decrease

EN: New SpectralDescriptors: Slope and Spread

EN: Functional tests added

EN: Fixes and precission enhancements

EN: Tests:

EN: All unit and functional tests have been merged in only two executables (settings.cfg), namely: AllUnitTests and AllFunctionalTests

EN: 2004-01-15 CLAM_0_5_7

EN: 'Tomorrow MacOsX patch'

EN: Fix: Closing window crashed on MacOsX.

EN: Fix: Storing output global sound stored sinusoidal in previous release

EN: Base:

EN: [Experimental] Support for Polymorphic attributes in DT

EN: Abstract types thru Polymorphic attributes

EN: XMLStaticAdapter is deprecated

EN: Better layout on processing configuration dialogs

EN: Fix: integer fiels on processing configuration dialogs were limited to 99. Now it uses std::numeric_limits

EN: Fix: Network serialization loading was broken

EN: Some processings still in draft moved to example files

EN: Simple Examples:

EN: FlowControlExamples tree has been moved to draft since simpler and more concrete examples now exists: examples/NetworkUsage_example and examples/PortsAndControlsUsageExample/

EN: Examples have been ported to use the XML static XMLStorage methods

EN: Some broken examples have been fixed, including compiling_against_clam and SpectralDelay.

EN: Windows Build System:

EN: Updated .dsp Visual 6 projects that were outdated in previous release

EN: Fixed some minor problems in some settings.cfg files

EN: Fix: Did not compile in previous release. Example in general is still outdated though.

EN: 2004-01-12 CLAM_0_5_6

EN: 'XML and Ladspa rewrite'

EN: Both, basic XMLStorage usage interface and customization interface have changed. Check 'Migration Guidelines' on the documentation and update your code.

EN: Ported to XercesC 2.3. Library dependant code is more isolated and structured so libxml or expat ports will be easy.

EN: Atomical operations are available so partial loading or document updating is now more feasible.

EN: One statement calls using static methods XMLStorage::Dump and XMLStorage::Restore

EN: Trapable error notification using exceptions.

EN: API Change: XMLStorage::Store and XMLStorage::Load receives a const-ref and a ref to adapters instead a pointer

EN: API Change: Component::StoreOn is now a const method.

EN: Scoped XML: [Experimental] allows (write only) fast XML generation without having to define CLAM data.

EN: Cppunit Tested and general code clean up

EN: Smarter conections display (control conection with vertical tangent and that wires always goes outward the processing)

EN: Refactoring of the application structure.

EN: Bug fixing.

EN: Created Unit Tests for the entire application.

EN: Processing Objects:

EN: GetName has been removed from all CLAM processing configurations because it was not really useful.

EN: Simplified Processing interface related to ports and controls.

EN: Error handling:

EN: Failed assertions dump a backtrace in GNU/Linux.

EN: Fix: SDIF storage was unconfigured on release mode.

EN: fixed compilation with g++ 2.95.4 (Debian Woody), fixed SMS Tools build

EN: Added descriptors to compute on a whole segment.

EN: Added basic arithmetic operators to descriptors.

EN: General debugging.

EN: LADSPA:

EN: Rewrited and simplified support to create LADSPA plugins using CLAM.

EN: New support for using LADSPA plugins as CLAM Processings.

EN: Build system:

EN: Fix: some fltk-config nagging options removed on aclocal

EN: 2003-11-26 CLAM_0_5_5

EN: Code cleanup

EN: Visualization Module:

EN: Bug that provoked Sinusoidal tracks to pop has been fixed

EN: Bug that prevented some code to compile fixed

EN: Examples/NetworkEditor:

EN: Bug Fixing

EN: Processing/Analysis:

EN: DescriptorsComputer added: now there is the possibility of computing statistics for Spectrums, SpectralPeakArrays, Frames, etc

EN: MacOSX Support:

EN: build system changes

EN: RtAudio for Audio I/O

EN: Audio I/O:

EN: A generic RtAAudioDevice for all platforms (includes some platform specific workarounds)

EN: 2003-11-06 CLAM_0_5_4

EN: Added 'Compiling_against_CLAM_example' subdir to the build dir. It contains an out-of-the-box example of how a CLAM external aplication can compile against the library. It contains a tutorial in its 'readme.html' file. Since now it was a separated tarball available in the web. Now integrated in the CLAM dir tree.

EN: Configuration:

EN: Use fltk-config to get the paths to fltk includes/paths

EN: QTDIR support

EN: Added rules to pre-process headers with moc (QT)

EN: Add .dsp files for many CLAM programs

EN: Fixed many settings.cfg files under Windows

EN: srcdeps:

EN: Run srcdeps when settings.cfg has changed

EN: Don't look through xerces include directories recursively

EN: Performance improvements

EN: Bugfixes

EN: Generate from empty dsp

EN: Standard/Misc:

EN: Text: Added to the standard as substitution for std::string on those case when we need multiword strings on XML. (XML loads only one word for std::strings)

EN: BPF: Modified BPFTmpl::Insert() (both overloads) to return the index at which the element was actually inserted (i.e. the inserted element's index).

EN: CLAMMath: Fixed a bug in Round() and Chop() which caused the fpu control word to be changed when calling these functions (but only in debug build).

EN: Moved some includes from hxx's to cxx's and doing forward decl to improve compilation speed

EN: Working towards supporting MacOSX/PPC (including byte order issues)

EN: Added a FileMIDIDevice

EN: SoundFileIO improvements ( support for more sample formats added, better errors)

EN: Declare template specializations in header inline ( gcc 3.x compatibility issue )

EN: ProcessingData:

EN: SpectralPeakArray ProcessingData; when adding an IndexArray to an already existing SpectralPeakArray and calling InitIndices(), the IndexArray would be allocated to the actual number of elements in the other arrays, not their allocated size (i.e. the maximum elements they can hold without reallocating).

EN: Fundamental ProcessingData; removed two Dynamic Type attributes which were used to keep track of the size and allocated size (max size) of the Fundamental. These values are now derived from either of the arrays (freq/err). Also calling SetnCandidates() or SetnMaxCandidates() now actually affects the arrays instead of merely setting the size fields. This is more consistent with SpectralPeakArray for instance.

EN: Audio ProcessingData: bug fixed in GetAudioChunk method that left extracted chunks with uninitialized Sample Rate and Begin Time

EN: Spectrum Conversions: Added a method called Complex2LogMagPhase() which efficiently converts a complex spectrum to a log. magnitude (i.e. in dB's)/phase spectrum.

EN: Processing:

EN: SMSAnalysis: fixed a bug that lead to divisions by zero

EN: FlowControl:

EN: Added interface to network in order to connect/disconnect controls

EN: Serialization of network, including connections (ports/controls) and processing configurations.

EN: Testing:

EN: CLAMTEST_ASSERT_XML_EQUAL to compare XML canonically

EN: Helpfull colors for finding differences on expected and obtained strings

EN: Added CppUnit workspace

EN: Added a shell-script to generate the dsp's.

EN: Created a project for all functional tests

EN: Several tests moved to "SupervisedTests"

EN: Visualization (Plots)

EN: XMLAdapters

EN: Threading

EN: PersistenceThroughDTs

EN: SMS Application FunctionalTests

EN: Morphing

EN: Several processing tests

EN: Network Serialization

EN: Text

EN: ProcessingController

EN: ControlAdapter

EN: Fl_FundFreq (supervised)

EN: SMS:

EN: Removed MaxSines from peak detection configuration and replaced it with the much more useful MaxFreq

EN: Several bugfixes and code cleanups

EN: New transformations

EN: New examples:

EN: FilePlayback

EN: ProcessingLifeCycle

EN: Persistence_Throught_DTs

EN: StereoToMonoFile

EN: Examples - NetworkEditor

EN: Improved GUI

EN: Controls

EN: Configuration of processings from interface.

EN: Serialization

EN: 2003-10-4 CLAM_0_5_3

EN: 'Starting the new course'

EN: Bug fix in srcdeps: uninitialized var in emptydsp.c

EN: Fix: 'configure' test for local sandbox fftw in linux, used wrong parameters order

EN: Added support to fltk-config in order to get fltk paths and flags

EN: Changed "release" flag compilation in gcc from -O6 to -O3

EN: Next generation VM Plots available. Check the examples for indications on how to use them.

EN: SMS Tools widgets for Spectrum, Audio, etc. promoted to VM standard presentations.

EN: Processing - General:

EN: Many ugly warnings removed

EN: CleanTracksConfig FreqDev parameter semantics changed to match the meaning of SinTrackingConfig FreqDev.

EN: Processing - Analysis:

EN: New LPC_AutoCorrelation Processing object added to spectral analysis Processings set

EN: The SpectralPeakDetect Processing class now no longer alters it's given ProcessingData if it's different than expected, but instead checks it using an assert. Also, a bug was fixed which tried to use an uninitialized index variable when setting the values for the last spectral peak.

EN: The FFT_rfftw and FFT_ooura Processings were missing a return on SetPrototypes() which only generated a compiler error when CLAM_ASSERT was disabled.

EN: Processing - Synthesis:

EN: The IFFT_rfftw Processing was missing a return on SetPrototypes() which only generated a compiler error when CLAM_ASSERT was disabled.

EN: Processing - AudioFileIO:

EN: AudioFileIn should now be capable of loading PCM encoded files with sample formats of 8, 16, 24 or 32 bits/sample

EN: ProcessingData - BasicProcessing:

EN: New LPModel (Linear Predicitve Model) ProcessingData object added to basic Processing data objects. Allows conversions to CLAM::Spectrum.

EN: Bug fixed in BPF that caused applications to crash when trying to use the Spline value interpolation method

EN: Examples - Miscellaneous:

EN: Usage example of FDFilterGen (Frequency Domain Filter Generator ) Processing object added to examples/ folder

EN: Usage example of FFT_rfftw Processing object updated

EN: Usage example of LPC_AutoCorrelation Processing object added to examples/

EN: Example explaining how to play a given .wav file added to examples/

EN: Example about Segment and SDIF I/O added to examples/

EN: Examples explaining how to use new VM Plots added to examples/

EN: 2003-07-25 CLAM_0_5_2

EN: 'Processing bug-fixing, SMSTools update'

EN: Processing - Transformation - SMS:

EN: SMSMorph was not working by a side-effect of the introduction of the SMS Time Stretch.

EN: SMSMorph: All controls except Residual Spectral Shape are fully functional.

EN: SpectralPeakDetect infinite loop bug fixed.

EN: Added New Ooura FFT algorithm.

EN: Stack, Queue and String removed. Use the STL ones instead.

EN: Obsoleted DescStats removed.

EN: BuildSystem:

EN: Library generation for both Linux and Windows. (Still not CLAM binaries but user libraries)

EN: AudioFileIO example, explaining how to load and save a sound file is available

EN: SMSTools - v.0.1.1

EN: GUI - Score Editor:

EN: UI screen texts tweaked so they result more informative

EN: Added new and improved SMS Morph transformation control widget, allowing user a finer grain level of control on that SMS transformation. Also SMS Morph transformation description has been completely rewritten.

EN: Bug fixed: under some circumstances configuration widgets might be unadvertendly duplicated, leading to invalid transformation scores

EN: Editor widget layout tweaked a bit to make bigger the screen area devoted to transformation parameters edition

EN: 2003-07-03 CLAM_0_5_1

EN: 'SMSTools update and Mac compilation issues'

EN: Examples - SMS:

EN: Improved stability and performance.

EN: Fixed a few bugs in how some configurations were handled

EN: Removed some useless fields from configuration i.e. PhaseManagementType and changed AnalysisMaxSines for AnalysisPeakDetectMaxFrequency.

EN: Transformations Configurators: graphical widget for editing configurations.

EN: New view added (fundamental)

EN: SMSMorph transformation is now usable.

EN: SMSTime stretch is also usable.

EN: SMSEdu (from amora's career final project project) available as 'draft'.

EN: Examples - Misc:

EN: NetworkEditor (from xrubio's career final project) available on 'examples'

EN: Processing - All:

EN: Configs has been separated from their processings in a separate header to lower memory usage during SMSTools compilation in Mac.

EN: Spectral peak detect does not have MaxPeaks as a configurations parameter. Instead, you may indicate the maximum peak frequency you want to detect with MaxFreq.

EN: Processing - Transformation -SMS:

EN: SMSTransformation chain is now able to acknowledge SMSTransformations that do not process inplace and have different processing rate.

EN: Some more test has been moved to cppunit framework

EN: Doxygen:

EN: Few doxygen inline documentation fixes

EN: Library generation under Linux available (still not for a CLAM lib but for generating user libraries)

EN: 2003-06-11 CLAM_0_5_0

EN: 'flashing new build system and SMSTools'

EN: New flashing build system, fast, crossplatform and easy to use

EN: Configuration file for each binary is shared between platforms

EN: Automatic detection of binaries dependencies

EN: Automatic generation of dsp's and make dependencies

EN: See the documentation for more details

EN: Depends on FLTK 1.1.3 instead 1.0.X

EN: Concreteconfigure should asserts false instead throwing bad_cast exceptions when a wrong type of configuration is provided.

EN: Provided a helper template function 'CopyAsConcreteConfig()' to be used in ConcreteConfigure instead using slow dynamic_cast's.

EN: Most Processing in CLAM adapted to use 'CopyAsConcreteConfig'.

EN: Processing - Generator:

EN: Oscillator had a heavy compilation dependency since it used AudioManager for initializing sample-rate. Now it doesn't (uses 44100 as default)

EN: Processing - Analysis and Synthesis:

EN: SMSAnalysis uses a StreamBuffer with one write region and two read regions

EN: SpectralAnalysis does not have an internal CircularBuffer anymore

EN: SpectralSynthesis does not have OverlapAdd as an internal Processing anymore

EN: Now SMSSynthesis has three OverlapAdd Processings for each component: global, sinusoidal and residual.

EN: OverlapAdd now uses a StreamBuffer with one WriteRegion, one AddRegion and one ReadRegion.

EN: CleanTracks is much more faster, (and then usable)

EN: Flow - Network & FlowControl:

EN: New Network and FlowControls classes that works quite together: Network manages processings ownership, nodes, gives simple interface for stablishing processing topologies. FlowControls gets the topology from the associated network and does its processing-firing scheadule. The scheaduling algorithm is reimplementable now we have a pull-scheadule implementation

EN: Limitation: only tested for fixed buffer size.

EN: Flow - Nodes:

EN: New pure virtual interface for attaching ports and traversing processings

EN: Some refactoring simplifying checking logic. Further refactoring in progress

EN: A new AddStreamRegion has been introduced (used for overlap and add).

EN: StreamRegions can be now used using center position logic.

EN: StreamRegions belonging to a StreamBuffer are now automatically initialized so the center time is zero and the first half of the biggest read region is already written with zeros.

EN: Limitation: Do using ports (supervised mode) only tested with fixed size buffers.

EN: Factory:

EN: Added a general purpose factory which is templatized by the abstract product (returned type). Nested class Registrator helps registering concrete classes to the factory.

EN: Added the Filename type to be used in configurations instead of std::string. Configurators detect them and use a suited widget.

EN: Flags: Flags derived classes should define the copy constructors explicitly. One parameter template constructors is not enough (it never was)

EN: Array: debugged the copy constructor when array does not own memory and introduced a CopyChunk method, similar to GiveChunk but with memory copying.

EN: DynamicTypes:

EN: Fix: Definition of DynamicTypes on foreign namespaces leaded to compilation problems if you don't use the ugly 'using namespace CLAM;'.

EN: Fix: dynamic type self-assignation doesn't modify the object.

EN: Examples - SMS (old AnalysisSynthesisExample):

EN: FlowControlExamples. Gives examples of use of networks and flow-control.

EN: Renamed as SMS. GUI is now SMSTools.

EN: Applies chained SMS transformations

EN: Menu reorganization

EN: New views: sinusoidal tracks, spectrum & peaks

EN: Frame navigator

EN: Fixes and performance enhancements

EN: Examples - Other:

EN: Fix: The Tutorial4 didn't compile (used Complex in an old fashioned way).

EN: New method XMLStorage::UseIndentation to enable pretty XML formatting

EN: Obsoleted constructor receiving the root tag as parameter

EN: Obsoleted _restoreFrom and dumpOn, use Dump and Restore instead

EN: Major rework in several areas:

EN: View concept has now been mapped into two different classes, ModelAdapter's whose mission is to wrap Core CLAM objects so they can have Visualization Module components attached, and ModelController's whose mission consists in allowing Visualization Module components to be controlled indirectly by the user from the GUI. From now on VM interface will be kept stable ( at least until CLAM 1.0 )

EN: Presentation semantics are preserved, but their nature of widgets is emphasized in several ways

EN: Several new graphic representations of DSP concepts such as the sinusoidal tracks

EN: OpenGL data renderers optimized and debugged

EN: Old CbLib interface deprecated in favor of libSigSlot, CLAM own implementation of the C++ idiom of Signals & Slots

EN: New plot's substitute the functionality offered by old snapshots

EN: Most of VM code is now documented with Doxygen comments

EN: Several new FLTK widgets, such as the Fl_Axis, Fl_SmartTile, etc.

EN: Configurators: New type suported: 'Filename'

EN: 'Formal' documentation will be soon made publicly available

EN: 2003-03-05 CLAM_0_4_2

EN: 'Cuidado merge update'

EN: General

EN: Most classes ported to the GetClassName contsness

EN: Processing - Base:

EN: TopLevelProcessing::GetInstance() returns a pointer instead a reference

EN: Processings - Generators:

EN: Added AbleToExecute in Generator::Do

EN: Processings - Spectral:

EN: Added Gaussian window to WindowGenerator

EN: Removed Synth window to WindowGenerator (not used)

EN: Added Maximizer Normalization to WindowGenerator

EN: Processing - Transformation:

EN: Normalization moved from examples to src/Processing/Transformations

EN: Added SpectralEnvelopeApply, FDCombFilter, LPC, Levinstong_Durbin and AutocorrelationEvaluator

EN: SMS transformations added and refactored: SMSPitchShift, SMSFreqShift, and SMSOddEvenHarmonicRatio.

EN: SpectralEnvelopeExtract deprecates ExpectralEnvelopeExtractor

EN: Processing - ArithOps:

EN: Fix: BinOps threw 'this' (the processing) on error instead exceptions

EN: Some concrete BinOps have Personalized names for the class

EN: Some concrete BinOps have Concrete Configuration alias (You can use AudioAdderConfig instead BinaryAudioOp > )

EN: Added Correlation

EN: TemplateCircularBuffer obsoleted by CircularBuffer

EN: Signal-Slot Mechanims:

EN: CallbackHandler is obsolete

EN: Examples

EN: ControlArrayExample added

EN: FlowControlExamples added

EN: LPC_Example added

EN: AutocorrelationExample added

EN: AnalysisSynthesis example:

EN: Batch processing on Windows

EN: Removed patented icon formats (aka Gif)

EN: Added Spectrum View

EN: Added Signal/Slot facilities to coordinate Spectrum and Frame marker

EN: Added Transformations

EN: Lot of fixes

EN: Visualization:

EN: Removed: FLDisplay, FLMultiDisplay, FLDisplayArray and CUIDADO_Snapshots

EN: Added new custom FLTK widgets: Fl_ZoomSlider and Fl_Range

EN: libsigslot added

EN: FLTKConfigurator:

EN: Uses FL_Pack & FL_Scroll for managing the widgets position

EN: AudioBrowser:

EN: New class added, derived from AudioPresentation, that includes a GLPortSigSlot and capabilities to get its Signals and its Slots.

EN: GLPortSigSlot:

EN: New class added, derived from GLPort, that includes Signals and Slots, and the methods to work with them, as well as an overlay that draws the Frame marker.

EN: MSVisualC++ build system

EN: Changed extended.c to extended.cxx. Used by Tools/AudioFileIO/AIFFFileIO

EN: CLAM_Windows.hxx used instead windows.h to work arraund some nasty defines

EN: SpectralDelay

EN: QT dependencies removed from the .dsp. That includes build configurations and .cxx files.

EN: New cppunit based infraestructure enabled and some tests ported

EN: Better DynamicType tests

EN: Better (non-cppunit) XMLAdapters tests

EN: Misc:

EN: Modified boost::dir_it added as external included library (Only works for Windows... by now)

EN: 2003-01-23 CLAM_0_4_1

EN: 'Analysis Synthesis debuggin'

EN: Fix: Component::GetClassName has changed the signature to const (#0111)

EN: GetClassName gets pure virtual on Component to reveal misredeclarations

EN: Unix build system:

EN: Better support for external projects

EN: $(CLAM_PATH)/ prefix needs to be added on for each filename on '.files' files

EN: Spectral Analysis:

EN: Fix: WindowGenerator Enums symbols had illegal spaces on their inside

EN: AnalysisSynthesisExampleBase:

EN: default HopSize is now computed from residual window size

EN: SynthHopSize has disappeared: only frameSize is used (affects also SMSAnalysisSynthesisConfig.hxx)

EN: Max number of sines of Peak Detect and SineTracking are now configured using configuration value

EN: Audio:

EN: 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.

EN: SMSAnalysisConfig:

EN: 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).

EN: SpectralPeakDetect:

EN: 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)

EN: SMSAnalysis:

EN: Sample rate was not correctly initialized under some conditions

EN: 2002-12-10

EN: 'Zero padding move'

EN: Analysis Synthesis example:

EN: Removed useless synthesis zero padding factor

EN: Fixed some other bugs related to zero padding

EN: Did a little modification in the GUI so Audio displays are closed when editing configuration

EN: 2002-11-26 CLAM_0_4_0-rel

EN: 'Fly examples, fly to seattle' release

EN: Directory reorganization

EN: CLAM_WARNING macros with customizable behaviour

EN: New integrated examples: Salto and Rappid

EN: AnalisysSysthesis:

EN: Major rework

EN: SpectralDelay:

EN: Stability and performance enhancements

EN: New filter control interface

EN: Dynamic Types:

EN: Attribute visitors

EN: Enum method to get the symbol mapping

EN: Added TabFunct to deal with precalculed function tables

EN: SDIF:

EN: Added SDIF support for storing analysis result in a binary format

EN: Visualization Module( GUI )

EN: Automatic user interface generation for editing configurations

EN: A lot of bug fixes (see Mantis)

EN: Now a given order between sibling xml elements is always required to boost the performance a little

EN: Multiple XML implementations can be selected (currently XercesC++ and Gnome-libxml)

EN: DOMPrint is not used anymore

EN: XMLStorage internal refactoring to improve mantainability, clearness and future improvements

EN: Fix: Flags has implementation for Load (#47)

EN: Fix: XMLxxxAdapter constructor gets const C strings as parameters (#67)

EN: Fix: Non present optional elements don't break the XML loading

EN: Array and Lists uses the aggregated class name for subelements

EN: Spectral processing

EN: PeakDetect renamed as SpectralPeakDetect

EN: Time Domain Processing:

EN: AudioProduct is no more, use AudioMultiplier instead

EN: LADSPA

EN: Added support for writing LASDPA plug-ins

EN: The following examples are now running and fairly debugged: SALTO, AnalysisSynthesis, SpectralDelay and Rappid

EN: Unix build system

EN: Selective clean

EN: Include paths not shown on the command line

EN: Fix: FFTW_HEADER is not substituted bug

EN: Windows build system

EN: Workspaces reorganization

EN: 2002-04-26 CLAM_0_3_0-rel

EN: CLAM code is now released under GPL license.

EN: MTG namespace becomes CLAM namespace

EN: All library macros have 'CLAM_' as prefix

EN: PARANOID support has been dropped.

EN: New error handling macros.

EN: More tests and examples

EN: New DT macros

EN: AddAll, RemoveAll

EN: User init-methods: DefaultInit, CopyInit. Macro-expanded-init: MandatoryInit

EN: InformAll, all dyn attributes are informed at construction time.

EN: SetPreallocateAllAttributes, to enhance time performance vs space performance.

EN: Basic Types:

EN: TypeInfo, a template class to get static information from a type.

EN: Complex, Polar and Point templates, have default template parameters.

EN: Point works with only one template parameter or two.

EN: Complex, Polar and Point have TypeInfo for TData instance

EN: BPF now allows setting the lateral derivatives.

EN: Array initializes numeric data to zero again.

EN: Processing Data classes

EN: Most ProcessingDataConfig classes have been removed, and their attirbutes are now in the processing data classes.

EN: Processing classes

EN: Completed "EnvelopeExtractor", which calculates audio envelopes.

EN: Completed "EnvelopeModulator" class, which applies envelopes to audio.

EN: New MIDI input class.

EN: Dump and Restore deprecates dumpOn and restoreFrom

EN: Dump and Restore requires using the default XMLStorage constructor

EN: XML Load for any DynamicType using the new macros

EN: XML Load for Arrays, BPFs...

EN: Some XML Store formats changed to allow Loading: Array, BPF,

EN: Documentation

EN: The documentation has been updated with all the changes in the library.

EN: Major reworking of most of GUI classes

EN: Model-View-Presentation Architecture introduced

EN: Automatic Generic Snapshot Generation first attempt. It works for sure for Spectrum's, Audio's and Segment's.

EN: New GUI folder organisation: now it contains several subfolders

EN: src/GUI/Core - Visualization Module Core Classes

EN: src/GUI/GL - OpenGL renderers

EN: src/GUI/View - Set of actually implemented System Views ( Views Processings and PDs offered by CLAM )

EN: src/GUI/Presentation - Set of presentations for representing standard CLAM concepts ( Processing's and PDs )

EN: src/GUI/Widget - Some custom widgets, as well as wrappers for different Toolkits

EN: src/GUI/Util - Miscellaneous stuff

EN: Some old snapshots have been eliminated and is a TODO to port them to the new interface

EN: New configure arguments to set some compilation flags.

EN: External library dependencies can be tuned with autoconf.

EN: Windows Build system:

EN: More reliable projects have been provided

EN: Tests projects now share .obj files between them, thus making faster the build process

EN: 2002-04-19 CLAM_0_2_2-rel

EN: DynamicType class:

EN: Dynamic type accessor checks are now only done in debug mode.

EN: Spectrum class:

EN: Removed again the old kludge for BPF self-references, and a related memory leak.

EN: Updated obsolete assertion condition macros.

EN: Fixed bug in SetType/Configure logic.

EN: Audio class:

EN: Added silence initializations.

EN: Added optimisation flag to chunk getters.

EN: Added chunk setters.

EN: AudioFile classes

EN: New configuration fields: SampleRate and Channels.

EN: Both mono and stereo Do() methods are now available.

EN: Improved error handling.

EN: Array class:

EN: GetPtr has now a pure-const and a non-const versions.

EN: Fixed the STL implementation so that it compiles again.

EN: Implementing stream operators for your objects is no more needed if you don't want to use XML.

EN: BPF class:

EN: Fixed a couple of initialization bugs.

EN: Updated the documentation index with a new reference.

EN: Time machine project:

EN: Added spectral analysis and synthesis related classes.

EN: Added some VisualStudio projects for new tests.

EN: _DEBUG flag is now set by default in unix.

EN: Documentation:

EN: Added Flow Control and Nodes design documents.

EN: Added doc about binary libraries in CVS.

EN: Updated versions of the Documentation index, the ErrorHandling document and the User tutorial.

EN: 2002-02-27 CLAM_0_2_1-rel

EN: Changed the Resize/SetSize semantics, fixing some remaining bugs. This has important consequences:

EN: Order is now important! Do Resize() first, then SetSize().

EN: You need to do SetSize() with a proper value before trying to access an element in the array.

EN: Added a STL based implementation (_MTG_USE_STL_ARRAY flag)

EN: Empty arrays do not dump an "Empty" string when Storing.

EN: Improved the tests.

EN: FFT_rfftw/IFFT_rfftw classes:

EN: Fixed memory leak in destructors.

EN: Audio, Spectrum, WindowGenerator, BPF, TestSpectrum, Envelope, EnvelopeExtractor, TestSpectrum

EN: Fixed Array SetSize/Resize calls order.

EN: Assertion and Error classes and functions, in files Assert.hxx, Assert.cxx, Err.hxx, Err.cxx:

EN: C string arguments are now const, fixing compilation errors.

EN: DynamicType:

EN: Fixed memory leak in destructor.

EN: XMLArrayAdapter and XMLAdapter classes:

EN: Removed the extraction operator. This temporarily fixes some compilation errors.

EN: Added automatic make tests target.

EN: 2002-02-20

EN: Fixed bug which caused data corruption when two consecutive Resizes with the same argument where called.

EN: Fixed wrong InsertElement initialization when mInitElems flags is false

EN: SpectralPeak class:

EN: Fixed wrong REGISTER_NUM_ATTRIBUTES which caused dynamic type inconsistencies.

EN: Updated the GUI Snapshot code.

EN: 2002-02-19 CLAM_0_2_0-rel

EN: Fixed bug in memory reallocation and movement.

EN: Added speciiallization macro for fast implementation.

EN: TestArray is now an autotest.

EN: Fixed size modification bug (Thx, Gunter!).

EN: Segment class:

EN: Fixed lost references bug (replacing Array with List)

EN: Removed a performance bottleneck in the data synchronization routines.

EN: AudioIO classes

EN: Some more error condition checks.

EN: Added underrun/overrun recovery mechanism.

EN: List class

EN: It is now tested and working.

EN: Changes in the Documentation:

EN: Updated doxygen generation configuration.

EN: Updated coding recomendations.

EN: Fixed minor compilation problems in several source files.

EN: Fixed some missing binary dependencies in the UNIX build system.

EN: [[This html has been automatically generated from the file ChangeLog.txt in the CVS]]