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