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 length. The other two loop modes (forward and backward) work OK
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 release?
Hi, 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 Cheers Frank
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 gigedit.
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.