ChangeLog
上传用户:tjmskj2
上传日期:2020-08-17
资源大小:577k
文件大小:71k
- 2009-05-01 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
- * configure.ac: fix for win32 build.
- 2009-05-01 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
- * doc/Doxyfile: added fluid_filerenderer.c to Doxygen documentation.
- * doc/fluidsynth-v11-devdoc.txt: license changed to CC-BY-SA 3.0
- * doc/fluidsynth_arpeggio.c: new example added.
- * doc/fluidsynth_metronome.c: new example added.
- * include/fluidsynth.h, include/fluidsynth/audio.h,
- include/fluidsynth/settings.h: Doxygen documentation.
- * src/fluid_settings.c: Doxygen documentation.
- 2009-04-27 Josh Green <jgreen@users.sourceforge.net>
- * include/fluidsynth/audio.h: Moved new filerenderer documentation to source file.
- * src/config_win32.h.in: Added 'typedef int socklen_t;' to the correct place.
- * src/fluid_filerenderer.c: Removed 2 extra pasted duplicates of the file, moved
- Doxygen documentation from header file and added "API 1.1.0" designators.
- * src/config_win32.h: Removed from subversion, since it is generated from
- config_win32.h.in.
- 2009-04-26 Josh Green <jgreen@users.sourceforge.net>
- * configure.ac: Added glib 2.10 as a dependency, added notes in output
- for LASH, LADCCA and READLINE that they are GPL.
- * src/fluid_io.c: Moved code to fluid_sys.c and removed.
- * src/config_win32.h: Added "typedef int socklen_t" definition.
- * src/fluid_defsfont.h: Removed glib ripped code.
- * src/fluid_oss.c: Fixed warnings where return value of write() was
- being ignored.
- * src/fluid_sys.c: Re-organized, implemented portable fluid_curtime() and
- fluid_utime() using glib functions and removed old platform specific
- code, implemented fluid_thread functionality using glib and removed
- old platform specific code, fluid_istream_readline(), fluid_istream_gets()
- and fluid_ostream_printf() should now work on WIN32 also, added code
- for WIN32 for TCP sockets (not yet tested).
- * src/fluid_sys.h: Added fluid_gerror_message() macro to extract message
- safely from GError structures, replaced fluid_mutex macros with
- portable implementations using glib, removed new_fluid_client_socket()
- and delete_fluid_client_socket() which were never implemented or used.
- * src/fluidsynth.c: Added call to g_thread_init().
- * src/fluidsynth_priv.h: Integer types now use glib integer types.
- 2009-04-11 Josh Green <jgreen@users.sourceforge.net>
- * FluidSynth release 1.0.9 "A Sound Future"
- * configure.ac: Bumped version, no library interfaces added, removed or changed.
- * doc/Makefile.am: Removed html and api folders from EXTRA_DIST.
- * src/fluid_synth.c (fluid_synth_program_change): Preset substitute warning
- now outputs MIDI channel.
- 2009-04-02 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
- * src/config_win32.h: fix compilation under MSVC 2008 and older
- 2009-03-15 Josh Green <jgreen@users.sourceforge.net>
- * ltconfig: Removed obsolete ltconfig script by suggestion of
- Sven Hoexter.
- * doc/fluidsynth.1: Some fixes from Sven Hoexter.
- * src/fluid_adriver.c: Re-order of default drivers to jack, alsa, pulse.
- * src/fluidsynth.c (fluid_synth_program_change): Added preset selection
- fallback logic: Melodic - Fallback to Bank0:prognum followed by
- Bank0:Program0, Percussion - Fallback to 128:0, code re-organization.
- 2009-03-08 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_jack.c: Added support for Jack MIDI.
- * src/fluid_mdriver.c: Registered Jack MIDI driver.
- * README-OSX: Update from Ebrahim Mayat.
- 2009-02-28 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
- * src/fluid_midi.c: Fix for ticket #22 (Wrong tempo changes)
- * src/fluid_midi.h: delta-time accumulator moved to fluid_midi_file struct.
- 2009-02-03 Josh Green <jgreen@users.sourceforge.net>
- * Applied patch from KO Myung-Hun for OS/2 support including Dart audio
- driver.
- 2009-01-29 Josh Green <jgreen@users.sourceforge.net>
- * src/Makefile.am: Added PortAudio driver conditional build.
- * src/fluid_adriver.c: Registered fluid_portaudio_driver_settings.
- * src/fluid_portaudio.c: Completely overhauled for Portaudio 19.
- This driver appears to have been unbuildable before.
- 2009-01-08 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
- * configure.ac: detection of CoreMIDI support. Ticket #18.
- * src/Makefile.am: conditional build of CoreMIDI driver.
- * src/fluid_coremidi.c: Basic CoreMIDI driver.
- * src/fluid_mdriver.c: added CoreMIDI driver.
- 2009-01-08 Josh Green <jgreen@users.sourceforge.net>
- * configure.ac: Followed GTK's lead for some unexplained magic for
- stupid libtool version parameters (fixes autogen.sh bomb on
- undefined macro LT_REVISION/LT_CURRENT/LT_AGE). Added
- AC_CONFIG_MACRO_DIR([m4]) as suggested by libtoolize.
- * Makefile.am: Added ACLOCAL_AMFLAGS=-I m4 as suggested by libtoolize.
- 2008-12-23 Josh Green <jgreen@users.sourceforge.net>
- * configure.ac: Added detection of PulseAudio driver.
- * src/Makefile.am: Added conditional build of PulseAudio driver.
- * src/fluid_adriver.c: Added PulseAudio driver and re-sorted drivers
- by use preference.
- * src/fluid_chan.c: Using MIDI enums for initializing channel CC values,
- added supported for RPN GM MIDI messages Bend Range, Fine Tune and
- Coarse Tune, added check for out of range NRPN parameters.
- * src/fluid_midi.h: Added RPN enum midi_rpn_event.
- * src/fluid_pulse.c: New PulseAudio driver.
- 2008-09-22 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
- * src/fluid_dsound.c: Fix for ticket #16 - dsound device can't be selected.
- 2008-09-07 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c (new_fluid_alsa_seq_driver): Patch from
- Nicolas Boulicault to add ALSA sequencer midi.portname setting.
- * src/fluid_conv.h: S. Christian Collins' patch - changed
- FLUID_ATTEN_POWER_FACTOR from -531.509 to -200.0.
- * src/fluid_defsfont.c (fluid_defpreset_noteon): S. Christian Collins'
- patch - crash bug fix related to using certain modulators in a preset.
- * src/fluid_mdriver.c: Pedro Lopez-Cabanillas' patch which adds a
- midi.winmidi.device setting.
- * src/fluid_mod.c: S. Christian Collins' patch - Stop forcing velocity
- based filtering and a couple of calculation fixes to transform functions.
- * src/fluid_synth.c: Nicolas Boulicault's patch to add midi.portname
- setting.
- (fluid_synth_program_change): added fix to properly search for a
- percussion instrument
- * src/fluid_synth.h: Changed FLUID_NUM_PROGRAMS to 128 and set
- DRUM_INST_BANK to 128.
- * src/fluid_voice.c (fluid_voice_write): S. Christian Collins' patch -
- force velocity envelope value to be that of the previous stage when
- switching from decay to sustain and filter calculation now uses
- synthesizer baud rate rather than fixed at 44100.
- (fluid_voice_update_param): S. Christian Collins' patch - Use multiplier
- for GEN_ATTENUATION to be compatible with EMU10K1 cards.
- * src/fluid_winmidi.c: Pedro Lopez-Cabanillas' patch which adds a
- midi.winmidi.device option.
- * src/fluidsynth.c: Nicolas Boulicault's patch which adds midi.portname
- setting. Pedro Lopez-Cabanillas' patch which breaks out of argument
- processing loop for non getopt option argument handling when a non
- option is encountered and not using Readline.
- 2007-11-17 Josh Green <jgreen@users.sourceforge.net>
- * FluidSynth release 1.0.8 "Its about funky time!"
- * configure.ac: Bumped LT_REVISION and added call to AM_PROG_CC_C_O macro.
- * Makefile: Updated fluidsynth.prj to fluidsynth.anjuta
- * README-OSX: Update from Ebrahim Mayat for OS X Leopard
- * acinclude.m4: Fixed embedded main function in AM_PATH_READLINE macro.
- 2007-11-11 Josh Green <jgreen@users.sourceforge.net>
- * configure.ac: Added --enable-trap-on-fpe and --enable-fpe-check to
- assist with Floating Point Exception debugging.
- * src/fluid_chorus.c: Reverted the rest of the chorus "Effect level clip"
- patch, until something better is devised.
- * src/fluid_synth.c: Added support for trapping on Floating Point
- Exceptions on GLIBC systems, to aid developers in tracking down FPEs
- with gdb, removed buffer alignment hacks since they are no longer
- needed (not using SSE currently).
- * src/fluid_sys.c (fluid_time_config): Added check for a CPU freq
- calculation of 0.0, since this test is inadequate to begin with and
- was coming up as 0.0 on my laptop, causing a FPE. Will replace with
- real timer functions, in the future.
- * src/fluid_voice.c: Removed zap_almost_zero macro as it was buggy and
- had issues which went away when gcc optimization was turned off and in
- the case of !WITH_FLOAT was using abs() which is integer based and
- would cause FPEs.
- (fluid_voice_write): Removed a memory alignment hack and moved a call
- to fluid_fpe_check() to a better location.
- (fluid_voice_effects): Replaced zap_almost_zero with a call to fabs(),
- added fluid_fpe_check() call.
- * src/fluidsynth_priv.h: Removed FLUID_ALIGN16BYTE hack, as it is no
- longer needed.
- 2007-11-10 Josh Green <jgreen@users.sourceforge.net>
- * doc/fluidsynth.1: Updated man page with current command line options and other changes (minor).
- * include/fluidsynth/synth.h: Reverted "Effect level clip" patch as it seems to cause chorus
- count to have a much lessor effect.
- 2007-09-20 Josh Green <jgreen@users.sourceforge.net>
- * Doc updates to AUTHORS and latest README-OSX from Ebrahim Mayat.
- * src/config_win32.h.in: VERSION is now filled in at configure time.
- * src/fluid_alsa.c (fluid_alsa_audio_run_s16): Fixed bug which was
- causing weird crashes with QSynth when new_fluid_audio_driver2() when
- audio meters were enabled (user data parameter was being used as a
- fluid_synth_t instance). Synth instance is now no longer used in
- this case (it was only used for 16 bit dithering before).
- * src/fluid_oss.c: Fixed the same bug that was affecting ALSA driver.
- * src/fluid_rev.c: Reverted to old commented out code in regards to
- reverb level.
- * src/fluid_synth.c (fluid_synth_dither_s16): Now no longer uses
- fluid_synth_t instance, but accepts a pointer to an integer instead
- for keeping track of dithering buffer index (all that the synth instance
- was being used for).
- * src/fluid_synth.c (fluid_synth_one_block): Reverted patch which
- performs assignment of chorus and reverb levels in synthesis loop,
- until a better scheme is devised (unnecessary CPU consumption).
- * Added Visual Studio .sln and .vcproj files and some minor source
- changes to get FluidSynth to build with it.
- * Back-converted Visual Studio project to VC++ 6 project for users
- using that build platform (not tested).
- 2007-09-02 Josh Green <jgreen@users.sourceforge.net>
- * configure.ac: Removed SSE and longlong related switches (SSE support
- removed for now and longlong is now always used).
- * : Applied effect level clip patch from David Hilvert
- see http://fluidsynth.resonance.org/trac/ticket/2.
- * : Applied reverb damp scaling patch from David Hilvert
- see http://fluidsynth.resonance.org/trac/ticket/3.
- * src/fluid_dsp_float.c: No longer being #include'd and all interpolation
- functionality has been re-written as separate functions, interpolating
- around loops is now supported, effect (reverb/chorus/pan/filter) stuff
- moved to fluid_voice.c.
- * src/fluid_phase.h: 64 bit unsigned integers are now used for phase
- index/fraction sample pointers, modified macros accordingly.
- * src/fluid_voice.c: Removed SSE code, fluid_voice_init() renamed to
- fluid_dsp_float_init() and moved to fluid_dsp_float.c. Effect related
- functionality (reverb/chorus/pan/filter) moved from fluid_dsp_float.c
- to fluid_voice.c. Some code re-formatting and comment cleanup. Loop
- no longer requires padding surrounding it (fixes bug related to loop
- point right on the end of the sample).
- 2007-08-18 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c: Added SND_SEQ_PORT_TYPE_MIDI_GENERIC back into the
- ALSA sequencer port registration as it broke the use of playmidi
- (thanks to Dave Serls for providing a patch and pointing this out).
- 2007-01-14 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c: Fixed evil bugs in ALSA driver where return value
- of new fluid_alsa_handle_write_error() was not being checked correctly
- causing successfully handled ALSA errors (underruns for example) to
- terminate audio thread.
- * src/fluid_synth.c: Using an inline roundi function to replace roundf
- as per suggestion by Mihail Zenkov, 16 bit for dithering.
- 2006-12-10 Josh Green <jgreen@users.sourceforge.net>
- Lots of documentation updates.
- * doc/Doxyfile: No longer including functions by default, only those
- listed in the listed header files.
- * src/fluid_strtok.[ch]: Removed, since it was crap. Replaced with
- fluid_strtok() in fluid_sys.c which doesn't require an allocated
- tokenizing instance.
- * src/fluid_alsa.c: Audio processing is more optimized in the case where
- no user defined audio callback is used (removal of unneeded buffer copy),
- fluid_alsa_handle_write_error() added for centralized ALSA audio error
- handling,
- * src/fluid_aufile.c: Now also doing 16 bit dithering.
- * src/fluid_cmd.c: Removed use of old tokenizer instance.
- * src/fluid_coreaudio.c: User defined callback function is now honored.
- * src/fluid_defsfont.c: More leaks plugged (thanks to Paul Millar for
- the patch), removed sfont_free_data() since sfont_close() should be
- used instead (don't want to leak a file handle).
- * src/fluid_midi_router.c: Took out uses of fflush() since sending a
- line of text (with newline) should display it.
- * src/fluid_oss.c: Using fluid_synth_dither_s16() in place of old
- 16 bit conversion code.
- * src/fluid_settings.c: Replaced strtok stuff with new function, some
- other improvements.
- * src/fluid_synth.c (delete_fluid_synth): Turning off all voices so that
- SoundFont data will be freed correctly (thanks to patch from
- Paul Millar).
- * src/fluid_sys.c (fluid_strtok): New function to replace old tokenizing
- functions which required a token instance.
- * src/fluidsynth.c: Warning message printed if a non option is not a
- valid SoundFont or MIDI file (thanks to Nick Daly for the patch).
- 2006-11-22 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c (new_fluid_alsa_audio_driver2): Removed some ALSA
- lib calls to set software parameters, which was likely causing the
- 100% CPU usage problem (not actually fixed in last update, not sure
- which one is the culprit).
- (fluid_alsa_seq_run): More changes in ALSA sequencer code, hopefully
- it is right this time!
- (delete_fluid_alsa_seq_driver): Memory leak fixed - wasn't freeing
- array of sequencer file descriptors.
- * src/fluid_chan.c: Memory leak fixes: Now deleting preset from channel
- when channel is destroyed.
- * src/fluid_cmd.c: Memory leak fix: strtok being deleted from command
- shell when shell is destroyed.
- * src/fluid_defsfont.c: Memory leak fixes: Freeing modulator lists in
- preset and instrument zones, freeing zone names, freeing instruments
- linked from preset zones, replaced use of "safe_malloc" with FLUID_MALLOC
- macro, deleting instrument list in SFData, deleting samples in SFData,
- freeing SFData structure.
- * src/fluid_settings.c: Memory leak fix: freeing options in option
- type settings.
- * src/fluid_synth.c: Memory leak fixes: Freeing FX buffers and
- right/left_buf.
- 2006-11-21 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c (new_fluid_alsa_audio_driver2): Modified all ALSA
- calls to check return code error as "< 0" as per ALSA examples, sample
- rate is now compared with what was expected and warning message displays
- both values, if target sample rate wasn't set update the local
- period_size variable (was causing 100% CPU consumption by ALSA, from
- the resultant erroneous sw_params calls).
- (fluid_alsa_audio_run_float): Using case statement for
- error codes from snd_pcm_writen() for the sake of tidiness.
- (fluid_alsa_audio_run_s16): Using case statement for error codes
- from snd_pcm_writei() for the sake of tidiness, re-instated call
- of device callback function that was broken with the dither patch
- (don't want to break the API), now using new fluid_synth_dither_s16()
- to convert floating point sample data to 16 bit with dithering.
- (fluid_alsa_seq_run): Timeout in poll() call set to 100ms (from 1ms!),
- snd_seq_event_input_pending is used to check if events are available
- before calling snd_seq_event_input to prevent blocking, check of
- snd_seq_event_input error code moved to the right location (bug fix).
- * src/fluid_synth.h: Added dither_index parameter to fluid_synth_t
- structure to allow for per synth dithering continuity.
- * src/fluid_synth.c: Modified dithering to use new dither_index field
- for per synth dithering continuity, fixed off by 1 error with
- dithering index comparison, removed usage of roundf in dithering (is
- it sufficient to just integer truncate?).
- (fluid_synth_dither_s16): New function to perform dithering on
- buffers of floating point sample data.
- 2006-11-20 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c: Applied dithering patch from Mihail Zenkov.
- * src/fluid_synth.c: Applied dithering patch from Mihail Zenkov.
- 2006-03-04 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c (delete_fluid_alsa_audio_driver): Now calling
- snd_pcm_close() to close the ALSA audio driver handle.
- (fluid_alsa_seq_run): Check for -ENOSPC error was logicly inverted.
- (new_fluid_alsa_seq_driver): Sequencer is now opened in blocking mode.
- 2006-02-20 Josh Green <jgreen@users.sourceforge.net>
- * Fixed build error that occured when neither LASH or LADCCA are
- present.
- * Updated README-OSX from Ebrahim Mayat.
- 2006-02-18 Josh Green <jgreen@users.sourceforge.net>
- * FluidSynth release 1.0.7 "Increasing Fluidity.."
- * Removed spurious newlines from FLUID_LOG statements throughout.
- * AUTHORS: Some cleanup and additions.
- * src/fluid_lash.[ch]: Moved LADCCA related code from fluidsynth.c here
- and added new LASH support (both old LADCCA and LASH are supported
- exclusively). Used patches sent by Frieder Bürzele as a guide.
- * src/fluidsynth.c: Removed LADCCA code (now in fluid_lash.c),
- re-organized command line parsing and removed duplicate WIN32 switch
- statement, re-organized help output and added missing entries, added
- "-o help" switch for listing settings, welcome message now printed
- whenever FluidSynth is run and simplified,
- (print_usage): hard coded application name as "fluidsynth".
- * configure.ac: Changed --enable-SSE option to --enable-broken-SSE
- and --enable-SSE now just displays a fat warning about not using it.
- * src/fluid_jack.c: Warning is now displayed if synth sample rate
- doesn't match jackd.
- * src/fluid_alsa.c: Added detection for ALSA sequencer buffer overrun
- (-ENOSPC) and interrupted poll() call (-1??).
- * src/fluid_voice.c: Applied patch from Henri Manson which adds a
- fluid_ct2hz_real() function which does not have the filter cutoff
- limits that fluid_ct2hz() does, new function being used for
- calculations that may include non-audible frequencies.
- * src/fluid_dsound.c: Applied patch from Henri Manson which
- only creates the directsound window once.
- 2005-09-04 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_ramsfont.c (fluid_ramsfont_remove_izone): Applied crash bug
- fix from Antoine Schmitt.
- 2005-07-05 Josh Green <jgreen@users.sourceforge.net>
- * src/fluidsynth_priv.h: FLUID_ALIGN16BYTE is broken on AMD64 so now
- only enabled if SSE is being used. If SSE code becomes more useful in
- the future this should be fixed.
- 2005-06-29 Josh Green <jgreen@users.sourceforge.net>
- * Applied LASH patch that is included with ladcca-0.4.0.
- 2005-06-11 <jgreen@users.sourceforge.net>
- * Released FluidSynth 1.0.6 "Music to my ears"
- * README-OSX: Update from Ebrahim Mayat.
- * acinclude.m4: Midishare support now defaults to auto.
- * configure.ac: Added LT_CURRENT, LT_REVISION and LT_AGE in place of
- LIBFLUIDSYNTH_MAJ and LIBFLUIDSYNTH_MIN to make better use of
- libtool library versioning. Fixed use of AC_ARG_ENABLE (was setting
- variables to yes even when disable was specified), fixes --disable-SSE
- which was reported by Mikhail Yakshin, added warning when SSE is
- enabled to let users know that this feature isn't really desirable
- currently.
- * src/Makefile.am: Now using LT_VERSION_INFO to substitute the libtool
- version.
- * src/fluid_cmd.c (fluid_cmd_handler_handle): Modified to avoid GCC
- "type-punned" cast warning.
- * src/fluid_defsfont.c (fluid_preset_zone_import_sfont): Fixed
- assignment of modulator amtsrc flags (should be assigned to flags2
- not flags1), thanks to Stephan Tassart for reporting this.
- (fluid_inst_zone_import_sfont): Same fixes as for above.
- * src/fluid_sys.c (fluid_log): Now using vsnprintf for formatting
- error messages to fix buffer overflow as reported by Axioplase.
- (fluid_debug): Same as above.
- 2005-06-11 <jgreen@users.sourceforge.net>
- * fluidsynth.prj: Added Anjuta project file.
- * src/fluid_conv.c: fluid_cb2amp conversion set back to real centibels
- and added a new fluid_atten2amp table conversion for non-standard
- EMU 8k/10k attenuation.
- * src/fluid_voice.c (fluid_voice_write): Updated volume calculations to
- use fluid_cb2amp for envelope and LFO, but use fluid_atten2amp for
- initial attenuation.
- (fluid_voice_noteoff): Re-coded volenv_val attack conversion and
- verified.
- 2005-06-10 <jgreen@users.sourceforge.net>
- * src/fluid_phase.h: Patch from Sean Bolton to fix big endian long long
- phase combined 64 bit value type fluid_phase_t
- * src/fluid_voice.c (fluid_voice_update_param): case GEN_OVERRIDEROOTKEY
- was incorrectly adding pitchadj fine tune amount instead of subtracting
- it. Also, fine tuning should be applied to root key override as well.
- 2005-06-07 <jgreen@users.sourceforge.net>
- * Applied Sean Bolton's DSSI patch (SB patch) which adds the ability to
- change polyphony at runtime and fixes a bug (see below).
- * README-OSX: Update from Ebrahim Mayat for OSX Panther.
- * include/fluidsynth/synth.h: Sean Bolton's DSSI patch adds two new
- functions fluid_synth_set_polyphony and fluid_synth_get_polyphony.
- * src/fluid_conv.c: Centibel to amplitude conversion now follows
- EMU 8k/10k which is contrary to SoundFont specification (TiMidity++
- used as an example).
- * src/fluid_conv.h: FLUID_CB_POWER_FACTOR defined for the centibel->amp
- conversion table equation.
- * src/fluid_defsfont.c (load_pgen): Fixed 'use of cast expressions as
- lvalues is deprecated' warning by casting the value being assigned
- instead of the variable assigned to and removed code warrior
- specific code to work around this.
- (load_igen): Same as for load_pgen.
- * src/fluid_synth.c: SB patch - uses synth->polyphony instead of
- synth->nvoice when iterating over the synth's voices.
- (fluid_synth_update_polyphony): SB patch (new) - runtime update
- (fluid_synth_set_polyphony): SB patch (new)
- (fluid_synth_get_polyphony): SB patch (new)
- (fluid_synth_nwrite_float): SB patch - fixes bug where the use of
- arbitrary values of the 'len' parameter was broken.
- * src/fluid_voice.c (fluid_voice_write): modlfo_to_vol (modulation LFO
- to volume) was being calculated inverted (should be negative
- attenuation, gain, for a positive rise in LFO).
- (fluid_voice_noteoff): Updated centibel to amplitude conversion
- used when voice off during attack to use the new
- FLUID_CB_POWER_FACTOR.
- 2004-11-11 <jgreen@users.sourceforge.net>
- * README-OSX: Update from Ebrahim Mayat.
- 2004-08-18 <peter@hanappe.com>
- * src/fluid_synth.c (fluid_synth_set_bank_offset):
- (fluid_synth_get_bank_offset): New API to set
- a bank offset in a SoundFont (proposition made by Ken Ellinwood).
- 2004-08-06 <peter@hanappe.com>
- * src/fluid_synth.c (fluid_synth_noteon):
- fluid_synth_release_voice_on_same_note() is now called in the
- noteon() function instead of in fluid_synth_start(). This fixes
- the silent note problem!
- 2004-07-29 <peter@hanappe.com>
- * src/fluid_chan.c (fluid_channel_cc): Applied Ken Ellinwood's
- fix for the bank select (MSB) message.
-
- * src/fluid_jack.c (fluid_jack_audio_driver_settings): Applied Rui
- Nuno Capela's patch
- 2004-05-14 <peter@hanappe.com>
- * doc/fluidsynth.1 (option): Fixed typo noted by Gerald Pye.
- 2004-05-14 Peter Hanappe <peter@hanappe.com>
- * src/fluid_dsound.c (fluid_dsound_enum_callback): Applied Sergey
- Pavlishin's patch. This path fix stack overflow during DirectSound
- audio driver initialization.
- 2004-05-07 Peter Hanappe <peter@hanappe.com>
- * src/fluid_synth.c (fluid_synth_remove_sfont): Added new function
- 2004-05-05 Peter Hanappe <peter@hanappe.com>
- * src/fluid_alsa.c (new_fluid_alsa_seq_driver): The alsa driver
- now opens several ports if the synthesizer is configured for more
- than 16 MIDI channels.
- * src/fluid_voice.c (fluid_voice_write): I removed the filter
- on/off optimization. The filter is always on and serves as an
- anti-aliasing filter.
- 2004-05-04 Peter Hanappe <peter@hanappe.com>
- * src/fluid_synth.c (new_fluid_synth): The number of MIDI channels
- now has to be a multiple of 16. The synth checks that this is the
- case and changes the settings accordingly. I removed the sanity
- checks for the min/max value of the number of MIDI channels since
- this is already done by the settings object.
- 2004-03-30 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_voice.c (fluid_voice_write): Altered filter turn-off
- optimization to not turn filter off once it has been
- enabled. There is still a potential for a click when it gets
- turned on though, which needs to be dealt with.
- 2004-03-30 Peter Hanappe <peter@hanappe.com>
- * src/fluid_dsp_core.c: I've split up the dsp core file in three
- files: fluid_dsp_simple.c, fluid_dsp_float.c, and
- fluid_dsp_sse.c. This improves the readability.
- 2004-03-29 Peter Hanappe <peter@hanappe.com>
- * src/fluid_jack.c (new_fluid_jack_audio_driver2): Testing the
- number of ports before allocating them.
- (fluid_jack_audio_driver_settings): Registering
- the "audio.jack.autoconnect" setting.
- * src/fluid_midi.c (fluid_player_set_midi_tempo): Tempo changes
- handled correctly. Was broken after fix on [2004-03-22] (see
- below).
- * src/fluid_strtok.c (fluid_strtok_char_index): Removed printf's
- from fluid_strtok.c
- 2004-03-26 Peter Hanappe <peter@hanappe.com>
- * bindings/README: Imported the fluidsynth_jni and fluidmax
- projects.
-
- 2004-03-25 Peter Hanappe <peter@hanappe.com>
- * src/fluid_rev.c (new_fluid_revmodel): Added 'gain', similar as
- in Freeverb 3. Using same 'wetscale' as Freeverb 3, but fixing
- 'wet' to 3. fluid_revmodel_setlevel() does not change the value of
- 'wet': The 'wet' level can be controlled with the 'reverb send'.
- (fluid_revmodel_processreplace): The input is multiplied by 2 and
- by the gain. This corresponds to the channel mixing and scaling
- that Freeverb 3 does.
- 2004-03-24 Peter Hanappe <peter@hanappe.com>
- * src/fluidsynth.c (main): Added the -f switch. Passing "-f file"
- on the command line tells fluidsynth to read parse the file and
- execute and commands.
- (main): User config and system config file are now loaded correctly
- * src/fluid_cmd.c (fluid_shell_run): the shell doesn't get stuck
- and loop on an emtpy string when the end of the stream is reached.
- * src/fluid_io.c (fluid_istream_gets): fluid_istream_gets()
- returns 0 if the end of the stream was reached and -1 on error.
- * src/fluid_cmd.c (fluid_source): Fixed bug in "file =
- open(filename, FLAGS);" (I shouldn't pass O_WRONLY when what I
- want is O_RDONLY!)
- 2004-03-23 Peter Hanappe <peter@hanappe.com>
- * src/fluid_aufile.c (new_fluid_file_audio_driver): Added
- fluid_aufile.c. This file implements a audio driver that writes
- the audio output to a file. This driver is NOT real-time and is
- currently useful for testing purposes only (not even useful to
- play MIDI files).
- 2004-03-22 Peter Hanappe <peter@hanappe.com>
- * src/fluid_synth.c (new_fluid_synth): Removed the synth->busy
- mutex. I don't think it is necessary; to be discussed.
- * src/fluid_midi.c (fluid_player_callback): Fixed the timing in
- the MIDI playback. The current MIDI tick in every timer callback
- was calculated as an increment to the previous number of
- ticks. This introduces a growing error due to rounding errors and
- timer variations. The current tick is now calculated according to
- the absolute time at the beginning of the file. (Beginners error
- ...)
- * doc/FluidSynth-LADSPA.pdf: Added Markus' LADSPA design document.
- * doc/xtrafluid.txt: Added Antoine's Xtra API documentation.
- * doc/midi_time.txt: Added a memo on midi timing.
- 2004-03-19 Peter Hanappe <peter@hanappe.com>
- * src/fluid_midishare.c: Applied Stephane Letz patch: MidiShare is
- now connected to fluidsynth by default so that received MIDI
- events directly trigger the synth
-
- 2004-02-28 Peter Hanappe <peter@hanappe.com>
- * src/fluid_synth.c: Added fluid_synth_program_select2() and
- fluid_synth_get_sfont_by_name() in fluid_synth.c. These functions
- are not in the public API, yet.
- 2004-02-25 Peter Hanappe <peter@hanappe.com>
- * src/fluid_voice.c: Fixed bug in volume envelope (in
- fluid_voice_update_param(), case GEN_VOLENVDECAY): the minimum
- value was converted to linear amplitude instead of a normalized
- value of the cB (1-cB/1000). Because of that, the decay section
- went on for too long.
- 2004-12-xx Peter Hanappe <peter@hanappe.com>
- * src/fluid_seq.c: Inserting events in the queueLater list was
- incomplete. It didn't check if the event was the last in the list,
- and the looping through the list didn't update the prev pointer. I
- added muteces to the sequencer. Events are dynamically allocated
- if no free events are available. The sequencer is protected by a
- mutex.
-
- 2003-11-14 Josh Green <jgreen@users.sourceforge.net>
- * src/fluidsynth.c: Removed CCA_Use_Jack and CCA_Use_Alsa flags
- since LADCCA no longer uses them.
- 2003-08-31 Josh Green <jgreen@users.sourceforge.net>
- * acinclude.m4: Renamed AC_SOUND macro to AC_OSS_AUDIO and removed
- the ALSA check from it since pkg-config is now being used to check
- for ALSA. Also fixed --enable-alsa-support and --enable-oss-support
- which were disabling support instead (reported by Bart Massey).
- * configure.ac: pkg-config is now being used to check for ALSA.
- ALSA and OSS now use automake conditionals to conditionally compile
- source files.
- * Makefile.am: Re-arranged SUBDIRS so build output looks nicer.
- * src/Makefile.am: ALSA and OSS are now conditionally compiled using
- automake conditionals.
- 2003-08-29 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_sys.c: Patch from Eric Van Buggenhaut to make i386 asm
- code not compile for all non-i386 archs rather than just DARWIN.
- * src/fluidsynth_priv.h: Patch from Sergey Pavlishin to fix
- FLUID_REALLOC macro.
- * src/fluid_cmd.c: Ken Ellinwood's patch to add -verbose to "channels"
- command, and print settings values with 3 decimal places.
- * src/fluid_defsfont.c (fluid_defsfont_sfont_get_preset): Ken
- Ellinwood's patch to initialize sfont field of preset.
- * src/fluid_ramsfont.c (fluid_ramsfont_sfont_get_preset): Ken
- Ellinwood's patch to initialize sfont field of preset.
- * src/fluid_midi.c (fluid_midi_file_read_event): Fixed a crash bug with
- zero length MIDI meta events that was pointed out by Sergey Pavlishin.
- (delete_fluid_midi_event): Fixed a stack overflow problem pointed out
- by Sergey Pavlishin that was caused by recursively deleting MIDI
- event linked list, now just using a while loop.
- 2003-08-25 Josh Green <jgreen@users.sourceforge.net>
- * src/fluidsynth.c: MIDI channels switch should be -K not -L as was
- listed in "Usage" output, also -K was setting audio.channels for
- non getopt case statement - changed to midi.channels. Added a new
- option "-l, --disable-ladcca" to disable LADCCA server connection.
- 2003-08-25 Josh Green <jgreen@users.sourceforge.net>
- Release version 1.0.3
- * doc/fluidsynth.1: Applied typo patch from Eric Van Buggenhaut.
- * TODO: Restructuring TODO file (removing old stuff).
- * doc/Doxyfile: Disabled Tex doxygen generation and changed
- OUTPUT_DIRECTORY to api/.
- * doc/Makefile.am: Added an update-docs target and related for updating
- developer doc and doxygen reference HTML. Also added update-docs to
- dist-hook for updating before distribution packaging.
- * include/fluidsynth/synth.h: Some fixes to doxygen documentation.
- * fluidsynth.spec.in: New RPM spec file which is generated at configure
- time.
- * Makefile.am: Added fluidsynth.spec(.in) to EXTRA_DIST.
- 2003-08-19 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c: Added some calls to snd_strerror() to print out
- details of ALSA routine failures.
- * src/fluid_defsfont.c: Put a message about SoundFont loading code
- being borrowed from Smurf SoundFont Editor.
- * src/fluid_rev.c: Valgrind found that some values were being used
- uninitialized because fluid_revmodel_update() was being called before
- all reverb parameters were set, now setting manually and then calling
- update routine.
- * src/fluid_voice.c: Increased FLUID_MAX_AUDIBLE_FILTER_FC to minimize
- clicks from filter toggling. Added a FLUID_MIN_VOLENVRELEASE constant
- to set the minimum volume envelope release to minimize clicks.
- 2003-07-22 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_midishare.c: Added include of header "config.h" as
- per Albert Graef's request.
- * src/fluid_voice.c (fluid_voice_optimize_sample): Moved a
- variable declaration to the beginning of function, it was
- causing problems with at least one user.
- 2003-06-28 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_defsfont.c: Moved call to fluid_voice_optimize_sample
- from fluid_inst_zone_import_sfont to fluid_defsfont_load. Also
- reduced minimum sample size before rejection from 48 to 8 (could
- be lower?).
- * src/fluid_voice.c (fluid_voice_optimize_sample): Added a check
- for sample->valid to ignore ROM samples which was causing a crash
- with Vintage Dreams and other SoundFont files with ROM samples.
- 2003-06-17 Josh Green <jgreen@users.sourceforge.net>
- Release version 1.0.2
- Added Makefile.am files where lacking.
- * Makefile.am: Fixes to "make dist" target by adding macbuild, sf2
- and winbuild to SUBDIRS also removed acconfig.h from EXTRA_DIST.
- * acinclude.m4: Removed AC_JACK, now using pkgconfig.
- * configure.ac: Updated to version 1.0.2, Jack test now using
- pkgconfig and built by default if found, coreaudio driver now built
- by default if found.
- * doc/Makefile.am: Added Doxyfile, example.c, example.sf2, fluidsynth.1
- and fluidsynth-v10-devdoc.xml to EXTRA_DIST.
- * src/Makefile.am: fluid_jack.c now conditionally built, fluid_sse.h
- added to EXTRA_DIST.
- * src/fluid_jack.c: #if JACK_SUPPORT removed as its not needed.
- 2003-06-15 Josh Green <jgreen@users.sourceforge.net>
- * configure.ac: Fixed detection of CoreAudio by looking for
- CoreAudio/AudioHardware.h.
- * src/Makefile.am: Added COREAUDIO_CFLAGS and COREAUDIO_LIBS.
- * src/fluid_coreaudio.c: Added CoreAudio prefix to #include headers
- (fluid_core_audio_callback): Fixed declarition to match that of the
- typedef in CoreAudio header to stop warnings.
- * fluidsynth.c: Now including fluidsynth_priv.h to include the arch
- specific definitions in there (perhaps should be done in configure
- script though).
- * fluidsynth_priv.h: Added "#define WITHOUT_SERVER 1" to Darwin build.
- 2003-06-12 Josh Green <jgreen@users.sourceforge.net>
- * Makefile.am: Added autogen.sh to EXTRA_DIST
- * acinclude.m4: Added AM_PATH_READLINE macro for readline detection
- and prefix configuration.
- * configure.ac: Support for MinGW32 build, Darwin build fixes,
- configure CFLAGS input value now honored, fixes to CoreAudio support,
- and better readline detection and config.
- * src/Makefile.am: Now conditionally compiling CoreAudio and Windows
- sources, added config_*.h files to EXTRA_DIST, some stuff for MinGW32
- build, READLINE_LIBS and READLINE_CFLAGS now used.
- * src/fluid_dsound.c: Fixed some warnings by adding "void" for
- empty parameter procedure declarations.
- * src/fluidsynth.c: Don't include config_win32.h if MinGW32.
- * src/fluidsynth_priv.h: Stuff for MinGW32 and Darwin builds.
- * doc/fluidsynth-v10-devdoc.xml: Applied a diff from
- Alexandre Prokoudine.
- 2003-06-09 Josh Green <jgreen@users.sourceforge.net>
- * src/fluid_alsa.c: Added calls to pthread_attr_setschedparam to
- properly create SCHED_FIFO threads.
- * src/fluid_oss.c: pthread_attr_setschedparam calls added.
- * src/fluid_midishare.c: Patch update from Stephane Letz.
- 2003-05-29 root <mn@bongo>
- * src/fluid_synth.c (fluid_synth_one_block): Added a mutex that
- provides a small degree of protection against noteons / noteoffs,
- when the audio thread is working.
- * src/fluid_synth.h (struct _fluid_synth_t):
- * src/fluid_voice.c (fluid_voice_optimize_sample):
- 2003-05-29 Markus Nentwig <nentwig@users.sourceforge.net>
- * include/fluidsynth/voice.h: added fluid_voice_gen_incr to api
- * src/fluidsynth.c: Added error message for command line parameter handling
- * src/fluid_voice.c (fluid_voice_optimize_sample): Removed loop peak detection
- at run time, because it caused dropouts. Now the sound font loader or application
- is responsible to call fluid_voice_optimize_sample (if it doesn't, the turnoff optimization is
- simply disabled).
-
- 1999-11-30 Antoine Schmitt <as@gratin.org>
- * src/fluid_defsfont.c: inst_zone lokey is now properly inialized to 0
- (it was not, leading to random lost noteons depending on memory
- initialization)
- 2003-04-03 Peter Hanappe <peter@hanappe.com>
- * src/fluid_rev.c: reverb parameters are clipped to their valid
- range.
- * src/fluid_alsa.c: using fluid_alsa_audio_run_s16 as default
- function. This reduces the high CPU usage.
- * src/fluid_voice.c (fluid_voice_write): filter interpolation done
- over only 1 buffer to avoid filter instability
- * src/fluid_chan.c (fluid_channel_init): bank number set to 128
- for the drum channel
- * src/fluid_midi.c (fluid_midi_file_read_event): Correctly reading
- pitchbend value
- 2003-02-27 Josh Green <jgreen@users.sourceforge.net>
- Updated automake files (automake 1.6).
- * configure.ac: New version autoconf variables which get substituted
- into include/iiwusynth/version.h.in.
- * include/iiwusynth/version.h.in: Version defines that are filled in
- by autoconf.
- * src/Makefile.am: Fixed SOURCES including removing headers that are
- now in include/iiwusynth/, added missing sources (iiwu_ramsfont.[ch],
- iiwu_sfont.h) and added iiwu_dsp_core.c to EXTRA_DIST.
- * doc/Makefile.am: Added iiwusynth.1 to EXTRA_DIST.
- * include/iiwusynth.h: Added version.h.
- * iiwusynth/Makefile.am: Added version.h to the installed headers.
- 2003-02-08 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_ladspa.c: Added a very small signal at Nyquist
- frequency. This fixes denormal number problems in some
- plugins.
- * src/iiwu_cmd.c (iiwu_shell_run): Now also invalid input lines
- are added to the command line history. So the user can just scroll
- up and fix them.
- * src/iiwu_ladspa.c: Cleaned up error messages
- * src/iiwu_dsp_core.c: Disabled SSE interpolation, because it is
- slower than the normal code
- * autogen.sh: Added a line, that checks for the presence of pkg-config in
- autogen.sh.
- Motivation: It took me some time to figure out what was wrong...
- It produces some error message instead of an obscure error later
- during ./configure, if pkg-config is not installed.
-
- 2003-02-07 Josh Green <jgreen@users.sourceforge.net>
- Applied another Bob Ham LADCCA patch.
- * src/iiwu_alsa.c: LADCCA patch: Now using a ladcca.enable setting.
- * src/iiwu_jack.c: LADCCA patch: ladcca.enable setting and jack ports
- are no longer auto connected unless audio.jack.autoconnect is set.
- * src/iiwusynth.c: LADCCA patch: ladcca.enable and command line options
- -j and --connect-jack-outputs to enable Jack autoconnect.
- 2003-02-05 Josh Green <jgreen@users.sourceforge.net>
- Applied Bob Ham's LADCCA and pkgconfig patches.
- * Makefile.am: pkgconfig patch.
- * configure.ac: Renamed from configure.in as per new autoconf
- standards. LADCCA configure switch and detection. FluidSynth.pc
- pkgconfig file output.
- * src/Makefile.am: LADCCA patch.
- * src/iiwu_alsa.c [HAVE_LADCCA]: LADCCA patch: reports ALSA
- sequencer client ID.
- * src/iiwu_jack.c [HAVE_LADCCA]: LADCCA patch: reports JACK
- client name.
- * src/iiwusynth.c [HAVE_LADCCA]: LADCCA patch: connects to LADCCA
- server, creates client thread, saves/restores SoundFont file state.
- Used iiwu_sfont_get_name macro to get SoundFont file names contrary
- to the patch. Should these macros be public? Included unistd.h
- for usleep call (within HAVE_LADCCA).
- 2003-01-23 Josh Green <jgreen@users.sourceforge.net>
- * src/iiwu_jack.c: Fixed a segfault bug caused by freeing jack
- port names, when really only the port array should be freed,
- jack reference docs are confusing on this matter!
- * src/iiwu_voice.c (iiwu_voice_check_sample_sanity): Min loop size
- and padding now set via constants IIWU_MIN_LOOP_SIZE and
- IIWU_MIN_LOOP_PAD defined at top of iiwu_voice.c, and the values
- were lowered to exceed SF spec requirements rather then just meet.
- (iiwu_voice_write): Now using a constant IIWU_MAX_AUDIBLE_FILTER_FC
- defined at the top of iiwu_voice.c to control the filter
- cutoff optimization. Also added IIWU_MIN_AUDIBLE_FILTER_Q so
- filter will only turn off if both cutoff and q are determined to be
- inaudible. Filter optimization is much less noticeable when modulating.
- 2003-01-14 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_ladspa.c: Adapted new command handler
- * src/iiwu_midi_router.c (midi_dump_prerouter): Added forgotten
- 'flush' for event dump 'fprintf's
- 2003-01-01 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_oss.c (new_iiwu_oss_audio_driver): Changed to callback function
- * src/iiwu_alsa.c (new_iiwu_alsa_midi_driver): Changed to callback function
- * src/iiwu_midishare.c (iiwu_midishare_midi_driver_receive): Partly done the same
- * src/iiwu_winmidi.c (new_iiwu_winmidi_driver): To be done...
- * src/iiwu_midi_router.c: Added
- * src/iiwu_ladspa.c: Adapted to new settings system
- * src/iiwu_adriver.c (iiwu_audio_driver_settings): Uses getint
- instead of getnum for audio.period-size and audio.periods settings.
- * src/iiwu_voice.c (iiwu_voice_write):
- Ignore the valid flag for samples. Otherwise no sound is produced.
- * src/iiwu_chan.c (iiwu_channel_cc): Fixed bank select (7-bit
- instead of 8 bit)
-
- 2002-12-23 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_io.c (iiwu_istream_readline): new file (iiwu_io.c and
- iiwu_io.c) to handle IO in the shell.
-
- * src/iiwusynth.c (main): options to start TCP server.
- * src/iiwu_cmd.c (new_iiwu_server): New structure and functions
- (new_iiwu_shell): New structure and functions to improve command
- interface.
- (new_iiwu_cmd_handler): New structure and functions to improve command
- interface.
- * src/iiwu_sys.c (new_iiwu_server_socket): New structure and
- functions
- (new_iiwu_thread): New structure and
- functions
- 2002-12-14 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_chan.c (iiwu_channel_cc): Handling NRPN messages (NRPN
- system).
- * src/iiwu_voice.c (iiwu_voice_update_param): Does more extensive
- range checking because the NPRN system may produce out-of-range
- values (NRPN system).
- (iiwu_voice_set_param): New function to change
- generator values (NRPN system).
- * src/iiwusynth_priv.h (iiwu_clip): New macro
- * src/iiwu_synth.c (iiwu_synth_set_gen): New function to change
- generator values (NRPN system).
- * src/iiwu_gen.c (iiwu_gen_map_nrpn): New function to map the NRPN
- data input to the parameter range (NRPN system).
- * src/iiwu_midi.c (iiwu_midi_file_read_event): Fixed metadata
- buffer bug (alloc size 1 too small).
- 2002-12-10 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_dsound.c (iiwu_win32_destroy_window): Filled in the
- empty lines...
- * src/iiwusynth.h: Changes in the definition for iiwu_synth_sfload
- and iiwu_synth_sfunload, New functions: iiwu_synth_sfreload,
- iiwu_synth_get_sfont_by_id, and iiwu_list_insert_at. New 'id'
- field in iiwu_font_t.
- 2002-12-08 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/Makefile.am: added iiwu_hash.c and iiwu_strtok.c to libiiwusynth_la_SOURCES
- * src/iiwu_settings.c (iiwu_settings_init): Removed
- multi_channel from the settings (replaced with audio_channels > 1)
- * src/iiwu_settings.c (iiwu_settings_init): added audio_groups
- setting. This is the number of individual channels generated from
- the synth, and always equal to audio_channels, as long as the
- LADSPA Fx unit is disabled. Otherwise it can be used (for
- example) to separate even and odd MIDI channels, apply different Fx
- and mix together to one stereo output.
- src/iiwu_ladspa.c: Extended Fx unit to multigroup input, fx sends
- and multiple audio output channels
-
- 2002-12-04 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_midi.c (iiwu_midi_file_read_event): the metadata buffer
- is now dynamically allocated. What! Dynamic memory management
- already existed in the sixties!
- * src/iiwu_cmd.c (iiwu_handle_reset): New shell command. Sends
- system reset.
- * src/iiwu_cmd.c (iiwu_expand_path): New function to handle
- filenames starting with '~'.
- * src/iiwu_cmd.c: Added commands for working with tunings. Added
- 'source' command.
- * src/iiwu_chan.h (struct _iiwu_channel_t): added tuning
- * src/iiwusynth.h: new tuning functions
- * src/iiwu_synth.c (iiwu_synth_reset_tuning): new tuning functions
- * src/iiwu_voice.c: Added tuning
- 2002-12-03 Peter Hanappe <peter@hanappe.com>
- * doc/iiwusynth.1: new man page
- * src/iiwu_midi.c (iiwu_player_load): the player now handles a
- playlist.
- * src/iiwusynth.h: 'iiwu_player_add' replaces 'iiwu_player_load'
- * src/iiwusynth.c (main): iiwusynth can now play midifiles.
- 2002-12-02 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_sys.c (new_iiwu_timer): New argument 'auto_destroy' to
- specify whether the timer should delete it's structure when the
- timer is finished.
- * src/iiwu_synth.c (iiwu_synth_sfunload): If the soundfont can not
- be unloaded immediately, a timer thread is spinned of to unload it
- later. On MacOS 9, the unload is tried at a subsequent 'load' or
- 'unload' request.
- * src/iiwusynth.h (struct _iiwu_sample_t): Added 'refcount' field
- to test when a soundfont can be unloaded.
- * src/iiwu_synth.c (iiwu_synth_nwrite_float): New function
- allowing multi-channel audio output.
- (iiwu_synth_init): Fixed 'amount' for pan. Now set to 500.
- * src/iiwu_cmd.c (iiwu_synth_cmdshell): Added little prompt.
- * src/iiwusynth.c (print_welcome): iiwusynth prints out a welcome
- message as an well-behaved, interactive application should.
- * src/iiwu_synth.c (iiwu_synth_all_sounds_off): New function to
- implement the 'All Sound Off' MIDI messages (CC 120).
- (iiwu_synth_system_reset): This function now also resets the
- default controller values on the MIDI channels, and clears the
- reverb and chorus delay lines.
- (iiwu_synth_count_midi_channels): New function to retreive the
- number of available midi channels.
- (iiwu_synth_count_audio_channels): New function to retreive the
- number of available midi channels.
- (iiwu_synth_count_effects_channels): New function to retreive the
- number of available effects channels.
- (iiwu_synth_get_cpu_load): New function to retreive an estimation
- of the CPU load.
- * src/iiwusynth.h: Added fields to handle multi-channel audio and
- a variable number of midi-channels. The 'flags' has been
- expanded/replaced with several variables.
- * src/iiwu_chan.c (iiwu_channel_cc): Implemented the 'All Control
- Off' MIDI message (CC 121).
- * src/iiwu_chorus.c (iiwu_chorus_update): iiwu_chorus_update
- (called after the iiwu_chorus_set_xxx function) no longer returns
- an error of out-of-range values. It clips the value the the
- [min-max] range.
- 2002-11-22 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_voice.c (iiwu_voice_write): Fixed compilation problem
- without --enable-SSE (Pentium II and Mac)
- 2002-11-17 Markus Nentwig <nentwig@users.sourceforge.net>
-
- * src/iiwu_voice.c (iiwu_voice_write): Fixed nonlooped samples-bug.
- * TODO (TODO): Updated
- * src/iiwu_cmd.c (iiwu_handle_reverbsetlevel): Changed command
- line command 'rev_setwet' to 'rev_setlevel'. Replaced the word 'wet' by
- 'level' in most places.
- Added a command line option --dump, which provides
- 'machine-readable' output from stdout to hook up a user interface.
- * src/iiwusynth.h: Moved the default values for gain, chorus and
- reverb here. Might be useful as an example...
- * src/iiwu_voice.c (iiwu_voice_calculate_runtime_synthesis_parameters):
- Added 'scale tuning' modulator, centered around C3.
- * src/iiwusynth.h: Added API functions to read the reverb state
- Moved iiwu_synth_system_reset to the API
- 2002-11-08 Markus Nentwig <nentwig@users.sourceforge.net>
-
- * src/iiwu_voice.c (iiwu_voice_write): Fixed Volume envelope delay bug
- * src/iiwu_voice.c (FILTER_TRANSITION_SAMPLES): Doubled filter
- fading time
- * src/iiwu_mod.c (iiwu_mod_get_value): Changed convex unipolar
- negative definition
- * src/iiwu_voice.c (iiwu_voice_off): Cleaned up a bit, uses now
- calls to iiwu_voice_off, when a voice is finished.
- * src/iiwu_midi.c (iiwu_midi_parser_parse): Reimplemented
- New parser should be able to cope with realtime, system common
- and resynchronize.
- 2002-10-31 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_alsa.c (iiwu_alsa_midi_run): Increased MIDI timeout
- from 1 to 100 ms
- * src/iiwu_dsp_core.c: Merged identical filter coefficients b0 and
- b2 into b02
- Implemented smooth filter transitions
- * src/iiwu_sys.c (iiwu_check_fpe): Added verbose FPE reporting and
- systematic FPE checks.
- * src/iiwu_rev.c: Added a constant DC offset to avoid slowdown
- caused by denormal numbers
- * src/iiwu_synth.c (delete_iiwu_synth): Fixed segv during shutdown
- * src/iiwu_dsp_core.c: Fixed buffer bug (aligned-unaligned)
- * src/iiwu_synth.c (iiwu_synth_damp_voices): Commented out unused code
- * src/iiwu_dsp_core.c: Optimized, added SSE code, which is
- this time actually faster than the default code. Well. Part of it.
- * src/iiwu_voice.c: Minor clean-up
- * configure.in: Added switch --enable-longlong
- * configure.in: Added switch --enable-SSE
- * src/iiwu_phase.h: Added 64 bit operations, documented
- * src/iiwu_sse.h: Check to avoid #including the file more than once
- 2002-10-29 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_voice.c: Added experimental SSE support for Pentium
- III. Comment out #define SSE from iiwu_voice.c to get back to the standard version.
- 2002-10-26 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_seq.c: Fixed a couple of warnings
- * src/iiwu_voice.c (new_iiwu_voice): Removed iiwu_voice_init.
- * src/iiwu_dsp_core.c: New 7th order interpolation.
- 2002-10-24 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_voice.c(iiwu_voice_determine_amplitude_that_reaches_noise_floor_for_sample):
- Added checking for invalid sample.
- * src/iiwu_voice.c (iiwu_voice_write):
- Moved the DSP core functions into iiwu_dsp_core.c.
- Optimized, cleaned up, documented.
- Amplitude scaling short => floating point is now done as the last
- operation in the DSP loop (voice->amp does not include the scaling
- factor anymore).
- * src/iiwu_synth.c (iiwu_synth_one_block): Saved a couple of
- multiplications per sample by moving the master gain into iiwu_voice_write
- * src/iiwu_synth.c (iiwu_synth_free_voice_by_kill): Modified the algorithm
- * src/iiwu_synth.c (iiwu_synth_alloc_voice): Noteon algorithm will
- now turn off retriggered running voices ('sustain pedal problem')
-
- 2002-10-18 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_alsa.c (new_iiwu_alsa_midi_driver): Disabled
- high-priority scheduling for the MIDI thread to get rid of audio dropouts.
- * src/iiwu_synth.c (iiwu_synth_free_voice_by_kill): Modified voice
- killing algorithm, so that recently started voices are not killed
- * src/iiwu_voice.c (iiwu_voice_run_dsp): Changed some variable
- names. Extensive loop point checking, when loop points are modulated.
- * src/iiwusynth.h: Added functions to read the state of the
- chorus.
- * src/iiwu_chorus.c: Rewrote chorus setup logic (if a parameter is
- out-of-range, all other parameter changes are discarded).
- * src/iiwu_voice.c: Added caching for loop peak detection: The
- amplitude of the loop is only detected once for each
- sample. Exception only, if the resulting loop differs from the
- original loop settings of the sample (in this case, the peak
- detection is still run for each noteon event).
- * src/iiwusynth.h (struct _iiwu_sample_t): Added 'amplitude_that_reaches_noise_floor_is_valid'
- and 'amplitude_that_reaches_noise_floor'
- * src/iiwu_voice.c(iiwu_voice_calculate_runtime_synthesis_parameters):
- Renamed 'iiwu_voice_optimize'
-
- 2002-07-21 Peter Hanappe <peter@hanappe.com>
- * src/Makefile.am (libiiwusynth_la_SOURCES): Followed Bob Ham's
- suggestion for the Makefile.am to fix the problems with automake
- 1.6
- 1999-11-30 Tim Goetze <tim@quitte.de>
- * src/iiwu_synth.c (iiwu_synth_alloc_voice): New algorithm for
- voice allocation, when all voice processes are in use
- 1999-11-30 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_synth.c (iiwu_synth_alloc_voice): Applied above patch,
-
- 2002-07-08 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_synth.c (iiwu_synth_noteoff): Changed noteoff strategy:
- Noteoff now turns off all voice processes with the same channel /
- key, regardless of the voice ID (avoids stuck notes).
- 2002-07-13 Peter Hanappe <peter@hanappe.com>
- * src/Makefile.am (EXTRA_libiiwusynth_la_SOURCES): Applied Takashi
- Iwai's patch. The configure stuff in iiwusynth-0.2 cannot be
- rebuilt with the latest automake 1.6. You cannot use substitution
- for *_SOURCES in Makefile.am. This fixes this problem.
- 1999-11-30 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwusynth.h: Added documentation, removed GEN_CHANGED (it
- was unused).
- * src/iiwu_mod.c (iiwu_dump_modulator): Cleaned up
- * src/iiwu_cmd.c (iiwu_handle_help): Restructured command line
- help system
- 2002-06-14 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_chorus.c (iiwu_chorus_processmix): Turning off chorus now, when parameters are wrong (avoid FPE)
- * src/iiwu_voice.c (iiwu_voice_write): Optimized turnoff condition for voice
- 2002-06-11 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_voice.c (iiwu_voice_add_mod): Fixed bug that prevented non-default modulators from being added.
- (iiwu_voice_config): Added peak detection for the sample loop, and a condition turning off the voice,
- if loop peak volume and amplitude envelope combined fall below the noise floor.
- 2002-06-06 Peter Hanappe <peter@hanappe.com>
- * acinclude.m4: Fixed problems with enable/disable jack and
- midishare
- 2002-06-06 Tim Goetze <tim@quitte.de>
- * src/iiwu_synth.c (iiwu_synth_all_notes_off): Added handling of
- all-notes-off midi message
- 2002-06-03 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_chorus.c: Fixed bug in initial phase calculation
- 2002-06-02 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_jack.c: updated for new JACK types.
- 2002-06-02 Bob Ham <node@users.sourceforge.net>
- * acinclude.m4: Changed acinclude.m4 for configure to ignore jack.
- 2002-06-02 Markus Nentwig <nentwig@users.sourceforge.net>
- * autogen.sh: Added libtoolize -f to prevent error message 'libtool: ltconfig version does not match ltmain.sh version ...'
- * src/iiwusynth.h: Changed iiwu_voice_add_mod_t to iiwu_voice_add_mod
- * src/iiwu_synth.c: Added NULL termination to list returned by iiwu_synth_get_voicelist
- * src/iiwusynth.h: Added iiwu_synth_set_chorus (API function)
- * src/iiwu_synth.c: Added iiwu_synth_set_(reverb|chorus)_on (API functions)
- * src/iiwu_cmd.c: Added control commands for chorus (see help)
-
- 2002-05-26 Tim Goetze <tim@quitte.de>
- * src/iiwu_voice.c (iiwu_voice_noteoff): Fixed conversion between
- volenv-values from attack segment to later envelope segments
- 2002-05-22 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_voice.c (iiwu_voice_query_ID): Added, API function
- (iiwu_voice_query_playing): Added, API function
- (iiwu_voice_write): Fixed problem with filter caused 05-18
- * src/iiwusynth.h: Moved iiwu_voice_update_param into the API
- 2002-05-19 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwusynth.h (iiwu_synth_get_voicelist): Added.
- * src/iiwu_voice.c (iiwu_voice_noteoff): Added a conversion for linear to cB amplitude, when a note is turned off
- during the attack phase of the volume envelope
- * src/iiwu_gen.h: Moved the generator definition to API. Changed the fields to 'double'.
- * src/iiwu_mod.c: Moved the modulator definitions to API. Changed the data type of amount to 'double'.
- * src/iiwu_voice.c (iiwu_voice_write): The condition, that quits a voice, when the amplitude
- falls below a threshold now uses only the volume envelope instead of the voice amplitude.
- Previously, turning a volume pedal briefly to 0 would quit all voices playing.
- * src/iiwu_rev.c (iiwu_revmodel_processreplace): Removed 'dry' path from reverb unit
- Motivation: This saves a couple of multiplications, the dry signal goes through the ordinary output
- anyway.
- * src/iiwusynth.h (iiwu_synth_kill_by_exclusive_class): added to API
- * src/iiwu_synth.c (iiwu_synth_kill_by_exclusive_class): Extended the exclusive class function to
- work with stereo samples
- (iiwu_synth_set_reverb): Renamed iwu_synth_set_reverb to iiwu_synth_set_reverb_preset
- iiwu_synth_set_reverb is now an API function, that allows to set all reverb parameters.
- 2002-05-18 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_chorus.c: Implemented variable delay line with bandlimited interpolation. Documentation, error handling.
- Removed unneeded and broken features
- * src/iiwusynth_priv.h: Moved typedef struct iiwu_mod_t iiwu_mod_t into iiwusynth.h
- * src/iiwusynth.h: Moved iiwu_voice_add_mod from iiwu_voice.h into iiwusynth.h (now API function).
- * src/iiwu_voice.c (iiwu_voice_update_param): Inserted chorus send into DSP loop
- (iiwu_voice_write): Added flag 'voice->update_filter'. Now Q can be modulated.
- 2002-05-12 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_synth.c (iiwu_synth_pitch_wheel_sens): added
- * src/iiwu_chan.c (iiwu_channel_pitch_wheel_sens): added
- * src/iiwu_cmd.c (iiwu_handle_reverbsetwidth): changed 'wet' to
- * 'width'
- 2002-05-11 Markus Nentwig <nentwig@users.sourceforge.net>
- * src/iiwu_conv.c (iiwu_tc2sec):
- Added more conversion functions with range check for different ranges:
- (iiwu_tc2sec_attack):
- (iiwu_tc2sec_hold):
- (iiwu_tc2sec_release):
-
- * src/iiwu_voice.c (iiwu_voice_add_mod):
- implemented modulator src 0 (constant mod offset)
- * src/iiwu_voice.c (iiwu_voice_update_param):
- sample-and envelope related voice parameters
- are now handled together with other voice parameters.
- Implemented generators:
- GEN_KEYTOVOLENVDECAY
- GEN_KEYTOVOLENVHOLD
- GEN_KEYTOMODENVDECAY
- GEN_KEYTOMODENVHOLD
-
- 2002-05-10 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_synth_start_voice): added
- iiwu_synth_start_voice() to handle exclusive classes.
- 2002-05-09 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_conv.h: removed velocity to cB conversion. No longer
- used.
- * src/iiwu_synth.c (iiwu_synth_write_float): removed limiter
- * src/iiwu_synth.h (IIWU_NUM_CHANNELS): set the number of channels
- to 64.
- * src/iiwu_synth.c (iiwu_synth_get_internal_bufsize): added
- * src/iiwu_ladspa.h: lower-cased ladspa files
- * src/iiwusynth.h: prefixed log levels with IIWU_... Updated all
- references.
- * src/iiwu_cmd.c (iiwu_handle_reverb): renamed 'rev_enable' to
- 'reverb' in correspondance with the long command line arguments
- * src/iiwusynth.c (main): checking if files on command line are valid
- * src/iiwuplay.c (main): checking if files on command line are valid
- * src/iiwusynth.h: New log level for verbose messages: IIWU_INFO
- 2002-04-30 Markus Nentwig <nentwig@users.sourceforge.net>
- * src: Added iiwu_LADSPA.c, iiwu_LADSPA.h (support for LADSPA effect plugins).
-
- * src/iiwusynth.c (main): Changed default gain to 0.2.
- * src/iiwu_voice.c: Restructured the voice initialization as follows:
- (iiwu_voice_init): sample position, IIR filter history, envelopes etc. are reset.
- (iiwu_voice_optimize): The generators (nominal value) have been set by the sound font.
- Now each modulator is calculated once to obtain the 'final' initial value for each
- generator, which consists of nominal value and modulator-contributed part.
- (iiwu_voice_update_param): Calculates all voice parameters, which depend on one
- particular generator. This is called once for each voice parameter during
- voice_optimize and further each time, when a modulator changes a generator.
- (iiwu_voice_update_param): Added a voice parameter filter_gain to avoid
- recalculating the filter gain each time the center frequency changes (it depends
- only on Q)
- (iiwu_voice_write): Voice is now turned off, when the amplitude falls below -100 dB,
- even during the sustain phase (happens, when holding a piano key for a very long time)
- * src/iiwu_voice.c (iiwu_voice_noteoff): Moved voice->chan = NO_CHANNEL into iiwu_voice_off.
- Previously a released note was not modulated anymore, for example pitch bend stopped working as soon
- as the key was released.
- * src/iiwu_voice.h: Changed _ON macro to figure out the state of a key from the position in
- the envelope, instead of using a cleared channel number as indicator.
- * src/iiwu_synth.c: Implemented all default modulators
- Added LADSPA support.
- Added digital clipping.
- Moved master gain factor ahead of LADSPA Fx.
- * src/iiwu_mod.c: 'Hardcoded' GM default modulator vel => filter.
- Replaced 128 with 127 in (127-x)
- * src/iiwu_midi.c: Fixed sysex for realtime MIDI. Fixed pitch bend bug.
- * src/iiwu_gen.c (iiwu_gen_set_default_values): Using float instead of int for default values.
- Added references to specifications (doc). Changed 'init array' function name to 'set_default' .
- * src/iiwu_defsfont.c (iiwu_preset_zone_import_sfont): Import of modulators
- (iiwu_inst_zone_import_sfont): Import of modulators
- (iiwu_defpreset_noteon): Added modulators, fixed generator problem (local zone overwrites global zone, previously it added)
- * src/iiwu_conv.c: Using now oncave / convex equation from SF specs.
- Removed ct2hz functions and tables.
- (iiwu_ct2hz): Limit checking
- (iiwu_cb2amp): Removed 'magic number'
- (iiwu_tc2sec): Avoided == for iiwu_real_t
-
- * src/iiwu_cmd.c: Increased number of tokens. Using WORKLINELENGTH constant.
- Changed max. gain to 5.
- Added LADSPA commands.
- Renamed misleading rev_bypass command to rev_enable
- * src/iiwu_chan.c: Centered pitch wheel. Added 'expression' modulator (CC 11).
- * configure.in: Added LADSPA support
- 2002-04-03 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_voice.c (iiwu_voice_run_dsp): Integrated Markus
- Nentwig's new filter design
- 2002-03-12 Peter Hanappe <peter@hanappe.com>
- * src/iiwusynth.h: the preset iteration in a soundfont now takes a
- pointer to a preset structure
- * src/iiwu_sys.c (iiwu_profile_data): added support for profiling
- * src/iiwu_voice.c (iiwu_voice_write): turns off voice if
- amplitude < -100 dB in release phase. Set filter gain back to old
- value (0.25f * ...)
- * src/iiwuplay.c (main): added gain, interactive, and reverb options
- * src/iiwusynth.c (main): added gain and reverb options
- * src/iiwu_synth.c (iiwu_synth_write_s16): added brickwall limiter for s16 samples
- 2002-01-29 Stephane Letz <letz@grame.fr>
- * src/iiwu_midishare.c : Compilation on MacOSX, use a task for typeNote management
- * src/iiwu_sys.c : Compilation on MacOSX
- * src/iiwu_sys.h : Compilation on MacOSX
- * src/iiwu_sfont.c : Use the flag MACINTOSH instead of MACOS
- * config_macos.h : Cleanup
- * config_macosx.h : New file, compilation on MacOSX
- 2002-01-21 Stephane Letz <letz@grame.fr>
- * src/iiwu_midi.c (delete_iiwu_midi_handler): Desallocation of heap allocated strings
- * src/iiwusynth_priv.h : Definition of strdup if not available (Macintosh)
- 2002-01-16 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_alsa.c (new_iiwu_alsa_seq_driver): Applied and adjusted
- Bob Ham's patch: support for configurable ALSA sequencer client
- name.
- * src/iiwu_chan.c (iiwu_channel_cc): Applied Bob Ham's patch:
- added bank select midi message.
-
- 2001-12-31 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_synth_damp_voices): Sustain messages are
- now handled. Updated iiwu_channel and iiwu_voice.
- (delete_iiwu_synth): SoundFonts are deleted.
- 2001-12-21 Stephane Letz <letz@grame.fr>
- * src/iiwu_midishare.c (new_iiwu_midishare_midi_driver,
- delete_iiwu_midishare_midi_driver):
- Updated to be compiled either in driver or application mode
- with the flag MIDISHARE_DRIVER.
- 2001-12-20 Stephane Letz <letz@grame.fr>
- * src/iiwu_portaudio.c (iiwu_portaudio_run , new_iiwu_portaudio_driver):
- Adaptation for new audio drivers
- * src/iiwu_synth.c (audio driver definition):
- Adaptation for PortAudio driver
- * src/iiwu_sys.c (header): Adaptation for compilation on MacOS9
-
- * src/iiwu_sys.h (header): Adaptation for compilation on MacOS9
- 2001-12-16 Peter Hanappe <peter@hanappe.com>
- * src/iiwuplay.c (main): The .iiwusynth file is loaded *before*
- the soundfonts on the command lines are loaded
- * src/iiwusynth.c (main): idem.
- 2001-12-16 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_midi.c (iiwu_player_callback): Fixed error in midi
- timing after a tempo change
- * src/iiwu_jack.c (new_iiwu_jack_audio_driver): Added first
- version of JACK driver
- 2001-12-14 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_synth_noteoff): noteon/notoff events can
- print a clear message, useful for debugging.
- * src/iiwu_sys.c (struct _iiwu_timer_t ): timer moved from
- iiwu_midi.c to iiwu_sys.c
- * src/iiwusynth.h: New organization of settings; using bit flags;
- added verbose option
- * src/iiwusynth.c (main): Added the verbose option
- * src/iiwuplay.c (main): Added the verbose option
- 2001-10-05 Stephane Letz <letz@grame.fr>
- * src/iiwu_portaudio.c (new_iiwu_portaudio_driver): imported new
- driver for the PortAudio library.
- 2001-10-04 Stephane Letz <letz@grame.fr>
- * src/iiwu_synth.c (new_iiwu_synth): Fixed bug in synth initialisation
- 2001-10-02 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_cmd.c (iiwu_get_userconf): returns default user
- configuration
- (iiwu_get_sysconf): returns default system configuration
- (iiwu_synth_cmdline): Fixed bug with argument offset. Empty lines
- are skipped correctly.
-
- * src/iiwusynth.c (main): loads the user or system config
- * src/iiwuplay.c (main): loads the user or system config
- * src/iiwu_synth.c (iiwu_sp_write): Using new envelope model for
- modulation envelope
- 2001-09-29 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_sp_write): redesigned the envelopes.
- 2001-09-20 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_sp_write): redesigned the dsp loop. it's
- faster and it sounds better (!)
- 2001-09-19 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_sfont.c (iiwu_sample_import_sfont): better checking for
- minimum sample size, loop start and loop end offsets.
- 2001-09-17 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_sp_write): improved calculation of filter
- coefficients
- (new_iiwu_synth): using settings structure
- 2001-09-09 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.h (iiwu_phase_decr): fixed bug
- * src/iiwu_synth.c (iiwu_synth_noteoff): noteoff now turns off the
- oldest note only (instead of all notes with the given channel and
- key)
- 2001-07-10 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_midi.h: removed midi driver join function. updated all
- structures, implementations and callers.
- 2001-07-04 Peter Hanappe <peter@hanappe.com>
- * src/iiwuplay.c (print_help): corrected errors in the help and
- usage display.
- 2001-06-29 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_synth_one_block): new function. fills the
- buffer with fresh samples.
- (iiwu_synth_write_lr): now calls iiwu_synth_one_block. the
- synthesizer uses fixed synthesis buffer size, independent of the
- requested buffer length passed to iiwu_synth_write_lr.
- (iiwu_revmodel_processreplace): new uses fixed IIWU_BUFSIZE value
- for buffer length.
- (iiwu_revmodel_processmix): uses fixed IIWU_BUFSIZE value
- 2001-06-22 Peter Hanappe <peter@hanappe.com>
- * src/iiwusynth.c (iiwu_handle_fonts): new shell command to list
- the loaded fonts.
- (iiwu_handle_mstat): new shell command to list the statistics of
- the midi driver.
- 2001-06-19 Peter Hanappe <peter@hanappe.com>
- * src/iiwusynth.c (main): Several command line options are
- available to select the midi and audio driver and device. Using
- the getopt function on posix machines.
- 2001-06-16 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.h: new iiwu_revmodel_presets_t structure to store
- reverb presets (concert hall, room, ...)
- * src/iiwu_synth.c (iiwu_synth_write_lr): now using 1 reverb for
- all synthesis processes. the synthesis processes now receive a
- left and right buffer, a reverb buffer, a chorus buffer, and a
- monobuffer for their temporarry storage. reverb now always on.
-
- (new_iiwu_sp): no longer allocating a reverb module nor a
- monobuf. only one reverb model and monobuffer allocated by the
- synth object (read: much less memory usage).
- * src/iiwu_midi.c (iiwu_player_callback): fixed timing
- errors. midi should play correctly now.
- 2001-06-09 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_sp_write_lr): now using a 64-bits
- fixed-point number to calculate the phase of the
- wavetable. because of rounding erros, the float value I used
- before gave terrible tuning problems. I updated all the
- intepolation macros.
- * src/iiwusynth_priv.h: included the iiwu_phase_t data type. This
- type represents a 64-bits fixed-point number. It's used to hold
- the phase in the wavetable.
- 2001-06-08 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_midi.c (new_iiwu_midi_handler): Better support for
- runtime selection of the MIDI driver (using the
- iiwu_mdriver_definition_t structure)
- * src/iiwu_auport.c (new_iiwu_auport): Better support for runtime
- selection of the audio driver (using the iiwu_adriver_definition_t
- structure)
- 2001-06-07 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_sp_write_lr): rewrote the dsp function to
- accept a seperate left and right channel buffer.
- (iiwu_sp_write_lr): using cubic hermite interpolation by default.
- (iiwu_synth_write_lr): added a dsp function to accept a seperate
- left and right channel buffer.
- 2001-05-26 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_midi.c (iiwu_midi_parser_parse): Fixed a bug in the
- midi parser (running status should not be split in a status and
- channel part for system messages).
- (iiwu_midi_send_event): pitch bend events are now handled
- 2001-05-25 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_midi.c (iiwu_midi_file_getc): Fixed bug when pushed
- back byte equals zero (mf->c >= 0)
- * src/iiwu_midi.c (iiwu_midi_file_getc): Fixed bug when pushed
- back byte equals zero (mf->c >= 0)
- 2001-05-24 Peter Hanappe <peter@hanappe.com>
- * src/iiwusynth.c: added the stupidly simple interpreter
- * src/iiwu_synth.c: removed all param strcutures.
- * src/iiwu_synth.c (iiwu_channel_get_banknum): new function
- 2001-05-23 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_synth.c (iiwu_sp_write): Fixed devide by zero in filter
- * src/smurf.c (gerr): applied Josh's patch: using va_list now (as
- it should).
- 2001-05-22 Peter Hanappe <peter@hanappe.com>
- * src/iiwu_midi.c: the midi handler is now devided in a dummy
- iiwu_midi_handler_t and a "low level" driver. This allows for
- multiple midi drivers to be compiled in.
- * src/iiwusynth.h: renamed iiwu_midi_driver_t to iiwu_midi_handler_t
- * src/iiwu_auport.c (new_iiwu_auport): new "driver" argument to
- select between alsa, oss, midishare, directx, ...
- * configure.in: preparing for the first pre-release, version 0.0.1