1. A short summary of changes
Support has been added for libsndfile. This allows to access
a number of new audio file formats such as W64, PVF and VOC
files. Integration with libaudiofile and MikMod has also
been improved. Bugs in the native Python ECI implementation
have been fixed. Rubyecasound, a Ruby ECI implementation, has
been added to the package. A serious memory-leak in list
handling functions of the C ECI implementation was fixed. This
bugfix also affects C++, Perl and PHP ECI implementations.
Compiling Ecamegapedal works again as the header files
missing from the previous 2.3.1 release are now again
included in the dist-package. Many minor bugs have been fixed.
---
2. What is Ecasound?
Ecasound is a software package designed for multitrack audio
processing. It can be used for simple tasks like audio playback,
recording and format conversions, as well as for multitrack effect
processing, mixing, recording and signal recycling. Ecasound supports
a wide range of audio inputs, outputs and effect algorithms.
Effects and audio objects can be combined in various ways, and their
parameters can be controlled by operator objects like oscillators
and MIDI-CCs. A versatile console mode user-interface is included
in the package.
Ecasound is licensed under the GPL. The Ecasound Control Interface
(ECI) is licensed under the LGPL.
---
3. Changes since last release
* Rubyecasound, a Ruby ECI implementation, has been added
to the package. Developer documentation can be found
at <http://eca.cx/eci>. Rubyecasound was developed by
Jan Weil.
* Some files were missing from the previous 2.3.1 release
dist-package. This caused the "make check" test procedure
to fail, and also prevented from compiling Ecamegapedal
against 2.3.1. In 2.3.2 the missing files are once again
included in the dist-package.
* Libsndfile support has been added to Ecasound
(development item 'edi-33'). Support for libaudiofile
has also been improved in this release. The user
can now compile in support for both libraries at
the same time. It is possible to use command-line options
to select which library to use for a given file. Similar
improvements have been made to the MikMod support.
See the ecasound(1) man page for more details.
* Some bugs in libsamplerate integration have been fixed.
Upgrading to libsamplerate version 0.0.15 or newer is
recommended. This release contains a few important fixes
that affect Ecasound. A few examples of resampling
with Ecasound have been added to the docs:
<http://www.wakkanet.fi/~kaiv/ecasound/Documentation/examples.html>.
* A severe memory-leak bug was found and fixed in the C ECI
implementation. This bug affects applications that heavily
use EIAM commands that return lists of strings. The C ECI
is used by C++, Perl, PHP and Python ECI implementations.
* Bugs in the native Python ECI implementation have been
fixed. The C-based Python ECI implementation is still
selected as the default, but you can override this with
the '--enable-pyecasound=python' option to configure.
Note, 'native' here means that ECI API is implemented without
linking to any Ecasound libraries. Instead the ECI implementation
forks 'ecasound' binary on the background and communicates with it
using pipes. This allows for clear decoupling between ECI apps
and specific Ecasound version. More information about ECI can
be found at <http://www.eca.cx/eci>.
Full list of changes is available at
<http://www.wakkanet.fi/~kaiv/ecasound/history.html>.
---
4. Interface and configuration file changes
None.
---
5. Contributors
Patches - Accepted code, documentation and build system changes
Jan Weil (2) -- rubyecasound ECI implementation, new docs
Mark de Wever (1) -- typo in libecasoundc-config usage
Kai Vehmanen (various)
Bug Hunting - Reports that led to bugfixes (items closed)
Fernando Pablo Lopez-Lezcano (1) -- preset.h not installed
Jan Weil (1) -- the ecacontrol.py bug
---
6. Links and files
Web sites:
http://www.eca.cxhttp://www.eca.cx/ecasoundhttp://www.eca.cx/eci
Source packages:
http://ecasound.seul.org/downloadhttp://ecasound.seul.org/download/ecasound-2.3.2.tar.gz
Distributions with maintained Ecasound support:
Agnula - http://www.agnula.org
AltLinux - http://www.altlinux.com
Debian - http://www.debian.org
FreeBSD - http://www.freebsd.org/ports/audio.html
Gentoo Linux - http://www.gentoo.org
Mandrake - http://www.mandrake.org
PLD Linux - http://www.pld.org.pl
SuSE Linux - http://www.suse.de/en
Contrib Packages and Add-On Distributions:
AudioSlack for Slackware - http://www.audioslack.com
PlanetCCRMA for RedHat/Fedora
- http://www-ccrma.stanford.edu/planetccrma/software
Thac's RPMs for Mandrake - http://rpm.nyvalls.seApps.kde.com packages for Mandrake/Redhat/SuSE
- http://apps.kde.com/rf/2/info/id/2146
Note! Distributors do not necessarily provide packages for
the very latest Ecasound version.
--
http://www.eca.cx
Audio software for Linux!
Jack 0.91.1 has been released.
Changes:
New iec61883 driver. Very experimental; this is just to get it out
there. 61883 is the standard for audio+midi over firewire. Run
configure with --enable-iec61883 to compile it. It requires libraw1394.
Added callback for notifying clients when entering freewheeling mode and
leaving it:
int jack_set_freewheel_callback (jack_client_t *client,
JackFreewheelCallback freewheel_callback,
void *arg);
Bugs fixed.
Compiler warnings removed.
Taybin Rutkin
I am cross-posting this to LAD, hoping to get some useful feedback.
Paul Davis <paul(a)linuxaudiosystems.com> writes:
> about that patch ... torben hohn wrote, some time ago on LAD (see his
> comment at the end). does anyone have time to check on this?
> > Have a look at linux security modules. In the 2.5 kernel the
> > patch you propose is not a patch, it is a kernel module.
I spent some time last night looking at...
(*) linux-2.6.0-test9 kernel sources (from Debian)
(*) SELinux 2.60-test6 sources from NSA, http://www.nsa.gov/selinux
(*) the Linux Security Modules web site http://lsm.immunix.org
As always with the web it's hard to tell the real stuff from the
vaporware. But, this stuff looks real to me. :-)
SELinux (Security-Enhanced Linux) is NSA's research project for
implementing DoD Orange-book security features as a pluggable kernel
module. Almost all of the SELinux modularization changes are present
in linux-2.6.0-test9. Their entire compressed patch for the
2.6.0-test6 kernel was only 1889 bytes containing 189 lines of context
diffs. By comparison, they also distribute an SELinux patch for
2.4.21, which is 209KB (compressed) containing almost 36,000 lines of
context diffs.
Internally, the 2.6 kernel exclusively uses `if(capable(CAP_foo))'
tests, AFAICT. That was already (mostly) true of 2.4. In 2.6, there
are pluggable security modules to control the semantics of these
tests. The vanilla test9 kernel includes a small example security
module, `security/root_plug.c', which tests for the presence of a
specific USB device at exec time, only allowing setuid if it is
present. It is only 143 lines long.
Domain and Type Enforcement (DTE) is another project using a loadable
security module. It seems to be aimed at Mandatory Access Controls
for partitioning the file access capabilities of root processes. The
idea is to run root daemons in a "Domain" that lacks the ability to
modify important system files like /bin/login and /etc/passwd,
frequent targets for evil crackers exploiting buffer overflows in
their victim daemons. ;-)
This leads me to believe that 2.6 *does* permit one to write a kernel
security module for selectively granting realtime permissions to
certain processes. The mechanisms provided are far more powerful than
necessary for that simple application. I don't know exactly what
realtime security policy should be implemented and how the underlying
mechanisms ought to be used, though I have some ideas.
But, the first step is to figure out if someone is already working on
this. My late-night googling didn't discover any existing project,
but surely someone is doing it by now. If not, I think we should
consider building and distributing one as part of JACK.
Comments?
--
joq
Hi. I need to know if there exists or if someone have coded a device driver
that may split one stereo source input (/dev/dsp0) to two pseudo devices
(something like /dev/dsp0L for left channel and /dev/dsp0R for right
channel).
I need this to split a 2 channel real time signal to two different
applications than only accept a /dev/dsp? for input.
I can do it if I install 2 soundcards on my machine and feed each separated
mono source to each card but I feel that I am waisting one card.
Any help pointing to a page with instructions in how to program a device
(/dev/?) may help.
Regards,
Fernando
_________________________________________________________________
MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.
http://join.msn.com/?page=features/virus
hi,
has anybody had any success using portaudio v19 to connect to jack
(0.80.0 or 0.90.1) ?
regards,
x
--
chris(a)lo-res.org Postmodernism is german romanticism with better
http://pilot.fm/ special effects. (Jeff Keuss / via ctheory.com)
>That's right. But, Paul and I have been working closely with this and
>don't have much faith in the correctness of the 2.4 scheduler. Like
>all non-trivial software components it has bugs, and getting them
>fixed is difficult, if not impossible
I dont quite understand the 2.4 scheduler, but I'm, eh, guessing that
there is about 10% chance the following patch might fix the problem:
kjetism@notam02 ~/linux/linux-2.4.23-rc1/kernel $ diff -u sched.c
sched_g.c
--- sched.c 2003-11-16 14:18:08.000000000 +0100
+++ sched_g.c 2003-12-03 09:31:32.000000000 +0100
@@ -180,6 +180,7 @@
if (p->mm == this_mm || !p->mm)
weight += 1;
weight += 20 - p->nice;
+ if(weight>999) weight=999;
goto out;
}
If someone bothers, please explain why it wont, if it doesnt work, and
if anyone knows. This is quite interesting. :)
--
Please excuse cross postings, and freely forward this message to anyone
who might be interested. Thank you.
Best,
Tae Hong Park, ICMC 2004 Publicity Chair
----------------------------------------
Call for Works: ICMC 2004
The University of Miami is pleased to announce the general call for
submissions to ICMC 2004, to be held 1-6 November in Miami, Florida USA.
These documents, along with PDF submission forms and paper templates are
posted on the ICMC 2004 web site at www.icmc2004.org.
Best regards,
Colby Leider, Chair
> http://www.museresearch.com
>check the "technology->architecture" page (Flash). they are running
>linux. they also run VST plugins. how? what's going on ...
Just wondering if anyone asked them why they claim to be "license free"?
--
Patrick Shirkey - Boost Hardware Ltd.
Http://www.boosthardware.comHttp://www.djcj.org - The Linux Audio Users guide
========================================
Apparently upon the beginning of the barrage, the donkey broke
discipline and panicked, toppling the cart. At that point, the rockets
disconnected from the timer, leaving them strewn around the street.
Tethered to the now toppled cart, the donkey was unable to escape before
the arrival of U.S. troops.
United Press International
Rockets on donkeys hit major Baghdad sites
By P. MITCHELL PROTHERO
Published 11/21/2003 11:13 AM
while we're discussing various kernel security patches to facilitate
easier access to SCHED_FIFO/mlockall, i have another idea for a patch
that some people *might* like.
a new system call. call it "switch_to()". takes a PID (actually, it
needs some kind of TID), and does something very similar to
sched_yield() except instead of giving up the processor to whatever
the scheduler thinks is right, it yields to the specific
process/thread.
security: the target thread has to be using the same RT scheduling
policy (FIFO or RR) as the initiating thread. this means that it can
only be used to cause denial-of-service attacks that were already
trivial (because SCHED_FIFO was already available to the initiating
thread).
this could be used to completely short-circuit the FIFO mechanism used
by JACK in favor of completely deterministic, FS-lock-free
system. when you add in stuff like this (from ingo, discussing NPTL):
our kernel thread context switch latency is below 1 usec on a
typical P4 box, so our NPT library should compare pretty favorably
even in such benchmarks. We get from the pthread_create() call to
the first user instruction of the specified thread-function code in
less than 2 usecs, and we get from pthread_exit() to the thread
that does the pthread_join() in less than 2 usecs as well - all of
these operations are done via a single system-call and a single
context switch.
you end up with a truly superb architecture for the kind of thing
we're doing with JACK already.
however, note this comment from ingo as well, which i consider
short-sighted, and is part of the reason for my thinking about
switch_to():
M:N's big mistake is that it concentrates on what matters the least:
useruser context switches. Nothing really wants to do that. And if
it does, it's contended on some userspace locking object, at which
point it doesnt really matter whether the cost of switching is 1
usec or 0.5 usecs, the main application cost is the lost paralellism
and increased cache trashing due to the serialization -
independently of what kind of threading abstraction is used.
any thoughts? adding a syscall is a pretty trivial patch to create.
--p