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

Patrick Shirkey pshirkey at boosthardware.com
Wed Apr 28 23:10:50 UTC 2010


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: 

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.


Patrick Shirkey
Boost Hardware Ltd

More information about the Linux-audio-dev mailing list