120120903 smbolton 2 3* Luke Andrew added three new filter modes: 2-pole high-pass, 4-pole 4 high-pass, and band-reject (plus he did some nice code 5 refactoring.) 6 720120729 smbolton 8 9* Removed all code enabled by '--enable-developer', except for the 10 option to write patch files as 'C' code. Under-development 11 functions are now contained in git branches. 12 13* Promoted Wavecycle Chorus to regular (non-developer-only) 14 oscillator mode. 15 16* Promoted resonz to regular (non-developer-only) filter mode. 17 18* Fixed a click that occurred with several oscillator modes (Wave 19 Cycle, PADsynth, and FM) when using portamento in a monophonic 20 mode, due to the oscillator phase being reset spuriously. 21 22* Added icon (32x32 only for now, not installing). 23 24* Added some new patches to the default set, including several 25 contributed by Ken Restivo. 26 27* Fixed configure.ac for FreeBSD (thanks, downstream.) 28 29* Removed developer-only filters resonr (unneeded) and Neosweep 30 (unremarkable; license unclear). Removed ESQ-1 patch import 31 code, which never really worked anyway. 32 3320100922 smbolton 34 35* Added minBLEP oscillator waveform: clipped saw (thanks to Gordon 36 JC Pearce for the inspiration). 37 38* Added effect: Sean Costello's reverbsc from Csound. 39 40* Added a few new patches to the default set, including a 41 contribution from Idiomdrottning. 42 43* Cleaned up effect common memory allocation and dirty buffer 44 silencing (somewhat). 45 46* Use new cairo-rendered knobs, when cairo is available (requires 47 GTK+ >= 2.8; old knobs will be used if < 2.8 is found). 48 49* Seriously: two consecutive copies of an inlined function that are 50 not in cache can take longer to execute than two subroutine 51 calls to the function's non-inlined version. Re-thought 52 WhySynth inlining. 53 54* Debastardization of the GUI combo boxes (or, the death of 55 popmenu). 56 57* Reworked the minBLEP code for more even processor usage over 58 successive process cycles. 59 60* Consolidated some voice buffers for better cache utilization. 61 62* On Mac OS X only (since it doesn't have a working mlockall()), 63 added code at startup to page each wavetable into memory (and 64 thus hopefully minimize page faults later.) 65 66* Doh. Thread-safe, user-friendly locale flexibility. 67 6820090531 smbolton 69 70* Fix patchfile load and save to be locale-neutral (thanks to Martin 71 Tarenskeen for the bug report.) 72 7320090403 smbolton 74 75* Silently ignore 'sample-rate' method. 76 77* Fixed GtkSpinButton adjustments to avoid page_size warning with 78 GTK+ >=2.14. 79 80* configure.ac: added check for ladspa.h, removed some obsolete 81 macros. 82 8320080411 smbolton 84 85* Use GtkFileChooserWidget instead of GtkFileSelection. Requires 86 GTK+ >= 2.4.0. 87 88* Fixed a bug in the XSynth-DSSI patch import. 89 9020080204 smbolton 91 92* Added extra/COPYING-patches and fixed README and 93 src/patch_tables.c to clearly declare patches as being in the 94 public domain. 95 96* Added config.h.ac, doc/voice_block_diagram.png, and 97 extra/COPYING-patches to Makefile.am EXTRA_DIST. The first two 98 have been inadvertently omitted from previous distributions, and 99 the block diagram at least shouldn't have been. 100 10120070418 smbolton 102 103* Added 'FM Wave->LF Sine' and 'Phase Distortion' oscillator types. 104 105* Enhanced the GUI by replacing all the mode selection spinbuttons 106 with popup menu buttons. 107 108* Improved the envelope generator code so that already-playing notes 109 will respond to parameter changes to envelope segments that have 110 not yet begun. 111 112* Added a 75% partial width scaling setting to the PADsynth 113 parameters. 114 115* Added a few new patches to the default set, including a 116 contribution from Ken Restivo. 117 118* Made several GCC 4 fixes, including more sane inlining. 119 12020060122 smbolton 121 122* Added 'Copy' and 'Paste' buttons for the filters and effect. 123 124* Changed the autotools setup to keep the plugin and GUI libraries 125 separate (since the plugin doesn't need liblo and the GUI 126 doesn't need FFTW.) 127 128* Added a non-realtime worker thread and 'PADsynth' oscillator type. 129 13020051231 smbolton 131 132* Recreated the wavetables, without the boneheaded bandlimiting 133 error that was causing several of the the tables to alias badly 134 over portions of their key range. Added several new waveforms, 135 including some missing SQ-80 ones, and the Bristol 'jagged-edged 136 ramp'. 137 138* Added the 'Dual Delay' effect. 139 140* Incorporated the 4-pole lowpass filter from amSynth. 141 142* Added a persistent comment field to the patches. 143 144* Updated the default patches, with a number of new native patches 145 (including contributions from Nigel Henry and Garett Shulman), 146 and redid the K4 interpretations after fixing some bugs in the 147 import code. Included in the extra/ directory are the WhySynth 148 20051005 default patches, in case anyone needs them for 149 backwards compatibility, and 454 new K4 interpretations. 150 151* A new Configuration option, 'Cancel Notes On Program Change', 152 controls whether WhySynth will stop any playing notes before it 153 performs a program change, which can prevent nasty surprises if 154 the previous and new patches are not compatible. Defaults to 155 'On'. 156 157* WhySynth now uses gcc/glibc 'constructor' and 'destructor' 158 attributes instead of the deprecated _init() and _fini() 159 functions (needed for OS X 10.4 'Tiger'). 160 161* WhySynth_gtk no longer echos host-initiated control changes back 162 to the host. 163 164* DSSI 'hide' now hides the patch edit window, too. 165 16620051005 smbolton 167* First release. 168 16920050710 smbolton 170* On this dark and stormy night, Xsynth-DSSI began a series of 171 profound and rapid mutations, acquired K4-ish wavetable 172 oscillators, and was reborn as WhySynth. 173 174