weirdness / confusion about packing

Issue #7 resolved
Owen Green created an issue

I have an abstraction that should (I think) work as a multichannel / binwise slide. However, when I'm packing / unpacking to test this I get just one of the channels from both outputs of unpack. Which channel this is depends on whether a store/recall are linked by a sync trigger in the abstraction. Even more weirdly, this behaviour (the presence of the sync) affects other patches using independent store/recalls.

This is quite likely to be me not getting something.

Check slidemultichannel.maxpat for a demo.

Comments (3)

  1. Alex Harker repo owner

    This issue is simpler than it seems. Multichannel packing expands out the objects internally and then passes it exactly the same parameters - thus both your recall/stores in each slide have the same data to write to/read from. Adding the second abstraction probably just alters the order of processing such that it changes which channel you get. In either case, I'd expect the same channel twice, or at least not what you want.

    What you are doing is perfectly sensible and I can see why you'd expect it to work, which is exactly the reason to have people use this who don't know how it works on the inside. I may need to pick your brains about shared data and how best I might make it work so that the user has minimal hassle.

    Your current workaround is to unpack and pack around the recall/stores and give them unique names. , although that will only really be useful for a fixed number of your channels (which I know is not the point)

  2. Alex Harker repo owner

    OK - this is fixed for the next one, although your patch needs a little changing. In this instance the fl.recall~ will not expand to 2 channels because its input is a single channel. I've attached a mod below that fixes this.

  3. Log in to comment