Collecting automation info from a track device: How best to do it?

I’m writing a tool to scan through a song and look for interesting (to me) information.

I’m particularly trying to locate cruft: Sequencer tracks with no notes, unused send tracks, inactive devices, muted/off tracks.

These are among the things that sometimes accumulate in a song over time.

So far things have been going pretty well, but I’ve run into a problem when a send device is automated.

Typically I can iterate over the devices on a track, see if any are Send devices, and if so query the Receiver parameter to get the number of the send device.

I tried my code on a song that used Send device automation and it fell apart. The Receiver parameter returned a value of something like 6.00055. Which doesn’t even make sense to me.

What’s a good way to extract the details of an automated device parameter? Does my code have to walk each line in each pattern track and check some value?

Thanks!

What’s a good way to extract the details of an automated device parameter? Does my code have to walk each line in each pattern track and check some value?

Are you trying to figure out if a given device is receiving (control-)data from another device?

You could build a graph/map of all parameters, and their destinations.

A bit of work, but absolutely do-able. Xrni-Merger has a similar approach - unfortunately, that tool suffers from the spaghetti code syndrome :unsure:

But then, I’m not exactly sure what you are trying to achieve.

Are you trying to figure out if a given device is receiving (control-)data from another device?

My Lua code looks at each sequencer track. It checks all the the devices assigned to that sequencer track. If it finds a Send device there it then looks at the Receiver parameter to see what send track number is assigned.

However, if the Receiver value is automated (so that the selected send track will change over the course of the song) then this approach does not work. There is no single value assigned to the Receiver parameter.

I’m trying to find a good way to look at the send device Receiver parameter automation and find all the automated values assigned during the song.

The end goal is to get a list of what sequencer tracks are using what send tracks during the course of a song.

When there is no automation of the send device this is easy (since it never changes; the code can just pull out the assigned Receiver value). When the Receiver parameter is automation I don’t know what to look for.