Update documentation, remove obsolete info.
authorAlexander Koenig <alex@lisas.de>
Sat, 25 Jan 2014 08:36:55 +0000 (09:36 +0100)
committerAlexander Koenig <alex@lisas.de>
Sat, 25 Jan 2014 08:36:55 +0000 (09:36 +0100)
ChangeLog
README
README.PERFORMANCE
TODO

index 323d4950625b5df705d23b794eba1b8331b275aa..10950fce58b1b0fbd7a2e6f9e810bf5ba80ec8fd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,705 +1,4 @@
-   terminatorX ChangeLog
+The ChangeLog is no longer being maintained, however the web frontend to 
+the terminatorX git repository should be a workable replacement:
 
-   Copyright (C) 1999-2011 Alexander König
-
-   Version 3.84
-     * introduced a workaround for terminatorX bug #29
-
-   Version 3.83
-     * moved to terminatorX.org
-     * fixed misc gcc 4.0 warnings
-     * removed fastabs() implementation - it failed with gcc > 4.0
-     * fixed a compilation issue (Thanks, cyril!)
-     * fixed main window menu bar layout issue
-     * fixed broken mouse grab (Ubuntu bug #469365), grab events are now
-       handled by gui thread
-     * work-around gtk+ auto mnemonics
-     * fixed deprecated gtk+, jack and Xorg API
-
-   Version 3.82
-     * the position of the audio control scrollbars is now saved within
-       set files and restored upon loading.
-     * fixed a liblrdf related issue resulting in use of previously free'd
-       memory.
-     * rendered a new knob with the wonderful povray - all images are now
-       distrbuted in gdk-pixbuf-csource'd form in the src/icons directory.
-     * added an extra "File/Load Audio File" menu item as new users would
-       always try to load an audio file via "File/Open".
-     * fixed compilation issues with g++ >= 3.4.
-     * added reverse mapping of MIDI parameters which can be turned on/off
-       via the parameter menu. This allows setting up a MIDI controller as
-       a crossfader.
-     * in order to have a SPAM protected online version of the ChangeLog
-       this document is now generated from XML sources.
-     * merged a patch from Martin Habets <errandir_news@mph.eclipse.co.uk>
-       that fixes big endian audio playback with ALSA.
-     * applied a fix from Juha Erkkila <erkkila@cc.jyu.fi> that makes tX
-       work on systems that don't have procfs mounted.
-     * added an optional Dry/Wet control for all LADSPA plugins. Simply
-       click on the plugin's label to add or remove the additional
-       control.
-     * added an additional stereo effects queue that allows loading stereo
-       LADPSA plugins. The stereo effects are located below the mono
-       effects - to add a new instance press the "Stereo FX" button and
-       select the plugin of your choice.
-     * fixed the plugin menu - empty categories no longer get a menu entry
-     * plugins that do not qualify as realtime capable will now be
-       disabled.
-     * I'm fed up with terminatorX related security postings, so the old
-       suid-root method had to go. To achieve realtime scheduling you now
-       have three options:
-          + a) run terminatorX as root (obviously dangerous and not
-            recommended)
-          + b) build terminatorX with capabilities enabled and install it
-            suid-root. Due to the use of PR_SET_KEEPCAPS this will work on
-            Linux _only_
-          + c) use the JACK backend with "POSIX draft capabilities" (see
-            jackd manpage)
-     * loading sets with missing LADPSA plugins no longer crash tX.
-     * fixed a bug that made reading error messages impossible with the
-       load dialog open.
-     * the engine now handles audiodevices that break down when already in
-       playback mode more gracefully. This really necessary when jack
-       decides to kick us out.
-     * all vu meters are stereo now. Having a mono widget for a stereo
-       thing just didn't make any sense anymore.
-     * modified the render loop to comply with LADSPA V1.1: 0 db is now at
-       1.0f. This makes a lot of plugins work with terminatorX that
-       haven't worked with previous releases.
-     * data send to the JACK backend no goes through the
-       "Anti-Clip-Device", too. Unless you #define TX_DO_CLIP of course.
-     * I've drawn some new icons with the cool inkscape. They're now being
-       built into terminatorX as gdk-pixbuf c-source code, so they
-       actually do alpha blending.
-     * wrote support for gtk+'s new FileChooser widget - will be enabled
-       automatically when configure finds a gtk+ >= 2.4.0
-     * fixed the buffer overflows detected by c0wboy <c0wboy@tiscali.it>
-       in his outsiders-terminatorX-001.txt advisory.
-     * support for gtk+ startup notification.
-     * "README.GNOME" was outdated so it had to go.
-     * merged parts of a patch graciously contributed by Adam King
-       <aking@lgh.com.au>
-          + simpler min/maximization for the control panels
-          + bugfix for sequencer menu crash
-          + the panel formally known as "Trigger" is now known as
-            "Playback">
-     * added cpu-overload detection - currently disabled
-
-   Version 3.81
-     * JACK doesn't seem to like SCHED_FIFO clients so I added a little
-       test that will set SCHED_OTHER when jack output was selected. This
-       will work for true root or a capabilities-enabled suid-root binary
-       only.
-     * removed the disfunctional "Cancel" button from the load-progress
-       dialog.
-     * switched default MIDI mapping to non-destructive. (previous
-       settings will not be overwritten now).
-     * added a default MIDI mapping accessible via the "Turntables" menu.
-       The actual mapping is documented in the manual.
-     * fixed a bug that caused enabling sync-client setting via MIDI to
-       fail.
-     * when compiled with rt-scheduling suppport terminatorX will now
-       display the resulting scheduling policy in the "About" dialog.
-     * if terminatorX was setup to use realtime priority for the audio
-       engine thread but you dont want it - disable realtime scheduling in
-       the Preferences dialog. This works with capabilities _ONLY_.
-     * if you don't want to confirm program termination every time you can
-       now disable "Ask for Quit confirmation" in the Preferences.
-     * added support for Linux' POSIX capabilities. This allows a
-       suid-root installed terminatorX binary to drop root privileges much
-       earlier than with the old approach (so it should be more secure).
-       Requires the libcap library.
-     * obligatory documentation updates - clicking on the sub-sections
-       should now work.
-     * removed gtk+ 1.2 cruft - terminatorX now compiles with gtk+ 2.2 and
-       *_DISABLE_DEPRECATED macros enabled. To verfiy that you can run
-       configure with --disable-deprecated.
-     * terminatorX now has a JACK backend. Currently it works like this:
-       on startup tX will connect to the JACK daemon - if the daemon is
-       not available on startup JACK output is not available. When the
-       audio engine is turned off, tX emits silence via the JACK ports, so
-       you can leave the ports connected.
-     * sick of green - you can now configure the colors terminatorX should
-       use for the audio display as well as the vu meters in the
-       Preferences dialog.
-     * hopefully fixed wrong setting of the master volume when loading set
-       files.
-     * some ALSA installations seem to core on snd_pcm_hw_params_free()
-       after sound device init. So freeing the hw_params can now be
-       explicitly disabled in the Preferences - if terminatorX crashes
-       right after hitting the "Power On" button it might be necessary to
-       activate this for your ALSA setup. This probably results in a tiny
-       memory leak - but on leak vs core you might decide for leak. Note:
-       I even enabled the leak by default now.
-     * fixed a bug that caused turntable 1 to get the focus on entering
-       Mouse Grab mode even when it's audio panel was minimized.
-     * MIDI mappings can now have "bounds", meaning that the incoming MIDI
-       signals can modify the parameter within the given range only.
-     * introduced a new way of assigning MIDI controllers to parameters:
-       simply right-click on a parameter's control: a menu with "MIDI
-       Learn" and "Remove MIDI Binding" will pop up - select "MIDI Learn"
-       and send the corresponding MIDI event.
-     * fixed a bug in the MIDI callback thanks to David Hamilton
-       <daham2@student.monash.edu>
-     * running suid root (the old way) was reported exploitable by Andrew
-       Griffiths <andrewg@felinemenace.org> - the described environment
-       variable based exploit was fixed - however there are possibly other
-       ways to exploit it. So the old method of running suid root has been
-       disabled by default. On Linux systems you really should use the
-       capabilities based approach (see above). If really want to use the
-       old suid-root solution run configure with --enable-suidroot.
-     * often, you record events and mess things up - in this case I'd
-       often prefer dropping the complete take instead of recording a bad
-       perfomance - which is why you now can activate "Confirm Recorded
-       Events" from the "Sequencer" menu. When enabled terminatorX will
-       ask whether to actually record or drop the events created for the
-       last take. The setting for this flag is stored in your
-       ~/.terminatorXrc.
-     * introduced a new "Sequencer" menu that allows to delete events of a
-       specific type (all, all for certain turntable, all for a certain
-       parameter) from the sequencer. Events can be deleted for the
-       complete song, upto the current song position or from the current
-       song position. Yeah, I know, termintorX is lacking a proper
-       event-editor here, so where's your patch? ;)
-     * switching the X11 mouse cursor when the user has to wait for
-       terminatorX to finish some operation
-     * fixed a sequencer bug: the events for master pitch and volume
-       weren't erased correctly when another set was loaded
-     * fixed FreeBSD issues with the configure script
-     * fixed compilation issues for gcc 2.95.x
-
-   Version 3.80
-     * I've invested quite some time in valgrinding this release, among
-       other things a major mem leak showed up - the sample memory wasn't
-       being free'd correctly which is now corrected along with many other
-       things. valgrind is a very helpful tool indeed.
-     * Added a new Pitch Calculator that allows adjusting a turntable's
-       pitch to that of the master turntable. This makes synchronizing
-       finely cut loop samples really easy
-     * XML based set files can get rather huge when they contain a lot of
-       sequencer events - to solve this terminatorX now uses zlib to save
-       compressed set files if enabled in the preferences dialog.
-     * I hacked support for Steve Harris' cool liblrdf - if you've got
-       that library setup correctly and you use Steve's wonderful plugin
-       collection with RDF description you should get a nicely structured
-       menu when clicking on the "FX" button. All plugins not categorized
-       through RDF files go to the "Unclassified" category.
-     * I'm no longer including the html and ps versions of the manual -
-       it's now attached in it's XML/DocBook source and will be installed
-       via scrollkeeper. terminatorX offers a menu entry to start
-       gnome-help to display the manual.
-     * Reworked the Preferences dialog - I now use glade-2 to create that
-       code - I'm fed up with copy'n'pasting gtk+ code so now I'll let
-       glade-2 do this whereever possible. The glade project files are
-       included with this tarball in case you want to mess with them.
-     * Switched to a fixed blocksize (1 ms) for rendering. This finally
-       allows to playback set files with events recorded on machines with
-       small buffer sizes on slow machines with large buffer sizes. The
-       buffersize of the audiodevice has no effect on the "operating"
-       blocksize anymore. Note that the samlping rate has a - very small -
-       effect though. Depending on the sampling rate terminatorX will try
-       to find a blocksize that fits exactly 1 ms - while this is easy for
-       "straight" sampling rates (22000 32000 48000) this results in
-       "44.1" samples for 44100 Hz.
-     * Finally hacked a native ALSA backend. It's in "Works For Me" TM
-       state.
-     * Added "Remove Binding" button
-     * MIDI now uses a GIOCallback so the effect of MIDI controllers is
-       visible even without the audio engine turned on.
-     * Reworked the mastergui for better usabilty and less space
-       consumption, yes, terminatorX now features a boring menubar - which
-       helps using it on small displays quite a bit, and should be easier
-       to handle for first-time users.
-     * Implemented a suggestion from Darrick Servis
-       <darrick@dcn.davis.ca.us> that stops clipping in the mixer routine.
-       The outgoing signal is now limited as it should be, which improves
-       the output quality for signals too loud significantly.
-     * MIDI mappings are now stored within the (new) tX set files.
-     * Applied a patch from Arthur Peters <amp@singingwizard.org> which
-       brings preliminary MIDI support to terminatorX. This is realized
-       via the ALSA sequencer interface, so in order for it to compile you
-       have to have the ALSA devel packages installed. ./configure will
-       autodetect them.
-     * Fixed a bug in XML serialization that dropped strings' contents.
-     * You can now hit "F11" to turn fullscreen mode on/off - this will
-       help using terminatorX on small DJ laptops. Note that the key will
-       have no effect in scratch mode - hit it before you enter grab mode.
-       This feature requires a NETWM compliant window manager.
-     * terminatorX now stores set files as XML documents, too - so
-       terminatorX has become terminatorXML finally. Note: for sets with a
-       large number of events recorded into the sequencer - the XML based
-       set files can grow significally larger than the old ones (see
-       "compression" above)
-     * The old code to support the obsolete binary tX file formats has now
-       been scheduled for deletion. It's been moved into the tX_legacy*
-       source files and it will be built only when "--enable-legacy" was
-       used on configuring terminatorX (which is the default). Expect this
-       to become disabled and then totally removed from the sources in
-       future.
-     * Enhanced audio data display - you can now zoom into the audio
-       signal, which should allow much more precise scratching with larger
-       audio files (ie complete tracks). On playback terminatorX will
-       scroll the displayed area to ensure you always see the area of the
-       sample in which you're currently scratching on.
-     * I have not backported the new code to the old gtk+ 1.2 - so this
-       release no longer builds with gtk+ 1.2 - you have to upgrade to
-       gtk+ Version 2 to be able to build terminatorX.
-     * fixed a nasty gcc 3.2 compilation bug - thanks to Adam Duck
-       <duck@informatik.uni-frankfurt.de> and other reporters
-
-   Version 3.73
-     * Fixed a compilation bug ocurring on big endian systems only.
-     * Fixed the built-in wav loading routines for big endian systems
-       (again).
-     * Finally traced down and fixed a long outstanding bug in the dial
-       widget, the background of the dials is now drawn correctly.
-     * Ported terminatorX to gtk+ Version 2. The code for gtk2 will be
-       enabled when gtk2 is detected by configure. To force terminatorX to
-       use the good old gtk 1.2.x (x>=5) run configure with the
-       '--disable-gtk2' switch. WARNING: gdkxft-users: gtk2 applications
-       segfault when preloading libgdk_xft.so! So unset LD_PRELOAD and set
-       GDK_USE_XFT=1 instead.
-     * Applied a patch from Adrian that brings lots of new stuff:
-          + Debian package support (removed - Mike Furr now maintains an
-            official Debain package for terminatorX)
-          + enhanced GNOME integration
-          + a manpage for terminatorX
-     * Included another gcc3 fix thanks to Gregor Riepl
-       <seto-kun@freesurf.ch>>
-     * Improved configure's compatibilty - it should detect pthreads more
-       reliably and it should detect ladspa.h when located in
-       /usr/local/include without /usr/local/include being contained in
-       the include path.
-     * This release should compile and run on FreeBSD systems and possibly
-       OpenBSD, too. Thanks for help and testing this goes to Tilman
-       Linneweh <tilman@arved.de> .
-     * Sequencer now refuses to play when no events available - and
-       displays a dialog that suggests running the audio engine.
-     * De-uglified the terminatorX note dialog.
-     * Fixed gtk+2 signals for load file dialog
-     * Pre-listen support for mpg321
-     * Added a new auto-hiding "panel-bar" to which turntable control and
-       audio panels can be minimized to.
-     * Cleaned up the turntables' audio panel for better looks and easier
-       usage
-     * Rewrote the engine thread completely - unlike before the engine
-       thread is created on startup and kept alive until termination.
-     * terminatorX can now be run suid root - and it might even be safe.
-       After creating the engine thread both terminatorX threads drop root
-       privileges before evaluating any parameters or reading/writing
-       files, etc. The problem is the pthread "manager thread" is out of
-       control of terminatorX code - so I cannot tell that thread to drop
-       privileges.
-     * Fixed Drag'n'Drop for GNOME 2
-     * To enhance the loading of audiofiles terminatorX now contains code
-       to use mad (MPEG Audio Decoder), libvorbis and libaudiofile
-       directly instead of pipeing audio data through mpg123, ogg123 or
-       sox. As a result the new routines bring following advantages:
-          + tX loads audiofiles significantly faster
-          + tX now honours the samplerate of an audiofile (by adjusting
-            the pitch of the turntable)
-          + tX provides much better feedback on the loading progress
-       Although the old loading-methods are still available (and piped
-       loading has been improved, too) I highly recommend installing the
-       libraries above as the new routines simply work better.
-     * Deleted tons of old outdated code in tX_engine.cc and
-       tX_mastergui.cc
-
-   Version 3.72
-     * Applied a patch from Matthew Evans <activesx@hotmail.com> that
-       introduces support for Ogg Vorbis audiofiles. It requires ogg123 >
-       RC2 and sox to work. Autodetection is supported via configure
-       (--enable-ogg123).
-     * Experimental support for input devices other than the core-pointer
-       under XFree86 > 4. This uses the xsetpointer executable that comes
-       with XFree86. configure should autodetect this correctly, in case
-       it doesn't use the --enable-xetpointer switch.
-     * Adrian sent me a patch introducing two new buttons: mute and solo.
-       As it didn't fully harmonize with the sequencer I rewrote parts of
-       it and added new functionality to the turntables: They can now be
-       switched to mix_solo or mix_mute - these settings affect current
-       mixing only - their values will neither be saved nor will changes
-       to those control be recorded in the sequencer - if you want to
-       record muting events either use the mute button from the
-       turntable's trigger menu, the keyboard short-cuts (alt/strg), or
-       your middle mouse button.
-     * fixed a bug that produced corrupt wavfiles on big endian machines
-     * some minor fixes to make terminatorX compile with newer gcc
-       releases
-     * Well, I am allowed to change my mind, aren't I? Anyway, 3DNow! is
-       back. Nevertheless newer gcc releases seem to have a bug in
-       handling movq and the current 3DNow! stereo implementation does not
-       seem to be very efficient. So use --enable-3dnow only if you want
-       to help me improve perfomance.
-     * Modified the mpg123 loader in order to make it work with mpg321,
-       too. mpg321 lacks support for mpg123's -m switch ("singlemix")
-       therefor mpg?2?'s output is now piped into sox to convert the
-       signal to mono. For this reason mpg?2? support now requires sox to
-       be installed, too.
-     * added a workaround for a gtk+ bug that causes empty labels when
-       strings contain umlauts - unluckily my name features one of these
-       so I had to write this workaround.
-
-   Version 3.71
-     * applied a big patch from Adrian Reber <adrian@lisas.de> . This
-       patch includes:
-          + compile fixes for the newer gcc releases
-          + enhancements to the commandline switches (try --help for more
-            details)
-     * 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.
-
-   Version 3.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.
-
-   Version 3.61 (unreleased)
-     * applied a tiny patch from Atsushi Yamagata
-       <yamagata@plathome.co.jp> to set locale on startup.
-
-   Version 3.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
-
-   Version 3.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.
-
-   Version 3.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.
-
-   Version 3.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!
-
-   Version 3.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 resonance factor can be set via the slider underneath
-       "LP Filter". Seems to eat quite some CPU power though...
-     * Updated THANKS, AUTHORS
-     * as most people seem to use sox/mpg123 anyway and as I still get "I
-       want mp3" emails I changed the configure script slightly: It now
-       automatically enables the use of sox and mpg123 if these are
-       available. If you still want 'em good old 16Bit/44.1Khz/Mono
-       builtin routines you have to specify --enable-wavonly with your
-       configure cmdline.
-     * Prepared the tarball for the Win32 port. You can now compile tX
-       with cygwin and the Makefile.cygwin in the src directory if you
-       have all the required libs (gtk, pthreads etc...). The resulting
-       exe will run BUT is completely unusable for now... Stou Sandalski
-       <tangui@cell2000.net> and I are planning to make it usable in the
-       future.
-     * The About-Dialog now contains some info on how the binary was
-       compiled
-
-   Version 3.1
-     * Optimized audio-rendering code for speed (might run on some
-       machines with smaller buffsize (-> lower latency) than pre-3.1) -
-       Hey, tX now uses less than 10% CPU (says kpm) with mixing enabled
-       on my i586-200MMX machine!!
-     * "fixed" stdout-output. Due to the pipe-buffering realtime
-       schratching can not be considered usable for now :(
-     * Added config option --enable-scheduler, which will cause the
-       terminatorX engine-thread to run with FIFO scheduling policy and
-       highest priority. This might enable some machines to use smaller
-       buffsizes. It requries root privileges though - either run
-       terminatorX as root - or make terminatorX suid root WHICH IS A BAD
-       IDEA FOR MULTI-USER SYSTEMS IF OTHER USERS CAN ACCESS THE BINARY ;)
-       You only have to think about this when you experience buffer
-       underruns with your desired latency. And it might not even help...
-     * Rehacked the de-clicking (fading) code. The old one tried to be
-       much more intelligent - and failed fading out the signal sometimes.
-       The new code is much simpler (faster) and is much more reliable.
-     * added common sense to the warp feature (f-key in scratch mode). The
-       warping speed is still connected to the mouse speed but it's now
-       adjusted to the sample size as well: you can warp through any
-       sample completely with the same mouse distance.
-     * added debug configure switch. Enables (very few) debug messages for
-       now. I decided not to enable the old V2.X messages as they are sent
-       to stdout, which would sound pretty strange to people who use the
-       stdout-option.
-
-   Version 3.02
-     * Fixed Adrian's name in the THANKS file. Sorry, Adrian.
-     * Corrected Makefile.am for license.c that did not build correctly on
-       some systems - Thanks to Michael Pruett <mikep@ugcs.caltech.edu>
-
-   Version 3.01
-     * fixed a bug that caused terminatorX to crash without --enable-sox
-       or mpg123input.
-
-   Version 3.0
-     * Changed everything ;)
-     * switched from C++ to C for gtk's sake
-     * switched back two multithreading
-     * implemented new gtk+ gui and dialogs
-     * new mouse-sampling code now uses DGA's DirectMouse
-     * implemented "initalizing"-support for XInput devices.
-     * new (alpha) "pre-listening" feature in scratch/loop dialogs
-     * hacked vtt for click-free audio. Might be problematic with big
-       kernel level buffersizes but scratching with big buffsize is no fun
-       anyway.
-     * options are now stored in ~/.terminatorXrc.bin automatically (on
-       exit) as well as windowsize and the last used filenames
-     * terminatorX now comes with a configure script - no more Makefile
-       hacking required (nor a good idea ;) )
-     * new wavdisplay-widget update frequency is now configureable
-     * new position-display is much more visible which allows more precise
-       scratching
-     * new mute-feature allows you to silence the scratch-playback
-       completely while the loop keeps playing (press either <m>-key or
-       right mouse-button.
-     * support for mouse buttons:
-          + 1. (left) button: same as <SPACE>, do scratch
-          + 2. (right) button: mute scratch
-          + 3. (middle) button: stop
-     * wrote support for sox and mpg123. This enables terminatorX to read
-       close to any audiofile. You need to have sox and mp3 and this
-       feature (as it is still alpha) needs to be enabled via
-       configure-switches see INSTALL
-     * licmak now is an awk script. Thanks Christian! I was also received
-       two perl scripts (Thanks, guys!) but I now use the awk script as it
-       is the smallest.
-     * introduced <F>-key to "warp" through scratch-sample (just check it
-       out)
-     * dropped commandline arguments
-     * dropped old X-Code + Mouse warping madness
-     * bug fixes (less than bug introduces though ;) )
-
-   Version 2.4 (unreleased)
-     * implemented a time counter
-     * licmak now finally is what it should be: a perl script (licmak.pl)
-       it was contributed by Adam Sjøgren <asjo@diku.dk> . Thanks!
-
-   Version 2.3
-     * wavfile overreading fixed by Andrew C. Bul+hac?k <acb@zikzak.net>
-     * Using portable type definitions now where required. If you don't
-       have a <sys/types.h> on your system and your machines type sizes
-       equal those of an X86-machine you can specify -DUSE_X86_TYPES in
-       Makefile to compile without <sys/types.h>
-     * Slight change in audiodevice-handling that fixes improper buffsize
-       settings on some soundcards (e.g. GUS)
-     * Implemented "keep device open"-feature. Needs to be enabled via the
-       -DKEEP_DEV_OPEN switch in Makefile
-     * Added some comments to the Makefile for easier editing
-     * Added Big Endian support. Use -DBIG_ENDIAN_MACHINE for big endian
-       hosts like ultrapenguin suns or linux ppc. There's also
-       -DBIG_ENDIAN_AUDIO for big endian audio hardware (rare?) available,
-       although proabably nobody will need this.
-     * Changed mix behaviour: Mix is now automatically turned on on
-       startup if the user has specified a proper loop file. (with the
-       --loop or -l switch)
-     * New mixing routine. You can now set the loop to scratch volume
-       ratio with the cursor keys (left/right). If you modify the volumes
-       while recording these action's will not be recorded. Saving happens
-       with the currently set level.
-     * Fixed README-Bug said <m> instead of <x>
-
-   Version 2.2
-     * first released version
-     * added colors, more standard use of X11
-     * added loop support
-     * added statusbar with mode/status display
-     * added commandline options and help (on usage and keys)
-     * added raw/mixed save scratch feature
-     * added licmak to include license into binary
-     * new handling of XAutoRepeat, only turned off now when SPACE pressed
-     * modified wave display (faster + nicer + incorrect (who cares
-       anyway))
-     * Makefile fixed by Adrian Reber <adrian@lisas.de>
-     * bug fixes
-
-   Version 2.1 (unreleased)
-     * added recording, playback of recording functionality
-
-   Version 2.0 (unreleased)
-     * moved from multithreaded to singlethreaded
-     * position feedback
-     * bug fixes
-
-   Version 1.0 (unreleased)
-     * mouse support
-     * no more position display due to pthread/X probs
-     * bug fixes
-
-   Version 0.5 (unreleased)
-     * first version
-     * no mouse handling
-     * accelerating vtt via sinus
-     * multithreaded
-     * sound aliasing
+https://lisas.de/git/?p=terminatorX.git
diff --git a/README b/README
index e5296a553d6cc30a63238d960547b0bca2a59f96..466f196ae2dea0b753fec77bbc21600695b647e6 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
-terminatorX V3.84 README
+terminatorX V3.89 README
 ------------------------
 
