Hi,
Oops...
This error occurs when a negated filter is negated a second time, which
happens internally when using the % operator.
The reason is a name clash between Filter.negate() (which is a function)
and InvertedFilter.negate (which is a boolean). This really is the kind of
error that Python makes way too easy ;)
As a temporary workaround, if you don't feel like messing with the
mididings source, you could just avoid using negated/inverted filters with
operator %.
For example, your patch above can be written like
[ CtrlFilter(7).negate() >> (...), CtrlFilter(7) >> Pass() ]
(This is really all operator % does anyway, it's just a bit of syntactic
sugar).
Cheers,
Dominic