1Advanced Gtk+ Sequencer 2==== 3 4Copyright (C) 2005-2021 Joël Krähemann 5 6Permission is granted to copy, distribute and/or modify this document 7under the terms of the GNU Free Documentation License, Version 1.3 8or any later version published by the Free Software Foundation; 9with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. 10A copy of the license is included in the section entitled "GNU 11Free Documentation License". 12 13Overview of Changes in AGS 3.8.0 14================================ 15 16* Implemented additional volume controls of AgsMatrix, AgsSyncsynth, AgsFMSyncsynth, 17 AgsFFPlayer and AgsPitchSampler. 18* Implemented aliase of AgsFFPlayer and AgsPitchSampler with 4 controls. 19* new utility functions to computer linear interpolation. 20* new utility functions to frequency aliase. 21* new utility functions to phase shift. 22* new ags-fx-two-pass-aliase effect processor. 23 24Overview of Changes in AGS 3.6.0 25================================ 26 27* Implemented AgsGstreamerFile capable of reading or writing common media file 28 types like MP3, MP4, MKV and WEBM. 29* Started to implement get type functions of enum values. 30 31Overview of Changes in AGS 3.4.0 32================================ 33 34* Implemented AgsSF2SynthGenerator and AgsSFZSynthGenerator allowing you 35 to pitch missing samples. 36* Extended functionality of AgsFFPlayer and AgsPitchSampler to use SF2 and SFZ 37 synth generators. 38* Refactored ags_filter_util.c. 39 40Overview of Changes in AGS 3.3.0 41================================ 42 43* Implemented new ags-fx engine, replaced all existing recalls with fx counterpart. 44* Implemented staging program of AgsAudioLoop, AgsAudioThread and AgsChannelThread. 45 46Overview of Changes in AGS 3.0.0 47================================ 48 49* Implemented AgsAudiorec's fast export. 50* Implemented support for GObject-Introspection. Many gtk-doc annotations 51 fixed and extended symbol descriptions. 52* Refactored AgsComplex and AgsUUID in order to work with introspection. The 53 typedef doesn't use array types, anymore. But derived from a struct, now. 54* Implemented the AgsServer API dropped xmlrpc-c in favor of Libsoup2.4. Session 55 support using HTTP cookies. 56* Yay, AGS-OSC-OVER-XMLRPC has arrived. You can send your OSC packets now over 57 HTTP based on AgsServer supporting authentication and responses arrive on a 58 Websocket. 59* Migrated to Gtk+-3.0, dropped builtin theme. Minimal CSS file enabling stepper 60 for editors. 61* Migrated to GThread API, this was a quiet big refactoring. AgsThread core functions 62 have been rewritten, mainly AgsThread::clock() and AgsThread::run(). 63 Removed exotic functions like lock, unlock, wait and signal the tree. 64* Major API changes, dropped many old functions like writing the "Wall of XML" file. 65* Supporting LLVM's clang compiler for now. Replaced all nested functions. 66* Fixed some potential SIGSEGVs. 67* Added online help browser along the WebKitGtk dependency. 68* Added basic key accelerators like: Ctrl-o, Ctrl-s, Ctrl-q and Ctrl-h. To open or 69 save files, quit the application or open online help browser. 70* Added better resolution to AgsSpectrometer. 71* Improved MIDI import/export. 72 73Overview of Changes in AGS 2.3.0 74================================ 75 76* Improved AgsSynthGenerator to support impulse and FM LFO oscillator. 77* Implemented new impulse oscillator in ags_synth_util.c 78* Implemented ags_fm_synth_util.c to do frequency modulation oscillators. 79 Used by AgsSynthGenerator. 80* Implemented ags_lfo_synth_util.c to do amplification using LFO oscillator. 81* Added new machines AgsFMSynth, AgsFMSyncsynth and AgsPitchSampler. 82* Added support for complex data type. 83 84Overview of Changes in AGS 2.2.39 85================================ 86 87* Added AgsComplex data type support in ags_audio_buffer_util.h and completed 88 Float32 support. 89 90Overview of Changes in AGS 2.2.38 91================================ 92 93* Completed reworking unrolled loops to use vectorized builtin functions in 94 ags_audio_buffer_util.c. Improved the vector and audio buffer access using 95 incrementing indices. 96 97Overview of Changes in AGS 2.2.0 98================================ 99 100* Implemented OSC export controller. Allowing you to trigger AgsExportOutput 101 task by the OSC server. 102* Reworked parsing LV2 RDF Turtles. Providing a better conforming 103 interpretation of prefixes and faster XPath expressions. 104* Improved copyright and licenses notices for many files. 105 106Overview of Changes in AGS 2.1.0 107================================ 108 109* Implemented OSC server with different server paths. It has a front 110 controller passing the requests to the matching context path of a 111 controller. 112* There is a new OSC buffer util and util file. Further you may use the 113 AgsOscBuilder or AgsOscParser to interact with the OSC content format. 114* Configuration in place is done by AgsApplySoundConfig task. 115 116Overview of Changes in AGS 2.0.0 117================================ 118 119* Implemented wave form editor with basic editing capabilities. Like copy & 120 paste, cursor positioning and editing dialogs. 121* New machines available AgsEqualizer10, AgsSpectrometer and AgsAudiorec. 122 You can now have a built-in 10 band equalizer, a spectrometer visualizing 123 the frequency using FFTW3 library and the ability to edit or record audio 124 data. 125* Refactored libags*.so by providing many API improvements. Grained control 126 of sound file resources. New lock strategy and many objects are thread-safe, 127 now. 128* Implemented AgsWave and AgsBuffer to contain large amount of audio data. 129* Added AgsMidi and AgsTrack skelleton. 130 131Overview of Changes in AGS 1.3.0 132================================ 133 134* Supporting 4 different paste modes by allowing the user to activate 135 do 2 different check menu tool buttons. Switches are match audio channel 136 or line as well no duplicates. 137* New widget AgsScale available. It visualizes a control's possible value. 138 It is accessible, implements AtkValue and AtkAction interface to control 139 the ::value-changed signal or retrieving the range. 140* New widgets AgsScaleBox, AgsVScaleBox and AgsHScaleBox available. It is 141 responsible to layout your AgsScale. It inherits of GtkBox and overrides 142 GtkWidget::size-allocate and GtkWidget::size-request. 143* New widget AgsScrolledScaleBox available. It shall contain a AgsScaleBox 144 and make it scrollable. 145* Refactored automation editor by removing AgsAutomationArea and using 146 AgsAutomationEdit instead. The editor supports segmented automation. 147 148Overview of Changes in AGS 1.2.7 149================================ 150 151* Completed migrating to asynchronous communication from libags*.so.1 to 152 libgsequencer.so. 153* Refactored large parts of ags_channel.c to remove redundant code and 154 make all functions thread-safe. Fixed some regression related to linking. 155 156Overview of Changes in AGS 1.2.0 157================================ 158 159* Audio input support for all common backends like ALSA, OSS4, JACK and 160 Pulseaudio. 161* New widget AgsPiano available. It is an accessible widget which draws 162 a piano. It has events like ::key-pressed, ::key-released and ::key-clicked. 163* New widget AgsScrolledPiano available. It contains an AgsPiano and addtional 164 scrolling capabilities. 165* New widget AgsNotebook available. It is has been moved from libgsequencer to 166 libags-gui. It was refactored to be generic. 167* Refactored notation editor by replacing AgsEditor with AgsNotationEditor. 168 Notes have an alpha channel now. The editor supports segmented notation. 169 170Overview of Changes in AGS 1.0.0 171================================ 172 173* Sticky controls allows you to adjust multiple controls at once. 174* Various bug-fixes especially improved Lv2ui syncing controls. 175 176Overview of Changes in AGS 1.0.0-beta 177================================ 178 179* Experimental XMLRPC-C service prototype. 180 181Overview of Changes in AGS 0.9.29 182================================ 183 184* New automation editor dialogs to select or ramp acceleration. 185* New editor dialog to select notes. 186 187Overview of Changes in AGS 0.9.28 188================================ 189 190* all functional tests pass now again, since gtk_main() integration. 191 192Overview of Changes in AGS 0.9.26 193================================ 194 195* full gtk_main() support you might want to run it by calling 196 ags_gui_thread_do_run(). 197 198Overview of Changes in AGS 0.9.24 199================================ 200 201* Support for LADSPA_PATH, DSSI_PATH and LV2_PATH environment variables 202* Core-audio audio unit backend in order to port the application to 203 Apple OS X. 204 205Overview of Changes in AGS 0.9.10 206================================ 207 208* Pulseaudio sink support. AgsPulseDevout has got a bigger ring-buffer 209 to avoid caching and allow slower write functions. 210 211Overview of Changes in AGS 0.9.8 212================================ 213 214* You may now specify base note of AgsSynth or AgsSyncsynth. 215 216Overview of Changes in AGS 0.9.7 217================================ 218 219* Implemented new functions to handle LV2_Event_Buffer. Note the old 220 functions to do so are deprecated and are incompatible to the 221 newer API. 222* AgsSyncsynth is a new AgsMachine object, allowing you to edit synth 223 notation. 224* Smaller refactoring of AgsApplySynth to use new AgsSynthGenerator 225 API. 226 227Overview of Changes in AGS 0.9.0 228================================ 229 230* Using destroy worker for AgsRecall related unref resulting in much 231 better performance. 232* Many new unit tests and improved code by detecting errors. 233* Extended chapter 3 about concurrency of developer's book. 234 235Overview of Changes in AGS 0.8.9 236================================ 237 238* Lots of properties applied during AgsTask sub-type instantiation. 239 Thus implemented missing ::finalize() and ::dispose(). 240 241Overview of Changes in AGS 0.8.8 242================================ 243 244* Additional editing tools available. After a Standard MIDI File import 245 you might want to move or crop notes. There are 2 dialogs available of 246 the toolbar allowing you to do so. 247 248Overview of Changes in AGS 0.8.5 249================================ 250 251* Envelope is ready now for use. Featuring envelope editor with presets, 252 pattern presets and information tab. 253* Envelope dialog available trough machine's context menu. Supported by 254 AgsDrum, AgsMatrix, AgsFFPlayer, AgsDssiBridge and AgsLv2Bridge. 255* Fixed missing persistence of AgsLiveDssiBridge and AgsLiveLv2Bridge 256 257Overview of Changes in AGS 0.8.2 258================================ 259 260* Added gettext support 261 262Overview of Changes in AGS 0.8.0 263================================ 264 265* Added MIDI import wizard 266* Added MIDI export wizard 267 268Overview of Changes in AGS 0.7.0 269================================ 270 271* provide GSequencer functionality as libraries 272