1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703
|
terminatorX ChangeLog
Copyright (C) 1999-2004 Alexander Knig
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 Sjgren <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
|