Hi Christian

On 23/12/2018 23:18, Christian Schoenebeck wrote:
I also committed required changes to gigedit. You find a new combo box and a
new checkbox on the "Misc" tab there.

Didn't have the time to test these things. I'm off for couple days now;
Christmas obligations.

I just want to draw your attention to the 'or' operator for release_trigger_t at the top of linuxsampler/src/engines/common/Note.h. This operator calls itself recursively causing a segmentation fault when I load an instrument containing release trigger samples and try to play it. Casting variables a and b to int before the bitwise operation solves the problem but I'm not sure if that's what you intended? I've attached a patch with my suggested change.

All the best,
Ivan

diff -Naur linuxsampler_original/src/engines/common/Note.h linuxsampler_modified/src/engines/common/Note.h
--- linuxsampler_original/src/engines/common/Note.h	2019-01-02 22:11:50.500839803 +0000
+++ linuxsampler_modified/src/engines/common/Note.h	2019-01-02 22:12:38.765204989 +0000
@@ -34,10 +34,10 @@
 
     // remove strictness of C++ regarding raw bitwise operations (on type release_trigger_t)
     inline release_trigger_t operator|(release_trigger_t a, release_trigger_t b) {
-        return (release_trigger_t) (a | b);
+        return (release_trigger_t) ((int)a | (int)b);
     }
     inline release_trigger_t& operator|=(release_trigger_t& a, release_trigger_t b) {
-        a = (release_trigger_t) (a | b);
+        a = (release_trigger_t) ((int)a | (int)b);
         return a;
     }
 
_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

Reply via email to