Bug 102 - Linuxsampler crash with bi-directional loop
Summary: Linuxsampler crash with bi-directional loop
Alias: None
Product: LinuxSampler
Classification: Unclassified
Component: LSCP (show other bugs)
Version: SVN Trunk
Hardware: PC Linux
: P2 blocker
Assignee: Christian Schoenebeck
Depends on:
Reported: 2008-09-25 22:29 CEST by Frank
Modified: 2009-04-05 17:48 CEST (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Frank 2008-09-25 22:29:36 CEST
To reproduce: 
create new .gig instrument using gigedit.
Use .wav or .aiff sample as basis
Choose the bi-directional loop with non-zero start/length
open .gig with qsampler
play relevant notes on .gig instrument channel
linuxsampler segfaults after an arbitrary number of loops 
qsampler stays in frozen state
the time until crash depends arbitrarily on 'infinite loop' selection and loop
The other two loop modes (forward and backward) work OK
Comment 1 Christian Schoenebeck 2008-12-14 14:42:43 CET
I fear it won't be really fixed before the upcoming release, because it will 
take some time to fix it and the implementation of that loop type happened on 
theoretical basis. It's not even supported by Gigastudio at all.

However I mark this report as blocker, as it should be handled it some way 
before the upcoming release.

I suggest we simply show a popup warning in gigedit, whenever the user tries 
to select that loop type, saying something like "This loop type is not yet 
fully implemented on LS side and will most probably lead to a crash at 
runtime. This loop type is not supported by Gigastudio et. al. at all!".

Would that be Ok for you guys as a quick temporary solution for the upcoming 

Comment 2 Frank 2008-12-16 08:58:35 CET
I don't know whether you adressed this question to me, but yes at least I
wouldn't have tried to play with those loops if I had been warned ;)
Personnally I don't use many ready-to-play sounds, and I like to produce new
sounds, so for me the .gig compatibility is less of an issue. I do understand
that for most of us it does matter a lot though. 
Just a comment on that: left aside specimen (which is no longer developed and
limited in terms of other parameters) and the recently source-opened highlife
plugin (which really doesn't work totally stable atm) I didn't find another
sampler capable of doing bidirectional loops, a shame.
But I understand that it might be tricky to solve atm
Comment 3 Christian Schoenebeck 2008-12-16 11:13:59 CET
Yeah, as you're the reporter, it was mainly addressed to you. :-)

It's not thaaat tricky. But it might certainly take some time to fix the ping 
pong loop bug and we're currently very keen to kick out a new release as soon 
as possible.

Ok, we will see. We'll first resolve the other open blockers and if we feel 
there's enough time left to fix this bug, then we'll do it before the release. 
Otherwise we'll take my suggestion from above, to just display a warning in 
Comment 4 Christian Schoenebeck 2009-03-26 14:40:48 CET
Ok, I just commited a bugfix for libgig to CVS. You need to update libgig from 
CVS, then recompile and install libgig, linuxsampler and gigedit (in this 
order) to be able to test it.

Seems the 'backward' and 'bi-directional' loop types still need some revising 
though, they still don't behave 100% correctly as they should. But I won't 
touch that code for now. I'm too scared to introduce a new crash at this 
point. At least now it doesn't crash anymore. After the upcoming release we 
can fix the remaining loop issues cleanly once and for all.