haha
[terminatorX.git] / ChangeLog
index d50b08a4ea5eb459f610c78b6654d098c94b14be..34605354d811fc5a79944df7de9671bb9231c7a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,201 @@
 terminatorX - ChangeLog
-All changes were done by me (Alexander Koenig) if not stated otherwise.
+All changes were done by me (Alexander König) if not stated otherwise.
 This is not a GNU-style ChangeLog but you sort of get the idea what was
 changed.
 
+[v3.72]
+- fixed a bug that produced corupt wavfiles on big endian machines
+- hack: made XInput work on XFree>4, proabably breaks XFree<4
+- applied Adrians solo-patch
+
+[v3.71]
+- applied a big patch from Adrian Reber (adrian@lisas.de). This patch includes:
+  o compile fixes for the newer gcc releases
+  o enhancements to the commandline switches (try --help for more details)
+  o bug fixes for tX_global.c
+- the bigNewThang (TM) is STEREO output. The Pan-Buttons now actually do what
+  you'd expect them to. Therefore your soundcard must have stereo support of
+  course but I guess in 2001 this really shouldn't be a problem, right? 
+  The recorded wavfiles will now be stereo wavfiles of course.
+  Note that stereo output means double audio-bandwith, so if you tuned your
+  old terminatorX setup to smallest latency you might get clicks now. You can
+  easily fix this by increasing the buffer size in the options dialog by one - 
+  this will result in the same latency as before btw.
+- The echo effect has undergone some enhancements to profit from the new stereo
+  output. It's signal will now be mixed seperately so you can choose a different
+  stereo panorama position for the echo signal. So the new echo effect now 
+  features it's own PAN-knob. This does have some sideeffects though, for more
+  details on this check the manual.
+  Additionally the echo effect now has it's own volume setting to influence
+  the dry/wet ratio of this effect.
+- Some LADSPA effects tend to create NAN (Not A Number) float values under
+  certain conditions. This is bad as all following operations will result in 
+  NANs, so there will be no audio output no more. Now I will not introduce code
+  to check for NANs as this is a waste of CPU-power, producing NANs is IMHO
+  a faulty behaviour for LADSPA plugins and it should be fixed in there.
+  Now a problem with the previous release was that the echo and lowpass effects
+  "ate" those NANs resulting in NANs in those effects' buffers. So once a NAN
+  got in there these effects caused the whole audio output to mute (forever). 
+  Which is why I now introduced some code to clear the buffers in echo and
+  lowpass whenever you dis- and reenable them.
+- The GUI does have two master vu-meters now. The turntable's still have one
+  vu-meter only. Note that the echo-signal is *not* included in the turntable's
+  vu-meter now, as it's mixed seperately.
+- The 3DNow!-Optimizations are gone. And they'll proabably never come back as
+  I don't have time to maintain the same algorithm twice.
+- The documentation has been updated to meet the new features. A lot of typos
+  have been fixed as well.
+
+[v3.70]
+- this list may be incomplete
+- This release brings support for LADSPA plugins. These plugins can be inserted
+  into any turntable's effect chain at any position. You can edit the the
+  effect sequence with the two tiny blue arrows. The builtin effects reside in
+  the same effect chain as LADSPA plugins, but unlike LADSPA plugins they cannot
+  be removed (nor multi-instanciated).
+  The LADSPA plugins have to "fit" into the effect chain, which is why
+  terminatorX supports *mono* plugins (plugins that have one audio-in and one
+  audio-out port) only. For the plugin's control ports, termintatorX supports
+  all HINTS except for LADSPA_HINT_LOGARITHMIC. Some control ports might be 
+  hard to handle as LAPDSA control ports can have very wide value ranges. It is
+  possible to enter precise values though.
+  Get LADSPA and the CMT plugins from http://www.ladspa.org
+  All parameters for LADSPA-plugins are "sequencable parameters", so you can
+  record parameter-change events for the plugin's knobs just as for the
+  standard parameters.
+- GUI re-design to support dynamic plugin GUIs. The audiofile-display is now 
+  seperated from the turntable's controls. The groups are split in to panels
+  which can be minimized if not required (orange arrow). The panels'
+  minimized-status will be saved within the set files.
+  To add a plugin effect into the turntables effect chain click on the "FX"-
+  button and choose the plugin of your choice. To get more info on the
+  plugin effects click on their panel's label.
+  NOTE: The panning-control is not working yet. It'll work as soon as stereo
+  is done.
+- As always when introducing something new, the set-file file-format has
+  changed.
+- The parameter-to-mouse-axis mapping has been moved from hardcoded to
+  dynamic. You can now map any parameter that's considered "mappable" to the
+  mouse-axis of your choice (for each turntable separately). This is true
+  for the control ports of LADSPA-plugins, too.
+- Josh Steiner <joschi@eds.org> has joined terminatorX development. For this 
+  release he has added some startup parameters for terminatorX, some of them
+  aiming for future MIDI support, and therefor not functional yet. Run
+  "terminatorX --help" to get more details.
+- I know write the "manual" in SGML with the DocBook DTD. The distribution
+  contains the HTML and the postscript version. These transformation have been
+  created using James Clark's jade (DSSSL-processor) and Norman Walsh's DSSSL
+  stylesheets for DocBook.
+- Removed obsolete "number of vtts"-option from the options dialog.
+- Applied a patch from Josh that fixes running the soundfile editor for files
+  including a blank in their filename.
+- New tooltips for the complete GUI.
+
+[v3.61] (unreleased)
+- applied a tiny patch from Atsushi Yamagata <yamagata@plathome.co.jp>
+  to set locale on startup.
+
+[v3.60]
+- terminatorX has a sequencer now. Warning: with the current design the
+  sequencer will correctly play back recorded events only when the buffer size
+  (of the audio device) is set to the same size as it was when recording the
+  events. I know this is annoying and I will try to find a solution to this. 
+  Please take a look at the README to find out how the sequencer works.
+- fixed a bug causing the lowpass filter produce a constant signal
+- fixed the load file / drag'n'drop segfault bug
+- fixed the prelisten zombie processes bug
+- fixed the segfault on termination bug (with the audio engine running)
+- hacked the mixer code to use 3DNow! too. This improves 3DNow! performance gain
+  from previously ~6% to more than 20% (depending on compiler optimizations)
+- extended the set-file-format to allow storing of sequencer events. This
+  release allows loading old tX-sets too.
+- some gui icons. Choose Text/Icon / Icon only / Text only display of these
+  icons in the Options dialog. You'll have to restart tX to see the changes
+  though.
+- "soundfile-editor support": Enter the soundfile-editor of your choice in the
+  tX-Options dialog (Still looking for an editor? Checkout Dave's Linux
+  Sound and MIDI Pages: http://www.bright.net/~dlphilp/linuxsound/).
+  Click the edit button in the Main-Panel to start your editor with the
+  turntable's soundfile - edit ;) - save and click the reload button.
+- big endian bug fixes by Scott C. Knight <scknight@indiana.edu>
+- --enable-benchmark will now produce a benchmark binary. This takes a set file
+  as a parameter (that set file should autotrigger all tables, else the
+  benchmark will measure how fast tX can generate zeros ;) WARNING: the
+  benchmark binary is not a usable terminatorX binary.
+- a new dial-widget. I created this for the upcoming GUI-redesign - and decided
+  I let you debug it right now ;) If you don't want it run configure with the
+  --disable-dial switch.
+- some gui redesign. The volume scales are now located near their corresponding
+  "flash"-widget. This release fits into very small windows - so it should be
+  usable on smaller displays as well.
+- Adrian told me configure doesn´t have to check for glib after checking for
+  gtk+ - I guess he´s right so the glib-test has gone.
+- more minor fixes
+  
+[v3.55]
+- implemented "sequenceable parameters" (see tX_seqpar.*). This means the
+  groundwork for the sequencer is done. Although this release does not yet
+  feature a sequencer - there's still a profit: you can now see the GUI (e.g.
+  the lowpass-freq slider) update while you change that value with your mouse in
+  dga grab mode (e.g. up/down with the default X/Y-Control settings).
+- fixed (libmmx) mmx.h to work with gcc 2.95 and above
+- fixed compilation problems for big endian machines. still runtime probs
+  reported though.
+- fixed configure-script as the new bash complains about == in string compares
+- fixed some gui segfaults
+- added an ugly GNOME-mimetype installer. This installs the ".tX"-mime type, an
+  terminatorX-application icon and a ".tX"-icon. I could use some hints on how
+  I could make automake install that instead of an extra script.
+  (see README.GNOME)
+- added Drag'n Drop support. Works with the great gmc. Drop an audio file over 
+  the filename-button or the wavdisplay of a turntable to load it into that
+  table. Drop an audiofile over the "Add Turntable" Button to create a new 
+  turntable and load that file into that turntable. Drop a tX-set file over the
+  "Load Set" button to load the set. 
+
+[v3.51]
+- fixes the load_piped() compilation error if you use neither sox nor mpg123.
+  Note that you have no "pre-listening" without mpg123 for mp3s and no 
+  "pre-listening" for any other file without sox.
+
+[v3.5]
+- Yet another redesign ;) Oh well this project moved from c++/multithreaded
+  to c++/singlethreaded, to c/multithreaded and now, finally, back to
+  c++/multithreaded. This shows quite some foresight, I'd say ;)
+- Due to the redesign I had to change a lot (everything?) again so this document
+  can impossibly hold all changes. but let's see:
+- tX now uses floats instead of doubles for a lot of parameters. Therefore the
+  old .terminatorXrc.bin is now called .terminatorX3rc.bin to allow parallel
+  use of older releases. But you'll have to configure the new release again
+  the first time you run it.
+- tX now supports an unlimited no of turntables. The only limit is your display
+  really.
+- Each of these turntables has their own pitch / volume settings and a 
+  dedicated lowpass and echo effect section.
+- You can now map mouse motion to a function of your choice (scratching/
+  volume/cutoff/echo-feedback and nothing)
+- Recording will now happen straight to disk. You'll have to specify a filename
+  before you start recording.
+- You can sync the turntables to one master turntable.
+- There are two master settings for pitch and volume available to modify all
+  turntables. The turntable pitch is relative to the master pitch.
+- You can save a complete set (of turntables and settings) to a .tX set file.
+  The audiofile data will *not* be saved within that file, but it'll contain
+  the absolut filename to these files. I know this makes the act of exchanging
+  sets over the net more complex so if somebody wants to code set files with
+  integrated audio data... ;)
+- The way audiofiles are loaded has been redesigned too: the builtin wav
+  routines, the sox support and mpg123 are no longer connected. This means
+  you can use mpg123 support without sox support and still have the builtin
+  wav routines enabled. If you have the builtin wav reader and sox enabled, tX
+  will try try to use the builtin routines first, and if they fail sox will be
+  used as a fallback which is of course slower as you know... There's some 
+  support for Benno Senoner's brilliant 3.2-mmap() patch but the patch still
+  needs to be ported.
+- You can now select which parameter to map to a mouse axis.
+- experimental 3DNow! support (works with gcc < 2.95 only)
+- tX-windows now have an icon, thanks Michael!
+
 [v3.2]
 - implemented 2D-Scratching ;) You can now use the other axis of your mouse
   two modify the cutoff frequency of the lowpass filter (if enabled). The