-Copyright (C) 1999-2011 Alexander König
+Copyright (C) 1999-2014 Alexander König
 eMail: alex@lisas.de
 Homepage: http://terminatorX.org
 
index 4eccfff1dff15cb1c052098602536da6e49e1116..c984d322fd581f45d79c2a87dd613d0e708e5826 100644 (file)
@@ -4,7 +4,6 @@ There are several things you can do to improve terminatorX performance:
 2. Install suid root
 3. Compile an optimized binary
 4. Optimize your terminatorX setup
-5. Optimize your kernel
 
 In Detail:
 
@@ -46,12 +45,3 @@ The default settings for the GUI updates provide good realtime feedback. This
 may cause problems on slower machines or evil gtk+-themes. If the GUI-thread
 causes dropouts in the audio-engine you should increase the Update-Delay value 
 in the options dialog.
-
-5. Optimize your kernel
------------------------
-
-2.6 Kernels have much lower latency than previous versions - if you prefer 2.4
-Kernels however, I recommend patching the 2.4 Series with Con Kolivas' "ck" 
-patches. They improve terminatorX performace signifcantly - if you dont forget 
-to renice your X to '0' (see Con Kolivas' FAQ at 
-http://members.optusnet.com.au/ckolivas/kernel/).
diff --git a/TODO b/TODO
index fff8d86f5bbcf7a1a8cddb2df011e408daf0e1f0..0a20889a7b643cc8afd579af0045d8b1a092a466 100644 (file)
--- a/TODO
+++ b/TODO
@@ -3,14 +3,13 @@ terminatorX TODO:
 DISCLAIMER: I might implement some of these features in random order. You can 
 accelerate development of a certain feature by sending me a patch ;)
 
-- Now, that stereo LADSPA plugins are done, I'd really like to:
-  Find a replacement for DGA mouse grabbing as that has some problems and 
-  might be gone sometime from now.
+- GTK3 port
+
+- Find DGA replacement as X11 is about to vanish
+
+- Stereo turntables
   
 - Drop audio loaders use gstreamer-based streaming instead.
 
 - Implement a sequencer editor GUI to delete, copy & paste, edit event etc.
 
-- Support other languages.
-
-- Support multiple audio devices in parallel maybe?