Squarp Pyramid changing pattern octatrack?

k, so my understanding is:

sending program change messages from Pyramid to OT works but with some limitations (discussed later)

  • on OT you need to turn on recv’ing program change , and can name a channel
  • on pyramid, you can either set program change on the track, or at the step level

MSB/LSB , we have up to 256 patterns on the OT (in 16 banks) , so MSB =0 is for the first 8 banks, MSB=1 is for second set of 8 banks.

limitations

the Pyramid considers program change for how a synth would use them… so you change to a synth to preset - and its done.
SO it only sends the program change IF its changing the program… it will not send it if it considers that its already on that program

the issue is, some users (see thread below) want to the program change to always be sent… regardless if the pyramid thinks its not change.
also the OT will not change patterns immediately, it will instead change it based on the PLEN setup on the OT…
(the workaround to this is to send a pair of CCs to the OT, to tell it to stop the sequencer and then restart)

this is pretty much what this topic talks about (if I understand it correctly)

so it really depends on your needs, you may find ‘it just works’ for you… or you may find there are ‘complications’

but as I pretty much stopped working like this, I found I preferred to just treat the OT as its own instrument, which was sync’d to the pyramid…
rather than being ‘controlled’ by the Pyramid, which whilst possible, I just found too complicated to be be ‘creative’

also bare in mind the things like the Pickup machines on the OT, dont work very well if the OT is slave.
in this case it might be better to make the Pyramid slave to the OT… and drive from the OT.

so many combinations are possible…

I think @CreepyPants is the expert in this area… though he does some complex stuff…
hopefully, he can explain when its necessary to get into the complexities, but also when you can ‘get away’ with the simple approach - albeit with limitations.


( * ) this is from memory, since I stopped using this and run as more independent sequencers (just sync’d)