Advanced Gtk+ Sequencer
====

Copyright (C) 2005-2019 Joël Krähemann

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".

Overview of Changes in AGS 2.2.0
================================

* Implemented OSC export controller. Allowing you to trigger AgsExportOutput
  task by the OSC server.
* Reworked parsing LV2 RDF Turtles. Providing a better conforming
  interpretation of prefixes and faster XPath expressions.
* Improved copyright and licenses notices for many files.

Overview of Changes in AGS 2.1.0
================================

* Implemented OSC server with different server paths. It has a front
  controller passing the requests to the matching context path of a
  controller.
* There is a new OSC buffer util and util file. Further you may use the
  AgsOscBuilder or AgsOscParser to interact with the OSC content format.
* Configuration in place is done by AgsApplySoundConfig task.

Overview of Changes in AGS 2.0.0
================================

* Implemented wave form editor with basic editing capabilities. Like copy &
  paste, cursor positioning and editing dialogs.
* New machines available AgsEqualizer10, AgsSpectrometer and AgsAudiorec.
  You can now have a built-in 10 band equalizer, a spectrometer visualizing
  the frequency using FFTW3 library and the ability to edit or record audio
  data.
* Refactored libags*.so by providing many API improvements. Grained control
  of sound file resources. New lock strategy and many objects are thread-safe,
  now.
* Implemented AgsWave and AgsBuffer to contain large amount of audio data.
* Added AgsMidi and AgsTrack skelleton.

Overview of Changes in AGS 1.3.0
================================

* Supporting 4 different paste modes by allowing the user to activate
  do 2 different check menu tool buttons. Switches are match audio channel
  or line as well no duplicates.
* New widget AgsScale available. It visualizes a control's possible value.
  It is accessible, implements AtkValue and AtkAction interface to control
  the ::value-changed signal or retrieving the range.
* New widgets AgsScaleBox, AgsVScaleBox and AgsHScaleBox available. It is
  responsible to layout your AgsScale. It inherits of GtkBox and overrides
  GtkWidget::size-allocate and GtkWidget::size-request.
* New widget AgsScrolledScaleBox available. It shall contain a AgsScaleBox
  and make it scrollable.
* Refactored automation editor by removing AgsAutomationArea and using
  AgsAutomationEdit instead. The editor supports segmented automation.

Overview of Changes in AGS 1.2.7
================================

* Completed migrating to asynchronous communication from libags*.so.1 to
  libgsequencer.so.
* Refactored large parts of ags_channel.c to remove redundant code and
  make all functions thread-safe. Fixed some regression related to linking.

Overview of Changes in AGS 1.2.0
================================

* Audio input support for all common backends like ALSA, OSS4, JACK and
  Pulseaudio. 
* New widget AgsPiano available. It is an accessible widget which draws
  a piano. It has events like ::key-pressed, ::key-released and ::key-clicked.
* New widget AgsScrolledPiano available. It contains an AgsPiano and addtional
  scrolling capabilities.
* New widget AgsNotebook available. It is has been moved from libgsequencer to
  libags-gui. It was refactored to be generic.
* Refactored notation editor by replacing AgsEditor with AgsNotationEditor.
  Notes have an alpha channel now. The editor supports segmented notation.

Overview of Changes in AGS 1.0.0
================================

* Sticky controls allows you to adjust multiple controls at once.
* Various bug-fixes especially improved Lv2ui syncing controls.

Overview of Changes in AGS 1.0.0-beta
================================

* Experimental XMLRPC-C service prototype.

Overview of Changes in AGS 0.9.29
================================

* New automation editor dialogs to select or ramp acceleration.
* New editor dialog to select notes.

Overview of Changes in AGS 0.9.28
================================

* all functional tests pass now again, since  gtk_main() integration.

Overview of Changes in AGS 0.9.26
================================

* full gtk_main() support you might want to run it by calling
  ags_gui_thread_do_run().

Overview of Changes in AGS 0.9.24
================================

* Support for LADSPA_PATH, DSSI_PATH and LV2_PATH environment variables
* Core-audio audio unit backend in order to port the application to
  Apple OS X.

Overview of Changes in AGS 0.9.10
================================

* Pulseaudio sink support. AgsPulseDevout has got a bigger ring-buffer
  to avoid caching and allow slower write functions.

Overview of Changes in AGS 0.9.8
================================

* You may now specify base note of AgsSynth or AgsSyncsynth.

Overview of Changes in AGS 0.9.7
================================

* Implemented new functions to handle LV2_Event_Buffer. Note the old
  functions to do so are deprecated and are incompatible to the
  newer API.
* AgsSyncsynth is a new AgsMachine object, allowing you to edit synth
  notation.
* Smaller refactoring of AgsApplySynth to use new AgsSynthGenerator
  API.

Overview of Changes in AGS 0.9.0
================================

* Using destroy worker for AgsRecall related unref resulting in much
  better performance.
* Many new unit tests and improved code by detecting errors.
* Extended chapter 3 about concurrency of developer's book.

Overview of Changes in AGS 0.8.9
================================

* Lots of properties applied during AgsTask sub-type instantiation.
  Thus implemented missing ::finalize() and ::dispose().

Overview of Changes in AGS 0.8.8
================================

* Additional editing tools available. After a Standard MIDI File import
  you might want to move or crop notes. There are 2 dialogs available of
  the toolbar allowing you to do so.

Overview of Changes in AGS 0.8.5
================================

* Envelope is ready now for use. Featuring envelope editor with presets,
  pattern presets and information tab.
* Envelope dialog available trough machine's context menu. Supported by
  AgsDrum, AgsMatrix, AgsFFPlayer, AgsDssiBridge and AgsLv2Bridge.
* Fixed missing persistence of AgsLiveDssiBridge and AgsLiveLv2Bridge

Overview of Changes in AGS 0.8.2
================================

* Added gettext support

Overview of Changes in AGS 0.8.0
================================

* Added MIDI import wizard
* Added MIDI export wizard

Overview of Changes in AGS 0.7.0
================================

* provide GSequencer functionality as libraries
