Simple way to reset beam output

Hi! I’m trying to use pattrstorage to switch between lighting presets for different sections of a song. The problem I’m having is that some DMX data will carry over into the next preset & I can’t find a simple & reliable way of quickly resetting the DMX data when switching presets. I figured the simplest way would be to quickly send a dictionary such as “1” : [0, 0, 0, 0, 0, 0, etc.] to zero everything out but it seems that I can’t use dictionaries this way in conjunction with the tag system. Is this correct? Thanks!

Worked on my patch some more and I think I’ve found a decent enough solution. I’d be happy to hear if someone has an elegant solution for this anyway, but no worries either way!

Hey! Dictionaries you send into [beam.dmxio] overwrite any DMX values coming from tags, so indeed, these two system don’t really work together if they target the same universe.

I’m curious to learn what solution you came up with, and I’m happy to see if I can come up with alternative. But it’s a bit hard to give a suggestion without seeing more of your patch. Is there any way you can give us a bit more insights in how your patch works? Perhaps the basics of how you’re using pattrstorage with the Beam objects?

Sure! Here’s the patch, let me know if it doesn’t work.
This is just one of the modules I’m using for lights w/ pattrstorage but it is the one that wasn’t resetting properly. It’s basically just a sequencer where each step sends data to the specified tag/paramater (selected from the umenus) which can be a float (red, green, blue) or a swatch output for RGB. Each step also has a dim value which is sent immediately prior. Each time a tag receives new data, the previous tag is zeroed out first to keep things easy to track. In the parent patch there is a counter that keeps track of the current song position in bars/beats and bangs a “trigger $1 b” when a transition moment is reached. The bang is sent through “s panelclear” which is received inside the sequencer and quickly sends zeroes to every tag before sending an integer to pattrstorage to switch presets. This alone wasn’t working properly because I wasn’t doing the same for all the dim settings, so all the dim settings were carrying over to the next preset. I fixed this with the message dim 0 in the bottom left that’s being banged by “R panelclear” right before the preset switches. The patch is fairly messy as it stands right now and I’m sure there are some redundancies that I’m hoping to flesh out. Happy to clarify anything that might be confusing.
lights.panelseq2.maxpat (363.9 KB)

Was hoping a dictionary based solution like the one I proposed would work since that would probably be much faster than sending a whole bunch of messages like I am now since timing is of the essence with these fast transitions. Things seem to be happening on time though so maybe it’s not an issue, especially if I’m able to cut the fat more and handle threading properly.