IanniX is a graphical open-source sequencer, based on Iannis Xenakis works, for digital art. IanniX syncs via Open Sound Control (OSC) events and curves to your real-time environment.
This PR attempts to fix the build-problems with arm-architectures, where qreal is notdouble.
The first patch homogenizes the argument types for template functions (so all values are of type qreal, rather than some being native double, and others being qreal).
The second patch allows to set the base-type of the muparser (which defaults to double), as this must be the same as qreal. This is done by making the #define MUP_BASETYPE optional (only if no MUP_BASETYPE has been defined beforehnd, e.g. on the cmdline).
The second patch does not enforce MUP_BASETYPE == float on arm architectures (or MUP_BASETYPE == qreal) in order to keep the patch minimal (and more likely to be applied up-upstream, if that applies).
This means, that when compiling IanniX for arm architectures, one still has to (manually) add something like -DMUP_BASETYPE=float to the preprocesser flags, which is good enough for me.
There might be a way to detect arm-builds in the qmakefile, and automatically add the CPPFLAG, but I haven't dug into this.
This PR attempts to fix the build-problems with arm-architectures, where
qreal
is notdouble
.The first patch homogenizes the argument types for template functions (so all values are of type
qreal
, rather than some being nativedouble
, and others beingqreal
).The second patch allows to set the base-type of the muparser (which defaults to
double
), as this must be the same asqreal
. This is done by making the#define MUP_BASETYPE
optional (only if no MUP_BASETYPE has been defined beforehnd, e.g. on the cmdline). The second patch does not enforceMUP_BASETYPE == float
on arm architectures (orMUP_BASETYPE == qreal
) in order to keep the patch minimal (and more likely to be applied up-upstream, if that applies).This means, that when compiling IanniX for arm architectures, one still has to (manually) add something like
-DMUP_BASETYPE=float
to the preprocesser flags, which is good enough for me. There might be a way to detect arm-builds in the qmakefile, and automatically add the CPPFLAG, but I haven't dug into this.Closes https://github.com/buzzinglight/IanniX/issues/26