Ceres is a program for doing various sound effects in the frequency
domain and displaying sonograms. The program has been developed for
more than 15 years (probably), and is mainly made by Øyvind Hammer with
contributions from Jonathan Lee, Stanko Juzbasic and many others.
0.48 -> 0.55:
-Compiles on Ubuntu 10, Debian/SID and Fedora, both 32 bit and 64 bit OS.
Huge thanks to Menno, Hermann Brummer, Dave Phillips and Ebrahim Mayat!
-Various build improvements
-Fixed a couple of crashes when playing.
jack_capture is a program for recording soundfiles with jack.
The default operation of the program is executed by writing "jack_capture"
in the terminal without any extra command line options:
...which will record what you hear in your loudspeakers
into a stereo wav file.
0.40 -> 0.55:
* Removed jack_capture_gui from the target list since it uses Xdialog,
which again belongs to a package requiring gtk1. (This should make
things simpler for package managers)
* Made meterbridge optional during compilation.
* Added the option --filename-prefix / -fp for setting the prefix for
autogenerated filenames. The default is "jack_capture_".
* Made jack_capture_gui2 use the -fp option to avoid overwriting files
from older sessions.
* Changed jack_capture_gui2 to use "-f ogg" instead of piping through
oggenc. Did not do the same change for mp3 files, since liblame is
not always available.
* Added code to jack_capture_gui2 to create uniqe filenames when creating
* Smaller fixes
* Smaller reorganizing of buffer handling, disk handling and exit handling.
* Only print warning if unable to set nice value less than 0.
(-10 is okay now)
* Added JackPortIsTerminal as jack port flag.
* Various cleanups.
* Let the jack process thread trigger the buffer check thread instead of
* Added the -jt option to let jack transport trigger when to start and
* Fixed possible bug when finishing the recording if user has specified a
* When allocating buffer, do not zero it out, only touch all pages
belonging to it to make sure all memory is mapped into physical
memory before it is used by the realtime process. This avoids
hogging the memory bus unnecessarily.
The first 8 blocks are still zeroed out during initialization though,
for the CPU cache. (Might create a less shocking startup.)
* Push back the '\n' character after reading it from stdin. For some
unknown reason this seems to fix the occational problem of mixed up
characters in the console when exiting. (if only ncurses worked
in non-fullscreen mode...)
* Only call sem_post if waiting. In extremely extreme situations,
this avoids the sem value to overflow. Don't know what happens then.
* Reduced chance of cache misses in the buffering scheme.
* Replaced the two lockless fifo/lifo queues with three lockless
ringbuffers. (CPUs without CAS2 instruction are now supported.)
* Only increase buffer by two blocks at the time between soundcard
interrupts. This should decrease the chance of jack_capture hogging
the memory bus for too long. (Which in theory
can lower the chance of xruns in memory intensive realtime processes.)
* Changed buffering incrementing scheme. If, at any time, the amount of
free buffer is smaller than the initial buffer size, increase
the buffer a little bit. Only do this if the buffer is
less than maxbuffer. Buffer is never decreased.
* Replaced all posix pthread_cond variables with posix semaphores. Far
simpler code and much easier to understand.
* Increased default buffer time from 4 seconds to 8 seconds for mp3
* Fixed correct autogenerated file suffix for mp3 files.
* Updated --advanced-help option and README file
* Added missing link libraries to the makefile. Caused by Fedora not
supporting indirect linking anymore. Patch from Orcan Ogetbil.
* Applied patch from Orcan Ogetbil to fix 64 bit PowerPC compilation.