[LAD] Handling multiple audio streams [was: Adding a c timer to Kluppe]

From: Patrick Shirkey <pshirkey@email-addr-hidden>
Date: Thu Apr 29 2010 - 02:10:50 EEST

Hi,

Just in case anyone has had some time to ponder this problem and has
forgotten to respond or missed the original request for assistance.

I would like to add a timer function to kluppe so that I can add a timed
delay to the playback start for an individual loop.

There are a couple of problems with the current implementation.

1: There is an annoying buzz when the loop is paused on three out of
four pause scenarios. This is probably related to the buffer being
trapped on pause for some reason.
2: With the current implementation using select(), the pause affects all
running loops.

I tried to work asynchronously with signal and alarm() but that was
suggested as the wrong method.

Now I am out of my depth as I am not sure how to create an asynchronous
timer in c that will apply to the kluppe system. For example in some
other languages there are timers and example code already written for
this problem which makes it a fairly simple procedure to implement.
Perhaps there is also something fundamental with the kluppe code that
makes this problem even more difficult. If someone has a suggestion for
the correct way to handle this problem I am more than happy to code it
up and learn something new but I am aware that if I have to figure this
one out by myself it's gonna take some time.

The current test code is here:
http://djcj.org/code/kluppe-0.6.14-playbackdelay.tar.bz2

The core code can be found at src/common/looperdata.c:1342

To enable the timed playback pause you need to adjust the bottom right
spinbox in the spinbox grid panel for a specific loop.

Cheers.

Patrick Shirkey
Boost Hardware Ltd

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Thu Apr 29 04:15:02 2010

This archive was generated by hypermail 2.1.8 : Thu Apr 29 2010 - 04:15:02 EEST