[linux-audio-dev] ardour/hammerfall news

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] ardour/hammerfall news
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: Sat Apr 22 2000 - 06:02:39 EEST


I've "ported" the Hammerfall driver to the so-called 1/26 model (1 PCM
device with 26 channels). I've also modified ardour to support this
model. The significant aspects of this change are:

  * the hammerfall behaves more or less exactly like a regular
    ALSA PCM device, just one that has 26 voices. alsa-lib will
    be useful to gloss over this. There are no more global switches
    to use when configuring the device.

  * the interrupt overhead drops substantially (as a function
    of the previous value - the absolute overhead is always fairly
    low). this is because we now only deal with a single set of
    data structures for the card, not 26. This is true in user space
    as well as in the kernel.

  * no more kludges when using mmap-mode in terms of knowing which
    file descriptors to select(2) with. There is only 1 (given
    select for read or write, anyway).

  * no need to get the number of fragments "right". If you ask for any
    value, you get 2. This allows applications that don't know about
    the Hammerfall's h/w design to function correctly, as long as
    they follow the existing guideline that they do not assume
    that the values requested are those used.

It has also resulted in a version of ardour that is significantly
closer to being useful with other cards. Right now, there are still a
couple of non-interleaved assumptions present in the code, but its not
far from potentially working even on my Trident stereo card. I'll let
you all know :)

The results in terms of performance are outstanding. If I turn off the
metering in ardour, I can record 24 tracks with the CPU load barely
touching 20%. This is important not because of the track limit - thats
a function of disk throughput as we've been discussing - but because
of the overhead it allows for plugins and other kinds of pre- or post-
processing.

Even with the meters turned on, the load does not often climb above
35%.

This only tests the mmap interface to the new hammerfall driver, but
it suggests that the regular read/write interface in block mode will
work just fine, and as far as I can tell, stream mode is not currently
an option because the card is not interleaved.

There is still work to do on the correct scheme for ensuring
"ownership" of the parameters, but it was pretty easy work.

I am looking forward to beginning to work on integrating snd with
ardour in the not-too-distant future.

PLEASE NOTE: the 26/1 model will become obsolete. Please plan on
making this change. As ever, ardour from CVS will be your guide :)

--regards,
--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Apr 22 2000 - 06:33:26 EEST