home *** CD-ROM | disk | FTP | other *** search
/ The Best of Windows 95.com 1996 September / WIN95_09964.iso / midi / tim3202i.zip / CHANGES next >
Text File  |  1996-06-01  |  10KB  |  299 lines

  1. ---------------------------*-indented-text-*------------------------------
  2.  
  3.     TiMidity -- Experimental MIDI to WAVE converter
  4.     Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
  5.  
  6. --------------------------------------------------------------------------
  7.  
  8.     List of changes
  9.  
  10. --------------------------------------------------------------------------
  11. 0.2h to 0.2i
  12.  
  13.        Renamed most source files to fit into 8.3 characters and less.  Sorry.
  14.  
  15.        Changes by Davide Moretti <dmoretti@iper.net>: Incorporated the
  16.        changes to allow TiMidity to compile and run under Win32 platforms
  17.        (tested with Windows 95 and Windows NT for Intel).  Read README.W32
  18.        for more information.
  19.  
  20.        Tcl/Tk interface by Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>.
  21.        Read README.tk.
  22.  
  23.        DEC port by Chi Ming HUNG <cmhung@insti.physics.sunysb.edu>.  Read
  24.        README.DEC.
  25.  
  26.        A few bugfixes: WAVE headers, shell substitution, Linux audio O_RDWR,
  27.        dumb/ncurses segfault (thanks to everyone who sent a fix for this ;)
  28.  
  29.        Reversed the sense of the -F option to get rid of some nasty pops.
  30.  
  31.        Attempted to merge Makefile.{SUN|SOLARIS|HPUX|DEC} back into Makefile
  32.        to conserve the world's ketoprofen reserves. 
  33.  
  34.        Lowered default amplification to 70% to get a bit more dynamic
  35.        headroom.
  36.  
  37. 0.2g to 0.2h
  38.  
  39.        Warning! This is a Vincent Pagel release... more official 
  40.        release when Tuukka comes back from hollydays, err, his 
  41.        exams actually.
  42.  
  43.        I've added a Motif interface with files selection, time scale
  44.        cursor and other blue widgets. More gadgets to come. Changes 
  45.        are in motif_* files, but also a big structure change in 
  46.        timidity.c and playmidi.c as it is now the interface that
  47.        choose the name of the next file to play.
  48.  
  49.        Added so called "nice" icons
  50.  
  51.        Pipe communication between Motif interface and the program.
  52.  
  53.        Antialiasing filtering now works even with looping patch, nice
  54.        when playing on a SUN at Ulaw at 8Khz ( option -a )
  55.  
  56.        Added a Makefile.HPUX since make on HP does not understand
  57.        the += notation
  58.  
  59.        Thanks to Gilles Dauphin, works on Solaris
  60.  
  61. 0.2f to 0.2g
  62.  
  63.     Wrote a little WAVE to patch converter and added ".wav" to
  64.     DECOMPRESSOR_LIST to allow using wave files as simple
  65.     instruments. This was Davor Jadrijevic's suggestion from some
  66.     time back. New file: wav2pat.c
  67.  
  68.     Took out ADJUST_PANNING_IMMEDIATELY and put in a command line
  69.     option "-F" for "turn off _F_ast panning". Running out of
  70.     letters for command line options.
  71.  
  72.     Error check in read_config_file to make some noise when
  73.     directories are specified as config files.
  74.  
  75.     Squashed a segfault that resulted from resampling past loop
  76.     end (FINALINTERP, when incr > 1<<FRACTION_BITS). 
  77.  
  78.     Sweep computation overflow with seashore.pat fixed.
  79.  
  80.     The portion of sample data from loop_end to data_length is now
  81.     played if the instrument doesn't have a loop or an envelope.
  82.     Some patches (e.g. Fretnoyz from the ProPats 3.0 set) contain
  83.     garbage between loop_end and data_length, so there's a new
  84.     config file option "strip=tail" to drop it off.
  85.  
  86.     Reverse loops are now done "right".
  87.  
  88.     Slight LOOKUP_HACK cleanup. There's a "final_volume_t" type
  89.     that's either an uint8 or an int32, whichever is required for
  90.     mixing computations, and a FINAL_VOLUME() macro to convert an
  91.     int32 to the required type.
  92.  
  93.     Changed the "THING := $(THING) junk" assignments in Makefile
  94.     to "THING += junk"'s. Hopefully the latter is understood by
  95.     more makes than the former. The whole mess will be replaced by
  96.     a configure script within a few releases.
  97.  
  98.     Split up mix_data in mix.c to make it easier to look at.
  99.  
  100. 0.2e to 0.2f
  101.  
  102.     Moved mixing functions out of resample.c. New files: mix.c,
  103.     mix.h.
  104.  
  105.     Added midia.cfg config file for the Midia patch set.
  106.  
  107.     Added Shawn McHorse's loop optimizations and LOOKUP_SINE
  108.     config.h option.
  109.  
  110.     Added Shawn's FAST_DECAY command line switch -- config.h
  111.     option FAST_DECAY now sets the default for this switch.
  112.  
  113.     USE_LDEXP config.h option, in case your compiler converts
  114.     ldexp() into a straight fscale, and fscale is faster than fmul
  115.     on your machine.
  116.  
  117.     Fixed WAVE header bug -- the lengths were 44 bytes short.
  118.     Thanks to Alexey Marinichev for noticing.
  119.  
  120.     Added PATCH_EXT_LIST option to config.h, so you don't have to
  121.     change every filename in your configuration file when you
  122.     decide to compress your patches.
  123.  
  124.     Added external utility "bag". New file: bag.c, read it for
  125.     info.
  126.  
  127.     Added "extern" to the s32towhatever() prototypes in output.h.
  128.  
  129. 0.2d to 0.2e
  130.  
  131.     Riccardo Facchetti's S-Lang-based user interface: a more
  132.     efficient alternative to ncurses. Options in Makefile.
  133.  
  134.     Rearranged options in Makefile to make various combinations
  135.     easier to select.
  136.  
  137.     LOOKUP_HACK config file option: horrible experimental kludge
  138.     to substitute table lookups for multiplication. First attempt
  139.     to use uLaw as sample format failed miserably. Now using 8-bit
  140.     linear, which is fine for Sound Blaster owners. It only saves
  141.     ~20% of CPU on a Pentium, but let me know what it does to your
  142.     setup.
  143.  
  144.     Changed instrument loading to add the Sustain flag to all
  145.     patches which have the Looped flag set.
  146.  
  147.     Implemented All Notes Off, All Sounds Off, and Reset All
  148.     Controllers events. The Day of the Tentacle intro music uses
  149.     the first and plays OK now. The other two might work, or they
  150.     might throw your machine into a damaging infinite binary loop.
  151.  
  152.     Implemented Bank Select controller. Sort of emulates the SCC-1
  153.     (I think): use Control Change 00 xx, where xx is the tone bank
  154.     you want.  Totally untested. Some MIDI files use Control
  155.     Change 0 for something else, generating loads of warnings.
  156.  
  157.     In config.h, changed the default command line for shorten to
  158.     work with version 1.22. The old one was for some ancient
  159.     version which I finally got around to replacing.
  160.  
  161.     Fencepost error in resampling fixed by Vincent Pagel.
  162.  
  163.     Fixed problem with bidirectional loops and vibrato.
  164.  
  165. 0.2c to 0.2d
  166.  
  167.     Volume computations rewritten to use both floating point and
  168.     integer multiplication.
  169.  
  170.     Tremolo and vibrato handling. Some tuning parameters are
  171.     available in config.h.
  172.  
  173.     Fixed-pitch, non-looped instruments are now resampled at load
  174.     time.  Note that fixed-pitch instruments can't be pitch-bent.
  175.  
  176.     Cheaper click removal scheme. Removed I_WANT_THE_CLICKS_BACK
  177.     option from config.h, added MAX_DIE_TIME definition. Moved
  178.     resampling and mixing functions from playmidi.{c,h} to new
  179.     files: resample.c, resample.h.
  180.  
  181.     Percussion instrument pitches can now be specified
  182.     independently of the note they're assigned to. Melodic
  183.     instrument pitches can also be forced. Extra options in config
  184.     file -- see the manual. Thanks to Davor Jadrijevic for his
  185.     suggestions.
  186.  
  187.     Loops and envelopes are now removed from all percussion
  188.     instruments by default. This should eliminate cymbal crashes
  189.     being cut short.
  190.  
  191.     Changes in gravis.cfg to override some instrument parameters
  192.     that would be guessed incorrectly.
  193.  
  194.     Vincent Pagel's experimental antialiasing filter. This doesn't
  195.     interact very well with looping yet, so it's only applied to
  196.     non-looped instruments. Use the command line option "-a" to
  197.     enable the filter. New files: filtering.c, filtering.h.
  198.  
  199.     Enabled fast forward & rewind in non-trace mode in
  200.     ncurses_ctl.c.
  201.  
  202.     Fixed a problem with envelopes -- envelope handling still
  203.     isn't perfect, but skipping the "Attack 2" phase was dumb.
  204.  
  205.     Added ADJUST_PANNING_IMMEDIATELY to config.h, default on (no
  206.     change from previous behavior).
  207.  
  208.     Silly bug in adjusting non-enveloped voice volumes fixed.
  209.  
  210.     Small change in ncurses_ctl to display 100 for maximum volume
  211.     and expression.
  212.  
  213.     After listening to a GUS, made FAST_DECAY default to on.
  214.  
  215.     Riccardo Facchetti's patch to config.h: Not all Linux systems
  216.     are little-endian.
  217.  
  218.     Riccardo's alternative keyboard commands in ncurses_ctl.c.
  219.     First step towards porting to MS Windows -- you can press
  220.     F1 to get help!
  221.  
  222.     DANGEROUS_RENICE config.h option. Thanks again to Riccardo.
  223.  
  224. 0.2b to 0.2c
  225.  
  226.     Fixed pitch bend sensitivity again. NRPN controls are now
  227.     correctly ignored.
  228.  
  229. 0.2a to 0.2b
  230.     
  231.     Francesco Zanichelli's patches to get the Sun version to
  232.     actually compile.
  233.  
  234.     Victor Langeveld's patches to get the FreeBSD version to
  235.     actually compile. 
  236.  
  237.     Fixed pitch bend sensitivity. Thanks again to Vincent Pagel
  238.     for the information.
  239.  
  240.     Expression now defaults to 127, as with the SCC-1. Some things
  241.     may sound a bit loud.
  242.  
  243. 0.1a to 0.2a
  244.  
  245.     Internal changes for easier porting to other systems. 
  246.     long long's are gone, floating point is used instead.
  247.     Command line options changed.
  248.  
  249.     Output to HP-UX audio server by Vincent Pagel.
  250.  
  251.     Output to Sun audio device based on Francesco Zanichelli's
  252.     port of version 0.1a.
  253.  
  254.     Output to ZyXEL modems based on Rob Janssen's uLaw patches.
  255.  
  256.     FreeBSD options in Makefile and linux_audio.c. Check for DSP
  257.     fragment capability. (Thanks to Victor Langeveld.)
  258.  
  259.     ncurses interface changes. Trace mode optional.
  260.  
  261.     Fixed bug -- the last MIDI event was getting eaten, causing
  262.     stuck notes at the end of songs. (Reported by Anthony Cruz.)
  263.  
  264.     Pitch-bend sensitivity added, with a hack to process "Data
  265.     entry (MSB)" events. Thanks to Vincent Pagel for info on
  266.     this...
  267.  
  268.     Run-time configuration of quiet and percussion channels.
  269.  
  270.     Volume computation fix. You can now crank the volume up to
  271.     800%.
  272.  
  273.     Slower envelopes. Pianos sound better, harps sound
  274.     worse. Applause in Beethoven's 5th should sound
  275.     better... Thanks to Tim Norman for comments on this.
  276.     CPU usage went up -- see option FAST_DECAY in config.h.
  277.  
  278.     Panning and volume controls no longer affect notes that have
  279.     already been turned off.
  280.  
  281.     Click reduction on by default. CPU usage went up -- see option
  282.     I_WANT_THE_CLICKS_BACK in config.h.
  283.  
  284.     Sample volume adjustment into compile time option -- see
  285.     option ADJUST_SAMPLE_VOLUMES in config.h 
  286.  
  287.     SMPTE time in divisions field in MThd. Untested.
  288.  
  289.     Quote some special characters in filenames before popen().
  290.  
  291.     Hack to accept old patch files and files that claim to contain
  292.     0 instruments and/or layers.
  293.  
  294.     Behavior when reading Gravis .cfg files changed -- syntax
  295.     error reported instead of segmentation fault.
  296.  
  297. 0.1a
  298.     First release. Plays MIDI files under Linux.
  299.