--------------------------------------------------------------------------------


  Giada - Your Hardcore Loopmachine.

  Developed by Monocasual Laboratories

  www.giadamusic.com

  CHANGELOG
--------------------------------------------------------------------------------


0.19.2 --- 2021 . 12 . 16
- Fix wrong computation of soloed channels


0.19.1 --- 2021 . 12 . 15
- Enable JUCE_DEBUG in Debug builds
- New MidiLighter tests + compile-time dependency injection
- Set limits to minimum zoom level in Action Editors (#425)
- Refactoring and code cleanup for Channel class and other sub-components 
- Update JUCE to version 6.1.2
- Update RtAudio to version 5.2.0
- Sanitize MIDI ports values (fixes #515)
- MidiLighter improvements and cleanups (fixes #517)
- Fix off-the-beat metronome (#522)
- Fix number of plug-ins found not being updated after a scan (fix #523)
- Fix PluginManager initialization
- Fix pthread linking in CMake (#520)
- Fix build info not being printed correctly on startup
- [Linux] Fix X error messages on closing some plug-in editors
- [Linux] Fix wrong icon file in XDG desktop file


0.19.0 --- 2021 . 11 . 01
- New "One-shot Pause" channel mode
- Refactoring: new component-based architecture
- Fix crash on startup if recording from mono input
- Improved event handling for plug-ins GUIs 
- Fix many compiler warnings on menu items initialization


0.18.2 --- 2021 . 09 . 13
- New stereo In/Out audio meters 
- Revamped Action Editor: better UI, improved usability 
- Show play head in Action Editor
- Implement queue for MIDI events, fix issue #482
- Simplified Event Dispatcher's Event type
- Move JACK transport operations to new JackTransport class
- Always pick sample rate from the first audio device when using JACK
- Don't send MIDI events if MIDI channel is not playing (#499) or muted (#497)
- Add AtomicSwapper as git submodule
- Upgrade JUCE to version 6.1.0


0.18.1 --- 2021 . 07 . 25
- New resampler architecture: allows for changing quality also for live rendering (#288)
- Gracefully shutdown UI on close to random crashes on quit on Windows 
- Fix 'one shot channels with actions as loops' mode not working correctly
- Fix wrong sequencer signals while starting/stopping action recs with JACK (#397)
- Fix extra dot in unique audio file name generation
- Fix sample overflow when looping a sample with pitch != 1.0
- [CMake, Linux] Detect JACK with pkg-config
- [CMake, Linux] Install Freedesktop files and icon
- [CMake, Linux] Add configure switches for ALSA, JACK and PulseAudio
- [macOS] Enable hardened runtime


0.18.0 --- 2021 . 05 . 18
- New 'free loop-length' audio recording mode (#63)
- Many AudioBuffer improvements
- Audio configuration panel refactoring
- KernelAudio improvements and cleanups
- Relaxed BPM handling when working with JACK
- Install executable to FHS compliant location (#450)
- [CI] Don't UPX binaries on macOS (#459)
- Fix Overdub protection ON by default not working (#460)
- Fix crash when moving up from a deleted folder (#455)


0.17.2 --- 2021 . 03 . 29
- New double-buffered audio engine
- Improved audio sample rendering precision
- Show tooltips when hovering over UI components
- Add .clang-format file 
- Removed support for Autotools build system
- Removed support for old raw patches
- [CMake] Use find_package command for libsamplerate
- Improved AudioBuffer move semantics
- Send time + position information to plug-ins
- Update JUCE library to version 6.0.7
- Fix crash when saving project with plug-ins in invalid state


0.17.1 --- 2021 . 02 . 01
- Better CMake dependency management
- Add CMake install rules (#422)
- Switch to GitHub Actions for CI and release builds (#440)
- Remove hardcoded 'test' folder in test suite (#432)
- Make sure macOS minimum target is set to 10.14 (#444)
- Fix crash when restarting after setting jack as an audio server (#409, #368)
- Fix crash when clicking "Cancel" button in Browser dialog (#430)
- Fix wrong action ID mapping when cloning a channel (#426)
- Fix scrambled MIDI bindings (#427)


0.17.0 --- 2020 . 11 . 15
- Add CMake build system
- VST3 support
- Show descriptive plug-in names in Plug-in List Window
- Resizable plug-in list
- New persistence mechanism for Plug-ins state
- Improved text truncation for small buttons and text boxes
- Beautify Sample Editor window
- Resizable plug-in list window
- Show descriptive plug-in name in plug-in list
- Update JUCE, version 6.0.4
- Update Catch2 to version 2.13.2
- Replace old filesystem functions in fs.h with std::filesystem
- Add VST3 SDK as git submodule
- Set minimum macOS version to 10.14
- Statically link the MSVC runtime library on Windows
- Avoid crash on opening plug-in list with invalid plug-ins
- Rewind sample channels in loop.once.bar mode on bar, if still playing (fix #403)
- Modernize log::print() function to handle std::string arguments (PR #402)
- Fix playStatus logic for ending sample channels in loop-once-bar mode (#404)
- Fix shrinking beats that could glitch the output (#361)


0.16.4 --- 2020 . 09. 19
- Support for mono inputs
- Overdub mode for Sample Channels with optional overdub protection
- Disable record-on-signal mode when sequencer is running
- Shift + [click on R button] kills action reading when "Treat one-shot channels
  with actions as loops" option is on
- Start MIDI channels automatically after action recording session
- Fix wrong sample rate conversion when project rate != system rate 
- Fix Wrong begin/end sample markers when loading a project with 
  samplerate != system.samplerate 
- Fix wrong MIDI learn mapping for master parameters
- Fix BPM button disabled after audio recording session


0.16.3 --- 2020 . 06. 15
- Non-virtual Channels architecture
- Added G_DEBUG macro
- Optimized CPU usage when playing with many channels
- Increased UI refresh rate to 30 frames per second
- Improved quantizer precision
- Simplified behavior when halting channels containing recorded actions 
- Fix wrong audio sample looping with pitch != 1.0
- Fix MIDI input master values not stored on quit
- Fix One-shot press channel mode not working via mouse 
- Fix Action recording overlap (both live and via Action Editor)
- Fix crash when loading a project with missing audio files
- Fix BPM not changing via Jack


0.16.2 --- 2020 . 02 . 18
- Switch to Json for modern C++ library for reading and writing Json data
- Resizable channels, improved version
- Drop support for raw patches (still readable for backward compatibility)
- Simplify global configuration parameters
- Simplify column data storage in patch files
- Center all micro-subwindows to screen
- Revamped MIDI learning algorithm and related UI components
- Always display 'R' button in Sample Channel
- Don't download external files for unit tests
- Optimized UI drawings for base buttons
- Move build info from 'About' window to console log
- Update RtAudio to 5.1.0
- Fix crash during audio recording after opening a project (thanks AdTb!)


0.16.1 --- 2020 . 01 . 08
- FreeBSD support
- Ability to remove empty columns manually
- Gray out bpm value when in JACK client mode
- 'Reset to init state' becomes 'close project' under File menu
- [Linux] Upgrade Travis CI Linux machine to Xenial
- Add namespaces to file system and logging functions 
- Remove unused G_quit global variable
- Fix Sample Channels in loop mode not playing automatically after audio 
  recording
- Fix action recording button status during audio recording, signal mode


0.16.0 --- 2019 . 12 . 02
- Fix columns' resizer bar height on vertical window resize
- Fix crash on MIDI learn global commands
- Fix wrong channel routing when triggering MIDI learnt commands
- Fix rewind button not rewinding sample channels in LOOP_* mode 
- Use actual buffer size from KernelAudio when loading channels from a patch
- Remove FLTK multithreading initialization


0.16.0 beta-2 --- 2019 . 11 . 11
- Remove all pthread.h leftovers 
- Fix Windows build
- Fix memory corruption on Keyboard refresh
- Fix wave size corruption while editing samples in Sample Editor
- Fix freeze when cloning a Sample Channel with a sample in it
- Fix buffer overflow when playing an edited sample
- Fix crash when loading a project with missing plug-ins
- Fix freeze when pressing 'play' during an audio recording session
- Fix play/ending UI status of MIDI channels
- Fix plug-in sorting on reload
- Fix crash when reloading a sample in the Sample Editor
- Fix messy 'R' button status when toggled
- Fix missing icons and broken checkboxes
- Optimize model updates on keyboard interaction
- Always read Columns data from patch files
- Show missing (and removable) plug-ins in Plug-in Window list
- Create default empty columns on 'Reset to initial state'
- Save relative Wave paths in project files


0.16.0 beta-1 --- 2019 . 10 . 19
- Fix macOS build error + warnings


0.16.0 beta-0 --- 2019 . 10 . 19
- New internal engine<->UI architecture 
- New persistence layer
- New MIDI queue for incoming live MIDI messages
- Switch to std::thread
- Absolute #include paths in source code
- Removed Boost parameter from Sample Channel 


0.15.4 --- 2019 . 03 . 22
- New record-on-signal option for input and action recording
- Initial support for plug-ins with mono I/O buses
- PluginHost refactoring
- Smart pointers for Wave and Plugin objects
- Remove old and deprecated input delay compensation
- Optimized audio IO processing in Mixer callback
- Atomic I/O meters with improved accuracy
- Fix memory leak when replacing samples in a Sample Channel
- Fix plug-ins ordering method when re-opening Giada
- Fix silent Sample Channel when recording actions a second time
- Fix velocity always discarded when sending key-press to Sample Channel
- Fix inability to record actions with quantizer enabled


0.15.3 --- 2018 . 12 . 24
- Action recorder refactoring
- Optional midimap parameters (thank you @tomek-szczesny)
- Support for "inaudible" MIDI lightning events (thank you @tomek-szczesny)
- Build AppImage for Linux on Travis CI instance
- Huge optimization of the AppImage binary file
- Fix Action Editor repaint on min/max zoom levels
- "Resize recording" flag has been removed
- Change text labels for channel operations
- Smarter column assignment while loading a patch/project
- Fix wrong resizer bar width between Action Editor widgets when zooming
- Can't display custom channel name in Sample Channel (fixed)
- Fix crash when cloning Sample Channel with audio data in it
- Clone channel doesn't clone channel name (fix #219)


0.15.2 --- 2018 . 09 . 05
- New sample-accurate Action Editor
- New MIDI Velocity Editor widget
- Ability to move MIDI events vertically in piano roll (i.e. change note) 
- Remove mute action recording
- Better handling of MIDI devices that send NOTEON + velocity 0 as NOTEOFF
- Avoid calls to deprecated JUCE plug-ins methods
- Removed useless pthreadGC2.dll from Windows package
- Can't kill MIDI channels (fix #197)
- Can't record MIDI actions (fix #202)
- Fix missing first beat on metronome rendering
- Fix crash on opening plug-in window on macOS


0.15.1 --- 2018 . 07 . 03
- Deep code refactoring, featuring Channels processors
- Many new unit tests added
- Simplify mutex mechanism
- Fix wrong quantizer value on patch/project load
- Remove the old, buggy and glitchy internal crossfade algorithm
- Fix many potential plug-in crashes on Linux
- Properly close plug-in window on plug-in removal 
- Improve BPM changes while running as JACK client


0.15.0 --- 2018 . 04 . 18
- Refactor audio engine into frame-based processing
- Refactor channels readers/writers into channelManager namespace
- Smarter Solo algorithm
- Fix missing .wav extension on recorded audio takes
- Fix wrong Channel status update after 'Clear all actions'


0.14.6 --- 2018 . 03 . 15
- MIDI velocity drives volume for one-shot sample channels
- FLAC and Ogg support
- Ability to use system-provided Catch library (GitHub #151)
- Update Catch to version 2
- Fix unreadable tabs title in Configuration Window (GitHub #168)
- Fix crash on opening About window
- Fix 'read actions' button behavior during ending and waiting statuses
- Fix sound card initialization on MacOS
- [Windows] Fix UI stuck on top-right corner
- [Windows] Fix browsing for directories


0.14.5 --- 2018 . 01 . 15
- OS X builds on Travis CI
- AppImage executable for Linux
- Support for multiple plug-in directories
- New directory browser for adding plug-in directories
- Update plug-in's parameters on program change in plug-in's window
- Improved MIDI action management in Piano Roll
- Simplified conditional rules in Makefile.am 
- Fix crash on MIDI learn for plug-in parameters
- Fix crash in MIDI input window if MIDI in params are 0
- Fix unwanted new action when dragging piano items in Piano Roll
- Fix crash while recording on existing project (GitHub #161) 
- Fix crash on startup in Windows build


0.14.4 --- 2017 . 10 . 28
- Renameable channels
- Portable VST path
- [Sample Editor] Sample shift tool
- [Linux/Mac] Don't skip '/' path when navigating to upper folders
- Ability to process more than one plug-in instrument at once
- Beautify Configuration Window
- Bring VST window to front when opening UI
- Save 'arm' status to patch/project file
- Revamped Beats and Bpm input windows
- Simplified audio samples' storage in project folders
- Update JUCE to version 5.1.2
- UI-less plug-in window refinements
- Update UI-less plug-in window on MIDI parameter's change
- Strip .gptc/.gprj extension from patch name
- [Sample Editor] Fix non-working 'cut' operation
- Fix missed MIDI events with more than 1 plug-in in the stack
- Fix File Browser path widget drawn incorrectly in OS X
- Fix missing MIDI learn for 'Arm channel' and 'Kill channel'


0.14.3 --- 2017 . 09 . 18
- [Sample Editor] New "reverse selection" function
- [Sample Editor] New "normalize hard" function
- [Sample Editor] New "copy to channel" function
- [Sample Editor] New "copy & paste" function
- [Sample Editor] Double click on waveform selects all
- [Sample Editor] Fix garbled characters in window's title
- [Sample Editor] Fix wrong result on "set pitch to song/bar"
- Resizable channels
- Remove calls to malloc/free in Mixer (use new/delete instead)
- Improved UI management of VST plugins
- Fix infinite loop for one shot retrig samples with quantizer > 0
- Fix wrong geChannel count while saving a patch
- Fix missing greyed-out options in Sample Channel's menu when loading a wrong
  sample
- Fix crash while audio recording with BPM set below the default 120 
- Print correct octave numbers in Piano Roll


0.14.2 --- 2017 . 08 . 14
- [Sample Editor] Audible preview (with optional loop mode)
- [Sample Editor] Frame-precise editing
- [Sample Editor] Show sample's information
- [Sample Editor] Improved fade out algorithm
- [Sample Editor] Process both left and right channel's data while drawing
- Better Wave objects handling
- Improved channels' memory management
- Improved empty columns cleanup algorithm
- Update Catch version
- Update JUCE version (5.1.1)
- Update Jansson version (2.10)
- Fix missing tempo update on reset to init state
- Fix wrong memory allocation for UI-less plugins


0.14.1 --- 2017 . 07 . 16
- Update JUCE library to 5.0.2
- Show play head in Sample Editor
- Refactor pop up menu in Sample Editor
- Many small fixes and optimizations in waveform drawing routine
- Makefile cleanup
- Fix crash while recording with beats/bars greater than 4/1 (GitHub #134)


0.14.0 --- 2017 . 05 . 29
- Sample Editor reorganized and refactored 
- Removed support for old ini-based patch files
- Improved and simplified pan algorithm
- Ability to toggle input monitoring while recording audio
- Lots of code refactoring
- Convert all .h headers to C++ headers
- Update Libsndfile to version 1.0.28
- Fix crash when recording audio
- Fix wrong file path when exporting samples
- Fix a bug that prevented begin/end handles to work in Sample Editor
- Fix Sample Editor's grid value not being stored properly on close


0.13.4 --- 2017 . 04 . 23
- Removed support for old ini-based MIDImap files
- Initial support for channel-based MIDI filtering
- New Orphaned MIDI events in Piano Roll editor
- Improve action filtering in Piano Roll editor
- Lots of code refactoring
- New test suite for Action Recorder
- Fix obscure bug when overdubbing actions and a null loop occurs
- Fix "clear all actions" menu refresh when removing items on Piano Roll


0.13.3 --- 2017 . 03 . 25
- Strip VST folder from Git repository
- Fix 'Close' button's position inside MIDI input window
- Update RtMidi to version 2.1.1
- Improve 'free channel' function (GitHub #105)
- New 'Clock' structure for timing operations
- New Jack implementation with BPM sync and Rewind (GitHub #89)
- Fix missing tracker reset on 'free channel' function (GitHub #99)


0.13.2 --- 2017 . 01 . 14
- MIDI learn for plugins parameters
- Toggle hidden files in File Browser
- Fix broken compilation when build without VST support
- Make sure PluginChooser window has a sane size
- Decouple Recorder from any global variable
- Better source code organization
- Make plugin creation more robust
- More source code reorganization
- Fix crash on clicking scrollbar arrows (GitHub #53)
- Fix crash when doubling/dividing length while recording (GitHub #110)


0.13.1 --- 2016 . 11 . 16
- Input MIDI to MIDI channels/plugins
- Refinements to show/hide 'R' button's dynamics
- Increase piano roll items' height
- Set input volume to max by default
- Start live-recorded sample channels right away
- Avoid potential crashes when loading samples on running channels
- Generate metronome during output post-processing
- Better widgets' layout in Sample Editor
- Lots of source code optimizations and cleanups
- Fix inverted 'R' button's status (GitHub #94)
- Better handling of 'R' button's status when the sequencer is off (GitHub #95)
- Fix non-playing samples if live-recorded and 'R' button is on (GitHub #93)
- Reset button statuses once channels have been freed (GitHub #100)
- Fix missing ASIO and WASAPI APIs on Windows (GitHub #96)
- Missing RtMidi libs on Linux (GitHub #102)
- Fix fade-in/fade-out editing not triggering alert on save (GitHub #101)


0.13.0 --- 2016 . 09 . 20
- Deep file browser refactoring
- Save browser's scroll position and last item selected on opening
- Load patches/projects/samples on double click
- 64 bit builds for Windows
- Prevent deprecated patch from crashing if a plugin is not found in the stack
- Force logger to flush to file on Windows
- Add more default values for windows' dimensions and positions
- Avoid crashes on Configuration panel if no midimaps were selected
- Fix missing keyRelease actions in action editor
- Update JUCE to version 4.2.3
- Don't include JUCE on tests without VST support (GitHub #75)
- Fix compilation errors on GCC 6 (GitHub #82)
- Fix includes on OSX (GitHub #92)
- Fix wrong channel's actions count that prevented "R" button to be toggled
  properly
- Fixed a bug that prevented actions on frame 0 to being properly reproduced
- Make Recorder a proper class
- Better naming convention for ActionEditor's children classes
- Source code reorganization


0.12.2 --- 2016 . 06 . 02
- Update RtAudio to version 4.1.2
- Add WASAPI support on Windows
- Sortable plugins list
- Simplify custom RtAudio build and inclusion on Linux
- Fix crashes on startup on OS X El Capitan
- Store position and size of Available Plugins window
- Untangle Channels' code from global variables


0.12.1 --- 2016 . 05 . 06
- Show percentage progress for plugin scan
- Notify if plugins are missing
- Notify if unknown plugins are present
- Fix potential segfault on MasterIn/MasterOut plugins loading
- Proper cleanup of JUCE resources
- Internal refactoring on PluginHost's global variables


0.12.0 --- 2016 . 03 . 07
- Port to JUCE Framework for audio plugin management
- Increase global font size
- Minor UI fixes and cleanups
- Add ability to run tests outside Travis CI
- Switch to C++11
- 64 bit binaries for OS X
- Use new constant for global font size


0.11.2 --- 2016 . 01 . 16
- New JSON-based midimap files
- Add new channel by right-clicking anywhere on a column
- Show warning if patch is using the deprecated file format
- Do not force 32 bit compilation on OS X
- Fix warnings and errors on GCC 5.3
- Fix a bug that prevented MIDI Jack from being selected on Linux


0.11.1 --- 2015 . 12 . 22
- Ability to clone channels
- New JSON-based configuration file
- Port all vectors from old gVector to std::vector
- Deactivate all other MIDI fields when changing MIDI system in Config window
- Minor optimizations in configuration panel, Audio tab
- Assume 'none' as default sound system
- Include Catch header file in source package
- Update Travis CI environment to Ubuntu Trusty
- Fix missing sanitization after reading configuration file
- Fix garbage text in device info window
- Fix wrong config value if no midimaps are available
- Fix garbage text while printing device and port names


0.11.0 --- 2015 . 12 . 02
- New JSON-based patch system
- Properly store column width in patch
- Port all const char* strings to std::string in patch/project glue layer
- Switch to SemVer-like internal versioning system
- More source code reorganization
- Fix potential memory leaks in Mixer
- Fix missing static link of RtMidi on Linux
- Unable to store pitch values > 2.0 (fixed)
- Missing assigned key after opening patch (fixed)


0.10.2 --- 2015 . 10 . 21
- Setup Travis CI automated builds
- Add base framework for unit testing (with Catch)
- Improve behavior of Loop Once family when the sequencer is halted
- Fix empty sample path in sample channels when saving a Project
- Fix disabled "edit actions" for sample channels
- Fix missing pthreadGC2.dll in Windows build


0.10.1 --- 2015 . 08 . 26
- Massive source folders refactoring
- Improved usability of "play" buttons for channels
- Remove support for patches created with Giada < 0.6.x
- Fix check for configured soundsystem (would break compilation on g++5)
- Small fixes and cleanup in Makefile.am


0.10.0 --- 2015 . 07 . 05
- MIDI lightning output
- Other minor fixes


0.9.6 --- 2015 . 05 . 11
- Keyboard binding for MIDI channels
- Support for multiple files in drag-n-drop operations
- Different color for wait/end statuses
- Small improvements to Keyboard grabber widget
- Fix random crashes with Jack enabled
- Fix weird behavior with multiple drag and drop
- Code refactoring


0.9.5 --- 2015 . 03 . 28
- Better column resize algorithm
- New patch loading system with permanent MIDI mapping
- Ability to clear assigned keys (keyboard mode)
- Improved zoom icons in editors
- Fix deprecation warning in configure.ac


0.9.4 --- 2015 . 02 . 24
- Drag-n-drop now works also in existing channels
- Store 'resize recordings' flag in giada.conf
- Better management of duplicate samples
- Add more VST debug information
- Minor fixes and tweaks


0.9.3 --- 2015 . 02 . 01
- New GUI improvement: responsive and resizable columns
- Upgrade to FLTK 1.3.3
- More robust column handling mechanism
- Support for MIDI devices without note-off message (@blablack)
- Fix segfaults when saving a patch with missing plugins
- Fix many minor graphical bugs
- Fix wrong vector assignment in MIDI send event
- Fix reloaded patches with no right tempo/beats displayed
- Fix random odd frames when adding/moving events in Piano Roll
- Minor internal cleanup


0.9.2 --- 2014 . 11 . 29
- New grid layout in Sample Editor
- Load samples via drag n drop
- Add new utility functions: gTrim and gStripFileUrl
- Fix "normalize" button position in Sample Editor
- Minor waveform drawing optimizations
- Add missing files for RtAudio-mod compilation
- All one-shot mode, if fired manually, get the first frame truncated (fixed)


0.9.1 --- 2014 . 09 . 24
- Bring back custom version of rtAudio in source package
- Automatically turn up volume when adding new channel
- Updated 'misc' tab in configuration panel
- Fix startup crash on OS X
- Fix missing jack headers


0.9.0 --- 2014 . 08 . 18
- New full-screen GUI
- Multi-column support
- Advanced logging system
- Upgrade to RtAudio 4.1.1 and RtMidi 2.1.0
- Removed embedded RtAudio (thanks to Arty)
- Fix wrong processing of VST MIDI events on 64 bit version
- Fix stretched buttons when resizing sample editor window
- "Clear all samples" destroys channels (fixed)
- "Free channel" messes up loop / mute buttons (fixes)
- Fix potential recordings with odd frames


0.8.4 --- 2014 . 03 . 27
- New mode 'Loop Bar Once'
- Several small improvements and cleanups to internal utils functions
- Fixed missing title in several subwindows
- (win) Fix runtime error when loading a new project
- Fix chan reset when clicking on waveform
- Properly close subwindows after a channel has been deleted
- Fix 'reload' button not working for samples with updated names


0.8.3 --- 2014 . 02 . 14
- Experimental MIDI timing output with MTC and MIDI clock
- Expose Sequencer x2 and /2 via MIDI
- New pitch operators x2 and /2
- Internal xfade process restored
- "set key..." becomes "setup keyboard input" for sample channels
- MIDI events are now saved as unsigned int in patch
- Same expression on both sides of '|' in recorder.cpp (fixed)
- Muted channels leak some glitches on 'kill' event (fixed)
- Piano roll can't be edited anymore if beats == 32 (fixed)
- Noise when adding new MIDI channel (fixed)
- Boost and Normalize not working (fixed)
- Multiple copies of every file used by the patch (fixed)
- Samples with -1, -2, ... -n suffix are not included in patch (fixed)
- Segfaults when quantizing samples (fixed)


0.8.2 --- 2014 . 01 . 13
- Pitch control exposed via MIDI
- New tools in Sample Editor (linear fade in/out, smooth edges)
- Implemented vstEvent->deltaFrames, gaining more precision with vst
	MIDI events
- Add Fl::lock/Fl::unlock dynamics to glue_ calls where needed
- Avoid pitch sliding when changing pitch of a sample in status OFF
- Update copyright info in source files
- Internal fade in and fade out restored
- Add 'Giada' keyword to desktop file
- Fix annoying glitches when playing very short samples
- Fix random crashes when controlling giada via MIDI
- Fix missing MIDI mapping for read-actions button


0.8.1 --- 2013 . 12 . 09
- New, high-quality pitch control based on libsamplerate
- New set of functions 'spread sample to beat/song'
[known issues]
- Internal crossfades have been temporarily disabled. Some clicks may
	occur


0.8.0 --- 2013 . 11 . 03
- Initial MIDI input support
- Fix freeze when recording audio inputs on a second channel
- Fix 'R' button to show up even if the channel has no actions
- Fix weird drawings of keypress actions in action editor
- Free channel: delete 'R' button as well
- Shift+key does not kill loop mode channels in a wait status
- Fix issue with 'R' button and newly added actions
- Remove "left"/"right" labels from main buttons


0.7.3 --- 2013 . 09 . 14
- Experimental 64 bit compilation (Linux only)
- Massive internal cleanup of channel/gui channel layers
- Set default mode to full volume on sample load
- Set default mode to oneshot basic
- Faster drawings in piano roll
- Visual aids in piano roll
- Scroll to pointer in piano roll
- Several minor improvements in piano roll's usability
- Revised VST Carbon window popup system
- Minor improvements in startInputRec/stopInputRec procedure
- Fix compile error using local type Plugin* in Channel's constructor
- Fix segfault in OSX when working with VST windows


0.7.2 --- 2013 . 07 . 27
- Initial MIDI output support
- Mute now affects channels with VSTi signals
- Lots of deb package improvements
- Complete rewrite of VST GUI part on OS X
- Don't send MIDI mute on sample channels
- Send MIDI mute for MIDI channels in play mode
- Fix wrong looping due to VST processing in mixer::masterPlay
- Fix jack crashes when using Giada with ALSA
- Fix VST random crashes on OSX, bus error
- Fix input device set to -1 after a system change


0.7.1 --- 2013 . 06 . 27
- Initial Jack Transport support
- Send global note off when sequencer is being stopped
- Send note off when deleting notes in Piano Roll
- Store position and size of Piano Roll in conf file
- Avoid overlap MIDI notes in Piano Roll
- MIDI channel refactoring
- MIDI channels now behave like loop-mode ones
- Fix graphical bugs in Action Editor, sample mode
- Fix refresh issue in Piano Roll when deleting items
- Lots of invisible cleanups and improvements


0.7.0 --- 2013 . 06 . 05
- Initial MIDI output implementation
- Initial VSTi (instrument) support
- New piano roll widget in action editor
- New chan mode: MIDI vs SAMPLE
- Fix E-MU Tracker Pre not correctly listed in audio in/output


0.6.4 --- 2013 . 05 . 07
- Resizable plugin parameter window
- New and standard package name format <name>-<version>.<ext>
- Implement RtAudio::getCompiledApi() to fetch compiled APIs
- Implement audioMasterGetSampleRate, audioMasterGetLanguage VST opcodes
- Add drop-down menu for buffer size values in config panel
- Enhance project portability between OSes
- Lots of fixes and improvements for VST strings and parameters
- Avoid segfault when loading recs from a patch with files not found
- Always remember selected program when shifting up/down plugins
- Fix wrong size of single_press displayed in action editor
- Fix volume actions resized with value set to zero
- Fix volume envelope always over the cover area
- Fix src package extracts to current dir
- Fix segfault in loadpatch process if plugin GUIs are open
- Fix segfault when closing patch with plugins in BAD status


0.6.3 --- 2013 . 04 . 23
- New 'solo' button
- Portable project system
- New 'Single Endless' channel mode
- GUI enhancements for channels in WAIT or ENDING status
- Minor fixes & cleanups


0.6.2 --- 2013 . 04 . 05
- New volume envelope widget
- Zoom with mouse wheel in the action editor
- Graphical enhancements & speedups for the action editor
- Loop-repeat doesn't stop when put in ending mode (fixed)
- Fix draw errors when zooming too much the action editor
- Set silence in wave editor messes up the waveform (fixed)
- Wrong slashes in file path when saving a patch in Windows (fixed)
- Many, many code improvements and bugs fixed


0.6.1 --- 2013 . 03 . 21
- Unlimited number of channels
- Deep internal refactoring, mixer/GUI layers
- Fix random crashes on exit
- Fix crashes when closing Giada with VST windows opened
- Always free Master In plugin stack on exit
- Lots of other minor bugs fixed and small enhancements


0.6.0 --- 2013 . 03 . 02
- New, full-screen, redesigned sample editor
- Zoom with mouse wheel in sample editor
- Use kernelAudio::defaultIn/defaultOut for DEFAULT_SOUNDDEV_OUT
- Volume knob in main window now updates the editor
- Sound system issues in OS X (fixed)
- Output device info dialog refers to wrong device (fixed)


0.5.8 --- 2013 . 02 . 07
- Internal samplerate conversion (with libsamplerate)
- Bring channels automatically to full volume on sample load
- Ability to set the audio device frequency
- New "internal mute" feature
- fix for deprecated VST opcode 14
- fix deb package issues on Ubuntu 12.10 / KXStudio


0.5.7 --- 2013 . 01 . 21
- visual grid + snapping in the action editor
- implement more audioMasterCanDo's in pluginHost
- limit zoom in actionEditor
- revise zoom behavior in actionEditor, now more comfortable
- fix forward declaration & inclusion of several headers
- implemented VST opcode 32
- implemented VST opcode 33
- implemented VST opcode 34
- update website link in tar files
- update copyright info for 2013


0.5.6 --- 2013 . 01 . 03
- New overdub mode for live recording
- Support for VST programs, aka presets
- Lots of VST opcodes implemented
- Fix crash when removing a plugin from the stack
- Fix pops when going to beat 0
- Fix compilation issues without --enable-vst
- Many invisible optimizations and small bugs fixed


0.5.5 --- 2012 . 12 . 15
- "Hear what you're playing" feature
- Fx processing on the input side
- Ability to add different action types (Action Editor)
- Desktop integration on Linux (via deb package)
- Upgrade to FLTK 1.3.2
- Remove "the action might stop the channel" when loading new samples
- Fix wrong positioning of zoom tools (Action Editor)
- Fix unwanted interactions on the grey area (Action Editor)
- Fix wrong memory alloc during the VST processing
- VST don't show up in OS X (fixed)
- Minor internal refactoring + bugfixing


0.5.4 --- 2012 . 11 . 24
- VST GUI support
- Better subwindow management
- Implemented many other VST opcodes
- Missing plugins are now shown in the list with a 'dead' state
- Refresh action editor when changing beats (via beat operator or
  beat window)
- Graphical improvements in the action editor
- Resizable action editor doesn't work well (fixed)
- Fix auto fadeout for SINGLE_PRESS channels
- Fix compilation without --enable-vst
- Fix for a wrong prototype definition of the VST hostCallback


0.5.3 --- 2012 . 10 . 26
- Live beat manipulators (x2)(/2)
- New sub-windows management, faster and more comfortable
- New optional hard limiter on the output side
- Action Editor window recalls x,y,w,h zoom and position
- Usability improvements while handling an action (action editor)
- Refresh actionEditor window when switching channel mode or delete
	actions
- Unable to delete a killchan action (action editor) (fixed)
- Don't show ACTION_KILLCHAN in a singlepress channel (action editor)
- Libsndfile no longer statically linked in Linux
- Fixed a typo in config: "when the sequeCer is halted"
- redefinition of DEFAULT_PITCH in wingdi.h (windows) (fixed)
- Upgrade to FLTK 1.3.0
- Other internal optimizations
- Other small bugs fixed


0.5.2 --- 2012 . 10 . 05
- Add ability to handle actions for loop-mode channels
- Add ability to record live mute actions for loop-mode channels
- Lots of live action recording improvements
- Enhanced usability for the action editor
- More verbose output if kernel audio fails to start
- Several internal optimizations


0.5.1 --- 2012 . 09 . 13
- First implementation of the Action Editor
- Added compatibility with Ubuntu >= 10.04


0.5.0 --- 2012 . 07 . 23
- New custom project folder (.gprj)
- Sample names are now made unique
- Fixed unwanted time stretching while exporting a mono sample
- Lots of minor internal improvements


0.4.12 --- 2012 . 07 . 01
- VST parameters and stacks are now stored in patch file
- Upgrade to RtAudio 0.4.11
- PulseAudio support in Linux (thanks to RtAudio 0.4.11)
- Revised .deb package
- Enhanced "normalize" function in wave editor
- Several memory issues fixed
- Internal enhancements and minor bugs fixed


0.4.11 --- 2012 . 06 . 10
- VST stack for each channel
- Custom paths for plugins, samples and patches
- Crash in config panel if device is busy (fixed)
- Graphical bug in the input meter (fixed)
- ParamLabel added in the VST parameter list


0.4.10 --- 2012 . 05 . 30
- Ability to shift up an down VST plugins
- Enhanced patch/conf architecture
- Ability to edit a sample while playing
- Mutex controls in VST processing
- Lots of security issues fixed while changing pitch dynamically
- Enhanced sub-window system
- Several minor bugs fixed


0.4.9 --- 2012 . 05 . 12
- No more mandatory inputs
- Pitch value properly stored inside the patch
- Several small VST host improvements
- Enhanced window management
- Ability to browse files while playing with main GUI (non-modal browser)
- Improved error checking in KernelAudio
- Wrong style for lower scrollbar in Browser (fixed)
- Fixed compilation on 64 bit systems (thanks to Speps@Archlinux)
- Samplerate no longer hardcoded, auto-detected with JACK
- Minor internal improvements and bugfixing


0.4.8 --- 2012 . 04 . 21
- Initial VST support (experimental)
- Pitch controller (experimental, no filtering)
- OSX bundles are now correctly handled by the file browser
- Fixed several memory leaks
- Minor internal improvements


0.4.7 --- 2012 . 03 . 31
- Cut, trim & silence operations in sample editor
- New "Reload sample" button added
- Lots of optimizations in the waveform drawing routines
- The sample is no longer editable while in play mode
- Fixed potential startup crashes while using Giada with Jack Audio
- Other minor fixes applied to the configuration panel
- Fixed compilation on 64 bit systems (thanks to Speps@Archlinux)


0.4.6 --- 2012 . 03 . 11
- New device information panel
- The device configuration now shows only active and available devices
- Channel panel no longer pops up during a recording process
- GUI beautifications and other minor graphical fixes
- Program icon added in all subwindows
- Action records no longer available during a take, and vice versa
- Fixed a serious bug that swapped input and output devices
- Fixed loop behavior in ending mode
- Fixed clicks when stopping a muted channel in loop


0.4.5 --- 2012 . 02 . 25
- Complete GUI redesign
- New "start/stop action recs" button
- Lots of internal cleanups and micro refactorings
- Small drawing glithes in Editor and status box (fixed)
- An invalid patch puts Giada to init state (fixed)
- Fixed button repeat on start/stop, action rec, input rec
- Checks against takes with unique name
- Message "this action may stop the channel" always shown (fixed)
- Channel no longer freeable while a take is in progress


0.4.4 --- 2012 . 02 . 04
- New input/output channel selector
- Rewind bypasses the quantizer if triggered via mouse (fixed)
- Fixed library paths in configure and makefile (thanks to Yann C.)
- Added AUTHORS and NEWS files to the source package (thanks to Yann C.)
- More robust sample export procedure
- Issues with mute buttons when opening a patch (fixed)
- Several usability improvements
- Minor code cleanups and optimizations


0.4.3 --- 2012 . 01 . 21
- New "save project" feature
- Ability to export a single sample to disk
- More feedback when removing/clearing actions and samples
- Sequencer starts automatically when action-rec button is pressed
- Alert if patch name is empty while saving it
- Channels now store internally the name of the samples
- Missing "--no devices found--" in input devices menu (fixed)
- Alert added if there are no empty channels for recording
- "Edit->Clear all actions" no longer works (fixed)
- END button could be used as a channel trigger (fixed)
- Recorders are available even if device status is wrong (fixed)
- Missing sample rewind if channel is muted (fixed)
- Quantizer doesn't work if framesize is odd (fixed)
- Random segfault when closing Giada (fixed)
- Lots of code cleanups
- Other minor improvements and optimizations


0.4.2 --- 2012 . 01 . 09
- Live sampling from external input with meter and delay compensation
- Check against uneven values and overflow in buffersize field
- Wrong normalized values if volume level is 0.0 (fixed)
- Boost dial goes crazy if normalized > 20.0 dB (fixed)
- Boost dial goes crazy if normalized < 0.0 dB (fixed)
- Unwanted noise click if a muted channel is being rewinded (fixed)
- Mute doesn't work well for single-shot samples (fixed)
- Wrong FLTK headers (fixed, thanks to Yann C.)
- Moving chanStart/chanEnd swaps stereo image (fixed)
- Reset to init state doesn't reset mute buttons (fixed)
- Wrong chanStart value if > 0 (fixed)


0.4.1 --- 2011 . 12 . 07
- Complete mixer engine refactoring
- Faster audio buffer allocation
- Global beat system revisited
- Autocrossfade between samples is now enabled by default
- No more recorded actions on odd frames
- Unintentional channel swapping fixed
- Unable to list all sound systems and sound devs under OSX (fixed)
- Missing graceful stop of audio streaming under OSX (fixed)


0.4.0 --- 2011 . 11 . 16
- Support for all major uncompressed file formats (with libsndfile)
- Enhanced mono > stereo conversion
- Fixed drawing issues for the start/stop labels inside the waveform
- Enhanced backward compatibility with old patches
- Support for compilation on OS X and Windows


0.3.6 --- 2011 . 11 . 02
- Initial Mac OS X release
- (Windows) Ability to list and browse all active drives
- Change some internal routines plus minor optimizations
- Added -pedantic and -Werror flag to the compiler
- Crash if clicking on mute in an empty channel (fixed)
- Chan status changes if an empty channel is being muted (fixed)


0.3.5 --- 2011 . 10 . 22
- Pan controller added
- New GNU-style source code packaging
- Revamped .deb package
- Program icon missing under Windows (fixed)
- Crash if a sample in patch is missing from the filesystem (fixed)
- Unable to rewind to beat 1 if quantizer is on and seq stopped (fixed)
- Several minor glitches fixed


0.3.4 --- 2011 . 10 . 10
- Full source code released under GPL license
- Autosmooth is now toggleable via setup
- Faster loading process of patch files
- Various internal cleanups and optimizations
- Fixed incorrect reading of boost values from patch
- Fixed a potential bug that prevented the config panel to appear
- Fixed stereo swap bug
- Minor graphical revisions


0.3.3 --- 2011 . 09 . 28
- New "normalize" function
- More editing tools added inside the sample editor
- Waveform beautifications
- Fixed interaction bugs for boost and volume controls


0.3.2 --- 2011 . 09 . 19
- New "mute" button inside the main window
- Waveform is now updated when the boost value changes
- Zoomin/zoomout relative to the scrollbar position
- Fixed garbage output if the volume was "-inf" (windows version)
- Fixed several rendering issues for short waveforms


0.3.1 --- 2011 . 09 . 12
- Boost volume + fine volume control in sample editor
- Start/End handles inside the editor are now draggable via mouse
- Fixed scrollbar issues in sample editor
- Start/end points are now always drawn in the foreground
- Waveform no longer overflow if a value is greater than the window
- (linux) giada.conf is saved inside the hidden folder /home/.giada
- patch loading process is now faster and cleaner
- Update to rtAudio 4.0.10


0.3.0 --- 2011 . 09 . 01
- New sample editor window
- Ability to set start/end points within a sample
- Update to rtAudio 4.0.9
- Fixed an string overflow inside a patch
- Fixed a missing memory free if a sample is unreadable
- Several internal updates and optimizations


0.2.7 --- 2011 . 07.  22
- New way to handle recorded channels as loops
- Fixed retrig for backspace key (rewind)
- Enhanced rewind with quantization support
- Main and alert windows now appear centered on screen
- Sanity check against old patches without metronome information
- Rewind now affects loops in rec-reading mode


0.2.6 --- 2011 . 07 . 11
- Internal metronome
- Fixed some glitches in config panel
- Minor cleanups


0.2.5 --- 2011 . 06 . 20
- Configuration panel redesign
- Several new control options
- Progress feedback when loading patches
- Internal optimizations
- Updated docs


0.2.4 --- 2011 . 06 . 08
- New loop repeat mode
- Ability to save patches anywhere in the filesystem
- Sub-beat management
- Sound meter has been revisited and improved
- Several patch enhancements
- Core audio optimizations


0.2.3 --- 2011 . 05 . 18
- ASIO support for Windows version
- Enhanced security when reading values from a patch
- Ability to disable the recordings when the sequencer is paused
- Master volume and rec status are now saved inside the patch
- Device selection fixed and improved
- Sequencer flickering in Windows has been fixed
- Feedback added if a sample from a patch is unreadable or corrupted
- Minor internal optimizations


0.2.2 --- 2011 . 05 . 04
- New open-source patch system
- A patch can now be loaded from any location of the filesystem
- Enhanced file browser coords system
- Lots of minor improvements to the sample loading/unloading procedure
- (win) Init path of file browser now starts from %userProfile%/Desktop
- Wrong handling of "/" chars fixed in config menu
- Fixed potential hangs on quit
- Fixed clicks when stopping sequencer/sample
- Minor gui beautifications


0.2.1 --- 2011 . 04 . 26
- Windows version


0.2.0 --- 2011 . 04 . 19
- Full JACK and ALSA support with RtAudio
- New list of sound devices in menu window
- Enhanced shutdown procedure to prevent potential crashes
- Some GUI glitches fixed
- Fixed random locks when the screensaver is active


0.1.8 --- 2011 . 04 . 13
- new functions: free al samples/recordings, reset to init patch
- main menu redesign
- the file browser is now resizable
- GUI feedback for samples in play mode
- some fixes when unloading a sample


0.1.7 --- 2011 . 04 . 07
- Ability to remove only action recordings or mute recordings
- Shift+key now stops the sample if the master play is deactivated
- Frame 0 was always processed at the end of the sequencer
- Minor internal improvements


0.1.6 --- 2011 . 03 . 29
- Autocrossfade to prevent clicks
- Internal improvements and bugfixing


0.1.5 --- 2011 . 03 . 10
- decimal bpm adjustment
- ability to shrink/expand actions when changing the global beats
- improved GUI for beats and bpm controllers
- improved routines for action management
- actions are now updated when you change bpm


0.1.4 --- 2011 . 03 . 04
- ability to save recorded actions
- status box now shows if a recorded chan is deactivated
- recorder is reset correctly when you load a new patch
- minor improvements


0.1.3 --- 2011 . 02 . 26
- action recorder (first implementation)
- quantization procedure slightly optimized
- minor graphical adjustments
- expanded documentation


0.1.2 --- 2011 . 02 . 08
- master volume controller
- improved sound meter with more accuracy
- improved verifications when reading or writing a patch
- beat counter is now always reset to 1 after a patch is loaded
- made loading wave files more robust, plus memory optimizations
- minor crashes fixed


0.1.1 --- 2011 . 01 . 26
- expansion to 32 channels
- GUI restyling
- live quantizer
- fixed wrong handling of "mute" value when loading a patch
- minor internal improvements


0.1.0 --- 2011 . 01 . 18
- ability to mute channels
- stop and rewind buttons now affect only channels in loop mode
- undo for ending loops
- internal patch improvements to provide backward compatibility
- better behaviour when exceeding the total amount of available memory
- fixed random reversals of stereo field at the end of the beat bar
- fixed a potential segmentation fault when freeing a sample


0.0.12 --- 2011 . 01 . 11
- ability to free a channel
- "stop" button to suspend the general program
- new "stop-to-end" mode for looped channels
- new "full stop" key combination
- enhanced mouse interaction
- minor bugfixing


0.0.11 --- 2010 . 12 . 28
- customizable keys
- GUI layer optimizations and improvements
- overwrite confirmation when saving a patch
- the browser always displays the patch folder when loading a new patch
- browser url is now read-only to prevent manipulations


0.0.10 --- 2010 . 12 . 16
- new "single-mode retrig" mode added
- expansion to 16 channels
- new advanced file browser with the ability to navigate the filesystem
- audio configuration now uses the "default" device, if not changed
- graphical restyling for audio channels
- fixed a random crash on startup, due to a wrong thread synch


0.0.9 --- 2010 . 12 . 08
- new loop once mode
- new graphical beat meter
- rewind-program button added
- heavy buttons and controls restyling
- reinforced header verification when a new patch is opened for reading
- some bugfixing for the loading procedure of a patch
- fixed a potential crash while a new sample is being loaded


0.0.8 --- 2010 . 11 . 28
- fixed a critical crash while loading a sample
- GUI warning when loading a sample or a patch into an active channel
- little optimization during the search for data into waves
- all popup windows are now modal (always on top)
- fixed a potential crash in case of malformed wave files


0.0.7 --- 2010 . 11 . 18
- new peak meter with clip warning and system status report
- any "ok" button is associated to the "return" key (for fast inputs)
- graphical improvements for checkboxes, buttons, smaller fonts in browsers
- graphical feedback for missing samples
- internal optimizations


0.0.6 --- 2010 . 11 . 01
- new 32 bit floating point audio engine
- support for any wave bit-rate, from 8 bit pcm to 32 float
- Giada now prompts when a sound card error occurs
- removed the hard-limiting system, now useless
- the "save patch" panel now shows the actual patchname in use
- alphabetic sort into the file browser
- fixed an annoying gui flickering
- patch volume information are now handled correctly
- minor internal optimizations
- fixed a memory leak when loading a new patch
- other memory optimizations


0.0.5 --- 2010 . 10 . 21
- Patch-based system: load/save your setup from/to a binary file
- New audio configuration panel
- New configuration file (giada.conf) where to store data
- Complete implementation of the double click startup
- Fixed a bug related to the confirm-on-quit window
- Minor GUI beautifications
- Extended documentation


0.0.4 --- 2010 . 10 . 11
- New internal sample-accurate loop engine
- Ability to configure the period size through ini file
- First implementation of the double click startup
- Debug information are now properly tagged, reporting the interested layer


0.0.3 --- 2010 . 10 . 02
- (giada) New official logo
- (giada) Ability to load single-channel samples
- (giada) Capital letter consistency between GUI buttons
- (giada) Added "cancel" button to the browser window
- (giada) Endianness verification
- (giada) Cleanup of the audio initialization procedure
- (giada) Several internal optimization for audio playback
- (giada) ALSA layer now tells if an underrun occurs
- (giada) Internal memory allocation improvements
- (giada) Fixed an unallocated hardware parameter into ALSA configuration
- (wa) Information about wave endianness
- Added a "Requirements" section to the readme file


0.0.2 --- 2010 . 09 . 17
- (giada) More visual feedbacks if a key is pressed
- (giada) Added a graphical alert if a sample is in an incorrect format
- (giada) Confirm on exit
- (giada) Graphical improvements for the browser window
- (giada) Browser window doesn't close itself anymore if a sample format is incorrect
- (giada) Added "-- no sample --" for empty channels
- (giada) Startup no longer fails if a sample from the ini file is not found
- (giada) Internal optimization for the sample loading routine
- (giada) More graphical consistency between subwindows
- (giada) The sample name is now truncated to fit into its box, preventing overflow
- (giada) Other minor GUI tweaks
- (giada) Internal memory improvements to prevent a bad bug of allocation with malformed wave files
- (wa) More information about sample size
- (wa) Added calculations and comparison between data sizes


0.0.1 --- 2010 . 09 . 06
(initial release)
