Advanced Gtk+ Sequencer
====

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

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without any warranty.

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
