Michael Gregorius
Michael Gregorius
Any updates, @DomClark? :wink:
I can confirm this problem. On my machine the CPU load also increases over time which really baffles me because if someone told me to explicitly implement such a behaviour...
Here's a profiling result when replacing `ADSR::value()` with `return 1.;`:  In this case it's dominated by calls to `GigInstrument::play` and `GigInstrument::loadSample`.
Here are the full profiling results: * [callgrind.out.10639.zip](https://github.com/LMMS/lmms/files/1334053/callgrind.out.10639.zip) * [callgrind.out.14521.zip](https://github.com/LMMS/lmms/files/1334055/callgrind.out.14521.zip)
@softrabbit You are right that it has to do with the disposal of the `GigNotes`. The problem seems to be that every note is played for 10 seconds before it...
I have replaced the original GIG file used in my testing (found here: https://drive.google.com/file/d/0B8RY2vt8PBm8NV9qN3Y2LU0tRUU/view) with another GIG file and cannot reproduce the problem anymore. Here's what I did: 1. Download...
> So I still think that this is 100% a bug in LMMS. I did some further investigations. The problem is caused in part by the file and in part...
There is already a test that checks if all samples have been played. It can be found on [this line](https://github.com/LMMS/lmms/blob/4d26654534a4ac136734ecc89e16e2c3be02d868/plugins/GigPlayer/GigPlayer.cpp#L383). However, it's coupled with the additional condition `it->isRelease == true`...
The links are all dead. So it's a bit of a question if the issue can be reproduced at all. I cannot find the files on my local machine anymore.
For me it also compiles and works if I simply replace the code with the symbols: ``` static std::array s_noteStrings { "C", "C♯ / D♭", "D", "D♯ / E♭", "E",...