Compiling Just an Empty Clone Container Fails
-
@clevername27 said in Compiling Just an Empty Clone Container Fails:
@d-healey Did I answer your question about which versions well enough? I didn't mean to sound flippant—just that I really have tried them all (including the version you mentioned).
I was only asking Lindon because he said it worked for him.
@Lindon said in Compiling Just an Empty Clone Container Fails:
form a completely fresh, new and empty project...
But you're using the snippet Bill posted?
-
@clevername27 I was curious about your issue here so I tinkered around with it, and I managed to get this to compile (based off of your example):
HiseSnippet 1111.3oc6V0saaaCElzNLoIKccEn.a2MeY5PQfkiShC1EsINwqFaNwXJKn2EPSQGSDIRAIpj5Mr2s8HrGk8FrcnnrkTpbRlQ61tXx.Fh7bN57wuyebXjhwiiUQH7FmOMjivaRbmJ0S5NgJjn9GivqRNmGqQGMMjFGy8PXb8uyHCu9Jnzm+30GQ8oRFOeKD5Bkfw+AQfPmu6v278Be+dTO94hfBZ29M8YJYWkuJAvQcRSTHkcM8J9oTiZ0Hn2RimfveCo03QrVi2emNNG3bv9sOvwY2NiZ2rEya2C1Ym81wabqNz85.Fs5IdBsJxUS07XDdkiTdScmntUZcvEhXwHetYgCxE7rc6dJeOyQzrKp6Dgu2vYDTLBgICyoq5V55EjABOw78yosuHUPibKJRf3ZkgW8RvyoH7ZV.dU.IbAHshEROm3xhDg5bIF77Yj9RMOZLEhSEghUWD92HcUfBR81Azq48hfEyMXq8Z17UMf+d42NNQxzBkrgRdpRyOSt0K23W1X8M90MZbWQiGWoLiahT997nJEaRMhtOC2RlDLhG8pF2P8S3yUDN9k4Txh4zhgbl8TWPQkruTnOKjKWTh.Jipf29o9GS0TSfHaOPuPdjVXf.9X9MPYfMrrN4Xd70ZUHTH7AwLHaQ4k3S0kSgLEZYB.NnTbyDbjwB8zhEhezxqdrP74jgBMaR0XrVEXDXpOEXLqZ7ojSFOlyz4.bERu28oozqn6exL26J7MISlNnot+YY6zHcKm6oK5u+X6hF9n6hhqeeMAcVxlfq7etlfeLpmp8+0S+KWOU0nrOmLT4O0NhB7qA.eY5VgSTRAqgURiduyoxYZeMop4GEFYPdzX249ot7ABmx02phtN8.k8NBulA4eEILRDGzWxd6zQQBOHHyMiAQG56qtM+Tk4adTrI9iWizba3mUqtpfPQVlAjPXWxgviTx8OLPk.X.Sv0.f.2Y5bpv2nlaRLLMy6LYZyHSKFSb6Tv+vEk5QY.ELcHEZYA4el4gPvlGsMadPegHOmzM7h85ZKTYi+l0dhfQorVPfg0LWwCW2H2Rao.KkyViv7URNZwfLUbU3Xlol3YWyawVh8gfQgA31bRyJnhqlAOaR5GegQJi5itvbAjrTh6.9UMJ+TKBtjYRWPO.OW0Qn7GnHv2jztUm8On09sa2tZZDMjFAeD3FbYk1+8NTPJTwO.t17UvgafPloFg3.olCnueNW.EJZdnq3mmK0d6ySSBxhBkL8X9XZhutzdnE4qlk7EgzBVWk2f4vg9Bsq3JY9Ixp9c8WqR9aYopiTpqCnoU8K2MB+QUhVHuZ.UGIdOfKfsbg.MaVoc7rp5r0Mmk65B00oK9S3ISniYMNSnyLg+i3i.JKRcIy1o0PfOIcGHwPllQuNYfYcCGzMVxKeNV.bSgKYrxepOvvVKqg6rrF1dYMb2k0v8VVC2eYMryCan4hbGlnUA1gOHzfgmjlniwmHovTxzIun+Bk4oc+B
I couldn't make any sense of the debug console but it seems to me that the clone container is looking for the number of clones to be specified or it will fail to compile. I also had to add some type of processing in the container or else it would fail. I've used the clone container successfully in the past.
General rule of thumb I follow is make sure the NumClones is the first macro control (and the ranges match for each node it controls), and to precompile all of your processing in a separate scriptnode and load that into the clone container (less error prone, plus it keeps the network more organized).
-
@hujackus As @d-healey mentioned, we may be looking at different issues. That said, here are some links to error messages and possibly-useful information I've received in and around this issue. (@d-healey suggested running the compile directly from inside Xcode, which indeed provided more verbosity in error reporting.)
-
@HISEnberg Interesting and thank you - especially about the parameter ordering. I eventually stopped making the number of clones dynamic, and I think my snippets are all such—but maybe if I don't change the number of active clones during execution, the dynamic process is still happening - in which case, maybe it makes sense to always set the number of clones, manually?
I also don't think any of us have stopped to realise the moral and ethical implications of cloning, but I guess one thing at a time.
-
@hujackus I am feeling like a proper lazy slug looking at all the sleuthing you're doing. (I'm taking a look, now.)
And…you may be on to something. I tried compiling my snippet with that function always returning TRUE, and it compiled.
When you say
struct
, do you meanclass
? (Structs don't have methods, although I guess you could use a function pointer.)I'm assuming that the function is returning whether Clone nodes can be used in polyphonic networks. So, I changed the return value from FALSE to TRUE. Seems to work. Cheers for your detective work, @hujackus.
Update: Didn't work for my original snippet.
@d-healey If this works for others, do you want to submit this? -
This post is deleted! -
@d-healey said in Compiling Just an Empty Clone Container Fails:
@Lindon said in Compiling Just an Empty Clone Container Fails:
form a completely fresh, new and empty project...
But you're using the snippet Bill posted?
Yes
-
@clevername27 said in Compiling Just an Empty Clone Container Fails:
Structs don't have methods
They can in C++ and do in the HISE codebase.
-
@d-healey You're absolutely right.
-
@clevername27 said in Compiling Just an Empty Clone Container Fails:
When you say struct, do you mean class?
Yeah
clone_base
is a struct. It has a few methods, but no member named ‘isPolyphonic’. I'm assuming there is a wrapper class somewhere trying to cast aclone_base
into a class that has aisPolyphonic()
function.Setting the default return value of
NodeBase::isPolyphonic()
from false to true is an interesting lead. Looking for subclasses of NodeBase now to see how it relates to theclone_base
struct.