ags (9.0.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved visibitity attribute check in ags_application_context.c
	* fixed some typos

ags (9.0.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* hide more symbols
	* minor improvements
	* fixed some memory leaks

ags (9.0.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (9.0.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added static modifier to all ags-fx source code
	* renamed ags_fluid_interp_coeff_4th_order* with proper prefix
	* renamed ags_fluid_ct2hz_tab* with proper prefix

ags (9.0.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added static modifier to functions in all source files

ags (9.0.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added visibility attribute to global variable in ags/object/ags_application_context.c
	* removed gen-sym-libags-audio.pl
	* removed gen-sym-libags-gui.pl
	* removed gen-sym-libags-server.pl
	* removed gen-sym-libags-thread.pl
	* removed gen-sym-libags-vst.pl
	* removed gen-sym-libags.pl
	* removed gen-symbols-all.pl
	* removed libags.sym.in
	* removed libags_audio.sym.in
	* removed libags_gui.sym.in
	* removed libags_server.sym.in
	* removed libags_thread.sym.in
	* removed libags_vst.sym.in
	* removed m4/ags-symbols.m4

ags (9.0.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented missing chorus LFO oscillator callback in quantum synth
	* implemented missing chorus LFO oscillator callback in stargazer synth
	* implemented missing chorus LFO oscillator callback in raven synth
	* implemented missing chorus LFO oscillator callback in modular synth

ags (9.0.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory corruption in raven synth pitch type callback
	* fixed typo in ags_alsa_devout_test.c
	* fixed vulnerability in hostcontext.cpp

ags (9.0.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing core audio input sequencer
	* added configure switch --enable-core-midi
	* added autoconf header define AGS_WITH_CORE_MIDI

ags (9.0.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing note frame offset reset with AgsFrameClock

ags (9.0.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV while seeking with ags-fx-notation

ags (9.0.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_frame_clock_copy_time() to be thread-safe
	* increased frame clock period by modifying AGS_FRAME_CLOCK_DEFAULT_SYNC_POINT_ARRAY_LIST_LENGTH
	* minor improvements

ags (9.0.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed set start note offset of frame clock
	* fixed set note offset of frame clock
	* refactored ags-fx-vst3 make use of frame clock

ags (9.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-pattern loop
	* fixed ags-fx-notation loop

ags (9.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-notation pattern mode missing samples
	* fixed functional system test

ags (9.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* break ABI on some platforms from guint to guint64 with AgsSoundcard::offset-changed()
	* implemented AgsFrameClock
	* implemented AgsEqualizer10 presets and refresh port
	* implemented ags_soundcard_get_frame_clock()
	* implemented ags_sequencer_get_frame_clock()
	* refactored AgsSoundcard and all implementations
	* refactored AgsSequencer and all implementations
	* refactored ags-fx-playback
	* refactored ags-fx-pattern
	* refactored ags-fx-notation
	* refactored synths using ags-fx-notation
	* added ags_frame_clock_test.c
	* added ags_functional_frame_clock_test.c

ags (8.4.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed maybe unitialized in ags_server.c
	* deprecated ags_sequencer_set_delay_factor()
	* deprecated ags_sequencer_get_delay_factor()
	* deprecated ags_sequencer_set_note_offset()
	* deprecated ags_sequencer_get_note_offset()

ags (8.4.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added language support for Georgian ka.po
	* deprecated ags_soundcard_set_delay_factor()
	* deprecated ags_soundcard_get_delay_factor()
	* deprecated ags_soundcard_get_absolute_delay()
	* deprecated ags_soundcard_get_delay()
	* deprecated ags_soundcard_get_attack()
	* deprecated ags_soundcard_get_delay_counter()
	* deprecated ags_soundcard_set_start_note_offset()
	* deprecated ags_soundcard_get_start_note_offset()
	* deprecated ags_soundcard_set_note_offset()
	* deprecated ags_soundcard_get_note_offset()
	* deprecated ags_soundcard_get_note_256th_offset()
	* deprecated ags_soundcard_get_note_256th_attack_of_16th_pulse()
	* deprecated ags_soundcard_get_note_256th_attack_of_16th_pulse_position()
	* deprecated ags_soundcard_get_note_256th_attack()
	* deprecated ags_soundcard_get_note_256th_attack_at_position()
	* deprecated ags_soundcard_get_note_256th_attack_position()
	* deprecated ags_soundcard_set_note_offset_absolute()
	* deprecated ags_soundcard_get_note_offset_absolute()
	* deprecated ags_soundcard_set_loop()
	* deprecated ags_soundcard_get_loop()
	* deprecated ags_soundcard_get_loop_offset()
	* deprecated ags_soundcard_util_adjust_delay_and_attack()
	* deprecated ags_soundcard_util_calc_next_note_256th_offset()
	* deprecated ags_soundcard_util_calc_next_note_256th_attack()
	* deprecated ags_core_audio_devout_adjust_delay_and_attack()
	* deprecated AgsCoreAudioDevout:delay-factor because defaults to quarter pulse
	* deprecated AgsCoreAudioDevout:attack
	* deprecated ags_core_audio_devin_adjust_delay_and_attack()
	* deprecated AgsCoreAudioDevin:delay-factor because defaults to quarter pulse
	* deprecated AgsCoreAudioDevin:attack
	* deprecated ags_alsa_devout_adjust_delay_and_attack()
	* deprecated AgsAlsaDevout:delay-factor because defaults to quarter pulse
	* deprecated AgsAlsaDevout:attack
	* deprecated ags_alsa_devin_adjust_delay_and_attack()
	* deprecated AgsAlsaDevin:delay-factor because defaults to quarter pulse
	* deprecated AgsAlsaDevin:attack
	* deprecated ags_oss_devout_adjust_delay_and_attack()
	* deprecated AgsOssDevout:delay-factor because defaults to quarter pulse
	* deprecated AgsOssDevout:attack
	* deprecated ags_oss_devin_adjust_delay_and_attack()
	* deprecated AgsOssDevin:delay-factor because defaults to quarter pulse
	* deprecated AgsOssDevin:attack
	* deprecated ags_jack_devout_adjust_delay_and_attack()
	* deprecated AgsJackDevout:delay-factor because defaults to quarter pulse
	* deprecated AgsJackDevout:attack
	* deprecated ags_jack_devin_adjust_delay_and_attack()
	* deprecated AgsJackDevin:delay-factor because defaults to quarter pulse
	* deprecated AgsJackDevin:attack
	* deprecated ags_pulse_devout_adjust_delay_and_attack()
	* deprecated AgsPulseDevout:delay-factor because defaults to quarter pulse
	* deprecated AgsPulseDevout:attack
	* deprecated ags_pulse_devin_adjust_delay_and_attack()
	* deprecated AgsPulseDevin:delay-factor because defaults to quarter pulse
	* deprecated AgsPulseDevin:attack
	* deprecated ags_gstreamer_devout_adjust_delay_and_attack()
	* deprecated AgsGstreamerDevout:delay-factor because defaults to quarter gstreamer
	* deprecated AgsGstreamerDevout:attack
	* deprecated ags_gstreamer_devin_adjust_delay_and_attack()
	* deprecated AgsGstreamerDevin:delay-factor because defaults to quarter gstreamer
	* deprecated AgsGstreamerDevin:attack

ags (8.4.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_wave_sort_func()
	* fixed ags_notation_find_near_timestamp()
	* fixed ags_automation_find_near_timestamp()
	* fixed ags_wave_find_near_timestamp()
	* minor improvements

ags (8.4.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAmplifier10Util
	* fixed memory-leak of ags-fx-notation
	* refactored ags-fx-eq10
	* refactored AgsEqualizer10
	* refactored ags_notation_find_region()
	* refactored ags_notation_find_offset()

ags (8.3.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* modified screenshot URLs in AppStream XML

ags (8.3.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed notation, automation, wave and program bisect

ags (8.3.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio export clear buffer

ags (8.3.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed modular synth OSC-1

ags (8.3.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_import_notation_smf_popover_parse()
	* added modular synth util and ags-fx-modular-synth to API reference manual

ags (8.3.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* enabled AgsImportNotationSMFPopover
	* fixed AgsFileWidget use after free

ags (8.3.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved apply presets to AgsCoreAudioPort

ags (8.3.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsLineMember::disconnect() signal detail
	* fixed all ags_soundcard_get_note_256th_attack_position() implementations
	* fixed osc buffer util 0 pad

ags (8.3.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_audio_stop() with sound_scope -1
	* fixed functional server test
	* fixed functional osc server test
	* fixed functional osc xmlrpc server test
	* improved unit-tests.mk to compile on macOS
	* improved functional-tests.mk to compile on macOS
	* extended functional test machine add and destroy added Stargazer, Quantum, Raven and Modular synth

ags (8.3.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsRecall::done() is not part of staging program
	* fixed ags-fx-pattern audio processor to start properly
	* fixed stop audio and channel thread processing with correct staging program
	* improved ALSA, OSSv4, jack, Pulseaudio, Core Audio and WASAPI counter initialization
	* improved not sensitive backend of soundcard and sequencer editor

ags (8.3.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed remove soundcard
	* improved default config on macOS
	* modified Makefile.am to build libags, libags_thread and libags_server with `clang -x objective-c`

ags (8.3.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_jack_server_register_soundcard_with_params()
	* implemented ags_pulse_server_register_soundcard_with_params()

ags (8.3.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored audio and MIDI preferences
	* improved Core Audio soundcard configuration
	* improved Core Audio sequencer configuration
	* improved ags_core_audio_port_register() MIDI setup
	* improved ags_pitch_2x_alias_util.c check division by 0.0
	* improved ags_pitch_4x_alias_util.c check division by 0.0
	* improved ags_pitch_16x_alias_util.c check division by 0.0
	* added css-name of widgets for ags/widget/*
	* added user's handbook content, missing new synths and screenshots

ags (8.2.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved modular synth util check division by zero
	* improved modular synth env-0 and env-1 frequency lower
	* improved modular synth noise frequency default

ags (8.2.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved line and bulk member and related with update-ui callback
	* improved peak util check NaN
	* improved use AGS_VECTORIZED_BUILTIN_FUNCTIONS conditional code on macOS

ags (8.2.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented audio buffer clear of signed integer types

ags (8.2.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented array type presets
	* improved user manual

ags (8.2.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-playback record format

ags (8.2.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved CoreAudio backend

ags (8.2.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation edit draw overflow

ags (8.2.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved composite editor event controllers
	* fixed simple file automation restore

ags (8.2.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved automation edit drawing
	* fixed automation edit copy and paste by using timestamp to iterate automation
	* fixed notation edit selection potential pixel overflow
	* fixed automation edit selection potential pixel overflow
	* fixed wave edit selection potential pixel overflow
	* fixed tempo edit selection potential pixel overflow

ags (8.2.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved automation edit drawing
	* improved gen-sym-libags-gui.pl exclude files
	* fixed gen-sym-libags-audio.pl exclude files

ags (8.2.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation edit drawing bug

ags (8.2.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsSFZSample to read acid from WAV like files
	* fixed AgsSFZSynth pitch type selected callback

ags (8.2.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsModularSynth
	* implemented ags_modular_synth_util.[ch]
	* implemented ags-fx-modular-synth
	* implemented AgsImportNotationSMFPopover

ags (8.1.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved audio unit compatibility check since macOS 13.0

ags (8.1.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* new micro release for macOS

ags (8.1.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted implied config value super threaded scope channel on macOS

ags (8.1.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio unit test dereference NULL pointer

ags (8.1.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio unit test waitpid() return value and exit status

ags (8.1.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio unit test

ags (8.1.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio unit test

ags (8.1.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio unit test use posix_spawn()

ags (8.1.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved audio unit test use posix_spawn()

ags (8.1.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved audio unit test

ags (8.1.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved audio unit test

ags (8.1.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved audio unit test handle additional signals

ags (8.1.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* new micro release for macOS

ags (8.1.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* new micro release for macOS

ags (8.1.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* renamed AudioUnitTest to com.gsequencer.GSequencer.AudioUnitTest

ags (8.1.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* renamed com.gsequencer.AudioUnitTest to AudioUnitTest

ags (8.1.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* renamed com.gsequencer.GSequencerAudioUnitTest to com.gsequencer.AudioUnitTest

ags (8.1.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented GSequencerAudioUnitTest Audio Unit test program

ags (8.1.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implied config value in order to support Audio Unit
	* improved Audio Unit UI window
	* reverted ags-fx-buffer
	* fixed ags-fx-audio-unit stereo buffer
	* fixed ags-fx-audio-unit instrument key on

ags (8.1.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted ags-fx-buffer
	* generated symbols

ags (8.1.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented stereo or more channel synchronization of ags-fx-audio-unit
	* fixed AgsAudioUnitBridge load port
	* fixed ags_fx_audio_unit_audio_port_safe_write_callback()

ags (8.1.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-audio-unit missing clear of audio buffer

ags (8.1.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsAudioUnitManager to use wildcard to load plugins

ags (8.1.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAudioUnitManager
	* implemented AgsAudioUnitNewQueueManager
	* implemented AgsAudioUnitPlugin
	* implemented AgsAudioUnitNewQueue
	* implemented AgsAudioUnitConversion
	* implemented AgsAudioUnitBridge
	* implemented ags-fx-audio-unit
	* implemented AgsSimpleFile audio unit bridge persistence
	* added Audio Unit menu to application window
	* added live Audio Unit menu to application window
	* fixed bug in ags_recycling_position()

ags (8.1.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation port restore from XML

ags (8.1.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented automation port restore from XML
	* fixed potential SIGSEGV with composite toolbar popovers
	* improved AgsAudioLoop
	* improved AgsDial accessibility
	* improved AgsIndicator accessibility
	* improved ags-fx-lv2 output and input size
	* reverted some changes related to clipping in ags_notation_edit_draw_note()

ags (8.0.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed piano roll draw notation with many timestamp attempts
	* improved bisect functions of notation, automation, wave and program

ags (8.0.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed frame clock of animation window

ags (8.0.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed uninitialized in ags_lfo_synth_util.c
	* fixed uninitialized in ags_core_audio_port.c
	* fixed uninitialized in ags_amplifier_util.c

ags (8.0.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed popovers to ::disconnect() while ::finalize()

ags (8.0.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed multi-channel notation restore from XML

ags (8.0.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed buffer-overflow ags-fx-lv2
	* fixed buffer-overflow ags-fx-wah-wah
	* fixed buffer-overflow in ags_sf2_synth_util.c
	* improved notation restore from AgsSimpleFile
	* improved AgsLed and AgsIndicator frame clock
	* improved disabled frame clock of AgsDial and others
	* improved run AgsUiProvider::update-ui() from window frame clock callback

ags (8.0.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsAudioTreeDispatcher wrong ref-count

ags (8.0.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed VST3 for vst3sdk v3.7.7_build_19

ags (8.0.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed VST3 support added missing commonstringconvert.h and commonstringconvert.cpp

ags (8.0.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed pad playback with new dispatcher
	* fixed notation clipboard
	* fixed raven synth seq LFO refresh port
	* fixed raven synth seq LFO callback
	* fixed VST3 support added missing stringconvert.h and stringconvert.cpp

ags (8.0.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-star-synth dedicated pitch buffer
	* fixed ags-fx-seq-synth dedicated pitch buffer
	* fixed ags-fx-raven-synth dedicated pitch buffer

ags (8.0.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_midi_ump_util_get_midi2_control_change()

ags (8.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added MIDI 1 and 2 control change 24 - 31 to AgsMidiCCDialog
	* added MIDI 1 and 2 control change 24 - 31 macros and enums to ags_recall.h

ags (8.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AGS_CONFIG_RECALL and midi1-cc-dump config switch of ags.conf
	* implemented AGS_CONFIG_RECALL and midi2-cc-dump config switch of ags.conf
	* fixed ags_audio_real_play_recall() missing call to ::midi1-control-change()
	* fixed ags_channel_real_play_recall() missing call to ::midi2-control-change()
	* fixed AGS_RECALL_MIDI2_CC_CHANGE_PROGRAM
	* fixed AGS_RECALL_MIDI2_CC_CHANGE_PRESSURE
	* fixed AGS_RECALL_MIDI2_CC_PITCH_BEND

ags (8.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* breaking ABI of ags_midi_ump_util_put_midi2_control_change() because of missing data field
	* breaking ABI of ags_midi_ump_util_get_midi2_control_change() because of missing data field
	* implemented MIDI v2.0 CC support within UI
	* implemented AgsMidiCCDialog
	* implemented AgsMidiCCEditor
	* implemented AgsAudioTreeDispatcher
	* fixed ags_recall.h MIDI 1 and 2 CC macros and enum
	* improved ags_recall_midi1_control_change() completed missing functionality
	* improved ags_recall_midi2_control_change() completed missing functionality
	* improved AgsDial small refactoring
	* improved AgsHybridSynth label text enumerating starting from 1
	* improved AgsQuantumSynth label text enumerating starting from 1
	* improved AgsStargazerSynth label text enumerating starting from 1
	* improved AgsRavenSynth label text enumerating starting from 1
	* refactored all AgsMachine implementations supporting MIDI CC
	* refactored AgsEffectBulk to support MIDI CC for plugins
	* refactored AgsLine to support MIDI CC for plugins
	* refactored AgsEffectLine to support MIDI CC for plugins
	* minor bug-fixes

ags (7.8.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (7.7.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved menubar on macOS work-around of failed action parameter

ags (7.7.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed target install-html-mkdir in Makefile.am
	* fixed variant type in ags_gsequencer_application.c

ags (7.7.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented vector accelerated conditional compiled code in ags_raven_synth_util.c

ags (7.7.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsMidiDialog uniform close-request behaviour
	* fixed AgsMachineEditorDialog uniform close-request behaviour
	* fixed AgsConnectionEditorDialog uniform close-request behaviour
	* fixed AgsEnvelopeDialog uniform close-request behaviour
	* fixed AgsPresetDialog uniform close-request behaviour
	* fixed AgsWaveExportDialog uniform close-request behaviour

ags (7.7.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsCoreAudioPort hw output no sync while starting playback on macOS

ags (7.7.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags-fx-pattern counter change absolute note offset
	* improved AgsCoreAudioMidiin async fill MIDI buffer, disabled extra synchronization with audio HW on macOS

ags (7.7.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-pattern counter change absolute note offset

ags (7.7.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-pattern counter check has 16th pulse
	* fixed machine selector popup menu move down

ags (7.7.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed phase sync of ags_raven_synth_util.c

ags (7.7.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing persistency of AgsRavenSynth
	* improved ags_seq_synth_util.c vibrato enabled
	* improved ags_raven_synth_util.c vibrato enabled

ags (7.7.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags-fx-raven-synth with dedicated synth buffer
	* fixed ags_seq_synth_util.c check vibrato_enabled
	* fixed ags_raven_synth_util.c check vibrato_enabled

ags (7.7.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing volume and tuning sequencer in ags_raven_synth_util.c

ags (7.7.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsLowPassFilterUtil based on Invada Studio LADSPA plugin
	* implemented AgsAmplifierUtil based on Fil LADSPA plugin
	* implemented ags-fx-raven-synth
	* implemented AgsRavenSynth
	* implemented ags_raven_synth_util.[ch]
	* fixed ags-fx-star-synth sync LFO freq 0 and 1 default value
	* fixed AgsQuantumSynth missing callback of control synth_0_seq_tuning_lfo_frequency
	* fixed AgsQuantumSynth missing callback of control synth_0_seq_volume_lfo_frequency
	* fixed AgsQuantumSynth missing callback of control synth_1_seq_tuning_lfo_frequency
	* fixed AgsQuantumSynth missing callback of control synth_1_seq_volume_lfo_frequency
	* fixed AgsQuantumSynth missing refresh_port() of control synth_0_seq_tuning_lfo_frequency
	* fixed AgsQuantumSynth missing refresh_port() of control synth_0_seq_volume_lfo_frequency
	* fixed AgsQuantumSynth missing refresh_port() of control synth_1_seq_tuning_lfo_frequency
	* fixed AgsQuantumSynth missing refresh_port() of control synth_1_seq_volume_lfo_frequency
	* minor improvements

ags (7.6.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed multi-channel wave form editor clipboard paste

ags (7.6.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed libsoup online references in Ags.conf.in and AgsAudio.conf.in for gi-docgen
	* fixed https URLs in Ags.conf.in, AgsAudio.conf.in and AgsGui.conf.in

ags (7.6.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wave form editor clipboard

ags (7.6.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented 60 and 75 Hz thread max precision in performance preferences
	* fixed wave form editor clipboard
	* fixed remaining sscanf() string allocation

ags (7.6.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed sscanf() string allocation in ags_composite_editor_paste_wave_async()
	* fixed sscanf() string allocation in ags_wave_insert_base64_from_clipboard_extended()

ags (7.6.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented missing base64 clipboard for float, double and AgsComplex
	* fixed wave form editor selection tool
	* fixed ags_notation_find_near_timestamp()
	* fixed ags_automation_find_near_timestamp()
	* fixed ags_automation_find_near_timestamp_extended()
	* fixed ags_wave_find_near_timestamp()
	* fixed time accounting of audio loop and settings by soundcard thread
	* improved AgsCompositeEditor wave form clipboard
	* improved reset scrollbars for wave form editor after zoom

ags (7.6.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags-fx-pattern ::counter-change() event
	* improved ags-fx-notation ::key_on() event
	* improved AgsCompositeEditor wave form clipboard
	* TODO:JK: implement ags_machine_selector_popup_refresh_machine()
	* TODO:JK: implement ags_machine_selector_refresh_machine_radio_button()

ags (7.6.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed install_data() on macOS missing argument to string function
	* minor improvements

ags (7.6.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed drum open response callback set flags
	  AGS_FILE_WIDGET_WITH_MULTI_SELECTION earlier

ags (7.6.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed buffer-overflow with recently-used in file widget
	* fixed unit and functional tests to work with gcc-15

ags (7.6.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsAppActionUtil file widget with macOS sandbox
	* improved AgsExportSoundcard file widget with macOS sandbox
	* improved AgsLinkEditor file widget with macOS sandbox
	* improved AgsMidiImportWizard file widget with macOS sandbox
	* improved AgsMidiExportWizard file widget with macOS sandbox
	* improved AgsWaveExportDialog file widget with macOS sandbox
	* improved AgsPresetEditor file widget with macOS sandbox
	* improved AgsDrum file widget with macOS sandbox
	* improved AgsDrumInputPad file widget with macOS sandbox
	* improved AgsAudiorec file widget with macOS sandbox
	* improved AgsPitchSampler file widget with macOS sandbox
	* improved AgsFFPlayer file widget with macOS sandbox
	* improved AgsSF2Synth file widget with macOS sandbox
	* improved AgsSFZSynth file widget with macOS sandbox

ags (7.6.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ladspa plugin ref count
	* minor improvements

ags (7.6.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed fx factory ref count on return value

ags (7.6.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed initial value ags-fx-sf2-synth, ags-fx-sfz-synth,
	  ags-fx-star-synth and ags-fx-seq-synth of pitch type
	* fixed AgsQuantumSynth pitch type callback

ags (7.6.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved all soundcard backends init delay_counter

ags (7.6.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed all soundcard backends ::tic() correct delay_counter check

ags (7.6.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved all soundcard backends ::tic()
	  + fixed race-condition while start playback

ags (7.6.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_fx_notation_audio_processor_counter_change() 16th pulse

ags (7.6.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented enable envelope LFO button in UI
	* implemented AGS_NOTE_ENVELOPE_LFO flag
	* implemented ags_note_flags_get_type()
	* implemented enabling envelope LFO in ags-fx-envelope
	* improved call recursive run stage only if default soundcard
	  available and is playing
	  + fixed race-condition while start playback
	* reverted ags_check_system_functional_programs_ui

ags (7.5.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsTrackMapper make use of AgsMachineUtil
	* fixed AgsTrackMapper resize channels
	* fixed AgsOscMeterController unref port twice
	* fixed AgsOscMeterController missing copy function
	* minor improvements

ags (7.5.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (7.5.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved macOS dark theme

ags (7.5.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved play button
	* improved macOS dark theme

ags (7.5.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved notation, automation and wave form editor
	* minor improvements

ags (7.5.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsQuantumSynth
	* implemented ags-fx-seq-synth
	* implemented ags_seq_synth_util.[ch]
	* implemented AgsFileEntry
	* fixed ags_star_synth_util.[ch] missing iteration of offset
	* fixed AgsOscMeterController missing ref/unref monitor
	* minor improvements

ags (7.4.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFileDialog to activate GtkEntry while get filename
	* fixed AgsFileDialog don't allow / as basename
	* fixed AgsPCMFileDialog don't allow / as basename

ags (7.4.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential buffer overflow with ags-fx-lv2

ags (7.4.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing symbols

ags (7.4.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements to ags-fx-lv2

ags (7.4.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved make use of LV2 atom forge
	* minor bug-fixes related to Lv2 support

ags (7.4.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_lv2_plugin_atom_sequence_append_midi()
	* improved ags_lv2_plugin_atom_sequence_remove_midi()

ags (7.4.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* removed static const modifiers from string vectors

ags (7.4.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed aligned memory in ags_lv2_plugin.c atom port

ags (7.4.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_fluid_interpolate_4th_order_util.c potential buffer
	  overflow
	* fixed ags_fluid_interpolate_7th_order_util.c potential buffer
	  overflow
	* fixed ags-fx-lv2 unsigned integer with atom port and other
	  improvements

ags (7.4.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented pitch type persistence using project XML file
	* fixed stargazer synth LFO oscillator control
	* fixed stargazer synth pitch type control

ags (7.4.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed stargazer synth missing octave control
	* implemented missing ags_stargazer_synth_refresh_port()

ags (7.4.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsExportWindow signal handling
	* improved AgsNavigation signal handling

ags (7.4.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsStargazerSynth
	* implemented ags_star_synth_util.c FM synth supporting vibrato
	* implemented ags-fx-star-synth FM synth with phase modulation
	* implemented persistency of AgsStargazerSynth
	* implemented ags_atomic.h
	* modified C standard to gnu11
	* removed all volatile modifiers
	* refactored GSequencer to use ags_atomic.h
	* minor improvements

ags (7.3.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed added missing cast

ags (7.3.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted many changes to 7.3.5 in ags_core_audio_port.c
	* minor improvements

ags (7.3.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved debugging messages of CoreAudio

ags (7.3.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compile error

ags (7.3.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed typos
	* minor improvements

ags (7.3.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved error detection with CoreAudio

ags (7.3.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed misconfigured CoreAudio
	* modified copy input using memcpy()

ags (7.3.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio object selector of CoreAudio input
	* fixed save copy buffer size adjustment in
	  ags_core_audio_port_hw_input_callback()

ags (7.3.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved non-interleaved stream

ags (7.3.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing buffer size

ags (7.3.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* disabled configure format

ags (7.3.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved configure format

ags (7.3.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved configure format

ags (7.3.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved configure format from current format with CoreAudio

ags (7.3.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler errors

ags (7.3.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed detect non-interleaved buffers with CoreAudio

ags (7.3.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed CoreAudio buffer size

ags (7.3.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* experimental CoreAudio pre-sync functionality

ags (7.3.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated user's handbook to explain shift behavior within notation and
	  automation editor
	* fixed always use AGS_SOUNDCARD_FLOAT on macOS with AgsCoreAudioPort

ags (7.3.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved default format of soundcard editor on macOS
	* minor bug-fixes

ags (7.3.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved CoreAudio usage of AgsSoundServer
	  ::register-soundcard-with-params()
	* fixed missing initializer of format in ags_core_audio_port_register()

ags (7.3.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* changed CoreAudio input data type from gint16 to gint32

ags (7.3.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* work-around for not proper applying presets with CoreAudio

ags (7.3.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented set floating point format of CoreAudio
	* fixed set CoreAudio stream format
	* fixed various format bugs

ags (7.3.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reenabled copying resources on macOS

ags (7.3.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed meson build

ags (7.3.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved CoreAudio recording
	* fixed open download script

ags (7.3.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* show download on macOS
	* modified data type in ags_core_audio_port.c from gint16 to gfloat

ags (7.3.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* removed set sensitive calls to soundcard editor, always allow the
	  user to edit

ags (7.3.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added optional VTE dependency
	* fixed preferences soundcard order
	* fixed audio connection hide on close

ags (7.2.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed file dialog single selection open
	* improved signal handling of check and toggle buttons, listen to
	  property active

ags (7.2.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV in ags_export_window.c after removed
	  soundcard editor

ags (7.2.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed export window initial backend and card
	* fixed export window initial filename

ags (7.2.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented download samples link

ags (7.2.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved export window to set default backend and card

ags (7.2.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved file dialog
	* improved PCM file dialog

ags (7.2.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements fixed missing presets of ags-fx-synth and
	  ags-fx-fm-synth pitch

ags (7.2.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV caused in ags_sfz_synth_util.c use of wrong
	  sample format

ags (7.2.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing transfer none of audio utility structs source and
	  destination
	* fixed ags-fx-synth missing ports
	* refactored string vector use in ags-fx for port specifier and
	  control port

ags (7.2.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* disabled translations

ags (7.2.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (7.2.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented resize notation in editor using shift key and mouse
	* implemented resize automation in editor using shift key and mouse
	* implemented ags_note_to_string() and ags_note_from_string()
	* improved notation, automation and wave editor selection color
	* added AgsEditorHistory prototype
	* work-around for tooltips disable them by configure

ags (7.1.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved quit dialog

ags (7.1.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed removed setlocale during XML project file interaction
	* fixed AgsPerformancePreference super threaded channel callback check
	  button
	* fixed AgsOscServerPreferences callbacks check button

ags (7.1.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented config value update UI timeout refresh rate
	* lower UI refresh rate
	* added config group "generic" with key "update-ui-timeout" as double
	  value

ags (7.1.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-sf2-synth and ags-fx-sfz-synth chorus callback

ags (7.1.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_sf2_synth_util_set_pitch_type()
	* fixed ags_sfz_synth_util_set_pitch_type()
	* fixed ags_chorus_util_set_pitch_type()

ags (7.1.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsSimpleFile test filename if exists
	* improved AgsAlsaMidiin prefaulted buffer
	* improved AgsOssMidiin prefaulted buffer

ags (7.1.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV with AgsSFZSynthGenerator
	* fixed potential SIGSEGV with AgsSF2SynthGenerator
	* fixed AgsHybridSynth and AgsHybridFMSynth q_lin upper and lower range
	  to cents
	* fixed removed remaining calls to g_object_run_dispose() with widgets

ags (7.1.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsCoreAudioMidiin prefaulted buffer
	* improved AgsSequencerThread:sequencer property to be readable
	* fixed AgsSequencerThread AgsSequencer::record_init() to be called
	  always

ags (7.1.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved CoreMIDI objective-C block call memset in
	  ags_core_audio_midiin_switch_buffer_flag()

ags (7.1.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented dead-lock recover signal of AgsThread
	* implemented dead-lock recover of CoreAudio soundcard and sequencer
	* implemented dead-lock recover of JackAudio Connection soundcard and
	  sequencer
	* implemented dead-lock recover of Pulseaudio soundcard
	* extended AgsThread struct adding field is_running

ags (7.0.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* modified mutex order in CoreMidi objective-C codeblock

ags (7.0.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated libags_vst3.so ABI breaking in libags_audio.so
	* improved ags_simple_file_real_read_start() to be performed by timeout

ags (7.0.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV with AgsMidiPreferences remove sequencer
	  editor callback

ags (7.0.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_navigation_play_callback()
	* improved ags_recycling_init()

ags (7.0.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV of AgsApplySoundConfig::launch()

ags (7.0.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-notation pre-mature audio signal removal, caused
	  sequencer not accepting keys
	* fixed broken test ags_fourier_transform_util_test.c

ags (7.0.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsApplySynth default template's length, fixes silent
	  AgsSyncsynth and AgsFMSyncsynth
	* improved gtk-doc missing xi:include

ags (7.0.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_midi_ump_util_(get,put)_product_instance_id_notification()
	  string length

ags (7.0.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsMidiCIUtil
	* fixed AgsHybridFMSynth synth-*-lfo-depth XML project file persistence
	* fixed ags_midi_ci_util_test.c

ags (7.0.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsMidiUmpUtil
	* fixed ags_midi_ump_util_test.c
	* fixed ags-fx-synth q_lin range from -100.0 to 100.0
	* fixed ags-fx-fm-synth q_lin range from -100.0 to 100.0

ags (7.0.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-notation
	* fixed AgsCoreMIDI port block
	* fixed ags_recall_set_flags() MIDI 1 and 2 allocation
	* fixed AgsUmpUtil byte order
	* initial MIDI 2 playback works on macOS

ags (7.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented spin button of AgsMidiDialog to select MIDI group
	* fixed AgsMidiDialog missing apply for response accept

ags (7.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsAudio missing getter/setter midi group
	* fixed bugs in ags_audio_buffer_util.c
	* fixed bugs in ags_envelope_util.c
	* disabled by undef unstable vector 256 code

ags (7.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* NOTE:JK: incompatible ags_audio_buffer_util_get_copy_mode() due to
	  refactoring, use ags_audio_buffer_util_get_copy_mode_from_format()
	  instead
	* NOTE:JK: incompatible ags_midi_parser_read_varlength() due to
	  refactoring
	* NOTE:JK: incompatible ags_midi_util_put_pitch_bend() due to bug
	* NOTE:JK: incompatible ags_midi_util_get_pitch_bend() due to bug
	* NOTE:JK: incompatible ags_midi_smf_util_put_pitch_bend() due to bug
	* NOTE:JK: incompatible ags_midi_smf_util_get_pitch_bend() due to bug
	* NOTE:JK: incompatible ags_midi_ump_util_put_midi1_pitch_bend() due to
	  bug
	* NOTE:JK: incompatible ags_midi_ump_util_get_midi1_pitch_bend() due to
	  bug
	* NOTE:JK: incompatible AgsMidiBuilder::pitch-bend() due to bug
	* NOTE:JK: incompatible ags_fourier_transform_util_compute_stft_s8()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_compute_stft_s16()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_compute_stft_s24()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_compute_stft_s32()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_compute_stft_s64()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_compute_stft_float()
	  due to refactoring
	* NOTE:JK: incompatible
	  ags_fourier_transform_util_compute_stft_double() due to refactoring
	* NOTE:JK: incompatible
	  ags_fourier_transform_util_compute_stft_complex() due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_inverse_stft_s8()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_inverse_stft_s16()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_inverse_stft_s24()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_inverse_stft_s32()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_inverse_stft_s64()
	  due to refactoring
	* NOTE:JK: incompatible ags_fourier_transform_util_inverse_stft_float()
	  due to refactoring
	* NOTE:JK: incompatible
	  ags_fourier_transform_util_inverse_stft_double() due to refactoring
	* NOTE:JK: incompatible
	  ags_fourier_transform_util_inverse_stft_complex() due to refactoring
	* NOTE:JK: removed ags_envelope_util_get_wah_wah_enabled()
	* NOTE:JK: removed ags_envelope_util_set_wah_wah_enabled()
	* NOTE:JK: removed ags_envelope_util_get_wah_wah_lfo_depth()
	* NOTE:JK: removed ags_envelope_util_set_wah_wah_lfo_depth()
	* NOTE:JK: removed ags_envelope_util_get_wah_wah_lfo_freq()
	* NOTE:JK: removed ags_envelope_util_set_wah_wah_lfo_freq()
	* NOTE:JK: removed ags_envelope_util_get_wah_wah_tuning()
	* NOTE:JK: removed ags_envelope_util_set_wah_wah_tuning()
	* NOTE:JK: removed ags_envelope_util_get_wah_wah_lfo_offset()
	* NOTE:JK: removed ags_envelope_util_set_wah_wah_lfo_offset()
	* implemented AgsVector256Manager
	* implemented AgsVDSP256Manager
	* implemented ags_recall_midi1_control_change()
	* implemented ags_recall_midi2_control_change()
	* implemented utility functions initializers
	* implemented ags-fx-notation MIDI version 2 support
	* implemented LFO of AgsEnvelopeUtil
	* implemented ags-fx-envelope LFO enabled port
	* implemented ags_sequencer_get_midi_version()
	* optimized ags/audio/ags_audio_buffer_util.c
	* optimized ags/audio/ags_volume_util.c
	* optimized ags/audio/ags_envelope_util.c
	* refactored envelope to support LFO
	* refactored ags/audio/ags_fourier_transform_util.h
	* refactored ags/audio/ags_audio_buffer_util.h
	* refactored AgsAudioBufferUtil breaking ABI
	* refactored AgsSynthUtil breaking ABI
	* refactored ags_audio_buffer_util_get_copy_mode_from_format() breaking
	  ABI due to renaming and conflict
	* refactored ags_sf2_synth_util_copy() renamed
	* refactored ags_sfz_synth_util_copy() renamed
	* refactored ags_time_stretch_util_get_buffer_length() renamed
	* refactored ags_time_stretch_util_set_buffer_length() renamed
	* refactored AgsApplySoundConfig
	* removed deprecated functions
	* fixed ags_midi_ump_util_put_midi1_pitch_bend() prototype declaration
	* fixed ags_midi_ump_util_get_midi1_pitch_bend() prototype declaration
	* fixed ags_midi_util_put_pitch_bend() prototype declaration
	* fixed ags_midi_util_get_pitch_bend() prototype declaration
	* fixed ags_midi_smf_util_put_pitch_bend() prototype declaration
	* fixed ags_midi_smf_util_get_pitch_bend() prototype declaration
	* fixed ags_midi_builder_append_change_pitch_bend() prototype
	  declaration
	* fixed ags_midi_parser_change_pitch_bend() parse transmitter attribute
	  as 14 bit value

ags (6.16.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* deprecated ags_fx_notation_audio_processor_record() because of MIDI version 2 transition
	* deprecated ags_audio_buffer_util_get_copy_mode() because of future naming conflict with getter of struct field
	* deprecated ags_envelope_*_wah_wah_*() because not used
	* deprecated ags_sf2_synth_util_boxed_copy() for uniform naming schema
	* deprecated ags_sfz_synth_util_boxed_copy() for uniform naming schema
	* deprecated ags_time_stretch_util_get_buffer_size() for uniform naming schema
	* deprecated ags_time_stretch_util_set_buffer_size() for uniform naming schema

ags (6.16.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV in ags_audio.c involving g_object_run_dispose()

ags (6.16.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV in ags_audio.c not respecting cache of AgsAudioFileManager
	* fixed wrong initial value of chorus LFO frequency of ags-fx-synth, ags-fx-fm-synth, ags-fx-sf2-synth and ags-fx-sfz-synth

ags (6.16.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (6.16.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved build proper use of WITH_AUDIO_TOOLBOX
	* improved API config header define AGS_WITH_AUDIO_TOOLBOX from configure.ac

ags (6.16.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented dedicated events of system common messages of AgsMidiParser
	* implemented ags_midi_parser_quarter_frame()
	* implemented ags_midi_parser_song_position()
	* implemented ags_midi_parser_song_select()
	* implemented ags_midi_parser_tune_request()
	* implemented ags_midi_util_is_undefined()
	* implemented ags_midi_smf_util_get_undefined()
	* implemented ags_midi_util_is_text_event()
	* implemented ags_midi_util_is_copyright_notice()
	* implemented ags_midi_util_is_sequence_name()
	* implemented ags_midi_util_is_instrument_name()
	* implemented ags_midi_util_is_lyric()
	* implemented ags_midi_util_is_marker()
	* implemented ags_midi_util_is_cue_point()
	* implemented ags_midi_util_is_unknown_text_event()
	* implemented ags_midi_util_is_midi_channel_prefix()
	* implemented ags_midi_smf_util_put_midi_channel_prefix()
	* implemented ags_midi_smf_util_get_midi_channel_prefix()
	* implemented ags_midi_util_is_end_of_track()
	* implemented ags_midi_util_is_smtpe()
	* implemented ags_midi_util_is_time_signature()
	* implemented ags_midi_util_is_key_signature()
	* implemented ags_midi_util_is_sequencer_meta_event()
	* implemented ags_midi_util_is_sequencer_meta_event()
	* implemented ags_midi_util_is_tempo()
	* implemented ags_midi_util_is_misc_event()
	* refactored AgsQuitDialog
	* fixed AgsMidiParser
	* fixed infinite loop in ags_simple_file_read_audiorec_launch()

ags (6.16.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsMidiImportWizard

ags (6.16.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SF2 MIDI locale loader worker thread thread safety

ags (6.16.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFFPlayer potential SIGSEGV
	* fixed AgsPitchSampler potential SIGSEGV
	* fixed AgsSF2Synth potential SIGSEGV
	* fixed AgsSFZSynth potential SIGSEGV

ags (6.16.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed home path
	* fixed initial directory of XML project file open and save as

ags (6.16.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed music path for macOS

ags (6.16.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed music path in gsequencer_main.c's install_data() function for macOS

ags (6.16.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV while update synth engine during XML file restore

gs (6.16.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved XML project file restore, update synth engine
	* improved XML project file restore emit clicked event for GtkToggleButton

ags (6.16.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFileWidget macOS sandbox path

ags (6.16.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsSimpleFile restore

ags (6.16.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsSimpleFile restore

ags (6.16.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed infinite loop in AgsCompositeEditor wave form cut

ags (6.16.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV with AgsCompositeEditor without focused automation edit

ags (6.16.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* make compile with gcc-14

ags (6.16.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential buffer overflow with ags_pitch_*_alias_* utility functions

ags (6.16.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing confirm remove of existing files while export

ags (6.16.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed low-latency counter bug
	* improved lost first note with pulseaudio, no tic during initial run
	* improved lost first note with JACK, no tic during initial run
	* improved lost first note with CoreAudio, no tic during initial run

ags (6.16.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_wave_copy_selection_as_base64()
	* implemented ags_wave_cut_selection_as_base64()
	* implemented ags_wave_insert_base64_from_clipboard()
	* implemented ags_wave_insert_base64_from_clipboard_extended()
	* fixed composite toolbar menu tool popover parent widget to be a GtkBox

ags (6.15.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved plugin load failure handling in AgsDssiBridge
	* improved plugin load failure handling in AgsLv2Bridge
	* improved plugin load failure handling in AgsVst3Bridge
	* improved plugin load failure handling in AgsLiveDssiBridge
	* improved plugin load failure handling in AgsLiveLv2Bridge
	* improved plugin load failure handling in AgsLiveVst3Bridge
	* fixed notation edit missing note 256th support

ags (6.15.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed note 256th counter loop and timing
	* fixed potential SIGSEGV while filename not supplied

ags (6.15.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing persistence of pitch type of AgsSF2Synth
	* fixed missing persistence of pitch type of AgsSFZSynth

ags (6.15.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory corruption access after free with pitch selection
	* fixed double free in ags_sf2_synth_util.c
	* fixed double free in ags_sfz_synth_util.c

ags (6.15.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented draw trace pointer of AgsNotationEdit
	* implemented pitch selection of AgsSF2Synth
	* implemented pitch selection of AgsSFZSynth
	* implemented ags_pitch_16x_alias_util.c
	* implemented ags_pitch_4x_alias_util.c
	* implemented ags_pitch_2x_alias_util.c
	* implemented AgsPitchTypeMode enum
	* implemented pitch type selection of ags-fx-sf2-synth
	* implemented pitch type selection of ags-fx-sfz-synth
	* improved ags_sf2_synth_util_set_pitch_type() to allow reset pitch util
	* improved ags_sfz_synth_util_set_pitch_type() to allow reset pitch util

ags (6.14.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio type of AgsAudioToolbox

ags (6.14.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed accelerated functions using large vectors

ags (6.14.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented large vector alternative of ags_audio_buffer_util.c
	* implemented large vector alternative of ags_volume_util.c

ags (6.14.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements to dlopen() call

ags (6.14.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed remove all machine selector add index after open file

ags (6.14.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed concurrent counter bug

ags (6.14.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler errors with vst3 enabled

ags (6.14.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed notation clipboard wrong timestamp
	* improved swipe

ags (6.13.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed scrollbars upper range to be 0.0 if no scrolling
	* improved disable swipe if not cursor tool

ags (6.13.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed scrollbars of notation edit

ags (6.13.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV while open files
	* minor improvements in libgsequencer.so

ags (6.13.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added MIDI channel selector while importing SMF files

ags (6.13.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved missing vibrant dark mode
	* fixed ags-fx-notation attack bug
	* fixed AgsMidiParser use varlength in meta-events

ags (6.13.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed composite edit resize and scrolling areas of editors
	* fixed ags-fx-lv2 load port

ags (6.12.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved build generating symbols with script gen-symbols-all.pl

ags (6.12.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved build generating symbols

ags (6.12.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV while open files
	* fixed memory-leak in ags_simple_file.c
	* improved dark mode of AgsDial
	* improved dark mode of AgsIndicator
	* improved dark mode of AgsCartesian
	* improved dark mode of AgsNotationEdit
	* improved dark mode of AgsAutomationEdit
	* improved dark mode of AgsWaveEdit

ags (6.12.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* work-around improved open project files on macOS

ags (6.12.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsFileWidget fixed memory leak and potential SIGSEGV while missing permissions
	* work-around open project files on macOS

ags (6.12.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved file open

ags (6.12.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (6.12.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed motion event controller of piano roll
	* improved gtk_widget_queue_draw() calls in notation, automation and wave edit

ags (6.11.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented switching dark mode on macOS
	* added initial missing app window in window menu
	* added missing preferences in window menu

ags (6.11.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsMachine context dialogs

ags (6.11.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (6.11.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed config values
	* fixed present windows
	* updated user manual for macOS

ags (6.11.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed core midi backend name

ags (6.11.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved window menu refresh
	* improved refactoring UI cosmetics
	* fixed SF2 and SFZ synth wah-wah y range lower from 0.0 to -1.0
	* fixed SMF import/export

ags (6.11.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsMoveNotePopover
	* implemented AgsCropNotePopover
	* implemented AgsSelectNotePopover
	* implemented AgsPositionNotationCursorPopover
	* implemented AgsSelectAccelerationPopover
	* implemented AgsRampAccelerationPopover
	* implemented AgsPositionAutomationCursorPopover
	* implemented AgsPositionWaveCursorPopover
	* implemented AgsSelectBufferPopover
	* implemented AgsRampMarkerPopover
	* refactored AgsEnvelopeDialog inherits GtkWindow, modern button layout and close by ESC key
	* refactored AgsPresetDialog inherits GtkWindow, modern button layout and close by ESC key
	* removed AgsMoveNoteDialog
	* removed AgsCropNoteDialog
	* removed AgsSelectNoteDialog
	* removed AgsPositionNotationCursorDialog
	* removed AgsSelectAccelerationDialog
	* removed AgsRampAccelerationDialog
	* removed AgsPositionAutomationCursorDialog
	* removed AgsSelectBufferDialog
	* removed AgsPositionWaveCursorDialog
	* removed AgsRampMarkerDialog

ags (6.10.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_soundcard_helper_config_get_use_cache()
	* implemented ags_soundcard_helper_config_get_cache_buffer_size()
	* fixed use-cache and cache-buffer-size config value of pulse and CoreAudio

ags (6.10.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed macos sandbox paths
	* improved macos window menu
	* modified macos default config

ags (6.10.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsConnectable interface in libgsequencer
	* fixed functional tests to work with modern button layout

ags (6.10.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* disabled a unit-test in ags_solver_matrix_test.c
	* minor improvements

ags (6.10.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented gesture swipe in notation editor
	* implemented gesture swipe in automation editor
	* implemented gesture swipe in wave form editor
	* implemented message label of AgsInputDialog
	* refactored AgsPreferences inherits GtkWindow, modern button layout and close by ESC key
	* refactored AgsMachineEditorDialog inherits GtkWindow, modern button layout and close by ESC key
	* refactored AgsConnectionEditorDialog inherits GtkWindow, modern button layout and close by ESC key
	* refactored AgsMetaDataWindow close by ESC key
	* refactored AgsOnlineHelpWindow close by ESC key
	* refactored AgsMidiDialog close by ESC key
	* refactored AgsExportWindow close by ESC key
	* refactored AgsPluginBrowser inherits GtkWindow, modern button layout and close by ESC key
	* refactored AgsInputDialog close by ESC key
	* disabled generic preferences
	* TODO:JK: update user manual

ags (6.9.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed check core-audio buffer size and channels against configured soundcard

ags (6.9.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV CoreAudio buffer size, check if config value matches device

ags (6.9.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added default ags.conf of CoreAudio on macos
	* fixed sandbox path on macos
	* fixed potential SIGSEGV with AgsFileWidget

ags (6.9.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler errors on macos

ags (6.9.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed some ref counters in ags-fx-notation

ags (6.9.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_notation_find_note_256th_range()
	* implemented ags_soundcard_util_calc_next_note_256th_offset()
	* implemented ags_soundcard_util_calc_next_note_256th_attack()
	* refactored ags-fx-notation counters
	* refactored all AgsSoundcard to use new note 256th offset and attack utility functions
	* refactored ags-fx-notation to use new note 256th offset and attack utility functions
	* improved all ags_soundcard_set_note_offset() to reset tic counter

ags (6.8.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed dead-lock in ags_pulse_devout_tic()

ags (6.8.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAutomationEdit render mode

ags (6.8.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation cursor draw function
	* updated AppStream XML

ags (6.8.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_file_widget_real_refresh() test directory permissions
	* fixed ags_file_widget_value_factory_bind() test file permissions
	* fixed AgsFileWidget root directory bug

ags (6.8.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_file_widget_refresh() default filename and location while failed permission of directory

ags (6.8.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler error with sandbox enabled

ags (6.8.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented snap sandbox
	* implemented flatpak sandbox
	* improved AgsFileWidget make use of XDG_*_DIR environment variables
	* improved ags_file_widget_refresh() while directory failed to open
	* added --enable-snap-sandbox configure switch
	* added --enable-flatpak-sandbox configure switch

ags (6.7.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed auto-scroll with zoom

ags (6.7.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory-leak with AgsRecall and AgsRecallContainer while stop playback

ags (6.7.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed synchronize GtkScrolledWindow of scrolled wave and automation edit box
	* fixed ags_fx_dssi_audio_load_port() infinite loop

ags (6.7.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsSolverPath
	* fixed notation edit scrollbars

ags (6.7.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed editor missing scrollbar reset after window resize
	* fixed potential SIGSEGV with automation editor
	* fixed double free with ags_audio_remove_automation_port()

ags (6.6.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsFileDialog and AgsFileWidget
	* implemented AgsIconLink
	* renamed ags/app/ags_pcm_file_chooser_dialog.[ch] to ags_pcm_file_dialog.[ch]
	* moved ags/app/ags_input_dialog.[ch] to ags/widget/
	* refactored ags_app_action_util.c to use AgsFileDialog
	* refactored AgsPCMFileDialog to use AgsFileWidget
	* refactored AgsPresetEditor to use AgsFileDialog
	* refactored AgsWaveExportDialog to use AgsFileDialog
	* refactored AgsExportSoundcard to use AgsPCMFileDialog
	* refactored AgsMidiExportWizard to use AgsFileWidget
	* refactored AgsMidiImportWizard to use AgsFileWidget
	* refactored AgsLinkEditor to use AgsPCMFileDialog
	* refactored AgsDrum to use AgsPCMFileDialog
	* refactored AgsDrumInputPad to use AgsPCMFileDialog
	* refactored AgsFFPlayer to use AgsFileDialog
	* refactored AgsPitchSampler to use AgsFileDialog
	* refactored AgsSF2Synth to use AgsFileDialog
	* refactored AgsSFZSynth to use AgsFileDialog
	* added --enable-macos-sandbox configure switch
	* added ags_endian_test.c
	* added ags_regex_util_test.c
	* added ags_string_util_test.c
	* added ags_main_loop_test.c
	* added ags_mutable_test.c
	* added ags_seekable_test.c
	* added ags_countable_test.c
	* added ags_tactable_test.c
	* added ags_sequencer_test.c

ags (6.5.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed conditional compile of ags_regex_util.c

ags (6.5.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated screenshots of user manual
	* minor improvements

ags (6.5.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed notation, automation and wave edit selection
	* improved AgsCropNoteDialog
	* improved AgsMoveNoteDialog
	* improved AgsSelectNoteDialog
	* improved AgsPositionNotationCursorDialog
	* improved AgsSelectAccelerationDialog
	* improved AgsRampAccelerationDialog
	* improved AgsPositionAutomationCursorDialog
	* improved AgsSelectBufferDialog
	* improved AgsPositionWaveCursorDialog
	* improved AgsRampMarkerDialog
	* minor improvements

ags (6.4.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated user manual images
	* improved AgsEnvelopeEditor and AgsPatternEnvelope to allow negative y-values for attack, sustain, decay, release and ratio
	* minor improvements

ags (6.4.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored AgsPatternEnvelope to use AgsDial
	* minor bug-fixes

ags (6.4.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored AgsEnvelopeEditor to use AgsDial

ags (6.4.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed VST3 build with new CPPFLAGS warnings as errors

ags (6.4.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* enabled auto-scroll
	* refactored AgsNotationEdit auto-scroll to make use of AgsUiProvider::update-ui() event
	* refactored AgsTempoEdit auto-scroll to make use of AgsUiProvider::update-ui() event
	* refactored AgsAutomationEdit auto-scroll to make use of AgsUiProvider::update-ui() event
	* refactored AgsWaveEdit auto-scroll to make use of AgsUiProvider::update-ui() event
	* refactored AgsNavigation to make use of AgsUiProvider::update-ui() event
	* refactored AgsNavigation to make use of AgsUiProvider::update-ui() event
	* refactored AgsLine to make use of AgsUiProvider::update-ui() event
	* refactored AgsEffectLine to make use of AgsUiProvider::update-ui() event
	* refactored AgsEffectBulk to make use of AgsUiProvider::update-ui() event
	* refactored AgsMixerInputLine to make use of AgsUiProvider::update-ui() event
	* refactored AgsDrumInputLine to make use of AgsUiProvider::update-ui() event
	* refactored AgsCellPattern to make use of AgsUiProvider::update-ui() event
	* refactored AgsPatternBox to make use of AgsUiProvider::update-ui() event
	* refactored AgsAudiorec to make use of AgsUiProvider::update-ui() event
	* refactored AgsSpectrometer to make use of AgsUiProvider::update-ui() event

ags (6.3.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing type casts

ags (6.3.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (6.3.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor bug-fixes

ags (6.3.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsRegexUtil
	* deprecated ags_regexec() and ags_regcomp()
	* refactored AgsTurtle to use AgsRegexUtil
	* refactored AgsFileUtil to use AgsRegexUtil
	* refactored AgsLv2TurtleScanner to use AgsRegexUtil
	* implemented AgsRegexUtil
	* added missing menu items of menubar
	* improved ags_file_util.c to use regexec and regcomp

ags (6.3.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored ags-fx-notation regarding note 256th attack and make use of 16th pulse

ags (6.3.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_soundcard_get_note_256th_attack_of_16th_pulse() and ags_soundcard_get_note_256th_attack_of_16th_pulse_position()
	* implemented ags_file_util.[ch] file read/write functions for C types
	* implemented AgsRecallResetStaging
	* refactored AgsAlsaDevout and AgsAlsaDevin
	* refactored AgsOssDevout and AgsOssDevin
	* refactored AgsPulseDevout and AgsPulseDevin
	* refactored AgsJackDevout and AgsJackDevin
	* refactored AgsCoreAudioDevout and AgsCoreAudioDevin
	* refactored AgsWasapiDevout and AgsWasapiDevin
	* refactored AgsGstreamerDevout and AgsGstreamerDevin
	* refactored partially AgsSimpleFile make use of AgsFileUtil
	* fixed potential SIGSEGV with destroyed machine in AgsCompositeEditor
	* fixed potential SIGSEGV with AgsSF2Synth and AgsSFZSynth wah-wah callbacks

ags (6.2.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted changes of AgsSimpleFile to g_ascii_strtod()
	* minor bug-fixes

ags (6.2.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential memory corruption with boxed type SF2 note-range
	* refactored AgsSimpleFile to use g_strtod() instead of g_ascii_strtod()

ags (6.2.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed interface function access ags_soundcard_get_note_256th_attack() in ags-fx-notation

ags (6.2.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_soundcard_get_note_256th_offset()
	* implemented ags_soundcard_get_note_256th_attack()
	* implemented ags_soundcard_get_note_256th_attack_at_position()
	* refactored AgsAlsaDevout and AgsAlsaDevin
	* refactored AgsOssDevout and AgsOssDevin
	* refactored AgsPulseDevout and AgsPulseDevin
	* refactored AgsJackDevout and AgsJackDevin
	* refactored AgsCoreAudioDevout and AgsCoreAudioDevin
	* refactored AgsWasapiDevout and AgsWasapiDevin
	* refactored AgsGstreamerDevout and AgsGstreamerDevin
	* refactored ags-fx-buffer
	* refactored ags-fx-notation
	* refactored ags-fx-synth
	* refactored ags-fx-fm-synth
	* refactored ags-fx-sf2-synth
	* refactored ags-fx-sfz-synth
	* fixed missing include

ags (6.2.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory corruption after writing project file as XML

ags (6.2.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented missing note 256th attack of all soundcard implementations
	* implemented AgsAudioSignalStreamMode
	* implemented AgsAudioSignal:note-256th-attack
	* implemented ags_note_test_key_format() and ags_note_set_key_format()
	* implemented ags_audio_signal_test_key_format() and ags_audio_signal_set_key_format()
	* implemented ags_audio_signal_get_attack() and ags_audio_signal_set_attack()
	* implemented ags_audio_signal_get_note_256th_attack() and ags_audio_signal_set_note_256th_attack()
	* implemented AgsSetBacklog
	* refactored ags-fx-buffer
	* fixed attack of all soundcard implementations
	* fixed missing note 256th attack for ags-fx-buffer

ags (6.1.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (6.1.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed copy & paste compute relative note 256th

ags (6.1.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed XML restore missing note 256th field

ags (6.1.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented note 256th in ags_soundcard_util.c
	* implemented note 256th in alsa backend
	* implemented note 256th in audio-unit backend
	* implemented note 256th CoreAudio backend
	* implemented note 256th gstreamer backend
	* implemented note 256th jack backend
	* implemented note 256th pulseaudio backend
	* implemented note 256th WASAPI backend
	* implemented note 256th extension to AgsNote
	* implemented ags_midi_util_delta_time_to_note_256th_offset()
	* implemented ags_midi_util_note_256th_offset_to_delta_time()
	* implemented note 256th support of AgsSynthUtil
	* implemented note 256th support of AgsFMSynthUtil
	* implemented note 256th support of AgsSF2SynthUtil
	* implemented note 256th support of AgsSFZSynthUtil
	* implemented note 256th support of AgsNoiseUtil
	* implemented note 256th support of AgsChorusUtil
	* implemented note 256th support of AgsCommonPitchUtil
	* implemented note 256th support of AgsFastPitchUtil
	* implemented note 256th support of AgsHQPitchUtil
	* implemented note 256th support of AgsFluidInterpolateNoneUtil
	* implemented note 256th support of AgsFluidInterpolateLinearUtil
	* implemented note 256th support of AgsFluidInterpolate4thOrderUtil
	* implemented note 256th support of AgsFluidInterpolate7thOrderUtil
	* implemented note 256th support of AgsTremoloUtil
	* implemented note 256th support of AgsWahWahUtil
	* refactored ags-fx-notation to support note 256th
	* refactored ags-fx-synth to support note 256th
	* refactored ags-fx-fm-synth to support note 256th
	* refactored ags-fx-sf2-synth to support note 256th
	* refactored ags-fx-sfz-synth to support note 256th
	* refactored ags-fx-tremolo to support note 256th
	* refactored ags-fx-wah-wah to support note 256th
	* refactored ags_notation_edit.c to support note 256th
	* refactored ags_simple_file.c to support note 256th
	* refactored AgsTrackMapper to support note 256th
	* refactored AgsNotation to support note 256th
	* refactored AgsCropNote to support note 256th
	* refactored AgsMoveNote to support note 256th
	* modified DTD ags_simple_file.dtd to support note 256th
	* deprecated ags_common_pitch_util_get_vibrato_lfo_offset()
	* deprecated ags_common_pitch_util_set_vibrato_lfo_offset()
	* deprecated ags_hq_pitch_util_get_vibrato_lfo_offset()
	* deprecated ags_hq_pitch_util_set_vibrato_lfo_offset()
	* deprecated ags_fast_pitch_util_get_vibrato_lfo_offset()
	* deprecated ags_fast_pitch_util_set_vibrato_lfo_offset()
	* deprecated ags_fluid_interpolate_none_util_get_vibrato_lfo_offset()
	* deprecated ags_fluid_interpolate_none_util_set_vibrato_lfo_offset()
	* deprecated ags_fluid_interpolate_linear_util_get_vibrato_lfo_offset()
	* deprecated ags_fluid_interpolate_linear_util_set_vibrato_lfo_offset()
	* deprecated ags_fluid_interpolate_4th_order_util_get_vibrato_lfo_offset()
	* deprecated ags_fluid_interpolate_4th_order_util_set_vibrato_lfo_offset()
	* deprecated ags_fluid_interpolate_7th_order_util_get_vibrato_lfo_offset()
	* deprecated ags_fluid_interpolate_7th_order_util_set_vibrato_lfo_offset()
	* added ags_alsa_devout_test.c
	* added ags_alsa_devin_test.c
	* minor improvements

ags (6.0.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted corrupted free

ags (6.0.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed resampling in ags-fx-buffer
	* fixed resampling in ags-fx-playback

ags (6.0.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed double free in ags_fx_vst3_audio.c
	* fixed memory leak in ags_fx_lv2_audio.c
	* fixed memory leak in ags_fx_vst3_audio.c
	* fixed memory leak in ags_fx_dssi_audio.c
	* minor improvements

ags (6.0.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unit integration tests

ags (6.0.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSFZSynthUtil presets and resampling

ags (6.0.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed bug caused muted pads in ags_fx_factory.c related to play/recall container

ags (6.0.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved libsndfile resampling respect minimum buffer size
	* minor improvements

ags (6.0.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed resampling no cache of SF2 and SFZ synth

ags (6.0.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (6.0.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved presets of SF2 and SFZ synth util

ags (6.0.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (6.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV while loading sf2 synth
	* fixed potential SIGSEGV while loading sfz synth

ags (6.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed api reference manual by rebuild gtk-doc types

ags (6.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* breaking ABI of ags_midi_util.h 1 additional function parameter to boxed utility type
	* breaking ABI of renamed ags_midi_buffer_util.h to ags_midi_smf_util.h 1 additional function
	parameter to boxed utility type, changed function prototypes glong type to gint
	* breaking ABI of ags_osc_buffer_util.h 1 additional function parameter to boxed utility type
	* fixed ags_midi_ump_util.[ch] encode/decode errors
	* added missing tests to ags_midi_ump_util_test.c
	* refactored unit and functional tests
	* refactored AgsAudioThreadStatusFlags to AgsAudioThreadNestedSyncFlags
	* refactored AgsChannelThreadStatusFlags to AgsChannelThreadNestedSyncFlags

ags (5.5.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_midi_ump_util.[ch]
	* added ags_midi_ump_util_test.c

ags (5.5.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_resample_util.c with no resampling
	* fixed ags_sound_resource.c missing init of resample util
	* work-around ags_samplerate_process.c respect min length of prepare_data()

ags (5.5.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gtk-doc

ags (5.5.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_solver_matrix_to_string()
	* implemented ags_time_nanosleep()
	* refactored ags_resample_util.c

ags (5.5.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_midi_ci_util.[ch]
	* implemented ags_string_util_to_mcoded7()
	* implemented ags_string_util_from_mcoded7()
	* added ags_midi_ci_util_test.[ch]
	* minor improvements

ags (5.4.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV with automation editor select dialog
	* fixed potential SIGSEGV with automation editor ramp dialog

ags (5.4.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved tempo program restore from XML
	* improved AgsSelectAcceleration dialog
	* minor bug-fixes

ags (5.4.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved tempo program

ags (5.4.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* TODO:JK: MIDI v2.0 support
	* TODO:JK: improved tempo program
	* implemented ags_automation_filter()
	* implemented ags_program_filter()
	* implemented ags_automation_control_name_key_manager.[ch]
	* implemented ags_program_control_name_key_manager.[ch]
	* refactored AgsAutomation, AgsPort and related
	* fixed only return exact match for automation editor

ags (5.3.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV with automation editor
	* fixed ags-fx-vst3 bug
	* updated some screenshots of docs

ags (5.3.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing restore of MIDI preferences in UI
	* minor improvements

ags (5.3.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved scrolling of tempo editor
	* minor improvements

ags (5.3.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_tempo_edit_draw_tempo() first, last and intersection drawing
	* improved ags_automation_edit_compare_x_offset_func()
	* improved avoid duplicates in AgsAutomation modified ags_automation_add()
	* improved avoid duplicates in AgsProgram modified ags_tempo_add()
	* improved calling property from output/input soundcard setter in ags_recall.c
	* improved ags_program_sort_func() respect control_name field while sorting using g_strcmp0()
	* minor improvements

ags (5.3.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor bug-fixes to automation editor

ags (5.3.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation edit ramp dialog
	* fixed automation edit copy & paste

ags (5.3.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_ramp_acceleration_dialog_apply()

ags (5.3.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-buffer copied multiple times
	* fixed missing connect composite editor automation hscrollbar

ags (5.3.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_solver_matrix_solve_all_by_column()
	* implemented ags_solver_matrix_solve_default()
	* minor bug-fixes
	* reverted some changes in ags_hq_pitch_util.c
	* reverted some changes in ags_fast_pitch_util.c

ags (5.3.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor bug-fixes

ags (5.3.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_wah_wah_util.[ch]
	* fixed some missing XML persistence of AgsSF2Synth and AgsSFZSynth effect controls
	* minor improvements

ags (5.3.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsSetPresets task
	* minor improvements

ags (5.3.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented per machine presets of format and samplerate in UI
	* implemented per instrument input information about format and samplerate in UI
	* modified envelope functions apply LFO to amount
	* refactored ags-fx-dssi
	* refactored ags-fx-vst3
	* refactored ags-fx-ladspa

ags (5.2.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_midi_util.c false conditions

ags (5.2.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_tremolo_util.c broken LFO
	* fixed ags-fx-tremolo missing samplerate
	* implemented getter/setter of tremolo LFO offset
	* implemented getter/setter of vibrato LFO offset
	* implemented getter/setter of wah-wah LFO offset

ags (5.2.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-tremolo default value and range of ports
	* fixed ags-fx-sf2-synth default value and range of ports
	* fixed ags-fx-sfz-synth default value and range of ports
	* fixed ags-fx-wah-wah default value and range of ports

ags (5.2.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixes to gtk-doc

ags (5.2.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixes to gtk-doc

ags (5.2.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags-fx-wah-wah
	* implemented ags-fx-tremolo
	* implemented ags_tremolo_util.[ch]
	* extended ags_simple_file.c to persist with new AgsSF2Synth controls
	* extended ags_simple_file.c to persist with new AgsSFZSynth controls
	* extended AgsSF2Synth added tremolo, vibrato and wah-wah effect
	* extended AgsSFZSynth added tremolo, vibrato and wah-wah effect
	* refactored ags-fx-lv2
	* refactored ags_fluid_interpolate_none_util.[ch] added vibrato
	* refactored ags_fluid_interpolate_linear_util.[ch] added vibrato
	* refactored ags_fluid_interpolate_4th_order_util.[ch] added vibrato
	* refactored ags_fluid_interpolate_7th_order_util.[ch] added vibrato
	* refactored ags_fast_pitch_util.[ch] added vibrato
	* refactored ags_hq_pitch_util.[ch] added vibrato
	* refactored ags_envelope_util.[ch] added wah-wah
	* refactored ags_volume_util.[ch] shortened struct access

ags (5.1.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsPresetEditor missing editable set in model
	* fixed ags_app_action_util.c use gtk_widget_set_visible()

ags (5.1.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-fm-synth OSC1 volume
	* fixed missing include

ags (5.1.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved gtk-doc conditional build
	* improved gtk-doc rebuild sections

ags (5.1.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved gtk-doc conditional built vst3 related types
	* improved gtk-doc conditional built libinstpatch related types

ags (5.1.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented missing persistence of machine's dialog model
	* fixed automation XML persistence missing channel-type and control-name
	* fixed machine selector insert machine radio button

ags (5.1.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented missing persistence of tempo program and marker

ags (5.1.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented tempo editor composite widget
	* implemented tempo widget
	* implemented ramp program marker dialog used to automate tempo
	* implemented AgsProgram and AgsMarker
	* implemented ags_level_set_data_format() and ags_level_set_samplerate()
	* implemented ags_sound_provider_set_program() and ags_sound_provider_get_program()

ags (5.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved VST3 support
	* fixed octave upper and lower of ags-fx-sf2 and ags-fx-sfz

ags (5.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsLiveLv2Bridge missing preset
	* modified default size of application window
	* modified default size of file chooser open dialog

ags (5.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* new range of AgsSF2Synth WAV 1 - octave control from -12.0 to 12.0
	* new range of AgsSFZSynth WAV 1 - octave control from -12.0 to 12.0
	* implemented provide system time to ags-fx-vst3
	* implemented ags_soundcard_util_calc_system_time()
	* implemented ags_soundcard_util_calc_time_samples()
	* implemented ags_soundcard_util_calc_time_samples_absolute()
	* improved AgsEnvelopeDialog queue draw
	* extended libags_vst API reference manual
	* modified -xc++ of gsequencer_CPPFLAGS and midi2xml_CPPFLAGS
	* modified -std= from gnu++2a to gnu99
	* refactored template variable and field names of some files
	* refactored enumerated types as function arguments
	* fixed typo in ags_core_audio_devout.h and ags_core_audio_devin.h
	* fixed usage of GtkCheckButton get active
	* fixed midi2xml
	* removed symbols ags_audio_unit_server_test_flags(), ags_audio_unit_server_set_flags() and ags_audio_unit_server_unset_flags()
	* removed symbols ags_core_audio_server_test_flags(), ags_core_audio_server_set_flags() and ags_core_audio_server_unset_flags()
	* removed symbols ags_gstreamer_server_test_flags(), ags_gstreamer_server_set_flags() and ags_gstreamer_server_unset_flags()
	* removed symbols ags_pulse_server_test_flags(), ags_pulse_server_set_flags() and ags_pulse_server_unset_flags()
	* removed symbols ags_jack_server_test_flags(), ags_jack_server_set_flags() and ags_jack_server_unset_flags()
	* minor improvements

ags (4.5.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* introduced api-pdf automake target

ags (4.5.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong type check in AgsSFZSynthUtil
	* implemented ags_pad_reset_flags()
	* implemented ags_ui_enums.c
	* fixed ags_lv2_turtle_scanner.c memory corruption
	* fixed ags_complex_get() return value
	* fixed ags_complex_get_term() and ags_complex_set_term() gtk-doc function
	* fixed ags_vst3_manager_load_file() w32 related plugin_so handle broken reference
	* fixed ags_vst3_manager.c missing usage of G_DIR_SEPARATOR

ags (4.5.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsDial to emit changed signal
	* updated listing effects_recall_container.c.in in developer doc

ags (4.5.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed Makefile.am set LIBAGS_VST3_LIBDIR and LIBAGS_VST3_LIBS only conditionally

ags (4.5.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added check LIBAGS_VST3_LIBDIR and LIBAGS_VST3_LIBS environment before set in configure.ac
	* improved configure.ac and Makefile.am GSEQUENCER_CFLAGS, MIDI2XML_CFLAGS, MIDI2XML_CXXFLAGS and MIDI2XML_LDFLAGS
	* modified -std=gnu++2a for gsequencer and midi2xml
	* fixed ags_composite_editor.c wrong object cast with AgsAutomationEdit

ags (4.5.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* modified ags_vst_types.h AgsVstSpeakerArrangement typedef
	* removed updatehandler.h and updatehandler.cpp
	* fixed type safety with recent clang
	* added ags_pad_test_flags(), ags_pad_set_flags() and ags_pad_unset_flags()
	* added ags_line_test_flags(), ags_line_set_flags() and ags_line_unset_flags()
	* added ags_effect_pad_test_flags(), ags_effect_pad_set_flags() and ags_effect_pad_unset_flags()
	* added ags_effect_line_test_flags(), ags_effect_line_set_flags() and ags_effect_line_unset_flags()
	* added ags_connection_editor_test_flags(), ags_connection_editor_set_flags() and ags_connection_editor_unset_flags()
	* refactored AgsExportWindow with AGS_EXPORT_WINDOW_HAS_STOP_TIMEOUT
	* fixed ags_ladspa_plugin_preferences_alloc() prototype declaration
	* fixed ags_connection_editor_line_new() prototype declaration
	* fixed memory-leak in ags_export_window.c
	* TODO:JK: implemented ags-fx-alsa-mixer
	* TODO:JK: implemented ags-fx-oss-mixer
	* WONT-DO:JK: because needs a proper w32 driver, MIDI support of WASAPI

ags (4.4.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing putenv GIO_MODULE_DIR and GSETTINGS_SCHEMA_DIR
	* TODO:JK: fixed type safety with recent clang
	* minor improvements

ags (4.4.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved thread-safety of AgsSynthGenerator and machines using it like AgsSynth, AgsFMSynth, AgsSyncsynth and AgsFMSyncsynth
	* improved AgsIndicator applying margin of GtkWidget

ags (4.4.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV with AgsResampleUtil set buffer length
	* minor improvements

ags (4.4.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_sound_resource_read_audio_signal_at_once() giving more accurate resampling

ags (4.3.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved functional test termination
	* refactored ags_functional_audio_config_test.c
	* refactored ags_functional_loop_000_xml_test.c
	* refactored ags_functional_loop_001_xml_test.c
	* refactored ags_functional_loop_002_xml_test.c
	* refactored ags_functional_loop_003_xml_test.c
	* refactored ags_functional_loop_004_xml_test.c
	* refactored ags_functional_loop_005_xml_test.c
	* refactored ags_functional_loop_006_xml_test.c
	* refactored ags_functional_loop_007_xml_test.c
	* refactored ags_functional_loop_008_xml_test.c
	* refactored ags_functional_loop_010_xml_test.c

ags (4.3.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed executables in ags_check_system_functional_programs_ui

ags (4.3.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed typo in *.appdata.xml

ags (4.3.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor bug-fixes
	* added ags_functional_spectrometer_test.c
	* added ags_functional_equalizer10_test.c
	* added ags_functional_fm_synth_test.c
	* added ags_functional_syncsynth_test.c
	* added ags_functional_fm_syncsynth_test.c
	* added ags_functional_hybrid_fm_synth_test.c
	* added ags_functional_sf2_synth_test.c
	* added ags_functional_pitch_sampler_test.c
	* added ags_functional_sfz_synth_test.c

ags (4.3.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted missing pulseaudio server
	* refactored ags_functional_notation_editor_workflow_test.c
	* refactored ags_functional_automation_editor_workflow_test.c
	* refactored ags_functional_panel_test.c
	* refactored ags_functional_mixer_test.c
	* refactored ags_functional_drum_test.c
	* refactored ags_functional_matrix_test.c
	* refactored ags_functional_synth_test.c
	* refactored ags_functional_hybrid_synth_test.c
	* refactored ags_functional_ffplayer_test.c
	* refactored ags_functional_notation_edit_test.c

ags (4.2.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_effect_line_remove_plugin()
	* improved functional-system-tests.mk.am
	* refactored ags_functional_line_member_add_and_destroy_test.c

ags (4.2.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_audio_start() don't initialize recall twice
	* improved ags_channel_start() don't initialize recall twice

ags (4.2.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed hide machine
	* fixed machine selector restore from XML
	* functional UI tests work again!
	* refactored ags_functional_machine_add_and_destroy_test.c
	* refactored ags_functional_machine_link_test.c

ags (4.2.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV with AgsEffectPad
	* fixed missing pitch selection of AgsFFPlayer
	* started to refactor functional tests

ags (4.2.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (4.2.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsNotationEdit resize and reset scrollars
	* improved AgsLv2Bridge and AgsLiveLv2Bridge hide/show preset and program

ags (4.2.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed XML restore machine selector unitialized value

ags (4.2.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSyncsynth and AgsFMSyncsynth check button type of auto-update
	* fixed AgsSynth and AgsFMSynth control changed callback correct parent accessor

ags (4.2.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFMSyncsynth missing synth generator

ags (4.2.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsNotationEdit delete note

ags (4.2.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed stop export soundcard

ags (4.2.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented no-update UI while calling refresh-port() function

ags (4.2.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsHybridFMSynth::refresh-port()
	* implemented AgsSF2Synth::refresh-port()
	* implemented AgsSFZSynth::refresh-port()
	* implemented AgsMachine::refresh-port(), AgsPad::refresh-port() and AgsLine::refresh-port()
	* implemented AgsEffectBridge::refresh-port(), AgsEffectPad::refresh-port() and AgsEffectLine::refresh-port()
	* implemented AgsEffectBulk::refresh-port()

ags (4.2.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed apply presets
	* implemented AgsHybridSynth::refresh-port()
	* rebuild gtk-doc sections

ags (4.2.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented getter/setter of AgsAudioFile
	* improved API reference manual

ags (4.1.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed install path of gsequencer documentation

ags (4.1.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* using fop instead of dblatex to generate PDFs
	* fixed missing include of Gdk4 in ags_app_action_util.c

ags (4.1.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed make pdf

ags (4.1.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented zoom of PDF user manual
	* implemented unix print support
	* implemented application OS X accelerators
	* implemented notation edit OS X accelerators
	* implemented automation edit OS X accelerators
	* implemented wave edit OS X accelerators
	* implemented preset editor
	* new configure switch --with-gtk-unix-print

ags (4.0.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-synth missing chorus destination buffer
	* fixed ags-fx-fm-synth missing chorus destination buffer
	* fixed ags-fx-sf2-synth missing chorus destination buffer
	* fixed ags-fx-sfz-synth missing chorus destination buffer

ags (4.0.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFMSyncsynth remove callback
	* fixed AgsCompositeEditor remove wave channel selector callback
	* fixed AgsCompositeEditor machine selector set flags
	* improved AgsGui and AgsAudio introspected annotations

ags (4.0.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unitialized value in ags_functional_fourier_transform_test.c

ags (4.0.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed removed unit tests in unit-system-tests.mk.am
	* fixed missing return values in libgsequencer_test.so
	* fixed ags_functional_fourier_transform_test_s16() potential floating point overflow

ags (4.0.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed meson test dependency of libsoup-3.0
	* improved gtk-doc

ags (4.0.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed rename machine dialog and machine selector popover
	* fixed rename machine audio dialog
	* fixed reposition machine audio dialog

ags (4.0.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsCompositeEditor machine radio button XML IO in ags_simple_file.c
	* fixed ags_window_file_timeout() to set title with markup

ags (4.0.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsWindow missing close-request callback
	* fixed meta-data window hide on close
	* fixed removing AgsSoundcardEditor
	* fixed AgsHybridSynth callbacks to use GtkCheckButton
	* fixed AgsHybridFMSynth callbacks to use GtkCheckButton
	* fixed ags_lfo_synth_util.c OS X accelerated code
	* fixed AgsCoreAudioPort CoreAudio callbacks to use app_buffer_mode

ags (4.0.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added -Werror=return-type C preprocessor flags

ags (4.0.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed .gir include version identifier of Soup-3.0

ags (4.0.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed *.pc.in files version identifier

ags (4.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gtk-doc libgsequencer

ags (4.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gtk-doc

ags (4.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* major API improvements
	* modified GType from gulong to gpointer in marshallers
	* migrated libgsequencer.so to Gtk-4
	* migrated libags_gui.so to Gtk-4
	* migrated libags_server.so to libsoup-3.0
	* migrated libags_audio.so to libsoup-3.0
	* implemented AgsCartesian properties
	* implemented ags_common_pitch_util.[ch]
	* implemented AgsMachineEditorDialog made it more modular
	* implemented AgsConnectionEditorDialog made it more modular
	* refactored libgsequencer.so to use AgsConnectableFlags
	* refactored libags_audio.so to use AgsConnectableFlags
	* refactored AgsMachineSelector
	* improved ags_fast_pitch_util.[ch]
	* improved ags_hq_pitch_util.[ch]
	* improved ags_sf2_synth_util.[ch]
	* improved ags_sfz_synth_util.[ch]
	* improved ags_chorus_util.[ch]
	* improved ags_lfo_synth_util.[ch]
	* removed AgsDevout, AgsDevin and AgsMidiin
	* removed ags/audio/recall
	* removed ags_recall_{ladspa,dssi,lv2}{,_run}.[ch]
	* removed ags_recall_factory.[ch]
	* removed deprecated ags_audio_buffer_util.[ch] functions
	* removed deprecated ags_synth_util.[ch] functions
	* removed deprecated ags_fm_synth_util.[ch] functions
	* removed deprecated ags_lfo_synth_util.[ch] functions
	* removed deprecated ags_fluid_interpolate_none_util.[ch] functions
	* removed deprecated ags_fluid_interpolate_linear_util.[ch] functions
	* removed deprecated ags_fluid_interpolate_4th_order_util.[ch] functions
	* removed deprecated ags_fluid_interpolate_7th_order_util.[ch] functions
	* removed ags_generic_pitch_util.[ch]
	* extended AgsFile by adding libxml2 wrapper functions
	* refactored AgsConnectableFlags
	* fixed typo in ags_function.h
	* fixed AgsWave clipboard

ags (3.18.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed application ID to be lower-case
	* fixed no VST3 *_get_type() in libgsequencer gtk-doc

ags (3.18.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated docs/reference/libgsequencer/libgsequencer.xml
	* fixed docs/reference/libgsequencer/Makefile.am

ags (3.18.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsGSequencerApplication
	* implemented ags_app_action_util.[ch]
	* implemented ags_primary_menu.ui
	* implemented ags_add_menu.ui
	* implemented ags_edit_menu.ui
	* refactored AgsWindow to use GtkHeaderBar
	* refactored ags_menu_action_callbacks.c
	* merged dev-maksymow-meta-data-window
	* renamed AgsXorgApplicationContext to AgsGSequencerApplicationContext
	* moved ags/X to ags/app
	* fixed missing restore of AgsLineMember for builtin effects

	[ Danìl Maksymow (Contributor of Advanced Gtk+ Sequencer) ]
	* implemented AgsMetaDataWindow

ags (3.17.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsFFPlayer use GtkSpinner
	* improved AgsPitchSampler use GtkSpinner

ags (3.17.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved gobject introspection automake build
	* improved chapter 1 of user's handbook, added missing instruments
	* fixed chapter 3 title of user's handbook

ags (3.17.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSyncsynth loop start and end upper value
	* fixed AgsFMSyncsynth loop start and end upper value
	* improved CoreAudio set buffer size and samplerate

ags (3.17.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFFPlayer missing preset load
	* updated user's handbook

ags (3.17.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsOscillator length depending on samplerate config
	* improved AgsFMOscillator length depending on samplerate config

ags (3.17.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements
	* added ags-fx-sf2-synth unit tests
	* added ags-fx-sfz-synth unit tests

ags (3.17.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gtk-doc

ags (3.17.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsSFZSynth
	* implemented ags-fx-sfz-synth
	* implemented AgsSFZInstrumentLoader worker
	* implemented AgsApplySFZInstrument task
	* implemented ags_sfz_synth_util_load_instrument()
	* implemented additional getter/setter functions of AgsSFZFile, AgsSFZGroup, AgsSFZRegion and AgsSFZSample

ags (3.16.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV because of unitialized field

ags (3.16.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSynthUtil missing increment during iteration
	* fixed AgsFMSynthUtil missing increment during iteration
	* fixed AgsEnvelopeUtil missing increment during iteration
	* minor improvements

ags (3.16.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed test

ags (3.16.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (3.16.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsStopThread
	* fixed call to gst_init()

ags (3.16.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added command line argument --no-config
	* added AGS_CONFIG environment variable
	* updated gsequencer.1.xml
	* improved unit tests make use of AGS_TEST_CONFIG and --no-config

ags (3.16.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSimpleFile proper plugin failure while reading
	* fixed ref-count ags-fx-ladspa, ags-fx-dssi, ags-fx-lv2 and ags-fx-vst3

ags (3.16.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFFPlayer loader timeout
	* fixed memory leaks
	* fixed reference leaks
	* fixed AgsChorusUtil max buffer length
	* extended functional machine add and destroy test to use the new instruments AgsHybridSynth, AgsHybridFMSynth and AgsHybridSF2Synth
	* minor improvements
	* added ags-fx-synth unit tests
	* added ags-fx-fm-synth unit tests
	* added ags_functional_hybrid_synth_test.c

ags (3.16.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSF2Synth missing program
	* fixed AgsSF2Synth missing resample
	* FIXME:JK: see ags_sf2_synth_util.c

ags (3.16.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFFPlayer restore from XML

ags (3.16.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added fluid custom filter to AgsSF2SynthUtil

ags (3.16.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing Lv2 plugins
	* updated gtk-doc XML and automake files
	* disabled warp scrollbars
	* minor improvements

ags (3.16.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_sf2_synth_util_load_midi_locale() load sample near midi key

ags (3.16.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsMachineInputLine struct fixes double mapped recalls

ags (3.16.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsSF2Synth
	* implemented ags-fx-sf2-synth
	* implemented AgsApplySF2MidiLocale task
	* implemented AgsSF2MidiLocaleLoader worker thread
	* implemented ags_sf2_synth_util_load_midi_locale()
	* implemented AgsAudiorecInputLine struct fixes double mapped recalls
	* implemented AgsSF2SynthInputLine struct fixes double mapped recalls
	* added configure flag to turn on setting environment variables related to packaging w32 exe

ags (3.15.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed the synths

ags (3.15.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved allow to define AGS_WINDOW_APP_ICON as macro

ags (3.15.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsCompositeEditor AgsMachine::resize-audio-channels() and AgsMachine::resize-pads() to destroy or create AgsWaveEdit
	* improved AgsCompositeEditor::machine-changed() to restore automation ports

ags (3.15.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSynthUtil and AgsFMSynthUtil

ags (3.15.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed configure event of editors
	* fixed ags-fx-peak clear buffer
	* fixed ags_audio_buffer_util_peak*() on macOS
	* fixed ags_peak_util_compute*() on macOS

ags (3.15.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFxFMSynthAudio missing OSC 3 port
	* fixed some bugs in ags_noise_util.c

ags (3.15.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsHybridFMSynth
	* implemented ags-fx-fm-synth
	* implemented noise in ags-fx-synth
	* implemented AgsNoiseUtil

ags (3.14.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented UI for AgsVst3Bridge
	* fixed missing update of prefixed macros in build files
	* improved block scope of AgsLv2Bridge

ags (3.14.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* providing symbolic icons
	* improved prefixing macros AGS_DOC_DIR, AGS_DATA_DIR and AGS_SRC_DIR
	* improved make use of AGS_UI_PROVIDER_DEFAULT_PADDING and AGS_UI_PROVIDER_DEFAULT_MARGIN_END

ags (3.14.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing shift piano
	* minor improvements

ags (3.14.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed VST3 block controls either bridge or UI
	* fixed Lv2 block controls either bridge or UI
	* improved open files with GSequencer

ags (3.14.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAudiorec:wave_loader_spinner field of GtkSpinner type to visualize wave loader progress
	* fixed export window to stop AgsAudiorec after export completed

ags (3.14.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_notation_free_all_selection()
	* implemented ags_automation_free_all_selection()
	* implemented ags_wave_free_all_selection()
	* fixed corrupted selection list of AgsNotation, AgsAutomation and AgsWave

ags (3.14.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wave form editor selection

ags (3.14.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wave form editor paste from clipboard
	* fixed AgsHybridSynth XML write of sync attack and phase

ags (3.14.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wave form editor cursor
	* fixed wave form editor selection

ags (3.14.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented alternative AgsWave insert from clipboard
	* fixed wave form editor cursor position
	* fixed restore AgsAudiorec filename entry from XML
	* fixed ALSA and OSSv4 export thread
	* fixed soundcard export missing start of AgsAudiorec

ags (3.14.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation editor to apply lower properly
	* fixed automation editor to respect integer and toggled ports

ags (3.14.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing automation for fx effect processors

ags (3.14.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_dial_get_value() missing return value

ags (3.14.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented missing format and buffer size property of ags-fx-synth

ags (3.14.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gtk-doc missing types
	* fixed ags/meson.build missing files

ags (3.14.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsHybridSynth
	* implemented ags-fx-synth
	* TODO:JK: implemented ags-fx-fm-synth
	* implemented ags-fx-chorus
	* added enabled port to ags-fx-low-pass and ags-fx-high-pass
	* fixed AgsSynthUtil sawtooth and triangle

ags (3.13.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved poll timeout of ALSA and OSSv4 devout

ags (3.13.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed OSSv4 list cards functions

ags (3.13.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing ALSA and OSSv4 switch buffer flag
	* fixed missing ALSA and OSSv4 soundcard thread sync flags
	* fixed AgsClearBuffer task to clear correct buffer for new ALSA and OSSv4

ags (3.13.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsChorusUtil boundaries
	* fixed conditional build of AgsAlsaDevout
	* fixed AgsOssMidiin recording MIDI

ags (3.13.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsChorusUtil

ags (3.13.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsTaskLauncher freeing tasks
	* fixed AgsScrolledLevelBox, AgsScrolledScaleBox, AgsScrolledAutomationEditBox
	  and AgsScrolledWaveEditBox not available property shadow-type of AgsViewport

ags (3.13.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAlsaDevout, AgsAlsaDevin and AgsAlsaMidiin
	* implemented AgsOssDevout, AgsOssDevin and AgsOssMidiin
	* deprecated AgsDevout, AgsDevin and AgsMidiin
	* refactored make use of new device implementation of ALSA and OSS

ags (3.13.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsWave insert from clipboard
	* fixed AgsCompositEdit match line of wave form editor
	* fixed AgsAudioApplicationContext to set setup_ready field to TRUE

ags (3.13.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsTimeStretchBufferDialog
	* implemented ags_time_stretch_util.c
	* implemented getter functions in ags_midi_util.c
	* implemented ags-fx-low-pass
	* implemented ags-fx-high-pass
	* refactored ags-fx-volume to use new accelerated AgsVolumeUtil functions
	* refactored ags-fx-envelope to use new accelerated AgsEnvelopeUtil functions
	* updated developer manual additional content and listings

ags (3.12.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed conditional build of VST3 in ags_fx_factory.c

ags (3.12.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsAudioToolbox RW open and write file
	* improved developer docs, additional information on threading

ags (3.12.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated README windows build
	* improved ags_xorg_application_context.c to conditional build sysname of windows
	* fixed missing include of ags/config.h

ags (3.12.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_animation_window_init() to obtain stride from format
	* fixed ags_audio_toolbox_open() to set samplerate and integer format
	* fixed ags_audio_toolbox_read() to clear buffer

ags (3.12.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV with AgsRampAccelerationDialog
	* fixed SIGSEGV with AgsSelectAccelerationDialog
	* fixed missing paste flags implementation in AgsCompositeToolbar callbacks
	* fixed missing channel selector control implementation in AgsCompositeToolbar callbacks

ags (3.12.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved restore of AgsPiano shift while AgsCompositeEditor::machine-changed()
	* improved AgsAutomationEdit draw all automation if not focused
	* minor improvements

ags (3.12.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV while restore from AgsSimpleFile XML
	* fixed SIGSEGV after destroy AgsMachine
	* fixed functional UI tests
	* fixed typo in ags/test/ags_functional_loop_0??_xml_test.c

ags (3.12.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented composite editor

ags (3.12.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ref-count over-flow in ags_thread.c


ags (3.12.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed layout of AgsLinkCollectionEditor and AgsResizeEditor
	* fixed mnemonic of AgsConnectionEditor and AgsAudiorec
	* fixed ref-count over-flow in ags_thread.c

ags (3.11.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed functional tests launch application context
	* fixed AgsDevout's AgsSoundcardThread started while playback initialization failed.
	* fixed missing plugins in context menu

ags (3.11.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing default values of ags-fx-vst3
	* fixed missing VST3 plugin instantiate of AgsVst3Bridge
	* fixed missing AgsLiveVst3Bridge effect bulk callback

ags (3.11.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented VST3 Cocoa UI with default values

ags (3.11.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented plugin loader in ags_xorg_application_context.c
	* implemented VST3 cocoa UI of AgsLiveVst3Bridge

ags (3.11.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags-fx-vst3 by initializing default with stereo arrangement

ags (3.11.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compilation error if vst3 disabled
	* fixed restore from XML with vst3 bridges

ags (3.11.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed use ags_vst_funknown_release() instead of ags_vst_icomponent_destroy()
	* fixed missing call AgsVst3Plugin:plugin_exit()
	* minor improvements

ags (3.11.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsWriteVst3Port task
	* implemented AgsInstantiateVst3Plugin task
	* refactored ags-fx-vst3 to improve parallelism with VST3
	* minor improvements

ags (3.10.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed playback of ags-fx-vst3

ags (3.10.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved loading plugins from main thread

ags (3.10.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed 2 dead-locks with ags-fx-vst3
	* minor improvements

ags (3.10.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved build compile libags_vst.so with -Wall -Wformat -Werror=format-security -Werror=return-type -Werror=uninitialized -Werror=maybe-uninitialized
	* improved build additional LIBAGS*_CPPFLAGS and LIBGSEQUENCER_CPPFLAGS

ags (3.10.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* remove libags_vst.la dependency from gtkdoc

ags (3.10.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed linker errors of libgsequencer.so if VST3 is disabled

ags (3.10.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsVst3PluginBrowser

ags (3.10.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed host context
	* implemented VST3 fallback of loading IEditController by query interface

ags (3.10.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented VST3 program support
	* improved thread-safety

ags (3.10.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* disabled -DDEVELOPMENT of libags_vst.so in Makefile.am
	* added VST3_RELEASE_TYPE to configure.ac and Makefile.am

ags (3.10.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing XML persistenc of AgsVst3Bridge and AgsLiveVst3Bridge
	* improved libags-vst.so unicode support

ags (3.10.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing call to activate
	* added ags-fx-vst3 effect processor to developer's book
	* improved build

ags (3.10.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler error if VST3 not available
	* fixed AgsVst3Bridge and AgsLiveVst3Bridge input pad count and flags

ags (3.10.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsVst3Manager and AgsVst3Plugin
	* implemented VST3 C API additional allocation functions of structs and theirs setters
	* implemented ags-fx-vst3 recall
	* implemented AgsVst3Bridge and related
	* fixed VST3 C API *_get_iid() by calling _iid.toTUID() before return

ags (3.10.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved allow (null) as WASAPI device

ags (3.10.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved build
	* fixed compiler warnings in ags_sf2_synth_util.c, ags_sfz_synth_util.c and ags_solver_matrix.c

ags (3.10.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* TODO:JK: stripped unneeded code from utility functions
	* fixed libags-vst3 compiler and linker errors

ags (3.10.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* TODO:JK: stripped unneeded code from utility functions
	* implemented ags/vst3-capi/pluginterfaces

ags (3.10.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* TODO:JK: stripped unneeded code from utility functions
	* TODO:JK: implemented ags/vst3-capi/pluginterfaces

ags (3.9.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing use of destination_stride and source_stride fields
	* refactored ags_linear_interpolate_util.c
	* refactored ags_hq_pitch_util.c
	* refactored ags_fluid_interpolate_4th_order_util.c
	* refactored ags_fluid_interpolate_7th_order_util.c
	* refactored ags_fluid_iir_filter_util.c

ags (3.9.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved configure.ac and Makefile.am to handle absent gnulib
	* fixed missing files in meson.build
	* refactored ags_generic_pitch_util.c
	* refactored ags_fluid_interpolate_none_util.c
	* refactored ags_fluid_interpolate_linear_util.c
	* refactored ags_fast_pitch_util.c
	* TODO:JK: refactored ags_hq_pitch_util.c
	* TODO:JK: refactored ags_fluid_interpolate_4th_order_util.c
	* TODO:JK: refactored ags_fluid_interpolate_7th_order_util.c
	* TODO:JK: refactored ags_fluid_iir_filter_util.c
	* refactored ags_sf2_synth_util.c
	* refactored ags_sfz_synth_util.c
	* deprecated functions in ags_fast_pitch_util.h
	* deprecated functions in ags_fluid_interpolate_none_util.h
	* deprecated functions in ags_fluid_interpolate_linear_util.h
	* deprecated functions in ags_sf2_synth_util.h
	* deprecated functions in ags_sfz_synth_util.h

ags (3.9.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored ags_fm_synth_util.c
	* fixed ags_synth_util.c
	* added unit-tests

ags (3.9.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* TODO:JK: refactored ags_fm_synth_util.c
	* fixed ags_resample_util_test.c some uninitialized values

ags (3.9.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsSolverMatrix missing getter/setter and parse
	* implemented AgsSolverVector missing getter/setter
	* implemented AgsSolverPolynomial missing getter/setter
	* implemented AgsSolverPolynomial missing multiply, divide, raise power and extract root
	* fixed ags_sfz_util.c allocating not enough memory
	* added unit-tests
	* added ags_volume_util_test.c
	* added ags_envelope_util_test.c
	* added ags_peak_util_test.c
	* added ags_resample_util_test.c
	* deprecated functions in ags_synth_util.h
	* deprecated functions in ags_fm_synth_util.h
	* refactored ags_synth_util.c
	* TODO:JK: refactored ags_fm_synth_util.c

ags (3.9.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_volume_util.[ch]
	* implemented ags_envelope_util.[ch]
	* implemented ags_peak_util.[ch]
	* implemented ags_resample_util.[ch]
	* deprecated functions in ags_audio_buffer_util.h
	* fixed Makefile.am missing introspection sources
	* fixed developer's book chapter 5 find_port.c listing duplicated function call ags_application_context_get_instance()

ags (3.9.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented getter/setter of AgsGenericPitch
	* implemented get type functions of utility files

ags (3.9.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_generic_pitch_util.c with delegation
	* implemented ags_sf2_util.c using AgsGenericPitch
	* implemented ags_sfz_util.c using AgsGenericPitch
	* implemented pitch function selection within UI

ags (3.8.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gtk-doc missing sections

ags (3.8.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_fluid_util.h
	* implemented ags_fluid_interpolate_none_util.[ch]
	* implemented ags_fluid_interpolate_linear_util.[ch]
	* implemented ags_fluid_interpolate_4th_order_util.[ch]
	* implemented ags_fluid_interpolate_7th_order_util.[ch]
	* implemented ags_fluid_iir_filter_util.[ch]
	* implemented ags_fluid_pitch_util.[ch]
	* updated user's handbook chapter 3, added missing key modifier description shift and left or right

ags (3.8.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_solver_polynomial_parse()
	* implemented ags_audio_signal_get_stream()
	* implemented ags_audio_signal_set_stream()
	* extended ags_solver_polynomial_test.c
	* fixed ags_hq_pitch_util.c wrong interpolate factor

ags (3.8.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_hq_pitch_util.c

ags (3.8.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsRecallChannelRun::dispose()

ags (3.8.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed tuning of AgsSF2SynthGenerator and AgsSFZSynthGenerator
	* fixed ags-fx-lfo default values of ports

ags (3.8.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory leak in ags_devout.c, ags_devin.c and ags_midiin.c
	* fixed AgsPreferences buttons

ags (3.8.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsPluginBrowser proper reset
	* improved breaking circular dependencies of libags_audio.so
	* fixed functional integration tests
	* fixed deprecated Gtk+-3.0 symbols all GTK_STOCK_*

ags (3.8.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_lfo_synth_util.c offset of iteration

ags (3.8.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed dead keys recently introduced by ags_hq_pitch_util.c
	* improved iteration over AgsChannel in ags_fx_factory.c

ags (3.8.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing store of aliase and volume
	* edited NEWS

ags (3.8.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gtk-doc

ags (3.8.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented volume control of AgsSyncsynth
	* implemented volume control of AgsFMSyncsynth
	* implemented volume control of AgsMatrix
	* fixed AgsFMOscillator layout

ags (3.8.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented volume control of AgsFFPlayer
	* implemented volume control of AgsPitchSampler
	* implemented ags-fx-two-pass-aliase
	* implemented ags_linear_interpolate_util.c
	* implemented ags_hq_pitch_util.c
	* implemented ags_phase_shift_util.c
	* implemented ags_frequency_aliase_util.c
	* improved pitch sampler to use ags-fx-lfo
	* fixed deprecated Gtk+-3.0 symbols
	* fixed reference count in ags_fx_factory.c
	* fixed iteration of AgsChannel in ags_fx_factory.c

ags (3.7.50)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing loop information after map recall

ags (3.7.49)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing loop information while machine added

ags (3.7.48)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated user's handbook chapter 2 Docbook XML file

ags (3.7.47)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed check object type in ags_sf2_synth_util.c

ags (3.7.46)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unified floating point types
	* improved safer ags_buffer_util.c
	* improved safer ags_char_buffer_util.c
	* improved safer ags_audio_buffer_util.c
	* improved safer ags_fast_pitch_util.c
	* improved safer ags_filter_util.c
	* improved safer ags_fm_synth_util.c
	* improved safer ags_lfo_synth_util.c
	* improved safer ags_soundcard_util.c
	* improved safer ags_sf2_synth_util.c
	* improved safer ags_sfz_synth_util.c
	* improved safer ags_synth_util.c
	* improved safer ags_osc_buffer_util.c

ags (3.7.45)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved safer ags_midi_buffer_util.c

ags (3.7.44)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV with AgsPluginBrowser no plugin selected
	* fixed ags_lv2_plugin_atom_sequence_remove_midi()
	* fixed ags_fx_eq10_audio_signal_real_run_inter()
	* fixed ags_eq10_audio_signal_real_run_inter()

ags (3.7.43)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added Polish translation

ags (3.7.42)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unitialized buffer of AgsFxPeakChannel recall

ags (3.7.41)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated test artifacts
	* fixed use after free of GList of soundcards in ags_add_soundcard.c task
	* fixed ref-count in AgsAudioApplicationContext and AgsXorgApplicationContext of setters of GList
	* fixed ref-count in AgsOscFrontController
	* fixed ags_osc_connection_read_bytes() might be uninitialized error
	* fixed ags_osc_connection_read_bytes() error might leak
	* fixed ags_osc_client_read_bytes() might be uninitialized error
	* fixed ags_osc_client_read_bytes() use after free

ags (3.7.40)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_audio_open_audio_file_as_channel()
	* fixed missing files in tarball to run valgrind make targets

ags (3.7.39)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed use after free of GList of soundcards in ags_remove_soundcard.c task
	* fixed wrong reference counter in ags_recycling_position()
	* minor improvements

ags (3.7.38)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_notation_to_raw_midi()
	* implemented ags_notation_from_raw_midi()
	* added ags/test/audio/midi/ags_midi_delta_time.c
	* fixed typo in AgsRecall:automation-port property
	* fixed libags.pc old include of ags/config.h
	* fixed libags_audio.pc missing gstreamer dependencies

ags (3.7.37)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsServer missing HTTP status code 403 Forbidden and response

ags (3.7.36)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented vector operations on Apple macOS with Accelerate Framework

ags (3.7.35)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed use %lf instead of %Lf with string functions affecting envelope restore
	* fixed use %lf instead of %f with string functions
	* added ags_complex_test_serialize()

ags (3.7.34)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed complex type to double _Complex in many files

ags (3.7.33)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed functional test util gsequencer_setup_util.c mutex lock/unlock wrong pointer type
	* minor improvements

ags (3.7.32)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved thread-safety of pulseaudio
	* fixed soundcard won't stop playback after unlink running machine
	* fixed wrong mutex lock count in ags_pulse_port_cached_stream_request_callback()

ags (3.7.31)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed broken if statement with string corruption of fixup 3.2.7 in ags_simple_file.c
	* updated developer's manual complete example listing and chap12.xml

ags (3.7.30)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed deprecated code to restore plugins in ags_simple_file.c
	* fixed wrong type cast with interface in ags_xorg_application_context.c

ags (3.7.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsThread fields start_mutex and start_cond wrong type

ags (3.7.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* m4/gettext.m4: Downgrade to gettext-0.19.8.1.
	* m4/iconv.m4: Downgrade to gettext-0.19.8.1.
	* m4/lib-ld.m4: Downgrade to gettext-0.19.8.1.
	* m4/lib-link.m4: Downgrade to gettext-0.19.8.1.
	* m4/lib-prefix.m4: Downgrade to gettext-0.19.8.1.
	* m4/nls.m4: Downgrade to gettext-0.19.8.1.
	* m4/po.m4: Downgrade to gettext-0.19.8.1.
	* m4/progtest.m4: Downgrade to gettext-0.19.8.1.
	* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.19.8.

ags (3.7.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AppStream XML

ags (3.7.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented get_type() functions of AgsFxFactoryCreateFlags, AgsRecallFlags and AgsRecallNotifyDependencyMode
	* fixed missing initialization of ::read() and ::write() of AgsApplicationContextClass
	* fixed missing call to ags_connectable_connect() for AgsOscillator and AgsFMOscillator in ags_simple_file.c
	* fixed missing connect to control-changed for AgsOscillator and AgsFMOscillator in ags_simple_file.c

ags (3.7.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSimpleFile bank-0 and bank-1 XML attribute of AgsDrum and AgsMatrix
	* fixed AgsSimpleFile lower XML attribute of AgsFMSynth

ags (3.7.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added getters of AgsMidiBuilder and AgsOscBuilder of data field
	* added French language support in libgsequencer

ags (3.7.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* m4/gettext.m4: Upgrade to gettext-0.20.1.
	* m4/host-cpu-c-abi.m4: New file, from gettext-0.20.1.
	* m4/iconv.m4: Upgrade to gettext-0.20.1.
	* m4/intlmacosx.m4: Upgrade to gettext-0.20.1.
	* m4/lib-ld.m4: Upgrade to gettext-0.20.1.
	* m4/lib-link.m4: Upgrade to gettext-0.20.1.
	* m4/lib-prefix.m4: Upgrade to gettext-0.20.1.
	* m4/nls.m4: Upgrade to gettext-0.20.1.
	* m4/po.m4: Upgrade to gettext-0.20.1.
	* m4/progtest.m4: Upgrade to gettext-0.20.1.
	* m4/Makefile.am (EXTRA_DIST): Add the new files.
	* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.20.

ags (3.7.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_turtle_read_blank_node() access after free

ags (3.7.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potentially unitialized pointer

ags (3.7.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-envelope be explicite about floating point arithmetic
	* fixed ref count in ags_audio_automate()
	* fixed ref count in ags_channel_automate()
	* fixed ref count in ags_channel_set_link()
	* fixed ref count in ags_channel_recursive_run_stage() and related
	* fixed ref count in ags_input_next_active()
	* fixed ref count in ags_audio_recall_done_callback()
	* fixed ref count in ags_channel_recall_done_callback()
	* added ags_audio_ref_count_test.c
	* added ags_fx_ref_count_test.c
	* added ags_audio_application_context_ref_count_test.c
	* minor improvements

ags (3.7.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing listing of developer manual

ags (3.7.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved developer manual

ags (3.7.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed literal comparision in ags_apply_sound_config.c

ags (3.7.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (3.7.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added htmlhelp navigation and custom.css

ags (3.7.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler error

ags (3.7.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_playback_domain_insert_playback()
	* improved user's handbook images with default width

ags (3.7.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_pattern_dispose() to unset fields
	* minor code improvements

ags (3.7.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_complex_get_term() and ags_complex_set_term() to query by real and imaginary part
	* improved API reference and fixed namespace and object tree
	* improved API reference and fixed missing sections

ags (3.7.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed broken API Reference Manual of libags_audio.so

ags (3.7.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated developer's doc chap10.xml to cover ags_fx_factory_create()
	* deprecated ags/audio/recall
	* deprecated ags/audio/ags_recall_ladspa.h and ags/audio/ags_recall_ladspa_run.h
	* deprecated ags/audio/ags_recall_dssi.h and ags/audio/ags_recall_dssi_run.h
	* deprecated ags/audio/ags_recall_lv2.h and ags/audio/ags_recall_lv2_run.h

ags (3.7.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (3.7.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed config header mess
	* fixed effect processors on output e.g. in AgsLine

ags (3.7.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed test device

ags (3.7.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed meson optional build

ags (3.7.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed effect processors on output e.g. in AgsLine
	* improved ags_soundcard_util_adjust_delay_and_attack() to correct attack within AGS_SOUNDCARD_DEFAULT_PERIOD
	* improved ags_fx_factory.c to respect chained to output or input

ags (3.7.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* changed base key to lower of AgsPitchSampler and AgsFFPlayer
	* improved SF2 support to select nearest sample
	* improved SFZ support

ags (3.7.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed meson build

ags (3.7.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed libgsequencer gtk-doc

ags (3.7.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_fast_pitch_util.c to do loudness correction
	* minor improvements

ags (3.6.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gui-scale factor applied to AgsNotationEdit, AgsAutomationEdit and AgsWaveEdit

ags (3.6.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing meson build files

ags (3.6.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing meson build files

ags (3.6.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing meson build files

ags (3.6.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing meson build files

ags (3.6.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing meson build files

ags (3.6.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved meson build

ags (3.6.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed upper of AgsNotationEditor's AgsRuler

ags (3.6.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gui-scale factor applied to AgsNotationEdit
	* fixed gui-scale factor applied to AgsAutomationEdit
	* fixed gui-scale factor applied to AgsWaveEdit

ags (3.6.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing restore of pattern envelope

ags (3.6.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements

ags (3.6.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_fx_envelope_audio_signal.c

ags (3.6.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags-fx-envelope to query ags-fx-pattern and ags-fx-notation for offset
	* improved ags-fx-envelope to query AgsAudio for pattern mode
	* implemented missing functions of AgsTrack
	* implemented additional getter/setter
	* added unit-tests
	* minor improvements

ags (3.6.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_message_delivery_query_message() accessing GList as instance
	* fixed ags_task_launcher_remove_cyclic_task() wrong parameter to g_list_find() within if condition
	* implemented additional getter/setter
	* added unit-tests
	* minor improvements

ags (3.6.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented property and getter/setter of AgsRuler font-size
	* fixed gui-scale factor applied to AgsRuler
	* refactored gui-scale factor read from ags_ui_provider_get_gui_scale_factor() instead from AgsConfig

ags (3.6.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_playback_dispose()
	* disabled parallel server tests
	* minor improvements

ags (3.6.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automake

ags (3.6.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented concurrent running tests using gnu parallel

ags (3.6.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added 10 functional integration XML file setup test

ags (3.6.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory corruption in Ags*DssiBridge and Ags*Lv2Bridge

ags (3.6.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented lock-free ags-fx-playback
	* fixed missing call to ags_soundcard_lock() and ags_soundcard_unlock() in ags_devout.c
	* fixed reallocation of AgsAudioSignal stream data while setting samplerate, buffer size and format
	* improved midi2xml_main.c to check valid file stream pointer

ags (3.6.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added some getter of AgsScrolledPiano
	* fixed AgsWindow delete-event callback to use AgsQuitDialog
	* improved ags_gstreamer_file.c to create microsoft windows compatible URI

ags (3.6.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed pthread remains

ags (3.6.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added some getter/setter to AgsPiano
	* minor improvements

ags (3.6.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added gstreamer environment variables for mingw64

ags (3.6.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing return value of ags_window_button_press_event()

ags (3.6.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed pthread remains

ags (3.6.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_fast_pitch_util.[ch]
	* implemented some get type functions of enum values
	* refactored ags_sf2_synth_util.c
	* refactored ags_sfz_synth_util.c

ags (3.6.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed gtk-doc
	* additional audio file formats of AgsExportSoundcard and AgsWaveExportDialog

ags (3.6.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented GStreamer support
	* implemented AgsComplex support in ags_fourier_transform_util.[ch]
	* implemented some get type functions of enum values
	* improved the developer's manual
	* fixed AgsWaveExportDialog missing delete-event callback
	* minor improvements

ags (3.5.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing AgsMutable interface of ags-fx-volume
	* improved thread-safety of AgsServer
	* improved thread-safety of AgsOscServer

ags (3.5.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed NULL pointer of ags_ui_provider_get_navigation()
	* fixed missing update of LV2_Options_Option after configuration changed

ags (3.5.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed initial loop set of AgsDrum, AgsMatrix, AgsFFPlayer, AgsPitchSampler,
	  AgsAudiorec, AgsDssiBridge, AgsLiveDssiBridge, AgsLv2Bridge and AgsLiveLv2Bridge

ags (3.5.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsDssiBridge accessing integer as string

ags (3.5.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing reset of notation edit's horizont scrollbar after zoom changed

ags (3.5.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed shrink audio channels by removing i < pads

ags (3.5.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented fallback path of plugins

ags (3.5.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed tempo issue

ags (3.5.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_audiorec_fast_export() current_buffer_size variable

ags (3.5.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio fast export

ags (3.5.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing $(docdir)/images/adwaita

ags (3.5.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing call to AgsRecall::done() in ags_fx_notation_audio_signal.c
	* fixed AgsFMSyncsynth missing restore of some fields

ags (3.5.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing Adwaita images in user's handbook

ags (3.5.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed pointer arithmetic type mismatch

ags (3.5.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]

ags (3.5.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented poppler PDF support of AgsOnlineHelpWindow
	* fixed typo in ags_quit_dialog.c
	* added pdf and install-pdf target to Makefile.am
	* minor improvements

ags (3.5.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsOnlineHelpWindow
	* implemented AgsQuitDialog

ags (3.4.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted some drawing operations in ags/widget/

ags (3.4.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed prototype of widgets overriding GtkWidget::draw(), missing gboolean return value

ags (3.4.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed issues encountered on Apple Mac OS X

ags (3.4.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsSF2SynthGenerator and AgsSFZSynthGenerator to be faster
	* improved thread-safety of AgsSynthGenerator, AgsSF2SynthGenerator and AgsSFZSynthGenerator
	* minor improvements

ags (3.4.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved thread-safety of ags/audio/file/*.c
	* improved ags_sf2_synth_util.c and ags_sfz_synth_util.c

ags (3.4.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_filter_util.c to use fmod() instead modulo to compute phase

ags (3.4.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed arithmetic exception and improved base note of ags_filter_util.c

ags (3.4.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved pitch to use an octave as immediate frequency in ags_filter_util.c

ags (3.4.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed string length of mute_message in ags_osc_renew_controller_test.c
	* fixed sscanf call with wrong signed integer in ags_sfz_synth_util.c
	* minor improvements

ags (3.4.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_filter_util.c to use projection during 2nd pitch rewrite

ags (3.4.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed prototype of ags_audio_buffer_util_copy_float_to_complex()
	* improved ags_audio_buffer_util.c dealing with AgsComplex

ags (3.4.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing include in ags_xml_authentication.c and minor improvements

ags (3.4.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential division by zero in ags_filter_util.c

ags (3.4.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_audio_signal_clear()
	* fixed missing clear during synth generator compute

ags (3.4.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsSF2Generator
	* implemented AgsSFZGenerator
	* implemented AgsAudioContainerManager and AgsAudioFileManager
	* implemented pingpong copy in ags_audio_buffer_util.c
	* implemented ags_sf2_synth_util.c
	* implemented ags_sfz_synth_util.c
	* extended AgsFFPlayer
	* extended AgsPitchSampler
	* improved ags_filter_util.c
	* improved AgsComplex support
	* added unit-tests

ags (3.3.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-ladspa missing input port connected
	* fixed ags-fx-lv2 wrong copy mode

ags (3.3.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-playback capture wrong offset as clearing while replacing mode

ags (3.3.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added ags-fx-volume to AgsPanel
	* improved automation editor to handle specifier equals NULL

ags (3.3.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing automation ports of ags-fx-volume

ags (3.3.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing include string.h in ags_math_util.c

ags (3.3.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved GLib-2.0 compatibility of AgsServer

ags (3.3.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-fx-playback 2 wrong if conditions

ags (3.3.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsAudiorec's ags-fx-playback memory corruption

ags (3.3.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSpectrometer plot
	* fixed ags-fx-analyse missing clear of input data
	* added missing gtk-doc of ags-fx recalls
	* removed static storage class from ags-fx global strings

ags (3.3.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed make ags-integration-unit-test wrong LDADD flags

ags (3.3.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV because port-value-length mismatch of ags-fx-analyse

ags (3.3.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* further improved MIDI playback, set AgsAudioSignal length as doing ags_sound_resource_read_audio_signal()

ags (3.3.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing includes
	* fixed AgsSyncsynth and AgsFmSyncsynth missing requested frames
	* fixed MIDI playback
	* improved ags_functional_osc_server_test.c to run non-blocking OSC client

ags (3.3.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed infinite loop in ags/app/ags_line_member_editor_callbacks.c
	* fixed pointer corruption because of wrong cast to get stream mutex

ags (3.3.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential dead-lock related to ags-fx-ladspa and ags-fx-lv2
	* fixed missing return value of ags_fx_factory_create()
	* fixed reverse mapping of DSSI and LV2 plugins

ags (3.3.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing call to ags_fx_lv2_channel_load_plugin() in ags_fx_factory.c
	* fixed restore from AgsSimpleFile
	* fixed g_list_free_full() while transfer none
	* minor bug-fixes

ags (3.3.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented staging program of AgsAudioLoop, AgsAudioThread and AgsChannelThread
	* implemented ags_fx_factory.[ch]
	* implemented AgsFxPlaybackAudio, AgsFxPlaybackAudioProcessor, AgsFxPlaybackChannel,
	  AgsFxPlaybackChannelProcessor, AgsFxPlaybackRecycling and AgsFxPlaybackAudioSignal
	* implemented AgsFxBufferAudio, AgsFxBufferAudioProcessor, AgsFxBufferChannel,
	  AgsFxBufferChannelProcessor, AgsFxBufferRecycling and AgsFxBufferAudioSignal
	* implemented AgsFxNotationAudio, AgsFxNotationAudioProcessor, AgsFxNotationChannel,
	  AgsFxNotationChannelProcessor, AgsFxNotationRecycling and AgsFxNotationAudioSignal
	* implemented AgsFxPatternAudio, AgsFxPatternAudioProcessor, AgsFxPatternChannel,
	  AgsFxPatternChannelProcessor, AgsFxPatternRecycling and AgsFxPatternAudioSignal
	* implemented AgsFxLadspaAudio, AgsFxLadspaAudioProcessor, AgsFxLadspaChannel,
	  AgsFxLadspaChannelProcessor, AgsFxLadspaRecycling and AgsFxLadspaAudioSignal
	* implemented AgsFxDssiAudio, AgsFxDssiAudioProcessor, AgsFxDssiChannel,
	  AgsFxDssiChannelProcessor, AgsFxDssiRecycling and AgsFxDssiAudioSignal
	* implemented AgsFxLv2Audio, AgsFxLv2AudioProcessor, AgsFxLv2Channel,
	  AgsFxLv2ChannelProcessor, AgsFxLv2Recycling and AgsFxLv2AudioSignal
	* implemented AgsFxVolumeAudio, AgsFxVolumeAudioProcessor, AgsFxVolumeChannel,
	  AgsFxVolumeChannelProcessor, AgsFxVolumeRecycling and AgsFxVolumeAudioSignal
	* implemented AgsFxPeakAudio, AgsFxPeakAudioProcessor, AgsFxPeakChannel,
	  AgsFxPeakChannelProcessor, AgsFxPeakRecycling and AgsFxPeakAudioSignal
	* implemented AgsFxAnalyseAudio, AgsFxAnalyseAudioProcessor, AgsFxAnalyseChannel,
	  AgsFxAnalyseChannelProcessor, AgsFxAnalyseRecycling and AgsFxAnalyseAudioSignal
	* implemented AgsFxEnvelopeAudio, AgsFxEnvelopeAudioProcessor, AgsFxEnvelopeChannel,
	  AgsFxEnvelopeChannelProcessor, AgsFxEnvelopeRecycling and AgsFxEnvelopeAudioSignal
	* implemented AgsFxEq10Audio, AgsFxEq10AudioProcessor, AgsFxEq10Channel,
	  AgsFxEq10ChannelProcessor, AgsFxEq10Recycling and AgsFxEq10AudioSignal
	* implemented ags_audio_insert_recall() and ags_channel_insert_recall()
	* implemented AgsResetFxPeak task
	* implemented AgsResetFxAnalyse task
	* implemented ags_audio_loop_get_do_fx_staging() and ags_audio_loop_set_do_fx_staging()
	* implemented ags_audio_loop_get_staging_program() and ags_audio_loop_set_staging_program()
	* implemented ags_audio_thread_get_do_fx_staging() and ags_audio_thread_set_do_fx_staging()
	* implemented ags_audio_thread_get_staging_program() and ags_audio_thread_set_staging_program()
	* implemented ags_audio_thread_scope_data_alloc() and ags_audio_thread_scope_data_free()
	* implemented ags_channel_thread_get_do_fx_staging() and ags_channel_thread_set_do_fx_staging()
	* implemented ags_channel_thread_get_staging_program() and ags_channel_thread_set_staging_program()
	* implemented ags_audio_test_staging_completed(), ags_audio_set_staging_completed() and ags_audio_unset_staging_completed()
	* implemented ags_channel_test_staging_completed(), ags_channel_set_staging_completed() and ags_channel_unset_staging_completed()
	* improved GObject-Introspection API
	* fixed UI bug related to channel number mismatch

ags (3.2.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented test, set and unset flags of AgsSynth, AgsFMSynth, AgsSyncsynth and AgsFMSyncsynth
	* improved AgsDial to use page-up and page-down keys
	* improved AgsDial to increment page as clicking buttons
	* improved AgsEffectBulk, AgsEffecLine and AgsLine to apply page-size of adjustments
	* improved AgsTurtle to check unichar range instead of UTF-8 sequences
	* improved AgsNotationEditor to queue resize piano
	* improved AgsFMSynth to have 2 digits of lower
	* improved AgsOscillator and AgsFMOscillator do sync to emit oscillator changed

ags (3.2.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential NULL pointer dereference of LADSPA, DSSI and LV2
	* fixed wrong midi-end-mapping persistence of AgsSimpleFile

ags (3.2.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed greedy ags-lv2 and ags-dssi

ags (3.2.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsTurtle match functions
	* refactored AgsTurtle read functions
	* refactored AgsLv2TurtleScanner to use match functions
	* fixed AgsFFPlayer restore

ags (3.2.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_lv2_cache_turtle_find()

ags (3.2.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved instantiate AgsPluginBrowser only as needed in AgsLineMemberEditor

ags (3.2.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AppStream XML

ags (3.2.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated API Reference Manuals
	* minor improvements

ags (3.2.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsLv2TurtleScanner quick scan
	* added AgsSimpleFile fixup to deal with LV2 quotes
	* fixed LV2 quotes in effect and specifier
	* minor bug-fixes

ags (3.2.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-play-lv2 to handle note-on correctly
	* fixed ags-play-dssi to handle note-on correctly

ags (3.2.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented LV2_OPTIONS__options
	* fixed LV2_OPTIONS__interface URI
	* fixed ags_math_util_test.c to use ags_strv_equal()

ags (3.2.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* exported missing symbols

ags (3.2.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted GLib dependency to version 2.56.0
	* refactored AgsAudio, AgsChannel, AgsRecycling and AgsAudioSignal to use property for some setter functions
	* minor improvements

ags (3.2.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved introspection annotations of AgsGui

ags (3.2.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_strv_equal() comparing unsorted string vectors
	* disabled GMainLoop integration of AgsTaskLauncher in AgsAudioApplicationContext

ags (3.2.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented some getter and setter functions
	* disabled GMainLoop integration of AgsTaskLauncher in AgsXorgApplicationContext
	* updated developer manual
	* improved API of AgsMidiBuilder and AgsMidiParser
	* minor improvements

ags (3.1.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential integer overflow in ags_osc_front_controller_do_request()
	* minor improvements

ags (3.1.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_automation_meta.c channel_type variable to use proper GType

ags (3.1.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated user manual

ags (3.1.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* work-in-progress implemented getter and setter functions of properties
	* implemented meta widget of AgsNotationEditor
	* implemented meta widget of AgsAutomationEditor
	* implemented meta widget of AgsWaveEditor
	* implemented acoustic feedback of ags-recall-dssi
	* implemented acoustic feedback of ags-recall-lv2
	* fixed ref-count of AgsRecallDssi:count-beats-audio-run
	* fixed AgsAutomationEdit not shown again
	* fixed AgsAutomationEdit cursor x-position
	* added missing gtk-doc to ags_audio_buffer_util.c

ags (3.0.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* replaced UTF-8 character sequence from build files
	* added missing parantheses in configure.ac
	* wiped m4 directory and recreated it

ags (3.0.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved unit-tests to call ags_priority_load_defaults()

ags (3.0.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed broken WebKit2Gtk-4.0 configure

ags (3.0.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented disable realtime priorities by AgsPriority

ags (3.0.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added --enable-single-docdir configure option to meet FreeBSD demands

ags (3.0.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added GObject-Introspection annotations for GList type properties
	* improved online help browser to respect --docdir configure parameter
	* fixes to WASAPI backend
	* fixes to CoreAudio backend

ags (3.0.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed Makefile.am missing DESTDIR

ags (3.0.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed Makefile.am wrong destination directory variables of gtk-doc

ags (3.0.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed 64 bit portability issue with ags_functional_pitch_test.c
	* fixed 64 bit portability issue with ags_functional_fourier_transform_test.c
	* fixed ags_start_audio_test.c to run task within thread tree
	* fixed ags_start_channel_test.c to run task within thread tree
	* improved pulseaudio connect timeout
	* improved Makefile.am to deal with different gtk-doc locations

ags (3.0.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_audio_start() and ags_channel_start() to have sync timeout
	* fixed some issues from build log
	* fixed potential SIGSEGV by flaging AgsRecallID terminating state
	* fixed potential data-race related to AgsTaskLauncher

ags (3.0.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing prefix in autoconf option

ags (3.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved Makefile.am to be more portable
	* updated libags.pc, libags_audio.pc, libags_gui.pc and libgsequencer.pc

ags (3.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential recursive callback call
	* fixed potential data-race in ags_audio_stop() by stop thread first
	* fixed potential data-race in ags_channel_stop() by stop thread first

ags (3.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* migrated to Gtk3
	* migrated AgsOscServer and AgsOscClient to GIO sockets
	* migrated AgsServer to Libsoup XMLRPC
	* migrated AgsThread to GThread API
	* implemented introspection support
	* added G_BEGIN_DECLS and G_END_DECLS to header files
	* moved ags_thread-posix.[ch] to ags_thread.[ch]
	* removed ags_thread_file_xml.[ch], ags_audio_file_xml.[ch] and ags_gui_file_xml.[ch]
	* removed AgsTaskThread
	* removed AgsPollingThread
	* removed AgsPollFD
	* removed AgsAsyncQueue
	* removed AgsSingleThread
	* removed AgsNotifySoundcard
	* removed barriers of AgsThread
	* replaced nested functions
	* stripped AgsPlugin from machines

ags (2.4.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved performance by omitting determinism

ags (2.4.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed appdata.xml

ags (2.4.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_audio_buffer_util_resample_with_buffer() and related
	* fixed potential buffer-overflow in ags_sfz_sample.c
	* fixed potential SIGSEGV in ags_sound_resource.c doing resample

ags (2.4.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved alphabetically sorted plugin filenames in AgsLadspaBrowser and AgsLv2Browser
	* improved AgsEffectBridge removing effects

ags (2.4.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV related to AgsFFPlayer's effect bulk
	* fixed accessing freed memory of AgsBulkMember

ags (2.4.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potentially freed env pointer

ags (2.4.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsPriority to configure RT threads

ags (2.4.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved idle CPU usage
	* implemented ags_cell_pattern_play()
	* fixed AgsNotationEdit position cursor by using left or right key

ags (2.4.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented playback as clicking AgsPiano of AgsNotationEditor
	* implemented missing feedback of AgsNotationEditor
	* implemented ags_machine_playback_set_active()
	* implemented AgsResetNote
	* implemented AgsSF2Loader
	* implemented ags_audio_loop_test_flags(), ags_audio_loop_set_flags() and ags_audio_loop_unset_flags()
	* refactored ags_pad_play() to use ags_machine_playback_set_active()
	* refactored AgsStartAudio task to use ags_audio_start()
	* refactored AgsStartChannel task to use ags_channel_start()
	* refactored AgsCancelAudio task to use ags_audio_stop()
	* refactored AgsCancelChannel task to use ags_channel_stop()
	* improved AgsFFPlayer to use AgsSF2Loader
	* improved AgsPiano missing event mask
	* improved ags_audio_start() to start audio and channel thread
	* improved ags_channel_start() to start audio and channel thread
	* updated the API reference manual
	* fixed ags_piano_key_code_to_note() static const array note_map
	* fixed ref count in ags_notation_editor_do_feedback()
	* fixed ags_recycling_get_property() missing break
	* minor improvements
	* m4/lib-ld.m4: Upgrade to gettext-0.19.8.1.
	* m4/lib-link.m4: Upgrade to gettext-0.19.8.1.
	* m4/lib-prefix.m4: Upgrade to gettext-0.19.8.1.

ags (2.3.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_strv_contains() to compare strings
	* fixed AgsApplySoundConfig task to setup AgsWasapiDevout's AgsNotifySoundcard and AgsExportThread
	* fixed ags_sound_resource_read_wave() to deal with different samplerates
	* minor improvements

ags (2.3.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAudioUnitDevout and AgsAudioUnitDevin
	* improved AgsScrolledPiano to draw properly on Win64

ags (2.3.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed WASAPI audio export in ags_export_thread.c

ags (2.3.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsPitchSampler missing filename after restore from XML

ags (2.3.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsPitchSampler to save filename in XML
	* fixed open project file on win64
	* minor improvements

ags (2.3.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing WASAPI export backend
	* fixed AgsApplySoundConfig accessing invalid pointer

ags (2.3.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed WASAPI size of buffer request
	* fixed AgsPreferences missing delete-event callback

ags (2.3.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed libags-audio API reference manual

ags (2.3.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed WASAPI friendly name
	* fixed don't initialize device if its already playing/recording

ags (2.3.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved hide WASAPI related configuration controls if not needed

ags (2.3.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented WASAPI configuration options to adjust system buffer size and share mode
	* improved WASAPI IO

ags (2.3.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsWasapiDevout and AgsWasapiDevin
	* improved AgsDial invalid range
	* fixed memory leaks related to g_strdup_printf() in ags_simple_file.c

ags (2.3.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing includes

ags (2.3.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_fourier_transform_util_test.c

ags (2.3.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed don't rebuild types while make html

ags (2.3.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsFMSynth
	* implemented AgsFMSyncSynth
	* implemented AgsFMOscillator
	* implemented AgsPitchSampler and AgsPitchSamplerFile
	* implemented AgsSFZFile, AgsSFZGroup, AgsSFZRegion and AgsSFZSample
	* implemented AgsSFZLoader
	* implemented ags-lfo recall
	* implemented AgsComplex buffer type
	* implemented AgsFrequencyMapManager
	* implemented AgsFrequencyMap to compute max likelihood
	* implemented ags_fm_synth_util.h supporting FM synthesis
	* implemented ags_lfo_synth_util.h supporting LFO amplification
	* implemented ags_fourier_transform_util.c
	* implemented ags_filter_util.c
	* extended ags_simple_file.c
	* extended ags_audio_buffer_util.h to support complex data type
	* extended ags_synth_util.h to support complex data type
	* extended ags_synth_util.h to support impulse oscillator
	* added ags_fourier_transform_util_test.c
	* added ags_fm_synth_util_test.c
	* added ags_filter_util_test.c

ags (2.2.39)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* extended ags_audio_buffer_util.h prototype to complete Float32 support

ags (2.2.38)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved iterating buffer in ags_audio_buffer_util.c
	* fixed unitialized values related to FreeBSD

ags (2.2.37)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed more unitialized values

ags (2.2.36)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved iterating buffer in ags_audio_buffer_util.c
	* work-around for broken lock-free audio buffer, reverted see below
	* reverted ags_devout.c to 2.2.25
	* reverted ags_play_audio_signal.c to 2.2.25

ags (2.2.35)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* replaced regular expression by while loop in ags_turtle_read_pn_chars_base()

ags (2.2.34)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored scheduling tasks to be done by AgsXorgApplicationContext
	* improved AgsAnimationWindow draw only as needed
	* improved AgsSoundcardEditor set sensitive
	* improved ref-count of AgsReturnableThread
	* improved resetting AgsReturnableThread

ags (2.2.33)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAnimationWindow
	* fixed memory-leaks in ags_turtle.c
	* fixed memory-leaks in ags_lv2_turtle_parser.c
	* fixed memory-leaks in ags_simple_file.c

ags (2.2.32)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed uninitialized values for FreeBSD

ags (2.2.31)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed uninitialized values

ags (2.2.30)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsMainLoop ::sync-counter-inc() and ::sync-counter-dec() no return type

ags (2.2.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsThreadPool make AgsReturnableThread returning
	* minor improvements added -Werror=return-type

ags (2.2.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_audio_buffer_util_peak_*() to handle 0.0 correct
	* fixed dead-lock AgsPulseDevout provide for each buffer sub-block lock
	* fixed dead-lock AgsCoreAudioDevout provide for each buffer sub-block lock
	* fixed AgsSimpleFile audio loop start/end of AgsSyncsynth to round

ags (2.2.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored get object mutex

ags (2.2.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented lock-free soundcard buffer in ags-play recall
	* implemented ags_soundcard_get_sub_block_count()
	* implemented ags_soundcard_trylock_sub_block()
	* implemented ags_soundcard_unlock_sub_block()
	* improved AgsDevout, AgsPulseDevout, AgsJackDevout and AgsCoreAudioDevout

ags (2.2.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored ags_audio_buffer_util.c to support builtin vector functions
	* fixed ags_char_buffer_util.c

ags (2.2.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV as open file

ags (2.2.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed relative counters and time fraction issues
	* improved replacing hard-coded font
	* refactored AgsDial to use PangoLayout
	* refactored AgsLevel to use PangoLayout
	* refactored AgsScale to use PangoLayout
	* refactored AgsRuler to use PangoLayout
	* refactored AgsCartesian to use PangoLayout

ags (2.2.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsNotationEditor to use GUI scale factor
	* implemented AgsWaveEditor to use GUI scale factor
	* implemented AgsAutomationEditor to use GUI scale factor
	* implemented AgsRuler properties
	* implemented AgsFFPlayer to use GUI scale factor
	* improved AgsCellPattern to use GUI scale factor

ags (2.2.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsCellPattern and AgsPatternBox to use GUI scale factor
	* implemented GtkVScrollbar and GtkHScrollbar to GUI scale using slider-width and stepper-size
	* implemented GtkVScale and GtkHScale to GUI scale using slider-width

ags (2.2.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented GUI scale factor
	* implemented AgsIndicator properties
	* implemented AgsDial properties
	* improved ags_vindicator_draw() and ags_hindicator_draw() to use properties
	* improved ags_dial_draw() properties

ags (2.2.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented instance access from LV2UI
	* minor improvements

ags (2.2.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_lv2ui_plugin_test_flags(), ags_lv2ui_plugin_set_flags() and ags_lv2ui_plugin_get_flags()
	* implemented ags_base_plugin_instantiate_with_params()
	* implemented ags_lv2ui_plugin_instantiate_with_params()
	* refactored AgsLv2Bridge and AgsLiveLv2Bridge
	* improved AgsAudioApplicationContext and AgsXorgApplicationContext
	* improved lv2 plugin set flag AGS_LV2_PLUGIN_IS_SYNTHESIZER as parsing names

gs (2.2.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reenabled sync counter increment before decrement fixes a race condition

ags (2.2.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted sync counter by using conditional build

ags (2.2.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_main_loop_set_sync_tic() and ags_main_loop_get_sync_tic()

ags (2.2.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential dead-lock, it is some procedural code that makes paralellism work
	* reverted previous tree lock change

ags (2.2.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsAudioLoop and AgsGenericMainLoop to use :obj-mutex as tree lock

ags (2.2.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential dead-lock

gs (2.2.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_simple_file.c to apply logarithmic port fixup
	* improved developer's book
	* fixed spelling errors
	* fixed ags_functional_notation_editor_workflow_test_edit_all() in order to pass again

ags (2.2.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_thread_global_get_use_sync_counter() synchronize threads with reduced overhead
	* implemented ags_main_loop_sync_counter_inc()
	* implemented ags_main_loop_sync_counter_dec()
	* implemented ags_main_loop_sync_counter_test()
	* fixed memory-leak in ags_message_envelope_free()

ags (2.2.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved Lv2 program and preset logarithmic conversion

ags (2.2.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsEffectBulk and AgsBulkMember to support logarithmic ports
	* improved AgsLine, AgsEffectLine and AgsLineMember to support logarithmic ports
	* improved AgsAutomationArea to support logarithmic ports
	* improved AgsLine to properly support GtkRange and GtkSpinButton
	* fixed synced Lv2ui controls

ags (2.2.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved check if plugin port already exists

ags (2.2.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_lv2_turtle_parser_parse_names()
	* implemented partial parse of lv2 plugins
	* fixed some memory-leaks in ags_turtle_finalize()

ags (2.2.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed port index of audio port for ags-play-lv2 recall
	* fixed load of plugin for ags-play-lv2 recall

ags (2.2.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved LV2 RDF Turtle parser to handle applies to

ags (2.2.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed check NULL of filename and effect in ags_lv2_manager_find_lv2_plugin()
	* fixed check NULL of filename in ags_base_plugin_find_filename()
	* improved LV2 RDF Turtle parser to handle prefixed names

ags (2.2.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AppStream metadata license
	* fixed ags/test/X/libgsequencer.h removed include

ags (2.2.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed API Reference manual

ags (2.2.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsLv2TurtleParser
	* implemented AgsCursor interface
	* implemented AgsOscExportController
	* fixed potential SIGSEGV as reading malformed RDF Turtle
	* improved license and copyright notices for various files
	* minor improvements and fixes
	* added NEWS entry

ags (2.1.78)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented prefix id hash table of AgsTurtle

ags (2.1.77)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV in ags_simple_file.c

ags (2.1.76)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved running integration tests using automake conditional
	* improved mutexes with AgsUiProvider in ags_xorg_application_context.c
	* improved mutex in ags_playback_domain_get_audio_thread()
	* improved mutexes in ags_recall_set_staging_flags()

ags (2.1.75)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed developer's handbook deprecated use of AgsGroupId, replaced by AgsRecallID
	* fixed developer's handbook deprecated use of AgsRecall ::resolve-dependencies(), it is now ::resolve-dependency()
	* improved ags_sound_card_editor_reset() to apply backend properly

ags (2.1.74)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-copy-pattern recall to proper free GError
	* fixed ags_recycling_finalize() to free AgsUUID
	* fixed ags_thread_finalize() to free AgsUUID and other memory-leaks
	* fixed potential SIGSEGV in ags_simple_file.c

ags (2.1.73)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented use g_error_free()
	* improved ref-count of AgsInput:file-link in ags_audio_open_file_as_channel()
	* improved ref-count of AgsInput:file-link in ags_open_sf2_instrument.c
	* improved ref-count of AgsInput:file-link in ags_open_sf2_sample.c
	* improved ref-count of AgsInput:file-link in ags_open_single_file.c
	* fixed potential SIGSEGV cause by attack larger than buffer size in ags_synth_generator.c

ags (2.1.72)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented OSC meter refresh rate option

ags (2.1.71)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed OSC server meter controller type tag boundaries
	* fixed potential SIGSEGV as expanding OSC meter path

ags (2.1.70)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing ags_sound_enums.h in API reference manual
	* fixed OSC server path in docs/oscBook/chap6.xml

ags (2.1.69)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.19.8.
	* fixed non thread-safe ags_audio_loop_get_type()
	* fixed non thread-safe ags_audio_thread_get_type()
	* fixed non thread-safe ags_channel_thread_get_type()
	* fixed non thread-safe ags_soundcard_thread_get_type()
	* fixed non thread-safe ags_sequencer_thread_get_type()
	* fixed non thread-safe ags_export_thread_get_type()
	* fixed missing apply of AgsFileLink for create_channels in ags_audio_open_audio_file_as_channel()
	* fixed type float for modifying pattern bank index of AgsDrum and AgsMatrix

ags (2.1.68)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* disabled defaulted AGS_SOUND_BEHAVIOUR_REVERSE_MAPPING of AgsDrum
	* fixed missing unset of AGS_SOUND_BEHAVIOUR_REVERSE_MAPPING in ags_simple_file.c

ags (2.1.67)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong argument to g_object_unref() in ags_start_sequencer.c
	* fixed 64 bit issue in ags_copy_pattern_channel_run.c
	* fixed 64 bit issue in ags_play_notation_audio_run.c

ags (2.1.66)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong tag in OSC server manual chap6.xml
	* improved API reference manual

ags (2.1.65)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_mutex_manager_remove() to not destroy data at all
	* fixed dead-lock on kfreebsd as ags_cond_manager_remove() destroys data twice
	* improved API reference manual structure of libags_audio.xml
	* improved API reference manual structure of libgsequencer.xml

ags (2.1.64)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed accessing using wrong property name in ags_channel_get_level()
	* minor improvements and fixed memory-leaks

ags (2.1.63)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ref count of return value and calls from/to ags_audio_collect_all_audio_ports()
	* fixed ref count of return value and calls from/to ags_audio_collect_all_audio_ports_by_specifier_and_context()
	* fixed ref count of return value and calls from/to ags_channel_collect_all_channel_ports()
	* fixed ref count of return value and calls from/to ags_channel_collect_all_channel_ports_by_specifier_and_context()
	* fixed ref count of return value and calls from/to ags_channel_get_level()
	* fixed ref count of return value from ags_recycling_find_next_channel()
	* fixed ref count of return value and calls from/to ags_audio_signal_get_template()
	* fixed ref count of return value and calls from/to ags_audio_signal_get_rt_template()
	* fixed ref count of return value and calls from/to ags_recall_get_by_effect()
	* fixed memory-leak in ags_recycling_set_samplerate(), ags_recycling_set_buffer_size() and ags_recycling_set_format()

ags (2.1.62)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential unitialized pointer passing to g_object_unref()

ags (2.1.61)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_channel_next() and ags_channel_prev()
	* implemented ags_channel_next_pad() and ags_channel_prev_pad()
	* implemented ags_recycling_next() and ags_recycling_prev()
	* improved ags_channel_first() and alike to return referenced AgsChannel
	* improved many ref counts related to iterating AgsChannel
	* fixed memory-leak in ags_channel_recursive_setup_run_stage_down()

ags (2.1.60)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented reposition AgsAudio in AgsSoundProvider within UI
	* improved ags_simple_file_read_machine() to use g_list_append() to add AgsAudio
	* improved ags_add_audio_launch() to use g_list_append() to add AgsAudio
	* fixed missing mutex locks of AgsThreadApplicationContext
	* fixed missing ref count of AgsSoundProvider's getter functions
	* fixed missing ref count of AgsConcurrencyProvider's getter functions
	* minor improvements

ags (2.1.59)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing AUTHORS files
	* fixed ChangeLog missing mention of patch author
	* fixed missing contribution description in ags_eq10_audio_signal.c
	* fixed ags_parameter.c license header

ags (2.1.58)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_automation_get_value()
	* fixed missing flags during resize audio channels and pads of AgsEffectBridge

ags (2.1.57)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_effect_bulk_indicator_queue_draw_timeout() updating bulk member
	* disabled ladspa, dssi and lv2 for unit-tests by setting appropriate path
	* improved ags_devin.c to use ALSA hints
	* improved AgsAudioSignal access in ags_recycling.c
	* improved usage of g_value_unset()
	* improved removing threads in ags_apply_sound_config.c
	* fixed memory leak in ags_recycling.c as retrieving audio signal template
	* fixed accessing AgsConnectable::connect() of AgsOutputListingEditor and AgsInputListingEditor during disconnect
	* fixed missing object unref in ags_buffer_audio_signal_run_init_pre()

ags (2.1.56)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_devout.c and ags_midiin.c to use ALSA hints
	* enabled third mode of ags-envelope by audio signal length
	* enabled ags-envelope mode use-note-length of AgsSyncsynth and AgsFFPlayer
	* fixed potential SIGSEGV of LV2 presets in AgsLv2Bridge and AgsLiveLv2Bridge callbacks

ags (2.1.55)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_lv2_plugin.c to check UI iriref
	* improved LV2 presets to check iri

ags (2.1.54)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_simple_file_read_config() to modify AgsThread:max-precision and main loops frequency
	* fixed AgsThread:max-precision property specification
	* fixed wrong warning during ags_recall_dependency_resolve()
	* improved MIDI playback of ags-play-lv2 and ags-play-dssi recall to check AGS_NOTE_FEED
	* improved ags_audio_signal_feed() to use new loop algorithm

ags (2.1.53)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsSequencer::lock-buffer() and AgsSequencer::unlock-buffer()
	* added plugin property to AgsRecallLadspa, AgsRecallDssi and AgsRecallLv2
	* fixed ags_recall_lv2_run_run_inter() to test if instrument by AGS_LV2_PLUGIN_IS_SYNTHESIZER flag
	* fixed double free in ags_jack_port_finalize() and ags_pulse_port_finalize()
	* 2019-02-12 Yuri Victorovich <yuri@FreeBSD.org> (tiny change)
		- applied patches for FreeBSD
	* replaced shell expansion of directory lists in Makefile.am

ags (2.1.52)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed accessing uninitialized pointer in ags_recall_lv2_run.c
	* fixed accessing uninitialized pointer in ags_recall_ladspa_run.c
	* fixed XPath accessor to read LV2 UIs

ags (2.1.51)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed bisect algorithm of AgsNotation, AgsAutomation and AgsWave
	* fixed wrong ref-count in ags-eq10 recall

ags (2.1.50)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unit-test ags_notation_test.c

ags (2.1.49)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved bisection of AgsNotation, AgsAutomation and AgsWave
	* fixed use ags_notation_add() in ags_simple_file.c
	* fixed use ags_automation_add() in ags_simple_file.c

ags (2.1.48)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reworked object properties and accessors
	* implemented object mutex of AgsTurtle
	* fixed missing clear during set samplerate and buffer size of AgsAudioSignal
	* fixed missing clear during set samplerate and buffer size of AgsWave

ags (2.1.47)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved read machines in AgsSimpleFile before editors
	* improved hihgly inneficient ags_notation_find_offset()
	* improved bisection code
	* work-around fix default XML namespace with XPath

ags (2.1.46)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_notation_find_offset() bisection x offset of notes
	* improved ags-play-notation recall to use ags_notation_find_offset()
	* refactored ags_automation_get_value() to bisection x offset of accelerations
	* fixed AgsApplySoundConfig task to run dispose after replacing soundcard/sequencer
	* fixed set property default-output-soundcard thread of AgsChannelThread in ags_channel.c
	* fixed ags offset of timestamp during paste in AgsNotationEditor, AgsAutomationEditor and AgsWaveEditor

ags (2.1.45)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory-leak during monitor by osc server

ags (2.1.44)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV introduced in 2.1.42 related to ags_functional_osc_server_test_meter_controller()
	* fixed project_license in gsequencer.appdata.xml

ags (2.1.43)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ref-count in ags_xorg_application_context_test.c
	* fixed project_license in gsequencer.appdata.xml

ags (2.1.42)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV during grow buffer size in ags_audio_signal_set_buffer_size()
	* fixed potential SIGSEGV during grow buffer size in ags_wave_set_buffer_size()
	* fixed potential SIGSEGV during grow samplerate in ags_audio_signal_set_samplerate()
	* fixed potential SIGSEGV during grow samplerate in ags_wave_set_samplerate()
	* improved ags_functional_osc_server_test_meter_controller() to free data
	* added ags_functional_audio_config_test.c

ags (2.1.41)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsCellPattern get sequencer counter and set active led
	* improved AgsPatternBox get sequencer counter and set active led
	* improved ags_recall_find_type() and ags_recall_template_find_type() to use g_type_is_a()
	* improved CoreAudio output to use cache
	* removed calls to pango_fc_font_map_cache_clear()
	* fixed ags_pulse_audio_get_next_buffer() index excess
	* fixed AgsOscConnection and AgsOscClient missing variable on apple

ags (2.1.40)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed resample of AgsAudioSignal and AgsWave only as needed
	* fixed realloc buffer size of AgsAudioSignal and AgsWave only as needed

ags (2.1.39)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed typo in functional-system-tests.mk.am

ags (2.1.38)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored ags_wave_find_point() to do bisect
	* added  unit-system-tests.mk.am

ags (2.1.37)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed remove message monitor on AgsMachine implementation finalize

ags (2.1.36)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing seekable interface to AgsCaptureWaveChannelRun
	* fixed initial seek in AgsAudiorec
	* fixed wrong format during resample in ags_audio_signal.c
	* fixed wrong format during resample in ags_wave.c
	* fixed desktop-id in gsequencer.appdata.xml

ags (2.1.35)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsMachine signals ::samplerate-changed, ::buffer-size-changed and ::format-changed
	* implemented AgsPad signals ::samplerate-changed, ::buffer-size-changed and ::format-changed
	* implemented AgsLine signals ::samplerate-changed, ::buffer-size-changed and ::format-changed
	* implemented AgsEffectBridge signals ::samplerate-changed, ::buffer-size-changed and ::format-changed
	* implemented AgsEffectPad signals ::samplerate-changed, ::buffer-size-changed and ::format-changed
	* implemented AgsEffectLine signals ::samplerate-changed, ::buffer-size-changed and ::format-changed
	* implemented emitting message of AgsAudio's samplerate, buffer-size and format change
	* implemented emitting message of AgsChannel's samplerate, buffer-size and format change
	* implemented proper resample of AgsAudioSignal as adjusting buffer size and samplerate
	* implemented proper resample of AgsWave as adjusting buffer size and samplerate
	* fixed applying samplerate, buffer size and format to AgsSynthGenerator
	* fixed update AgsSynth and AgsSyncsynth after modifying samplerate
	* fixed adjust loop information to samplerate
	* fixed check if EBADFD available in ags_osc_client.c and ags_osc_connection.c

ags (2.1.34)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing integration test ags_check_system_functional_osc_server_test
	* improved AgsSoundcardEditor use cache option
	* improved AgsXorgApplicationContext to set cache buffer size as a multiple of buffer size
	* improved AgsApplySoundConfig to set cache buffer size as a multiple of buffer size

ags (2.1.33)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented cache options of AgsSoundcardEditor
	* implemented pulseaudio cache

ags (2.1.32)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved gsequencer.desktop
	* improved ags_xorg_application_context_prepare() open file
	* added gsequencer.appdata.xml

ags (2.1.31)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler error

ags (2.1.30)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor fixes

ags (2.1.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing datadir prefix in Makefile.am

ags (2.1.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented write xmlns to files
	* improved gsequencer.destkop.in
	* added application-x-gsequencer.xml to specify MIME handler

ags (2.1.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added gsequencer.png icons for hicolor icon theme

ags (2.1.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added OSC server documentation

ags (2.1.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed typo in prototype declaration

ags (2.1.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_soundcard_set_start_note_offset()
	* implemented ags_soundcard_get_start_note_offset()
	* implemented ags_sequencer_set_start_note_offset()
	* implemented ags_sequencer_get_start_note_offset()
	* implemented AgsSeekable of ags-play-wave recall
	* implemented AgsSeekable of ags-capture-wave recall
	* improved apply min/max audio channels and pads to instruments
	* improved AgsResizeEditor to respect min/max channel alignment
	* improved AgsResizeAudio task to resize audio channels prior to pads
	* fixed missing initial loop position of instruments

ags (2.1.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing initial loop of notation as adding AgsDssiBridge and AgsLiveDssiBridge
	* fixed missing initial loop of notation as adding AgsLv2Bridge and AgsLiveLv2Bridge
	* fixed ags_recycling_create_audio_signal_with_frame_count()

ags (2.1.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements and 2nd attempt of targeting compiler warnings

ags (2.1.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_start_audio_test.c and ags_start_channel_test.c

ags (2.1.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements and targeting compiler warnings
	* increased pulseaudio default buffer size
	* disabled pulseaudio empty buffer compensation on underflow
	* fixed potential dead-lock in ags_recall_set_property()
	* fixed potential dead-lock in ags_recall_dssi_run_set_property()
	* fixed potential dead-lock in ags_recall_lv2_run_set_property()
	* fixed potential dead-lock in ags_eq10_channel_get_property()

ags (2.1.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor improvements and targeting compiler warnings
	* added ags_start_audio_test.c
	* added ags_start_channel_test.c

ags (2.1.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved code of AgsSetBufferSize task
	* improved code of AgsSetSamplerate task
	* fixed AgsSeekSoundcard:offset set/get property
	* fixed AgsSetDevice:device set property
	* added ags_resize_audio_test.c
	* added ags_seek_soundcard_test.c
	* added ags_set_audio_channels_test.c
	* added ags_set_buffer_size_test.c
	* added ags_set_device_test.c
	* added ags_set_format_test.c
	* added ags_set_muted_test.c
	* added ags_set_samplerate_test.c

ags (2.1.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsMessageEnvelope missing struct for API comments
	* fixed potential string read boundary excess in ags_simple_file_read_oscillator()
	* improved ref count of ags_message_delivery_add_queue() and ags_message_delivery_remove_queue()

ags (2.1.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved always show add/remove port of AgsSoundcardEditor
	* fixed reading/writing AgsOscillator sync-point
	* fixed division by zero in ags_synth_util.c

ags (2.1.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* decoupled AgsJackClient for input from JACK

ags (2.1.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented reset soundcard property of AgsWindow
	* fixed AgsXorgApplicationContext ref counting
	* fixed AgsAudioApplicationContext ref counting
	* fixed add/remove pulseaudio soundcard by configuration
	* fixed add/remove JACK soundcard by configuration

ags (2.1.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsFunctionalDrumTest and AgsFunctionalFFPlayerTest to assert if directory exists
	* completed ags_functional_osc_server_test.c
	* fixed missing include in ags_play_wave_channel_run.c
	* fixed memory leaks of AgsOscFrontController
	* fixed memory leaks of AgsOscActionController
	* fixed memory leaks of AgsOscConfigController
	* fixed memory leaks of AgsOscMeterController
	* fixed memory leaks of AgsOscNodeController
	* fixed memory leaks of AgsOscRenewController
	* fixed memory leaks of AgsOscStatusController

ags (2.1.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_osc_util_decode() to return correct size

ags (2.1.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsOscServerPreferences
	* implemented parse OSC server config in ags_xorg_application_context_setup()
	* implemented data cache of OSC connection and client
	* implemented missing persistence of AgsAudio:audio-name property
	* improved read bytes of OSC connection and client

ags (2.1.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added ags_osc_client_test.c
	* added ags_osc_connection_test.c
	* added ags_functional_osc_server_test.c

ags (2.1.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing include of signal.h in ags_audio_application_context.c
	* fixed ags_thread_add_start_queue() and ags_thread_add_start_queue_all() to use correct mutex
	* fixed ags_functional_audio_test.c removed wrong code starting threads twice

ags (2.1.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_osc_server_add_default_controller()
	* improved AgsOscServer ::start() and ::stop()
	* fixed timeout of ags_osc_front_controller_delegate_thread()
	* fixed ags_play_channel_run_master_remap_dependencies() to check if AgsRecallID present
	* added ags_osc_status_controller_test.c
	* added ags_osc_front_controller_test.c
	* added ags_osc_server_test.c

ags (2.1.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsMidiin, AgsJackMidiin and AgsCoreMidiing unitialized pointer
	* added ags_osc_config_controller_test.c
	* added ags_osc_info_controller_test.c

ags (2.1.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored AgsOscRenewController allowing you to use ranges and wildcards
	* refactored AgsOscNodeController allowing you to use ranges and wildcards
	* refactored AgsOscMeterController allowing you to use ranges and wildcards
	* fixed OSC controllers missing path matching recall
	* fixed ags_osc_buffer_util.c to do shift operator using guint64
	* fixed ags_osc_buffer_util_get_rgba() to access using correct index
	* fixed ags_osc_buffer_util_get_midi() to access using correct index
	* fixed ags_osc_buffer_util_get_packet() to read packet size
	* added ags_osc_buffer_util_test.c
	* added ags_osc_renew_controller_test.c
	* added ags_osc_node_controller_test.c
	* added ags_osc_meter_controller_test.c
	* added ags_osc_action_controller_test.c

ags (2.1.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor fixes

ags (2.1.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor fixes

ags (2.1.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented rename audio in context menu
	* fixed ags-delay recall to listen to AgsSoundcard::tic() event
	* minor improvements

ags (2.1.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing symbol export

ags (2.1.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing symbol

ags (2.1.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAudio:audio-name property
	* implemented AgsSetDevice task
	* implemented AgsStopSoundcard task
	* implemented AgsStopSequencer task
	* implemented AgsApplySoundConfig task
	* implemented ags_osc_util.c
	* implemented ags_osc_buffer_util.c
	* implemented ags_osc_parser.c
	* implemented ags_osc_builder.c
	* implemented ags_osc_client.c
	* implemented ags_osc_server.c
	* implemented ags_osc_connection.c
	* implemented ags_osc_response.c
	* implemented ags_osc_front_controller.c
	* implemented ags_osc_info_controller.c
	* implemented ags_osc_status_controller.c
	* implemented ags_osc_config_controller.c
	* implemented ags_osc_action_controller.c
	* implemented ags_osc_meter_controller.c
	* implemented ags_osc_node_controller.c
	* implemented ags_osc_renew_controller.c
	* fixed ags_front_controller_do_request() prototype declaration
	* fixed ags_local_factory_controller_create_instance() prototype declaration

ags (2.0.38)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed configure argument enable_run_functional_tests

ags (2.0.37)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing symbols

ags (2.0.36)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* install ags/config.h in include directory
	* implemented AgsIpatchDLS2Reader and AgsIpatchGigReader
	* implemented AgsConnectable interface of AgsAudioContainer and AgsAudioFile
	* implemented AgsConnectable interface of AgsIpatch and AgsSndfile
	* implemented AgsConnectable interface of AgsIpatchDLS2Reader, AgsIpatchGigReader and AgsIpatchSF2Reader
	* implemented thread-safety of AgsAudioContainer and AgsAudioFile
	* implemented thread-safety of AgsIpatch and AgsSndfile
	* implemented thread-safety of AgsIpatchDLS2Reader, AgsIpatchGigReader and AgsIpatchSF2Reader
	* implemented ags_char_buffer_util.c
	* improved conditional compilation with libinstpatch and exclude AgsFFPlayer
	* added configure option to enable functional tests
	* added ags_connectable_test.c
	* added ags_soundcard_test.c
	* added ags_reset_peak_test.c
	* added ags_reset_amplitude_test.c

ags (2.0.35)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_apply_bpm_recall() wrong parameter order
	* fixed AgsRemoveNote task
	* modified default buffer size in config
	* modified default buffer size in ags_soundcard.h
	* added ags_add_audio_test.c
	* added ags_add_audio_signal_test.c
	* added ags_add_effect_test.c
	* added ags_add_note_test.c
	* added ags_add_soundcard_test.c
	* added ags_apply_bpm_test.c
	* added ags_apply_presets_test.c
	* added ags_apply_sequencer_length_test.c
	* added ags_apply_synth_test.c
	* added ags_apply_tact_test.c
	* added ags_cancel_audio_test.c
	* added ags_cancel_channel_test.c
	* added ags_clear_audio_signal_test.c
	* added ags_clear_buffer_test.c
	* added ags_crop_note_test.c
	* added ags_export_output_test.c
	* added ags_free_selection_test.c
	* added ags_link_channel_test.c
	* added ags_move_note_test.c
	* added ags_notify_soundcard_test.c
	* added ags_remove_audio_test.c
	* added ags_remove_audio_signal_test.c
	* added ags_remove_note_test.c
	* added ags_remove_soundcard_test.c

ags (2.0.34)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing ags-feed recall in factory
	* fixed missing property AgsAnalyseChannel:buffer-cleared
	* fixed ags_copy_channel_new() to use correct property AgsRecallChannel:source
	* fixed ags_copy_pattern_audio_new() to use correct type to set bank-index-0 and bank-index-1
	* fixed ags_peak_channel_new() to use correct property AgsRecallChannel:source
	* added ags_recall_recycling_test.c
	* added ags_envelope_audio_signal_test.c
	* added ags_eq10_audio_signal_test.c
	* added ags_feed_audio_signal_test.c
	* added ags_mute_audio_signal_test.c
	* added ags_peak_audio_signal_test.c
	* added ags_play_audio_signal_test.c
	* added ags_prepare_audio_signal_test.c
	* added ags_stream_audio_signal_test.c
	* added ags_volume_audio_signal_test.c
	* added ags_analyse_channel_test.c
	* added ags_buffer_channel_test.c
	* added ags_capture_wave_audio_test.c
	* added ags_capture_wave_channel_test.c
	* added ags_copy_channel_test.c
	* added ags_copy_pattern_audio_test.c
	* added ags_copy_pattern_channel_test.c
	* added ags_count_beats_audio_test.c
	* added ags_delay_audio_test.c
	* added ags_envelope_channel_test.c
	* added ags_eq10_channel_test.c
	* added ags_mute_audio_test.c
	* added ags_mute_channel_test.c
	* added ags_peak_channel_test.c
	* added ags_play_audio_test.c
	* added ags_play_channel_test.c
	* added ags_play_wave_audio_test.c
	* added ags_play_wave_channel_test.c
	* added ags_record_midi_audio_test.c
	* added ags_route_dssi_audio_test.c
	* added ags_route_lv2_audio_test.c
	* added ags_volume_channel_test.c

ags (2.0.33)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed 32/64 bit issues in ags_recycling_context.c
	* fixed ags-copy recall
	* added ags_buffer_audio_signal_test.c
	* added ags_copy_audio_signal_test.c

ags (2.0.32)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSpectrometer and AgsEqualizer10 missing recall factory effects
	* fixed possible infinite loop in ags_recycling_context.c
	* fixed possible floating point exception in ags_synth_generator.c
	* completed ags_recycling_context_test.c
	* renamed ags_functional_editor_workflow_test.c to ags_functional_notation_editor_workflow_test.c
	* added ags_functional_automation_editor_workflow_test.c
	* added ags_synth_generator_test.c
	* added ags_analyse_audio_signal_test.c

ags (2.0.31)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented missing properties AgsAudio:min-audio-channels, AgsAudio:min-output-pads and AgsAudio:min-input-pads
	* fixed ags_recycling_context_remove() potential memory corruption
	* populated ags_audio_buffer_util_test.c
	* added ags_char_buffer_util_test.c skelleton
	* added ags_devin_test.c
	* added ags_fifoout_test.c
	* added ags_midi_test.c
	* added ags_track_test.c
	* added ags_recall_id_test.c
	* added ags_recycling_context_test.c

ags (2.0.30)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler error

ags (2.0.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_buffer_test_duplicate() to pass on x86 systems

ags (2.0.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong types in ags_buffer.c
	* fixed wrong types in ags_jack_client.c
	* populated partially ags_audio_buffer_util_test.c

ags (2.0.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_ladspa_browser_callbacks.c to obtain GtkComboBox model
	* fixed missing property AgsLadspaConversion:samplerate
	* fixed prototypes in ags_synth_util.h
	* added ags_buffer_util_test.c
	* added ags_ladspa_conversion_test.c
	* added ags_lv2_conversion_test.c
	* added ags_plugin_port_test.c

ags (2.0.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added ags_conversion_test.c
	* added ags_wave_test.c
	* added ags_buffer_test.c

ags (2.0.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added shortcuts to fluid soundfonts and hydrogen drumkits
	* improved default size of AgsConnectionEditor
	* improved all labels upper-case of AgsNotationToolbar, AgsAutomationToolbar and AgsWaveToolbar
	* fixed check child == NULL in ags_output_listing_editor.c and ags_input_listing_editor.c
	* fixed missing include in gsequencer_main.c

ags (2.0.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed compiler errors

ags (2.0.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* disabled gtk fatal mask
	* improved AgsRampAccelerationDialog to use proper step count

ags (2.0.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing includes
	* fixed missing thread-safe properties of AgsTask

ags (2.0.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing chapter
	* added missing image wave toolbar of user's handbook
	* minor improvements

ags (2.0.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* updated the docs user's and developer's handbook
	* added new AgsSpectrometer, AgsEqualizer10 and AgsAudiorec machines to the user's handbook
	* replaced most of the screenshot for the user's handbook
	* fixed missing gtkrc entry of AgsSelectBufferDialog and AgsPositionWaveCursorDialog
	* fixed ags_pattern_envelope_set_preset_property()
	* fixed AgsRampAccelerationDialog

ags (2.0.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed notation editor missing segments as zoom bigger than 1:1
	* fixed timestamp issue in notation eidtor

ags (2.0.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audio export's bad behaviour on sequencer termination after

ags (2.0.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unsafe child access in ags_recall.c
	* fixed ags-route-lv2 recall no playback
	* fixed ags-dssi recall no playback for note length 1
	* fixed ags-lv2 recall no playback for note length 1

ags (2.0.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_audio_buffer_util_envelope_*() to compute correct current volume
	* fixed ags-envelope recall read missing ratio value
	* fixed AgsEnvelopeDialog initial values

ags (2.0.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong one more offset calculation problem in ags-capture-wave and ags-play-wave

ags (2.0.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-capture-wave and ags-play-wave recall to use correct offset

ags (2.0.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsWaveLoader
	* implemented AgsAudiorec file loading animation
	* fixed set property of AgsLv2Worker:returnable-thread

ags (2.0.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* enabled recursive property reset during ags_channel_set_link() and fixed apply on output

ags (2.0.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing AGS_SOUND_ABILITY_PLAYBACK of plugin bridge's AgsAudio
	* partial rewrite of ags_envelope_audio_signal_run_inter()
	* fixed to many calls to the dispatcher
	* disable recursive property reset during ags_channel_set_link()

ags (2.0.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsMidiDialog non existing property use correct one "input-sequencer"
	* fixed free of unitialized GList in ags_effect_bridge.c
	* fixed DSSI and LV2 machines to use correct recall context
	* fixed dead-lock in ags_lv2_urid_manager.c
	* implemented missing properties AgsPlayDssi:bank and AgsPlayDssi:program
	* added missing AGS_SOUND_ABILITY_PLAYBACK of instrument's AgsAudio

ags (2.0.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted previously introduced but in ags-capture-wave
	* fixed ags-play-wave wrong offset calculation
	* fixed output/input soundcard editor to reset audio channel to -1 if no soundcard
	* fixed automation editor SIGSEGV due to NULL pointer dereference
	* fixed missing port in automation editor
	* fixed all sorts of automation related issues

ags (2.0.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing ability flags in sound generator machines related to channel scope

ags (2.0.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed some properties of AgsJackServer and AgsJackClient
	* fixed some properties of AgsPulseServer and AgsJackClient
	* fixed some properties of AgsCoreAudioServer
	* work-around for jack_port_set_name() resulting conflict as ags_soundcard_set_device()

ags (2.0.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed not thread-safe access to recall in ags_lv2_bridge.c
	* fixed freed not duplicated string
	* fixed double free in ags_bulk_member_finalize()

ags (2.0.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing audio data after capture default duration

ags (2.0.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing trailing audio after open wave

ags (2.0.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong recall access in AgsDssiBridge, AgsLv2Bridge, AgsLiveDssiBridge and AgsLiveLv2Bridge

ags (2.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_note_new_with_offset() prototype
	* fixed ags_recall_factory_create_buffer() to do safe iteration
	* fixed ags_functional_ffplayer_test to use correct parameter for pthread_join()
	* fixed ags_functional_test_util.c to check if realized
	* fixed use of unitialized value in ags_effect_bulk_real_resize_pads()
	* fixed NULL pointer dereference of AgsApplicationClass in ags_xorg_application_context.c
	* implemented ags_functional_test_util_idle_test_widget_realized()

ags (2.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor bug-fixes

ags (2.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsChannel to listen to AgsRecall::child-done()
	* implemented AgsInputCollectionEditor, AgsInputListingEditor and AgsInputEditor
	* implemented ags_soundcard_lock_buffer() and ags_soundcard_unlock_buffer()
	* implemented audio input properties
	* implemented AgsWaveWindow, AgsWaveEditor, AgsWaveToolbar and AgsWaveEdit
	* implemented AgsSelectBuffer and AgsPositionWaveCursor
	* implemented AgsWave and AgsBuffer
	* implemented ags-play-wave recall
	* implemented ags-capture-wave recall
	* implemented ags-copy-pattern recall plugin port for automation
	* implemented AgsAudiorec
	* new ags_globals.[ch]
	* new ags_uuid.[ch]
	* new ags_midi.[ch]
	* new ags_track.[ch]
	* new ags_char_buffer_util.[ch]
	* new ags_sound_container.[ch]
	* new ags_sound_resource.[ch]
	* new ags_wav_file.[ch]
	* new ags_soundcard_util.[ch]
	* new ags_plugin_port.[ch]
	* incompatible AgsBasePlugin::instantiate() function prototype
	* added ags_connectable_has_resource()
	* added ags_audio_done_recall()
	* replaced AgsDistributedManager by AgsSoundServer
	* added propertiy :output-soundcard to AgsAudio, AgsChannel, AgsRecycling, AgsAudioSignal and AgsRecall
	* added propertiy :input-soundcard to AgsAudio, AgsChannel, AgsRecycling, AgsAudioSignal and AgsRecall
	* replaced use of GParameter by string vector and value array of AgsMessageEnvelope
	* replaced use of GParameter by string vector and value array of AgsPreset
	* replaced AgsPortDescriptor struct by AgsPluginPort object
	* modified prototype of ags_audio_collect_all_audio_ports_by_specifier_and_context()
	* modified prototype of ags_midi_file_read_*()
	* modified prototype of ags_synth_generator_compute()
	* modified return type of ags_channel_add_effect() to AgsRecall
	* renamed g_cclosure_user_marshal_* to ags_cclosure_marshal_*
	* renamed ags_connectable_connect_scope() to ags_connectable_connect_connection()
	* renamed ags_connectable_disconnect_scope() to ags_connectable_disconnect_connection()
	* renamed AgsRecallChannelDummyRun to AgsGenericRecallChannelRun
	* renamed AgsRecallRecyclingDummy to AgsGenericRecallRecycling
	* renamed ags_audio_play_recall()
	* renamed ags_audio_cancel_recall()
	* renamed ags_audio_signal_find_by_recall_id()
	* renamed ags_audio_signal_find_stream_current()
	* removed ags_connection_manager.[ch]
	* removed ags_connection.[ch]
	* removed ags_packable.[ch]
	* removed ags_recall_load_automation() and ags_recall_unload_automation()
	* removed property :soundcard from AgsAudio, AgsChannel, AgsRecycling, AgsAudioSignal and AgsRecall
	* removed ags_audio_connection.[ch]
	* removed ags_message.[ch]
	* removed ags_playable.[ch]
	* removed ags_audio_remove()
	* removed ags_channel_safe_resize_audio_signal()
	* removed ags_channel_recursive_play_init()
	* removed ags_channel_tillrecycling_cancel()
	* removed ags_channel_recursive_reset_recall_ids()
	* removed ags_channel_recursive_reset_recycling_context
	* removed ags_channel_recursive_reset_recall_id
	* removed ags_channel_recursive_init
	* removed ags_channel_recursive_run
	* removed ags_channel_recursive_cancel
	* removed ags_channel_recursive_play_threaded
	* removed ags_channel_recursive_play
	* removed ags_audio_signal_realloc_buffer_size()
	* removed ags_audio_signal_tile()
	* removed ags_audio_signal_scale()
	* removed ags_synth_generator_compute_extended()
	* removed ags_synth_generator_compute_with_audio_signal()
	* removed ags_play_note.[ch]
	* removed ags_play_audio_file.[ch]

ags (1.4.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* work-around reverted pulseaudio GMainLoop integration
	* implemented property AgsBasePlugin:id
	* improved ags_lv2_manager.c to be faster

ags (1.4.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_functional_audio_test.c to create notation as needed
	* defaulted to disable OSS4 dependency

ags (1.4.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_audio_set_audio_channels() to remove unneeded notation, automation and wave objects

ags (1.4.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed copy to clipboard in AgsMatrix and AgsDrum

ags (1.4.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed playback scope
	* fixed wrong count of runs and init code in ags_channel.c
	* minor-fixes

ags (1.4.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV during ags_recall_dssi_run_finalize()
	* fixed potential SIGSEGV during ags_recall_lv2_run_finalize()
	* removed redundant code in ags_simple_file.c

ags (1.4.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* replaced pa_mainloop_new() by pa_glib_main_loop_new()
	* minor changes

ags (1.4.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsLiveDssiBridge and AgsLiveLv2Bridge notation editor channel mapping

ags (1.4.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed restore of AgsPattern
	* fixed ags_open_file.c to use correct file link
	* fixed async-safe ags_simple_file_read_machine()

ags (1.4.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_apply_synth.c to update rt-template
	* improved ags_clear_audio_signal.c to update rt-template

ags (1.4.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsRecallID:recycling property
	* improved mutex lookup of rt-safe functions

gs (1.4.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor-fixes to updating AGS_AUDIO_SIGNAL_RT_TEMPLATE

ags (1.4.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AGS_AUDIO_SIGNAL_RT_TEMPLATE
	* implemented AgsAudioSignal::rt-template property
	* improved rt-safe option

ags (1.4.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing rt-safe configuration option

ags (1.4.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented configuration of AgsThreadPool:max-unused-threads and AgsThreadPool:max-threads
	* improved ags_performance_preferences_reset() to reset super-threaded scope

ags (1.4.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsPreferences to apply conservative default configuration

ags (1.4.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* conservative default configuration
	* fixed SIGSEGV as configuring super-threaded scope audio
	* fixed SIGSEGV during ags_channel_recursive_cancel()

ags (1.4.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed mutex access in ags_apply_bpm.c
	* fixed crash during ags_recycling_context_reset() and ags_channel_recursive_play_down()
	* updated gtk-doc related files

ags (1.4.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed looped audio signal

ags (1.4.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* more-fixes to return from unneeded processing

ags (1.4.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed return from unneeded processing

ags (1.4.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented rt-safe mode
	* implemented ags-rt-stream recall
	* implemented AgsLevel, AgsLevelBox, AgsVLevelBox, AgsHScaleBox and AgsScrolledScaleBox in libags-gui
	* fixed potential SIGSEGV in ags_devout_pcm_info()

ags (1.3.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved use of paned widgets to use GtkViewport

ags (1.3.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_notation.c and ags_automation.c to always match timestamp
	* increased timeouts of functional tests because build environment might have not much power

ags (1.3.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed paste only as within defined offset of AgsNotation and AgsAutomation
	* fixed ags_notation_edit_draw_selection() to use vscrollbar to determine y offset
	* improved selection to select only within area

ags (1.3.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed buffer-overflow in ags_synth_generator.c
	* improved ags.rc

ags (1.3.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed possible unitialized AgsAudioSignal in AgsApplySynth
	* fixed all wrong string vector static initializers from char **strv to char *strv[]
	* fixed arbritary return in drawing functions without destroying cairo_t

ags (1.3.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed accessing uninitialized pointer in ags_simple_file.c
	* fixed cursor positioning in AgsAutomationEditor
	* improved position labels of AgsNotationToolbar and AgsAutomationToolbar
	* updated ags_notation_test_find_near_timestamp() and ags_automation_test_find_near_timestamp()
	* minor-fixes in ags.rc

ags (1.3.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented 4 paste modes of notation and automation editor
	* implemented AgsScale, AgsScaleBox, AgsVScaleBox, AgsHScaleBox and AgsScrolledScaleBox in libags-gui
	* implemented segmented automation
	* refactored AgsAutomationEditor
	* extended chap1.xml added sections about AgsMainLoop and common interfaces
	* extended all chapters to provide code tag to functions and added parameter types
	* fixed direct callback connect from libags-audio in ags_notation_editor.c
	* fixed missing callback AgsMachine::resize-audio-channels connect in ags_notation_editor.c

ags (1.2.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_channel_get_level()
	* implemented ags_channel_recursive_reset_recall_id()
	* implemented ags_channel_recursive_init()
	* implemented ags_channel_recursive_run()
	* implemented ags_channel_recursive_cancel()
	* refactored ags_channel_recursive_play_init()
	* refactored ags_channel_recursive_play()
	* refactored ags_channel_recursive_play_threaded()
	* refactored ags_channel_recursive_reset_recall_ids()
	* improved ags_channel_set_recycling()
	* improved ags_channel_recursive_reset_recycling_context()

ags (1.2.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* disable fatal mask
	* minor fixes

ags (1.2.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential SIGSEGV due to NULL pointer dereference in ags_append_audio.c task

ags (1.2.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor-fixes

ags (1.2.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV in ags_channel_set_recycling() and make ags_functional_machine_link_test pass
	* rollback ags_channel_recursive_play_init(), ags_channel_recursive_play() and ags_channel_tillrecycling_cancel()

ags (1.2.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented async message AgsConnection:data-object and AgsAudioConnection:mapped-line
	* implemented ags_audio_disconnect()
	* improved thread-safety to AgsLine:channel and AgsEffectLine:channel properties
	* improved thread-safety AgsPatternBox and AgsCellPattern
	* improved thread-safety all audio tasks
	* improved thread-safety during ags_channel_set_link() and related
	* improved thread-safety during ags_channel_recursive_play_init() and related
	* improved thread-safety during ags_channel_recursive_cancel()
	* improved tasks which need to lock audio especially using AgsCropNote and AgsMoveNote
	* fixed change soundcard task since data-object was resetted for all connections
	* fixed AgsMoveNote and AgsCropNote to support segmented notation
	* fixed various NULL pointer dereference of mutices
	* minor-fixes

ags (1.2.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed remaining launch callback of AgsTask while destroy AgsMachine
	* minor-fixes

ags (1.2.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsNotationEditor and AgsNotationEdit
	* replaced AgsEditor by AgsNotationEditor and supporting segmented notation
	* replaced AgsNoteEdit and AgsPatternEdit by AgsNotationEdit
	* implemented AgsMessageDelivery and AgsMessageQueue
	* implemented messages of AgsAudio ::set-audio-channels, ::set-pads and ::done
	* implemented messages of AgsChannel ::add-effect, ::remove-effect and ::done
	* implemented AgsPiano and AgsScrolledPiano
	* implemented AgsDevin
	* implemented AgsJackDevin
	* implemented AgsPulseDevin
	* refactored direct callbacks to UI by replacing with messages
	* refactored ::set-audio-channels and ::set-pads of AgsAudio callbacks to be thread-safe
	* disabled AgsGuiThread synchronization with AgsTaskThread
	* extended AgsJackServer and AgsJackClient to support AgsJackDevin
	* extended AgsPulseServer, AgsPulseClient and AgsPulsePort to support AgsPulseDevin
	* extended AgsSwitchBufferFlag and AgsClearBuffer to support AgsDevin, AgsJackDevin and AgsPulseDevin
	* refactored AgsNotebook to be generic and move to libags-gui
	* improved ags-play-notation to support segmented notation
	* improved ags-record-midi to support segmented notation
	* improved ags-route-dssi to support segmented notation
	* improved ags-route-lv2 to support segmented notation
	* improved AgsSimpleFile to support segmented notation
	* fixed missing any_signal:: prefix of strings passing as pspec to g_object_disconnect()
	* use $(docdir) in Makefile.am

ags (1.1.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* moved GtkStyle allocation to GtkWidget::realize()
	* fixed potential infinite loop during audio port related automation
	* fixed ags.rc
	* increased AGS_THREAD_POOL_DEFAULT_MAX_UNUSED_THREADS

ags (1.1.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing style initializer of some widgets

ags (1.1.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added support for ALSA default device
	* modified functional tests to use default device
	* modified ags_devout.c to apply device identifier fixup
	* minor bug-fixes

ags (1.1.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_synth_generator_compute_extended() to deal with x <= 0.0 using floor()
	* fixed if-statements in ags_synth_generator_compute_extended() not to do array index excess

ags (1.1.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_synth_generator_compute_extended() to deal with x <= 0.0

ags (1.1.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_cancel_audio_new() to use properties
	* fixed ags_set_samplerate_new() to use properties

ags (1.1.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGSEGV in ags_synth_generator_compute_extended() because NULL pointer dereference
	* fixed SIGSEGV in ags_oscillator.c caused by wrong assigned array index

ags (1.1.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_synth_generator_compute_extended()
	* implemented AgsSynthGenerator:delay property
	* implemented needed properties of AgsApplySynth in order to use ags_synth_generator_compute_extended()
	* implemented AgsPositionNotationCursor
	* implemented AgsPositionAutomationCursor
	* refactored AgsApplySynth to use ags_synth_generator_compute_extended()
	* refactored ags_syncsynth_update() and ags_synth_update() to apply triple sync
	* refactored AgsOscillator to have triple sync
	* refactored AgsOscillator persistence in ags_simple_file.c
	* refactored ags_oscillator_disconnect() to use g_object_disconnect()
	* fixed possible SIGSEGV due to AgsXorgApplicationContext::dispose() as not using property in ags_start_soundcard_new()

ags (1.0.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* extended documentation of libags and libags-audio to have comments for enums
	* fixed missing xinclude

ags (1.0.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing ags-prepare recall related gtk-doc
	* fixed all interfaces to name inherited type field ginterface instead of interface
	* fixed gtk-doc fixup to do sed using globbing
	* fixed following additional / by gtk-doc fixup

ags (1.0.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed possible SIGSEGV in ags_synth_generator_compute_with_audio_signal()
	* fixed missing includes of stdlib.h
	* fixed user's handbook removed unneeded column in tables

ags (1.0.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added missing screenshots to tarball

ags (1.0.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved max-precision configuration preferences to proper reset
	* improved ags_notebook_size_request() to always use -1 as requisition width
	* improved AgsRampAccelerationDialog to use 2 digits after decimal point
	* improved AgsSelectAccelerationDialog to use 2 digits after decimal point
	* extended user's manual and replaced all screenshots
	* added section "Envelope editor" to chapter 2
	* added section "Envelope info" to chapter 2
	* added section "Envelope pattern" to chapter 2
	* added section "Move notes" to chapter 3
	* added section "Crop notes" to chapter 3
	* added section "Select notes" to chapter 3
	* added section "Select acceleration" to chapter 5
	* added section "Ramp acceleration" to chapter 5
	* updated gtk-doc related Since field to have value 1.0.0
	* fixed missing ags.rc entries of AgsSelectNoteDialog, AgsMoveAccelerationDialog, AgsSelectAccelerationDialog and AgsRampAccelerationDialog

ags (1.0.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented :thread-pool property of AgsReturnableThread
	* implemented :max-precision of AgsThread
	* implemented configuration option of thread's max-precision property
	* implemented sticky controls
	* improved LV2UI plugin support to set controls value
	* fixed wrecked widget allocation of AgsEditor and AgsAutomationEditor

ags (1.0.0-beta)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsPasswordStore and AgsAuthentication interfaces
	* TODO:JK: implemented destroy functions
	* TODO:JK: implemented iterator and recycling thread
	* TODO:JK: implemented AgsAbstractBasePluginManager
	* TODO:JK: implemented AgsPluginFactory
	* TODO:JK: implemented missing interface functions of AgsConnectable, ...
	* TODO:JK: implemented MIDI and sequencer API
	* TODO:JK: refactored AgsLadspaManager, AgsDssiManager, AgsLv2Manager and AgsLv2uiManager to inherit of AgsAbstractBasePluginManager
	* TODO:JK: extended AgsSoundProvider interface to provide plugin managers
	* extended AgsServiceProvider interface to provide managers

ags (0.9.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsRampAccelerationDialog
	* implemented AgsSelectAccelerationDialog
	* implemented AgsSelectNoteDialog
	* improved functional-tests.mk to solve linker issue with circular dependency
	* improved unit-tests.mk to linker issue with circular dependency
	* added AGS_RECALL_RUN_FIRST and AGS_RECALL_RUN_LAST flags
	* fixed ags_turtle_load() buffer index excess
	* fixed ags_functional_note_edit_test.c array index excess in main()
	* fixed double free of string in ags_lv2_browser_plugin_uri_callback()

ags (0.9.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsGuiThread minimum sync count with AgsTaskThread

ags (0.9.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved conversion to floating point numbers by division instead of multiplication

ags (0.9.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* non-destructive soundcard/sequencer preferences notify about restart GSequencer
	* removed all calls to gdk_threads_enter() and gdk_threads_leave() because the
	  GSource it is synced with owns the lock.
	* full gtk_main() support by calling ags_gui_thread_do_run()
	* refactored ags_gui_thread.[ch]
	* refactored functional tests to run with gtk_main()

ags (0.9.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved JACK latency but may cause bigger load

ags (0.9.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented core-audio related code but without MIDI instrument support
	* refactored UI to schedule tasks by AgsGuiThread
	* fixed memory-leaks related to cairo_t
	* improved plugins search path you may now specify by environment variable

ags (0.9.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed possible SIGSEGV as accessing removed soundcard or midi sequencer

ags (0.9.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* trick pulseaudio pass to pa_stream_begin_write() n_bytes 0

ags (0.9.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved pulseaudio restart stream

ags (0.9.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved pulseaudio eliminate feedback

ags (0.9.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* provide quadratic and practical icon size
	* improved pulseaudio underflow detection
	* fixed pulseaudio non-initialized value might be a buffer-overflow

ags (0.9.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-oscillator-list restore failed due to typo

ags (0.9.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed read of not finished write buffer during export audio file
	* fixed AgsExportWindow file exists response
	* fixed AgsExportWindow dead-lock during cancel of not existing playback
	* improved gsequencer.desktop to provide png file

ags (0.9.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* provide context menu

ags (0.9.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved gtk-doc installation and introduced fix-local-html and fix-online-html target
	* fixed missing check for NULL of gtk_combo_box_text_append_text() parameter in all source code
	* fixed missing LV2_UI cleanup handling
	* fixed missing pulseaudio backend in AgsExportSoundcard

ags (0.9.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_pulse_port_get_latency()
	* improved throughput of pulseaudio by timed cond on stream request callback
	* fixed possible SIGSEGV as ags_channel_reset_recall_id()

ags (0.9.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags_devout_adjust_delay_and_attack() and related
	* improved AgsPulsePort to omit polling thread twice
	* fixed missing volatile of AgsPollingThread's flags
	* fixed destroy machine crash during playback

ags (0.9.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added mutices to AgsJackServer and AgsPulseServer
	* fixed memory leaks of mutices in AgsPulseClient, AgsJackClient, AgsPulsePort and AgsJackPort
	* fixed wrong parent class of dispose in ags_pulse_server.c and ags_jack_server.c
	* fixed data-race during playback termination in ags_pulse_devout_port_free()
	* fixed ags_application_context initialization if NULL (note might be reverted, soon)

ags (0.9.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing initial configuration of pulseaudio
	* improved throughput of pulseaudio by using maxlength of stream -1
	* improved clear buffer task to let ring-buffer being valid longer

ags (0.9.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_pulse_server.c, ags_pulse_client.c and ags_pulse_port.c
	* implemented ags_pulse_devout.c
	* refactored AgsSoundcardEditor to work with pulseaudio, too
	* fixed memory leak related to mutex and its attributes for AgsDevout, AgsMidiin, AgsJackDevout and AgsJackMidiin
	* fixed missing paranthesis to check flags in ags_devout.c, ags_midiin.c, ags_jack_devout.c and ags_clear_buffer.c

ags (0.9.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_input_apply_synth() and ags_input_apply_synth_extended()
	* fixed ags_syncsynth_reset_loop() to use attack to calculate loop upper
	* fixed ags_recall_container_find() and its flags to enumerate correctly
	* fixed ags_thread_pool_creation_thread() to check parent for NULL
	* enabled unit-test ags_input_test.c because not tested
	* new unit-test ags_midiin_test.c
	* new unit-test ags_output_test.c
	* new unit-test ags_playback_domain_test.c
	* new unit-test ags_playback_test.c
	* new unit-test ags_preset_test.c
	* new unit-test ags_recall_channel_test.c
	* new unit-test ags_recall_channel_run_test.c
	* new unit-test ags_recall_container_test.c
	* new unit-test ags_recall_dependency_test.c

ags (0.9.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented pass base-note to AgsApplySynth
	* fixed missing base-note, audio-loop-start and audio-loop-end while read/write XML
	* fixed missing attack as calculating stream size
	* fixed ags_synth_util_get_xcross_count() and related functions

ags (0.9.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_lv2_option_manager_lookup_extended()
	* implemented ags_lv2_plugin_event_buffer_alloc()
	* implemented ags_lv2_plugin_event_buffer_realloc_data()
	* implemented ags_lv2_plugin_event_buffer_concat()
	* implemented ags_synth_util_get_xcross_count() and related type specific implementations
	* implemented ags_synth_generator_compute()
	* implemented ags_synth_generator_compute_with_audio_signal()
	* deprecated ags_lv2_plugin_alloc_event_buffer()
	* deprecated ags_lv2_plugin_concat_event_buffer()
	* implemented ags_lv2_urid_manager_unmap()
	* implemented AgsSyncsynth in order to have true notation available to a synth
	* implemented ags_synth_generator_compute()
	* implemented ags_synth_generator_compute_with_audio_signal()
	* refactored AgsOscillator in order to be reusable
	* refactored AgsApplySynth task to use new synth generator functions
	* completed missing gtk-doc comments in ags_input.c and other files
	* fixed AgsExportSoundcard to don't add device as being NULL
	* fixed ags_lv2_option_manager_get_option() to lookup correctly
	* fixed ags_lv2_option_manager_set_option() to lookup correctly
	* new unit-test ags_lv2_option_manager_test.c
	* new unit-test ags_lv2_plugin_test.c
	* new unit-test ags_lv2_preset_test.c
	* new unit-test ags_lv2_uri_map_manager_test.c
	* new unit-test ags_lv2_urid_manager_test.c
	* new unit-test ags_lv2_worker_manager_test.c
	* new unit-test ags_lv2ui_manager_test.c
	* new unit-test ags_lv2ui_plugin_test.c
	* new unit-test ags_audio_connection_test.c
	* disabled new unit-test ags_input_test.c because not tested

ags (0.9.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented new task AgsResetPeak
	* implemented ags_audio_buffer_util_peak() and related
	* refactored ags-peak recall to use above and compute only as needed

ags (0.9.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory leak related to mutex attributes
	* fixed deny multi-start of AgsChannelThread or AgsAudioThread
	* fixed deny multi-stop of AgsChannelThread or AgsAudioThread
	* minor code improvements

ags (0.9.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed many missing return values
	* fixed some unitialized pointers
	* fixed 64 bit portability issue in ags_recall_template_find_all_type()

ags (0.9.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unitialized pointer in AgsCellPattern and AgsPatternBox animation

ags (0.9.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed possible concurrent access in ags-peak related code
	* fixed led array related bug that didn't show animation of AgsCellPattern and AgsPatternBox

ags (0.9.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash after drum restore and doing sequencer playback

ags (0.9.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed possible concurrent access in ags_cell_pattern.c
	* fixed finalize to call parent class of managers
	* fixed finalize to reset global variable after finalize of managers
	* fixed g_list_position() call to have nested g_list_find() in ags_polling_thread.c
	* fixed missing return in ags_destroy_entry_alloc()
	* fixed AGS_TASK_GET_CLASS() macro to remove not opened paranthesis
	* fixed ags_thread_init() to correct assign condition manager
	* fixed AGS_FILE_CHECKSUM_LENGTH macro to use string representation length
	* fixed missing serialization of thread frequency
	* fixed missing return of ags_file_write_thread()
	* extended chap3.xml to include documentation about workers
	* extended chap3.xml to include documentation about poll fds
	* extended chap3.xml to include documentation about mutex and condition manager
	* provide new prototypes in ags_notation.c and ags_note.c to work with SMF
	* new unit-test ags_complex_test.c
	* new unit-test ags_turtle_manager_test.c
	* new unit-test ags_log_test.c
	* new unit-test ags_application_context_test.c
	* new unit-test ags_connection_manager_test.c
	* new unit-test ags_config_test.c
	* new unit-test ags_condition_manager_test.c
	* new unit-test ags_mutex_manager_test.c
	* new unit-test ags_destroy_worker_test.c
	* new unit-test ags_polling_thread_test.c
	* new unit-test ags_poll_fd_test.c
	* new unit-test ags_returnable_thread_test.c
	* new unit-test ags_task_test.c
	* new unit-test ags_thread_pool_test
	* new unit-test ags_worker_thread_test
	* new unit-test ags_file_test
	* new unit-test ags_file_id_ref_test
	* new unit-test ags_file_launch_test
	* new unit-test ags_base_plugin_test.c
	* new unit-test ags_dssi_plugin_test.c
	* new unit-test ags_dssi_manager_test.c
	* new unit-test ags_ladspa_manager_test.c
	* new unit-test ags_lv2_manager_test.c
	* new unit-test ags_note_test.c
	* new unit-test ags_acceleration_test.c

ags (0.8.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed orphaned AgsAudio after removing all soundcards to add again

ags (0.8.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented move note task
	* implmeneted crop note task
	* implemented all task's finalize function
	* improved all task's to use properties to instantiate

ags (0.8.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsMoveNoteDialog as additional editing tool
	* implemented AgsCropNoteDialog as additional editing tool
	* implmeneted missing ags_toolbar_disconnect() function

ags (0.8.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsEnvelopeInfo plot
	* enable grid lines of tree view
	* added property AgsMachine:machine-name and thus did a small refactoring

ags (0.8.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-envelope to apply ratio
	* fixed various issues related to AgsEnvelopeDialog

ags (0.8.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsPreset applicable to line ranges and store parameters
	* implemented to persist AgsLiveDssiBridge and AgsLiveLv2Bridge
	* implemented to store presets in AgsSimpleFile
	* extended ags-copy-pattern to use preset scope ags-envelope
	* extended AgsEnvelopeDialog to support presets and apply to pattern
	* improved ags-envelope to read frame count once

ags (0.8.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsAddSoundcardEditor and AgsAddSequencerEditor dereference to wrong type
	* fixed not showing AgsPad as resize from 0
	* fixed crash in AgsMeter as resize to 0
	* fixed resize of AgsNotebook in AgsPatternEdit and AgsNoteEdit related resize to/from 0
	* fixed shrink of AgsNotebook in AgsAutomationEdit

ags (0.8.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsMidiParser to don't skip length of status messages
	* fixed libags-audio.h to not include removed header
	* fixed Makefile.am to use correct symlink of gtk-doc

ags (0.8.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved ags.rc to support AgsMidiExportWizard and AgsMidiImportWizard
	* improved ags.rc to provide better color of active text
	* improved Makefile.am
	* added gettext support

ags (0.8.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* optional libinstpatch dependency
	* implemented AgsEnvelopeDialog
	* refactored ags-envelope recall to use AgsComplex fields of AgsNote
	* added AgsEnvelopeDialog to AgsDrum, AgsMatrix, AgsDssiBridge and AgsLv2Bridge
	* added ags-envelope recall to ags_recall_factory.c
	* fixed unavailable AgsMidiDialog as doing delete-event
	* fixed functional test timed access to widget

ags (0.8.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented MIDI import tracks
	* implemented MIDI export tracks
	* fixed AgsMidiBuilder serious problems
	* fixed ags_midi_buffer_util_seek()
	* fixed AgsMidiParser using wrong tempo and time signature allocation
	* fixed ags_midi_buffer_util.c same issue as above with tempo and time signature

ags (0.7.136)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved performance of AgsGuiThread to consume less power
	* improved AgsMidiin to don't poll anymore in dedicated thread
	* improved AgsLog to have a mutex and use it during splash-screen

ags (0.7.135)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented Lv2 program interface
	* implemented ags-play-dssi and ags-play-lv2 recall
	* implemented AgsLiveDssiBridge and AgsLiveLv2Bridge
	* fixed non-interleave lv2 audio data processing
	* support NULL input

ags (0.7.134)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* merge stable
	* ?

ags (0.7.133)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing reset of connection editor field of machine
	* fixed wrong subtract one of audio channels in bulk connection
	* fixed configuration to clear old config
	* fixed soundcard editor pcm info fails if soundcard busy, use default values

ags (0.7.132)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented seperator within AgsLine and AgsEffectLine
	* implemented seemless mode of AgsDial
	* improved theme, dial style to have dark background

ags (0.7.131)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented output listing editor to assign soundcard
	* improved theme and disable option

ags (0.7.130)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved stability

ags (0.7.129)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags-simple.xsl
	* improved mutices in ags_pad_play() and ags_line_channel_done_callback()
	* fixed missing persisting of machine name

ags (0.7.128)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsLv2OptionManager
	* implemented passing options for AgsRecallLv2Run
	* modified UI to show visualization widgets for plugin output ports
	* modified ags-peak, ags-volume and ags-mute recalls to use float ports
	* disabled loading automation of output ports
	* fixed buggy code in ags_machine_selector_remove_index() by a work-around has a need for refactoring

ags (0.7.127)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented LV2UI related code to do idle and show interface
	* improved splash picture to refresh frequently

ags (0.7.126)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved mutices for recalls
	* improved AGS_THREAD_INTERMEDIATE_POST_SYNC
	* disabled ags_main_loop_interrupt() in ags_jack_client_process_callback()

ags (0.7.125)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash in ags_jack_midiin_port_free() NULL pointer access
	* improved mutices doing playback

ags (0.7.124)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed asynchronous ALSA output by incrementing ring-buffer size
	* fixed proper use of ppoll() with AgsDevout prior events wasn't set
	* implemented wait playback until device is available with AgsDevout
	* implemented AgsClearBuffer task
	* refactored AgsDevout and AgsJackDevout to use AgsClearBuffer task

ags (0.7.123)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed distorted sound by clearing buffer that just was memcpy to ring buffer

ags (0.7.122.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed NULL input
	* fixed non-interleaved Lv2 audio data

ags (0.7.122.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented missing ags_route_lv2_audio_run_dispose()
	* fixed in ags-route-dssi use of parent ::finalize() during ::dispose()
	* fixed switch buffer flag to be done during poll MIDI device

ags (0.7.122.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed LIBADD nad LDADD of GSequencer system check automake file

ags (0.7.122.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing length of pattern

ags (0.7.122.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation to use previous value if range doesn't match
	* added functional test to check editor workflow

ags (0.7.122.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsEffectSeparator for AgsLine and AgsEffectLine
	* removed gtk separator in AgsLine and AgsEffectLine
	* disabled AgsDestroyWorker

ags (0.7.122.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed dead-lock as removing line member
	* improved plugin browser to reset plugin type
	* improved the speed of functional tests
	* added functional test to check line member sanity

ags (0.7.122.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsClearAudioSignal task
	* fixed ags_synth_update() it didn't clear the buffers correctly
	* added functional test to check link sanity

ags (0.7.122.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory corruption of AgsFFPlayer destruction
	* fixed some AgsConnectable::disconnect() of machines
	* fixed potential infinite loop in ags_machine_resize_audio_channels()
	* added functional test add and destroy machine
	* added functional tests resize pads and audio channels

ags (0.7.122.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing connect of AgsOscillator
	* fixed noise creation in AgsSynth
	* fixed SIGSEGV as adding plugin to AgsLine

ags (0.7.122.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented notebook resize in automation editor
	* fixed NULL pointer dereference in ags_matrix.c
	* fixed resize pad to distinguish between input and output

ags (0.7.122.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* stability improvements

ags (0.7.122.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* decoupled gui thread

ags (0.7.122.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixes to configuration in place
	* fixes to audio connection editor

ags (0.7.122.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* TODO:JK: implemented ags-play-pattern recall
	* fixed broken optical feedback of peak
	* removed auto-scroll feature because it costs too much performance

ags (0.7.122.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented non-deterministic mode i.e. performance mode
	* implemented ags_input_next_active() and ags_input_is_active()
	* implemented restore and persist of AgsLv2Bridge preset
	* disabled lv2 worker feature if not requested by plugin
	* fixed memory leak related to AgsReturnableThread
	* fixed crash related to notation offset cached
	* note disabled some signals

ags (0.7.122.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored ags-copy recall to instantiate like ags-buffer
	* implemented LV2 presets
	* implemented presets in AgsLv2Bridge
	* implemented ags-prepare recall
	* implemented AgsConditionManager to use with AgsThread tree lock functions
	* implemented worker threads
	* implemented destroy worker
	* improved AgsDelayAudio port instantiation to use default values
	* fixed using default values as no soundcard available
	* fixed crash as no soundcard configured within GUI
	* fixed AgsThread tree lock functions
	* added more unit tests in ags_thread_test.c

ags (0.7.122.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsHLedArray and AgsVLedArray
	* implemented missing properties of AgsPlaybackDomain and AgsPlayback
	* implemented GObject::dispose()
	* refactored AgsCellPattern and AgsPatternBox to use AgsHLedArray
	* fixed reference counting of libags, libags_audio
	* fixed division by zero caused by AgsOscillator
	* fixed serious memory corruption in ags_pattern_set_dim()
	* fixed segmentation fault of AgsFFPlayer restore
	* fixed missing connection menu of AgsLv2Bridge after restore
	* extended unit tests

ags (0.7.122.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* back-ported seemless mode of AgsDial
	* back-ported Lv2ui support
	* improved default theme
	* fixed configuration to use default values as soundcard busy
	* fixed clear configuration and provide default values as applying

ags (0.7.122.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* providing default theme
	* fixed ags.rc support
	* fixed cell pattern painting
	* minor fixes

ags (0.7.122.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor fixes

ags (0.7.122.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor fixes

ags (0.7.122.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* back-ported enable output ports to plugins
	* back-ported disable output ports on automation
	* back-ported enable built-in effects to do automation
	* fixed configuration in-place to reset frequency of appropriate thread
	* minor fixes

ags (0.7.122.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor fixes

ags (0.7.122)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented intermediate pre and post sync
	* refactored interfacing soundcard to do intermediate post sync
	* refactored interfacing sequencer to do intermediate pre sync
	* refactored ags_devout.c tightened the code and intermediate post sync
	* refactored ags_midiin.c intermediate pre sync
	* improved XPath doing lv2 turtle
	* fixed stop export and sequencer thread during soundcard stop
	* fixed ags_start_soundcard_finalize() without configured sequencer crashing
	* fixed potential dead-lock in ags_midiin_oss_poll() and ags_midiin_alsa_poll()
	* fixed proper termination of OSS and ALSA poll

ags (0.7.121)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed Makefile.am to use -p and -m 644 parameter

ags (0.7.120)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved Makefile.am use install instead of cp

ags (0.7.119)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_export_window_reload_soundcard_editor()
	* implemented AgsExportSoundcard UI
	* refactored AgsExportWindow to allow export multiple soundcards
	* improved mutices in ags_record_midi_audio_run.c
	* improved mutices in ags_route_dssi_audio_run.c
	* improved mutices in ags_route_lv2_audio_run.c
	* fixed ags-audio.h to remove unused headers
	* fixed AgsSoundcardEditor and AgsSequencerEditor to remove JACK device

ags (0.7.118)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed API reference removed unused objects
	* added COPYING.docs

ags (0.7.117)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsAudio:midi-channel
	* implemented midi channel in AgsMidiDialog
	* implemented using midi channel in ags-record-midi
	* back-ported properties of tasks of branch 1.0
	* fixed ags-record-midi recall to proper key-on and key-off

ags (0.7.116)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_midiin_alsa_poll() and ags_midiin_oss_poll()
	* fixed possible NULL pointer access in ags_midiin_list_cards()
	* fixed AgsMidiin to always set nth_buffer during record
	* fixed in ags_midiin_set_device() to duplicate string and handle OSS4

ags (0.7.115)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed copyright statements replaced deprecated
	* fixed exclude OSS in GUI if not provided

ags (0.7.114)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* disabled unused buttons yet
	* improved ags-record-midi recall

ags (0.7.113)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed API docs and updated sections

gs (0.7.112)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* providing headers libags.h, libags-audio.h and libags-gui.h
	* improved API reference

ags (0.7.111)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented experimental MIDI support for ALSA, OSS4 and JACK

ags (0.7.110)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* critical bug-fix data-race in ags_thread-posix.c resume interrupted threads after AgsAsyncQueue run
	* implemented ags_thread_reset_all() see above

ags (0.7.109)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed data-race of AgsCellPattern and AgsMatrix callbacks

ags (0.7.108)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented blacklist of plugins for AgsLadspaManager, AgsDssiManager, AgsLv2Manager and AgsLv2uiManager

ags (0.7.107)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_base_plugin_sort() alphabetically plugins by effect name
	* improved AgsMenuBar to have sorted plugins by effect name see above

ags (0.7.106)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsCartesian
	* fixed case-sensitive iriref in ags_turtle.c
	* added additional parameter to ags_lv2_manager_load_file() and ags_lv2ui_manager_load_file() in order to provide manifest

ags (0.7.105)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsTicSoundcard task and fixed thereby data-race

ags (0.7.104)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented splash-screen

ags (0.7.103)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_soundcard_get_note_offset_absolute()
	* improved mutices in ags_navigation.c
	* fixed possible access of uninitialized memory in ags_cell_pattern_led_queue_draw_timeout()
	* fixed possible access of uninitialized memory in ags_pattern_box_led_queue_draw_timeout()
	* simplified seeking

ags (0.7.102)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed use AgsSwitchBufferFlag task in ags_jack_client.c

ags (0.7.101)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed rounding fault in ags_devout.c and ags_jack_devout.c

ags (0.7.100)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed devhelp link to docs use underscore instead of minus
	* fixed in ags_lv2_plugin.c XPath no .// rather // as expression
	* improved timing issue as exporting audio data

ags (0.7.99)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_turtle_read_langtag() for not being greedy.

ags (0.7.98)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixes to ags_turtle.c UTF-8 ranges and other issues
	* added ags_turtle_test unit test

ags (0.7.97)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_midi_buffer_util_test.c using wrong variable
	* improved test suite to have LC_ALL and LANG set to C

ags (0.7.96)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed in ags_midi_buffer_util.c some missing return values and other issues
	* improved test coverage of ags_midi_buffer_util.c to almost completed

ags (0.7.95)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unit test ags_midi_buffer_util_get_song_select()

ags (0.7.94)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unit test ags_recall_test_duplicate() to have proper type in callback
	* extended ags_midi_test.c to provide more unit tests

ags (0.7.93)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation edit restore from simple file

ags (0.7.92)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added unit tests of ags_midi_buffer_util.c
	* fixed ags_midi_buffer_put_varlength(), it was defunctional
	* fixed missing check of AgsRecallDssi in ags_channel.c

ags (0.7.91)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added unit tests in ags_automation_test.c and ags_recall_test.c
	* fixed automation toolbar to toggle port correctly and added empty port
	* fixed ags_midi_buffer_util.c, ags_midi_builder.c and ags_midi_parser.c to conform MIDI specs
	* NOTE arguments are shifted for MIDI SMTPE related functions

ags (0.7.90)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed handle NULL pointer client don't pass it to JACK
	* back-ported ags_midi_buffer_util.[ch] from 1.0
	* back-ported ags_midi_builder.[ch] from 1.0

ags (0.7.89)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash after opening file with unavailable audio file link
	* improved mutices in ags_editor_tic_callback()

ags (0.7.88)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing usage of attack affects BPM
	* fixed code performance issue in ags-play-notation recall
	* removed free-wheel within jack client because not supported
	* modified default buffer size to 1024

ags (0.7.87)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsSoundcardEditor not allowed free of string
	* fixed ags_soundcard_editor_add_soundcard() ignore AgsJackDevout
	* fixed ags_soundcard_editor_remove_soundcard() ignore AgsJackDevout

ags (0.7.86)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsNotifySoundcard to fast lock AgsSoundcard
	* implemented cyclic tasks in ags_task_thread_run()
	* implemented ags_task_thread_append_cyclic_task()
	* implemented ags_task_thread_remove_cyclic_task()
	* refactored ags_thread-posix.c to set AgsThread->tic_delay to be reset synced

ags (0.7.85)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsThread detach thread if not running while finalize
	* fixed AgsReturnableThread is not detached by default
	* fixed detach thread as calling AgsThread::stop()

ags (0.7.84)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong type of ags_recycling_context_new()'s function argument
	* fixed integer overflow in ags_channel.c while allocating AgsRecyclingContext

ags (0.7.83)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential infinite-loop
	* fixed race-condition as resizing audio channels and pads within gui thread

ags (0.7.82)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_playable_read_audio_signal() without resampling frame count

ags (0.7.81)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed not negated if condition in ags_ladspa_manager_get_filenames()
	* fixed non-synth lv2 plugins accessing NULL pointer ags-count-beats recall
	* fixed potential NULL pointer access in ags_recall_lv2_run_finalize()
	* fixed AgsRecallLv2Run to have :run-inter() for non-synths
	* fixed AgsRecallLadpsaRun, AgsRecallDssiRun and AgsRecallLv2Run to use correct copy mode
	* implemented ags_audio_buffer_util_clear_buffer()

ags (0.7.80)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed restore of AgsBulkMember toggle button

ags (0.7.79)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed potential NULL pointer access in ags_recycling_create_audio_signal_with_frame_count()

ags (0.7.78)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_audio_file_write() to have additional format parameter
	* fixed potential NULL pointer in ags_audio_file_write()

ags (0.7.77)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsCellPattern to shrink vertical scrollbar in AgsMatrix
	* fixed AgsMidiDialog reset
	* improved clear JACK buffer during no playback

ags (0.7.76)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed sample selection of AgsIpatch
	* improved open multi-channel samples in ags_ffplayer_callbacks.c

ags (0.7.75)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed synth generator
	* fixed ags_recall_find_all_type()

ags (0.7.74)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_midi_buffer_util_put_varlength() to encode multi-byte properly
	* reverted AgsThread frequency
	* added additional parameter to ags_ladspa_manager.c to pass instance
	* added additional parameter to ags_dssi_manager.c to pass instance
	* added additional parameter to ags_lv2_manager.c to pass instance
	* added additional parameter to ags_lv2ui_manager.c to pass instance
	* improved AgsFFPlayer to resize audio channels
	* fixed relevant clang scan-build errors

ags (0.7.73)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed removed types of libags_gui.types of gtkdoc
	* fixed return value to be void * of ags_stream_alloc()
	* fixed ags_audio_set_pads() to shrink correctly
	* improved ags_recycling_create_audio_signal_with_frame_count() to reduce overhead
	* improved JACK synchronization

ags (0.7.72)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed configuration

ags (0.7.71)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed restore JACK from file

ags (0.7.70)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed most compiler warnings

ags (0.7.69)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor fixes to API removed non-existing symbols and alike
	* added symbols file libags.sym, libags_audio.sym and libags_gui.sym

ags (0.7.69)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed stop all soundcard threads because only one was stopped

ags (0.7.68)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed close JACK client while ags_application_context_quit()
	* fixed configure.ac to check for atk-1.0 with AC_CHECK_LIB
	* fixed add/remove soundcards using AgsAudioPreferences
	* modified on file open failure to call ags_application_context_quit() instead of exit(-1) because JACK needs clean-up
	* improved configure.ac to give hint that ALSA and OSS is enabled
	* added --enable-oss argument to configure.ac

ags (0.7.67)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing soundcard info of ags-sf-line
	* updated ags_simple_file.dtd

ags (0.7.66)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed chrash while reading configuration with AgsSimpleFile
	* fixed persisting/restore of AgsSoundcard from configuration with AgsSimpleFile

ags (0.7.65)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented JACK audio output support
	* implemented configuration of multiple soundcard support
	* implemented AgsAudioSettings to configure your soundcards
	* implemented AgsConnectionEditor to assign your soundcards
	* implemented ags_jack_devout.c missing functions ags_jack_devout_list_cards() and ags_jack_devout_pcm_info()
	* implemented ags_jack_devout.c adjusting pcm channels
	* implemented ags_time_get_uptime_from_offset()
	* implemented AgsConnectionManager and AgsConnection
	* implemented AgsAudioConnection to assign ressources to channels
	* implemented ags_jack_server_connect_client() to connect at an arbitrary time
	* implemented AgsChangeSoundcard task to reset AgsAudioConnection
	* implemented AgsAddSoundcard and AgsRemoveSoundcard task
	* implemented resampling in ags-buffer, ags-copy and ags-play recalls
	* refactored configuration access and minor fixes to it
	* refactored AgsAudioPreferences to use AgsAudioSettings
	* refactored AgsAudioApplicationContext and AgsXorgApplicationContext to load multiple soundcards
	* extended AgsAudio to use AgsAudioConnection
	* extended AgsChannel to use AgsRemoteChannel
	* minor-fixes caused accessing NULL pointers

ags (0.7.64)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented OSS support ags_devout_oss_init(), ags_devout_oss_play() and ags_devout_oss_stop()
	* implemented OSS part of ags_devout_get_poll_fd() and ags_devout_get_pcm_info()
	* fixed potential dead-locks in ags_devout.c
	* fixed string format in ags_devout.c
	* replaced ALSA MIDI decoder with ags_midi_buffer_util_decode()
	* added library completion routines ags_strv_contains() and ags_strv_length()
	* improvded configure.ac to partially disable ALSA support

ags (0.7.63)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed possible NULL pointer access caused by ags_audio_application_context.c and ags_xorg_application_context.c
	* fixed possible dead-lock in ags_play_audio_signal.c
	* fixed format configuration issues in ags_audio_signal.c
	* fixed ags_functional_audio_test.c
	* fixed ags_audio_test.c
	* fixed ags_channel_test.c
	* fixed ags_notation_test.c
	* fixed ags_pattern_test.c
	* fixed ags_recycling_test.c
	* fixed ags_thread_test.c
	* improved ags_devout.c to not allow set non-existing soundcard except default hw:0

ags (0.7.62)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved build system
	* improved ags_functional_audio_test.c to provide configuration

ags (0.7.61)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed build system

ags (0.7.60)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed spelling error unknow to unknown
	* fixed underscore to score of installation directories
	* modified libgsequencer to be private

ags (0.7.59)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed package name in .pc files

ags (0.7.58)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* split API reference

ags (0.7.57)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* relicensed docs to be GFDL+3 without invariant sections

ags (0.7.56)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed Makefile.am to install libags-1.0.pc
	* improved developer manual
	* improved set AgsApplicationContext's instance in gsequencer_main.c
	* implemented timestamp property of AgsAutomation
	* implemented ags_thread_add_start_queue() and ags_thread_add_start_queue_all()

ags (0.7.55)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash on missing poll descriptor
	* fixed first connect and then reset AgsPreferences in order to get valid configuration
	* improved error setting and handling in ags_devout_alsa_init() handling now wrong configuration
	* disabled Lv2 context menu of AgsMachine
	* added libags.pc.in file

ags (0.7.54)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing addition of overclock value of soundcard in ags_simple_file.c
	* fixed wrong sequencer duration calculated by wrong delay now it gets it of AgsSoundcard
	* fixed use of uninitialized value in ags_cell_pattern.c and ags_pattern_box.c
	* fixed persist virtual audio and midi mapping
	* fixed reset buffer-size and samplerate of AgsAudio as setting AgsSoundcard
	* fixed default frequency of AgsAudioThread and AgsChannelThread
	* implemented character ring-buffer in ags_devout.c
	* implemented to interrupt AgsLv2Worker thread
	* implemented time_late field of AgsThread and thereby reduced distortion
	* updated ags_simple_file.dtd in order to enable midi mapping

ags (0.7.53)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed readjust delay as modify buffer size or samplerate of soundcard
	* fixed tempo divide delay by 16.0 and corrected bpm calculation
	* implemented ags_soundcard_get_uptime()
	* implemented ags_cell_pattern_led_queue_draw_timeout() and ags_pattern_box_led_queue_draw_timeout()

ags (0.7.52)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed resetting buffer size and samplerate because threads might not have been added to the tree, yet
	* implemented midi mapping of DSSI and Lv2 synths

ags (0.7.51)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed freed overwritten temporary string in ags_set_output_device.c
	* fixed reset frequency of main loop in ags_apply_presets.c

ags (0.7.50)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_polling_thread.[ch] and ags_poll_fd.[ch]
	* implemented ags_soundcard_get_poll_fd() and ags_soundcard_is_avialable()
	* using AgsPollingThread in ags_soundcard_thread.c and ags_gui_thread.c
	* fixed use of freed string in ags_audio_preferences.c as apply soundcard
	* improved priorities

ags (0.7.49)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed data-race of resetting soundcard device and apply presets
	* improved API reference manual
	* deleted ags_perform_automation_audio.[ch] and ags_perform_automation_audio_run.[ch] because it is not needed, see AgsRecall::automate

ags (0.7.48)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed restart soundcard playback as doing ags_apply_presets_launch()
	* implemented AgsNote in AgsAudioSignal
	* improved gtk-doc related files

ags (0.7.47)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* modified Makefile.am to use -Wformat and -Werror=format-security
	* modified Makefile.am to include docs/images/ags_automation_window_dssi_xsynth.png
	* fixed format security errors

ags (0.7.46)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsMainLoop::interrupt and AgsMainLoop::monitor
	* implemented AgsThread::interrupted and use it in ags_gui_thread.c
	* implemented ags_audio_loop_timing_thread() to emit AgsMainLoop::interrupt
	* fixed configuration in place of AgsSynth and AgsFFPlayer by using AgsSynthGenerator repectively AgsAudioFileLink
	* fixed AgsTactable signals to be emitted
	* fixed configuration in place to reset thread frequency
	* added thread posix signals to AgsGuiThread

ags (0.7.45)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented resetting samplerate, buffer size and format. Thus added properties to AgsAudio and AgsChannel.
	* implemented ags_audio_file_check_suffix() and ags_ipatch_check_suffix()
	* implemented ags_input_open_file()
	* implemented soundcard property of AgsIpatch
	* implemented preset, instrument and sample property of AgsAudioFileLink
	* implemented AgsSynthGenerator and ags_synth_util.c
	* implemented copy functions in ags_audio_buffer_util.c
	* implemented AgsApplyPresets recall
	* refactored replacing template AgsAudioSignal as adding new template
	* improved mutices in ags_audio_open_files()
	* fixed ags_devout_realloc_buffer() to use pcm_channels instead of dsp_channels

ags (0.7.44)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing parsing of alsa-handle key of configuration within AGS simple file
	* fixed AgsExportThread JIFFIE and AGS_THREAD_START_SYNCED_FREQ flag
	* fine-tuned performance and thus providing some fixes

ags (0.7.43)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags-count-beats recall to ommit tics
	* fixed timing issue of toplevel AgsThread limit nanosleep() to band
	* fixed missing read of config values in ags_soundcard_thread() to calculate its frequency
	* improved ref/unref AgsAudioSignal because it wasn't properly done
	* modified ags_recall_recycling.c to not cache AgsAudioSignal
	* modified default frequency to 1000 Hz and buffer size of 512

ags (0.7.42)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed dead-lock caused by adjusting buffer size or samplerate as reading config from file
	* fixed really bad memory leak during playback of audio signal on AgsInput because of missing g_object_unref()
	* fixed ags_notation_test.c - it crashed because of wrong data type for ags_note_new_with_offset()
	* implemented properties of AgsNote

ags (0.7.41)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ommiting delayed playback in ags_play_notation_audio_run.c
	* fixed crash during load of lv2 directories without manifest.ttl
	* fixed don't queue draw destroyed widgets
	* fixed remove audio from soundcard as destroying AgsMachine
	* fixed crash during playback after destroy of AgsMachine NOTE: see below
	* NOTE: you have to do proper clean the audio tree

ags (0.7.40)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed zero-length notes in ags_note_duplicate() and return NULL
	* fixed negative-length notes in ags_note_duplicate() by swapping x values
	* fixed encoding special char of strings in ags_turtle.c
	* fixed AgsNotebook fixed width to resizeable
	* fixed use of previous value on reenter loop in automation
	* improved regexp to read string literals in ags_turtle.c
	* improved AgsLineMember and AgsBulkMember to escape their strings
	* implemented resize of AgsNotebook previously it was fixed size
	* implemented abort on not present plugin during file open since you will damage your file

ags (0.7.39)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsLv2Worker to return from AgsReturnableThread
	* fixed some memory leaks in ags_recall_lv2_run.c
	* fixed annoying painting mistake in ags_meter.c missing padding caused ugly effect on top
	* fixed AGS_MACHINE_SELECTOR_SHOW_REVERSE_MAPPING and AGS_MACHINE_SELECTOR_SHOW_SHIFT_PIANO are removed from ags_automation_editor.c because it is not supported
	* improved AgsThreadPool to take from the end of the list because previously it took the ones just instantiated

ags (0.7.38)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed remove of effects because refactoring broke it
	* fixed remove of automation as removing effect because before it was left there
	* fixed remove automation as shrink audio channels or pads
	* fixed XPath and xmlNode names of turtles to lower-case
	* fixed XPath expressions in ags_lv2_plugin.c to access plugin correctly because it returned all plugins instead of one
	* implemented update automation editor on add/remove effect look at ags_automation_editor_reset_port(), it is new
	* implemented prefix of AgsNotebook now for automation line and notation channel
	* added mutices to ags_toolbar.c

ags (0.7.37)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed infinite loop in ags_automation_editor.c - line = line++
	* fixed restore of controls
	* fixed AgsNavigation set bpm
	* fixed missing length of AgsDrum and AgsMatrix
	* optimized XML file output

ags (0.7.36)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash in ags_recycling_create_audio_signal_with_frame_count() because premature end wasn't handled
	* fixed dead-lock caused by AgsNavigation callbacks
	* fixed missing AgsThreadPool for AgsLv2WorkerManager in ags_setup()
	* fixed unlock libinstpatch mutices in ags_ipatch.c because else ending in dead-lock
	* fixed looped AgsRecallDssiRun and AgsRecallLv2Run
	* improved AgsLadspaBrowser and AgsLv2Browser to not load default directory every time

ags (0.7.35)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed clip-board by merging values since automation ports can occur multiple times
	* fixed map width of automation editor
	* fixed clipped selection
	* fixed reset automation editor position
	* fixed ruler widget because the previous code obviously did wrong use of ceil()
	* fixed translate values in automation editor
	* fixed line member editor hide bulk
	* fixed not available line member port it was broke because of refactoring
	* implemented Atk interfaces in ags_automation_edit.c
	* implemented selection of automation editor
	* implemented ags_soundcard_get_loop(), ags_soundcard_set_loop() and ags_soundcard_get_loop_offset()
	* improved loop mode
	* improved AgsPad mutices in ags_pad_init_channel_launch_callback()
	* improved remove line effect and effect line effect
	* improved remove effect bulk effect
	* improved ags_channel_remove_effect() to work with LADSPA and Lv2 because it was only usable with LADSPA
	* added mutices automation editor
	* added missing mutices to ags_navigation_callbacks.c
	* added mutices in ags_effect_bulk.c
	* added mutices in ags_line.c and ags_effect_line.c

ags (0.7.34)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed disapearing automation caused by missing tact factor appliance
	* fixed y value in ags_automation.c to gdouble because it was y previously
	* fixed missing souncard identifier in audio preferences
	* improved remove of notes by specify number of attempts until giving up
	* implemented cursor in automation editor
	* implemented copy, cut and paste in AgsAutomationEditor
	* implemented key-strokes in ags_automation_edit_callbacks.c
	* introduced new config key disable-feature because you don't want experimental code in production

ags (0.7.33)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* using AgsConversion in ags_line_member.c and ags_bulk_member.c if available
	* using bypass flag in ags_recall_audio_automate() and ags_recall_channel_automate()
	* using AgsConversion in automation editor
	* implemented reset of AGS_AUTOMATION_BYPASS in automation toolbar

ags (0.7.32)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed remove of menu after rename of AgsMachine
	* fixed update editor and automation editor after rename
	* fixed automation data
	* fixed missing XPath preamble of automation editor's machine radio button
	* fixed NULL pointer access in ags_automation_toolbar_apply_port()
	* implemented save/restore of ports within automation editor

ags (0.7.31)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed automation editor drawing while setting value with a different lower bound than 0.0
	* fixed setting value on AgsAcceleration likewise above
	* fixed freed name string of AgsMachine
	* optimized drawing of values by ommiting already drawn values within AgsAutomationArea

ags (0.7.30)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented loading automation ports of LADSPA, DSSI and Lv2 plugins
	* implemented adding automation data
	* implemented removing automation data

ags (0.7.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_audio_set_audio_channels() to do proper setup
	* fixed ags_lv2_bridge_set_audio_channels() and ags_dssi_bridge_set_audio_channels() to iterate correctly
	* fixed show of newly created AgsLine as calling ags_machine_resize_audio_channels()
	* fixed scroll of AgsNotebook

ags (0.7.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed worst memory leaks
	* refactored gsequencer_main.c because it was a mess
	* refactored peak callback to use g_timeout_add() giving better performance
	* improved timer support
	* provided example file

ags (0.7.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed format string

ags (0.7.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* removed wrong envelop information from notation in ags_simple_file.c
	* fixed Makefile.am to include aclocal.m4

ags (0.7.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsLadspaBridge, AgsDssiBridge and AgsLv2Bridge restore from XML
	* implemented AgsSimpleFile which is much faster than AgsFile
	* implemented AgsSimpleFileRead task for reading files using simple API
	* implemented AgsSimpleFileWrite task for writing files using simple API
	* implemented AgsSimpleAutosaveThread that makes use of AgsSimpleFile to save its files
	* implemented :control_type_name parameter of ags_line_add_effect()
	* fixed duplicated entries in plugins manager: AgsLadspaManager, AgsDssiManager and AgsLv2Manager

ags (0.7.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed Makefile.am to include entire documentation and having a build
	* fixed ags_config.c to use working default values

ags (0.7.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed proper license information and notes in README
	* included ags_marshallers.list in tarball

ags (0.7.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_update_bulk_member.c to work with DSSI and improved the code
	* fixed Lv2 playback
	* fixed Lv2 atom sequence type and Lv2 atom body access in ags_lv2_plugin.c

ags (0.7.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented support for integer adjustments of LADSPA, DSSI and Lv2
	* improved configure.ac
	* fixed DSSI playback and bank selection
	* fixed finding AgsBulkMember ports

ags (0.7.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed proper version information of *.so, *.a and *.la
	* fixed version information in --version to use AGS_VERSION macro
	* improved ags_dial.c by clearing background

ags (0.7.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed dead-lock in ags_thread_loop()
	* fixed inresponsive AgsDrumInputPad
	* fixed unset AGS_DEVOUT_INITIALIZED flag as stopping the device

ags (0.7.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed not nul-terminated string in ags_export_window.c
	* fixed missing include in ags_export_window.c
	* fixed initialization and reference count of async_queue in AgsAudioLoop
	* set environment variables LANG and LC_ALL programmatically to C

ags (0.7.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong reference count in ags_recycling_real_add_audio_signal()
	* refactored ags_thread_pool.c due to performance impact of new code
	* refactored AgsThread flags
	* implemented threads to start synced
	* implemented AgsSwitchBufferFlag task because of data-race
	* implemented ags_thread_chaos_tree()

ags (0.7.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed uninitialized values in ags_ipatch_sf2_reader.c
	* fixed Soundfont2 playback

ags (0.7.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed Soundfont2 support
	* fixed dead-lock while stop multi-channel playback
	* fixed open WAV files within AgsDrum
	* implemented ags_open_sf2_sample.c

ags (0.7.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented AgsConcurrentTree in ags_devout.c and using it in ags_channel.c
	* added task_completion_mutex to AgsGuiThread
	* fixed memory-leak in ags_thread_pool.c

ags (0.7.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* reverted changes of AgsTaskThread and AgsThreadPool
	* extended developers book
	* fixed dead-lock with AgsTaskThread

ags (0.7.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed all unit tests
	* fixed ags_recycling_create_audio_signal_with_frame_count()
	* implemented timestamp property of AgsPattern and AgsNotation

ags (0.7.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unit tests
	* fixed editor bug
	* refactored ags_recycling_create_audio_signal_with_frame_count()
	* implemented AgsGenericMainLoop
	* added many unit tests in ags_thread_test.c

ags (0.7.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed XML IO
	* implemented read and write functions of AgsLadspaBridge, AgsDssiBridge and AgsLv2Bridge
	* fixed lock AgsPort as running recall

ags (0.7.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented conversion objects AgsLadspaConversion and AgsLv2Conversion
	* implemended lv2 feature AgsLv2UridManager
	* improved AgsLadspaPlugin, AgsDssiPlugin and AgsLv2Plugin to relay on conversion objects
	* removed JACK server functions because of duplicated symbols
	* fixed integer support of plugins in ags_line_member.c and ags_bulk_member.c
	* fixed editing notation especially ags_notation_add_note() that was broken

ags (0.7.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed lv2 event buffer functions
	* fixed wrong property mapping in ags_recall_lv2.c
	* implemented ags_lv2_uri_map_manager.c
	* implemented ags_lv2_log_manager.c
	* implemented ags_lv2_worker_manager.c
	* implemented ags_lv2_event_manager.c
	* implemented ::find-port in ags_machine.c, ags_pad.c ags_line.c, ags_line_member.c, ags_effect_bridge.c, ags_effect_bulk.c, ags_bulk_member.c, ags_effect_pad.c and ags_effect_line.c
	* refactored ags_machine_set_audio_channels() to ags_machine_set_audio_channels_callback() and added ags_machine_resize_audio_channels() in order to have a straight forward API
	* refactored ags_machine_set_pads() to ags_machine_set_pads_callback() and added ags_machine_resize_pads() in order to have a straight forward API
	* implemented XML IO of ags_effect_bridge.c and related
	* implemented XML IO of ags_automation_window.c and related
	* added AgsConversion prototype

ags (0.7.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed XML IO
	* implemented ags_route_lv2_audio.c and ags_route_lv2_audio_run.c

ags (0.7.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed Lv2 XPath and thus refactored code
	* implemented ags_base_plugin.c, ags_ladpsa_plugin.c, ags_dssi_plugin.c and ags_lv2_plugin.c to reduce over-head
	* implemented contextual XPath lookup in ags_turtle.c
	* refactored ags_recall_ladspa{,_run}.c, ags_recall_dssi{,_run}.c and ags_recall_lv2{,_run}.c to use the new plugins API
	* refactored ags_effect_bulk.c, ags_effect_line.c and ags_line.c to use the new plugins API
	* added ags_string_util.c

ags (0.7.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed DSSI support

ags (0.7.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* forwarded changes since 0.6.18
	* fixed dead-lock, initial run of thread won't skipped anymore
	* migrated lv2 related XPath queries to new DTD
	* implemented adding dssi plugin to effect bulk within the effect bridge
	* implemented effect bridge menus of ladspa, dssi and lv2
	* implemented ags_thread_clock() as signal
	* implemented ags_dssi_bridge.c

ags (0.7.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved AgsMidiDialog
	* implemented many properties get and set functionality
	* implemented JACK support
	* refactored ags_turtle.c
	* added AgsFunction prototype

ags (0.7.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags_midi_file.c
	* implemented ags-route-dssi recall to route MIDI events to DSSI
	* implemented ags_midi_dialog{,_callbacks}.[ch] to select MIDI input device
	* fixed some of the API Documentation

ags (0.7.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added AgsComplex boxed type
	* added skelletons to interface with JACK
	* implemented DSSI support
	* added AgsMidiBuilder prototype
	* improved AgsMachineSelector

ags (0.7.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* refactored renaming AgsRecyclingContainer to AgsRecyclingContext
	* refactored implenting AgsApplicationContext to superseed AgsMain
	* implemented providing library support

ags (0.6.56)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed do proper unlink channel as destroying it

ags (0.6.55)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed don't do pthread_yield() at the end of last tic per cycle
	* fixed removed struct in struct of AgsThread
	* fixed ags_config_get() non-static mutex with static initializer

ags (0.6.54)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed optimal through-put strategy to achieve better performance, by skipping very first cycle's nanosleep() call

ags (0.6.53)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed distortion because of false recycling context allocation
	* fixed restore from XML removed inverted audio channel

ags (0.6.52)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing call to gdk_threads_enter() and gdk_threads_leave() in main.c

ags (0.6.51)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed NULL pointer access during main() by waiting gui thread to be started
	* fixed two race-conditions by editing ags_thread_pool.c

ags (0.6.50)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* grained timing in ags_thread_clock()
	* fixed dead-lock during initial thread run of AgsAsyncQueue see ags_task_thread.c and ags_thread-posix.c

ags (0.6.49)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed find child recall in ags_play_notation_audio_run.c

ags (0.6.48)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong parameter to nanosleep() in ags_thread_real_clock()

ags (0.6.47)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* definitely-fixed wrong parameter to nanosleep() in ags_thread_real_clock()
	* fixed data-race in ::tact callback of AgsDrum and AgsMatrix and possible NULL pointer access

ags (0.6.46)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong parameter to nanosleep() in ags_thread_real_clock()

ags (0.6.45)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed recently introduced bug that caused AgsMixer to be muted

ags (0.6.44)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed call to nanosleep() to use correct tact information

ags (0.6.43)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed seeking playable after read in order to work with libsndfile
	* fixed usage of gdk_threads_enter() and gdk_threads_leave() because some were missing

ags (0.6.42)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved performance by optimizing computing time

ags (0.6.41)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed proper restore of GtkVScale digits
	* fixed proper restore of edit button of AgsDrum

ags (0.6.40)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory leak in ags_generic_preferences.c but wasn't that bad
	* fixed using prefered gtk_main_iteration_do() what gives you better program stability

ags (0.6.39)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed stack-corruption caused by integer overflow while doing variable typo

ags (0.6.38)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* work-around dead-lock as doing ipatch_file_identify_open() from different threads

ags (0.6.37)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing GMainContext acquire in ags_gui_thread.c
	* fixed NULL pointer accessing by moving code
	* fixed buffer-overflow because of swapped indices in ags_recycling.c

ags (0.6.36)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed introduced bug in ags_ffplayer.c because of missing mapping recalls

ags (0.6.35)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed SIGINT while accessing recycling_container being NULL in ags_channel_init_recall()

ags (0.6.34)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed wrong acquisition of AgsAudioSignal in ags_recall_recycling.c

ags (0.6.33)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed restore of AgsFFPlayer
	* implemented AgsStartReadFile task
	* modified startup of thread and file launch as reading from files

ags (0.6.32)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing offset of loop audio data with lower frame count

ags (0.6.31)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed loop audio data with lower frame count than buffer size
	* fixed memory corruption with freed list in ags_notation_cut_selection()
	* fixed toggling toolbar editing tool after restoring from XML file
	* work-around deleting GList notes of AgsNotation

ags (0.6.30)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsFFPlayer loading Soundfont2

ags (0.6.29)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed dead-lock while selecting notes within note edit
	* fixed integer-overflow in ags_delay_audio_run_notation_alloc_output(), ags_delay_audio_run_notation_alloc_input() and ags_delay_audio_run_notation_count()
	* fixed wrong-lock order in ags_play_notation_audio_run.c
	* fixed buffer-overflow in ags_audio_signal_create_audio_signal_with_frame_count()

ags (0.6.28)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed non-atomic access to atomic flags of AgsThread in ags_start_devout.c
	* reverted ags_gui_thread_run() functionality
	* fixed initial value of LADSPA plugin as reading from file

ags (0.6.27)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* work-around in ags_notation_remove_note_at_position() to fix memory corruption

ags (0.6.26)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed NULL pointer during key editing in editor
	* fixed race conditions in pattern and note edit
	* fixed missing reset link in ags_notation_add_note()
	* fixed access to invalidated pointer in ags_notation_remove_note_at_position()

ags (0.6.25)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_thread_find_type() and ::run of all thread implementations to be safer
	* fixed dead-lock while pasting notes that caused application to crash

ags (0.6.24)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed dead-lock while open XML files
	* fixed misconfigured port

ags (0.6.23)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed REVERSE_TAB to escape focus of AgsDial by forward control keys
	* fixed _File mnemonic in menubar

ags (0.6.22)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed relative path to gsequencer while applying properties

ags (0.6.21)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed restoring and allocation of AgsLineMember dimensions
	* fixed SIGINT while reading XML files including AgsRecallLadspa

ags (0.6.20)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed unrolled functions to have correct stop
	* fixed selection in ags_pattern_edit_callbacks.c and ags_note_edit_callbacks.c because it used wrong context
	* fixed ags_recall_real_cancel() because children field might have changed

ags (0.6.19)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed accessing NULL pointer in ags_synth.c
	* fixed accessing NULL pointer in ags_ipatch.c
	* fixed accessing NULL pointer in ags_ffplayer_callbacks.c
	* fixed missing lock of mutex in ags_playable.c

ags (0.6.18)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed volatile thread tree accessors
	* refactored by removing AgsAudioLoop fields and replacing with ags_thread_find_type()
	* work-around for resetting link and causing crash

ags (0.6.17)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* enrolled built-in functions

ags (0.6.16)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed refactored code of ags_channel.c because of bugs

ags (0.6.15)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash while unlink channel and then do playback because recycling wasn't updated properly
	* fixed dead-lock while muting pad
	* enhaced AgsMachineEditor to be thread-safe
	* modified ags_audio_loop.c and ags_gui_thread.c to process in parallel

ags (0.6.14)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed NULL pointer in ags_line.c as accessing mutex manager
	* fixed NULL pointer in ags_drum_output_line.c as accessing machine while setting channel

ags (0.6.13)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added even more mutices to guarantee thread-safety

ags (0.6.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added more mutices to guarantee thread-safety

ags (0.6.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed race condition caused as stopping the engine ended in a dead-lock

ags (0.6.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed startup dead-lock
	* implemented ags_main_loop_get_tree_lock()

ags (0.6.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed missing notation due to refactoring of 0.6.8

ags (0.6.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed super-threaded scope audio and channel to be thread-safe
	* refactored ags_audio_set_audio_channels() and ags_audio_set_pads()
	* improved ags_channel_set_recycling() to instantiate AgsRecallID
	* enhanced super-threaded scope recycling but is probably not yet ready
	* enhanced ags_recycling.c to use mutices in view of super-threaded computing
	* enhanced ags_audio.c and ags_channel.c the use of mutices

ags (0.6.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash related to XML IO of AgsFileLink
	* implemented ags-envelope recall but it's not tested, yet

ags (0.6.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed modified default thread model in ags_config.c what caused certain crashes without ECC
	* extended AgsFileLink with field audio_channel see next
	* improved link editor file chooser to let you select audio channel

ags (0.6.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_pad_play() to contain cancel code instead of playing again on toggle
	* modified default thread model in ags_config.c what caused certain crashes without ECC
	* implemented loading GTKRC from $(HOME)/.gsequencer/ags.rc

ags (0.6.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed audible feedback of note edit to play actual length of note
	* fixed not connected line member
	* fixed missing value_changed event in ags_dial.c
	* removed built-in styles

ags (0.6.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed to shrink of notes by keyboard to enable initial size
	* improved user's manual docbook XML documentation
	* implemented AtkAction interface in ags_dial.c and key-bindings

ags (0.6.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed buffer attack in ags_buffer_audio_signal_run_inter()
	* fixed NULL link within link editor to be shown correctly
	* fixed playback of linked input
	* implemented file link in link editor
	* implemented audible feedback of AgsPatternBox, AgsCellPattern, AgsPatternEdit and AgsNoteEdit

ags (0.6.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash while clicking AgsPatternBox pad
	* fixed toggling all selected pads of AgsPatternBox pattern
	* enhanced prelight of focused AgsPatternBox pad

ags (0.6.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* Implemented basic accessibility thus refactored AgsDrum and AgsMatrix. Further enhanced AgsPatternEdit and AgsNoteEdit.

ags (0.5.12)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags_channel_set_link() and ags_channel_set_recycling()
	* fixed unlink while ags_audio_set_pads() and ags_audio_set_audio_channels()

ags (0.5.11)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed time calculation using absolute position for AgsExportWindow and AgsNavigation
	* fixed fundamental timing issue which caused the engine to be delayed

ags (0.5.10)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed grained control range
	* fixed more precise time calculation
	* fixed AgsDial wrong arithmetic expression
	* fixed time calculation
	* fixed crash while open unsupported files
	* implemented AgsAsyncQueue interface in ags_task_thread.c to avoid race-conditions
	* fixed AgsDrumInputPad playback

ags (0.5.9)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed cliped LADSPA data

ags (0.5.8)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed auto-scroll
	* fixed time calculation
	* fixed copy & paste
	* fixed ruler
	* fixed crash during extensive scrolling
	* fixed export duration and difference to playback time

ags (0.5.7)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash during unavailable audio file
	* fixed buffer size preference for thread frequencies

ags (0.5.6)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory leaks related to GValue in recalls
	* fixed memory leaks in ags_display_tact_launch() as well for ags_toggle_led_launch() and in some GUI callbacks of them
	* fixed memory leak AgsReturnableThread to clean disconnect handler
	* fixed thread frequencies and delays
	* implemented code alter macro AGS_USE_TIMER

ags (0.5.5)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* enhanced thread-safety
	* fixed ags.conf per file base
	* reducing thread-cycles per second in order to target performance problems
	* fixed allocation of ags-buffer

ags (0.5.4)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented ags.conf per file base
	* cleaned-up recalls allocation

ags (0.5.3)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed export duration
	* fixed improved AgsDial
	* fixed dead-lock for to many calls to AgsChannelThread

ags (0.5.2)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed memory leaks accessing AgsConfig
	* fixed dead-lock while stop playback
	* improved drawing of animations

ags (0.5.1)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed ags.xsl removed wrong division, note use segmentation to adjust appropriate playback rate
	* fixed file open dialog callback
	* fxied calculate time by segmentation
	* fixed pattern mode hint for notation
	* fixed reading bpm setting from ags.xsl generated files

ags (0.5.0)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemnted first super-threaded context for AgsAudio and AgsChannel
	* fixed replace deprecated GtkFileSelector for opening files

ags (0.4.2.92)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed crash while hot-link matrix and synth with multi-output
	* implemnted segmentation

ags (0.4.2.91)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed multiple occurence of recalls
	* fixed potential infinite loop while reset recall ids
	* migrated away from hide references to recall id status
	* fixed proper unlink as adjusting channels
	* fixed allocation of ags-buffer
	* fixed selective creation of recalls in ags_recall_recycling.c
	* fixed remap of recycling recalls for available destination in ags_recall_channel_run.c
	* minor bug-fixes
	* note speed may differ for now

ags (0.4.2.90)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed led in sequencers
	* fixed missing mutex in matrix tact callback
	* fixed cut to nowhere
	* fixed ags.xsl notation translate
	* fixed redraw of piano
	* fixed redraw of matrix
	* fixed deny output pads to be resize for mixer

ags (0.4.2.89)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed bug in ags_recall_channel_run.c that caused destination not being mapped

ags (0.4.2.88)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* improved auto-scroll to be loop aware

ags (0.4.2.87)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed auto-scroll

ags (0.4.2.86)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed version string from autoconf
	* fixed chrash during removing not existing machine selector
	* added experimental auto-scroll capabilities

ags (0.4.2.85)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed allocation of piano
	* fixed grained mutices for accessing notation
	* fixed cursor in edit widgets

ags (0.4.2.84)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed dialog owned by machines to destroy
	* fixed make machine selection dialog modal

ags (0.4.2.83)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed playback within AgsDrumInputPad
	* fixed thread-safety of editor with AgsMutexManager
	* hided playback button of AgsDrumInputPad open dialog
	* fixed spin button in AgsDrumInputPad open dialog

ags (0.4.2.82)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed default device as reading XML files
	* fixed floor to round in XSL for reading MIDI notes
	* fixed unlink AgsAudio on remove
	* fixed termination of sequencer in ags_machine_play_callback()
	* fixed crash during channel resize if not shown in editor, hide widgets instead of remove
	* fixed destroying of machines removing editor widget
	* fixed paste notes
	* added flag to AgsDevout to fix unavailable soundcard

ags (0.4.2.81)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* removed useless controls add/remove in machine property editor
	* fixed navigation duration
	* fixed seeking
	* fixed crash according not properbly cleaning up after playing

ags (0.4.2.80)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed renaming
	* fixed audio channel bug in notation recall

ags (0.4.2.79)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* renamed binary and project
	* added missing copyright notice

ags (0.4.2-78)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented distinct between sequencer and notation loop
	* fixed unnecessary return if notation reaches notation-loop-end
	* fixed selection for pattern and notation editor
	* refactored fix auto-scroll
	* added exclude sequencer for export dialog

ags (0.4.2-77)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed possible NULL pointer in ags_play_notation.c
	* fixed editor crash and missing notebook
	* implemented AGS_AUDIO_REVERSE_MAPPING flag, it indicates channel mapping should be interpreted in reverse order
	* implemented invert tool for notation editor

ags (0.4.2-76)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed boundary for matrix clipboard
	* fixed paste to mono or different audio allocation
	* fixed piano shift to correct direction
	* fixed reset vscrollbar in editor widgets
	* refactored ags_editor.c
	* fixed already selected machines in editor not to add again
	* fixed audio channel resize for mono machines, disabled it in machine properties dialog
	* enhanced LADSPA browser refresh

ags (0.4.2-75)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed deactivate led in AgsDrum and AgsMatrix
	* fixed multi-output
	* fixed adjusting audio channels for tabs of editor
	* implemented shift piano thereby fixed piano allocation

ags (0.4.2-74)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* fixed AgsPatternEdit focus, selection, coloring of selected notes and a crash related to wrong function call
	* added exclusion for sequencers by using "exclude sequencers" checkbutton in navigation
	* added copy & paste pattern context menu items to drum and matrix
	* fixed AgsMatrix input
	* fixed NULL pointer error in ags_count_beats_audio_run.c

ags (0.4.2-73)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* back-ported AgsPatternEdit
	* implemented basic editing key strokes like Ctrl-c, Ctrl-v and Ctrl-x for AgsPatternEdit

ags (0.4.2-72)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* implemented basic editing key strokes like Ctrl-c, Ctrl-v and Ctrl-x
	* implemented seeking for paste if position tool is selected
	* updated clipboard version to 0.4.2

ags (0.4.2-71)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* commented-out two unimplemented menu entries in editor's machine selector. Add and remove tab you may do so by using resize tab of machine properties dialog.
	* implemented select-all in editor
	* fixed multi-channel editing mode
	* fixed refresh of GUI after cut or paste
	* fixed crash related to XML IO

ags (0.4.2-70)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* minor bug-fixes

ags (0.4.2-69)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added XSL file to transform output of `midi2xml` using `xsltproc`

ags (0.4.2-68)

	[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
	* added `midi2xml` the MIDI file to XML parser


Copyright (C) 2005-2026 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".
