Chris@127: 
Chris@127: Changes in Sonic Annotator 1.1 since the previous release 1.0:
Chris@127: 
Chris@127: Front-end changes:
Chris@127: 
Chris@127:  - Add support for the start time and duration properties of a
Chris@127:    transform, applying a plugin to only a range of the input audio
Chris@128:  - Add --multiplex option to compose multiple audio files into a
Chris@128:    single multi-channel stream with one input file per channel
Chris@172:  - Add --normalise to request each audio file be normalised to 1.0 max
Chris@172:  - Add support for the plugin_version property of a transform, causing
Chris@172:    Sonic Annotator to refuse to run with the wrong version of a plugin
Chris@128:  - Add --minversion option to permit scripts to check that the
Chris@128:    version of Sonic Annotator is as they expect
Chris@172:  - Add new housekeeping options to list the available feature writers
Chris@172:    and supported audio file formats
Chris@172:  - Pull out the feature-writer-specific help text into separate help
Chris@172:    options (-h <writertype>) as the help was getting too long
Chris@172: 
Chris@172: Back-end (feature writer) changes:
Chris@172: 
Chris@172:  - Add --csv-omit-filename, --csv-end-times, and --csv-fill-ends
Chris@172:    options to the CSV feature writer to adjust various aspects of its
Chris@172:    output
Chris@172:  - Add "json" feature writer, exporting to JAMS (JSON Annotated Music
Chris@172:    Specificiation) format. This writer is provisional and is expected
Chris@172:    to change in future releases to comply more effectively with the
Chris@172:    specification
Chris@172:  - Add "midi" feature writer, exporting to MIDI files
Chris@172:  - Add "lab" feature writer, exporting to tab-separated label files.
Chris@172:    (This is equivalent to using the CSV writer with a tab separator and
Chris@172:    the new --csv-omit-filename and --csv-end-times options, but it's
Chris@172:    simpler to use if .lab is what you want)
Chris@128: 
Chris@128: Bug fixes:
Chris@128: 
Chris@128:  - Fix the former habit of forging ahead even if not all transform
Chris@128:    files could be found or parsed (this may have been intentional
Chris@128:    behaviour but it is confusing more than it is useful)
Chris@128:  - Fix failure to support --summary-only flag when reading transforms
Chris@128:    with summaries from a transform file
Chris@71: 
Chris@172: 
Chris@86: Changes in Sonic Annotator 1.0 since the previous release 0.7:
Chris@71: 
Chris@87: Bug fixes:
Chris@87: 
Chris@71:  - Fix incorrect samplerate in reading m4a files on OS/X
Chris@73:  - Fix incorrect handling of FixedSampleRate outputs (Vamp SDK fix)
Chris@86:  - Add tests that use the Vamp test plugin
Chris@65: 
Chris@172: 
Chris@65: Changes in Sonic Annotator 0.7 since the previous release 0.6:
Chris@65: 
Chris@65: Build changes:
Chris@65: 
Chris@65:  - Support 64-bit builds on OS/X (using CoreAudio instead of
Chris@65:    obsolete QuickTime audio file reader)
Chris@65: 
Chris@65:  - Simplify RDF reading and fix some bugs. Now requires Dataquay
Chris@65:    (http://breakfastquay.com/dataquay/) rather than using Redland
Chris@65:    directly. Release builds use Sord/Serd rather than Redland
Chris@49: 
Chris@172: 
Chris@49: Changes in Sonic Annotator 0.6 since the previous release 0.5:
Chris@49: 
Chris@49: Build changes:
Chris@49: 
Chris@49:  - Switch to modular SV-libraries build using svcore library
Chris@53:  - We now require Vamp plugin SDK v2.3
Chris@49:  - Add autoconf configure script
Chris@49: 
Chris@49: Front-end changes:
Chris@49: 
Chris@49:  - Pick up default sample rate and channel count from the first
Chris@49:  audio file, where not specified in the transform, instead of using
Chris@49:  hard coded defaults
Chris@53:  - Make it possible to specify the window shape in transform
Chris@49:  - Fix the --csv-one-file option which did not work in 0.5
Chris@49:  - Fix --force option when using playlists
Chris@49:  - Add -v option to print version number and exit
Chris@36: 
Chris@172: 
Chris@36: Changes in Sonic Annotator 0.5 since the previous release 0.4:
Chris@36: 
Chris@36: Build changes:
Chris@36: 
Chris@36:  - Remove unused audioio library and avoid its dependencies
Chris@36: 
Chris@36: Front-end changes:
Chris@36: 
Chris@36:  - Avoid leaking file descriptors on exceptions
Chris@36:  - Fix embarrassing bug that caused failure to mix down to mono
Chris@36:  properly for single-channel plugins with multi-channel input files
Chris@36:  - Fail sooner if the output file is not writable (i.e. don't wait
Chris@36:  until the first data is available for writing)
Chris@23: 
Chris@172: 
Chris@27: Changes in Sonic Annotator 0.4 since the previous release 0.3:
Chris@27: 
Chris@27: Build changes:
Chris@27: 
Chris@27:  - Sonic Annotator now requires the Vamp plugin SDK v2.1 or newer.
Chris@27: 
Chris@27: Front-end changes:
Chris@27: 
Chris@28:  - Frequency-domain plugins now use the PluginInputDomainAdapter's new
Chris@28:  ShiftData processing method, ensuring that the first block received
Chris@28:  by the plugin is the one centred on 0 rather than starting at 0.
Chris@28:  Unfortunately, the old behaviour omitted a timing compensation step,
Chris@28:  and this fix actually changes the results from some plugin processes:
Chris@28:  the previous behaviour was not always in line with the Vamp plugin
Chris@28:  specification.
Chris@28: 
Chris@27:  - More useful diagnostics are now available when a plugin fails to
Chris@28:  load or run.
Chris@27: 
Chris@27: CSV back-end (feature writer) changes:
Chris@27: 
Chris@27:  - The CSV writer now closes its output files properly when it
Chris@27:  finishes writing to each one, rather than leaving them all open
Chris@27:  until the end and risk running out of file descriptors.  This was
Chris@27:  already the behaviour of the RDF writer, the CSV one has just been
Chris@27:  updated to match it.
Chris@27:  - The behaviour of the CSV writer has also been changed to match
Chris@27:  that of the RDF writer in handling file write failures (it now
Chris@27:  continues processing only if --force is given).
Chris@27: 
Chris@27: 
Chris@27: Changes in Sonic Annotator 0.3 since the previous release 0.2:
Chris@23: 
Chris@23: Front-end changes:
Chris@23: 
Chris@23:  - A new --force front-end option (distinct from the --csv-force and
Chris@23:  --rdf-force back-end options) has been added, which makes Sonic
Chris@23:  Annotator continue to process subsequent audio files instead of
Chris@23:  exiting after an error, if multiple audio files have been specified.
Chris@23: 
Chris@23: RDF back-end (feature writer) changes:
Chris@23: 
Chris@23:  - The RDF writer now conforms more correctly with the Music Ontology
Chris@23:  in the way it relates signal, track, and track metadata.  Signals
Chris@23:  that have available metadata now gain a Track resource to associate
Chris@23:  that metadata with, instead of hanging it directly from the Signal
Chris@23:  resource; also the audio file now encodes the signal rather than the
Chris@23:  signal being available as the audio file (matching the domain
Chris@23:  specification of the Music Ontology).  Note that this new resource
Chris@23:  structure will not be properly read by versions of Sonic Visualiser
Chris@23:  prior to 1.6 (should importing the data into Sonic Visualiser be of
Chris@23:  interest to you).
Chris@23: 
Chris@23:  - The --rdf-signal-uri option has been removed and replaced with the
Chris@23:  more meaningful set of options --rdf-audiofile-uri, --rdf-track-uri,
Chris@23:  and --rdf-maker-uri.
Chris@23: 
Chris@23:  - A new --rdf-network option is available, to cause Sonic Annotator
Chris@23:  to try to retrieve RDF descriptions for plugins from the network
Chris@23:  where those descriptions are not available locally.  Use of this
Chris@23:  option is recommended, but it is not the default because of the
Chris@23:  possible performance implication (even though the results are mostly
Chris@23:  cached, there may be some network access involved).
Chris@23: 
Chris@23:  - The RDF writer now writes the computed_by property for signal
Chris@23:  features.
Chris@23: 
Chris@23:  - Plugin and output URIs in the resulting RDF are now percent-encoded.
Chris@23: