"Not quite" copying and pasting query

andymcbain
Posts: 5
Joined: Thu Dec 06, 2012 8:52 pm

"Not quite" copying and pasting query

Post by andymcbain »

Hi folks,

So I have a new laser that's virtually identical to my existing laser, only it has 2 extra DMX channels for colour selection and colour change speed.

I want the new laser to do exactly what my old laser is currently doing in my existing banks.

The annoying thing is, while functionally identical, the channel numbers on the two models don't correspond. Channel 3 on Laser 1 corresponds to Channel 5 on Laser 2, and so on and so forth.

Is there a quick way of resolving this (using an old version of DMXIS on my elderly Snow Leopard MacBook?)

I had a look in the .PRT files thinking I could do things manually in TextEdit / Notepad. For example I know whatever value that's in Channel 35 ("Zooming" on Laser 1) would go into Channel 53 ("Zooming" on Laser 2) and I could repeat this ad nauseum. But there are other bits in the file that I don't understand - like the whole <DMXUniverse> section. So I'm not entirely confident in messing around with this!

Apologies if this is a relatively straightforward question. I made my presets years ago now and haven't really added to them since!

Many thanks

Andy
cgrafx
Posts: 176
Joined: Sat May 28, 2016 8:52 pm

Re: "Not quite" copying and pasting query

Post by cgrafx »

there is no direct way to do this. You will have to go through your presets and resave them. Its possible to write a macro that could do this for you, but there isn't any way to do this just through the fixture profile.

You have extra DMX channels which means the presets are always going to be referencing the incorrect DMX channels on the new lights.

DMXIS does not reference channels by name or function but literally by channel number.

When you save a preset in DMXIS all the software knows is that a specific channel is set to a particular value. It doesn't know that that channel is associated with a specific light or particular function.

The light profiles are really just labels placed on top of the DMXIS 'dmx' channels so you have a reference to know what each channel is controlling. There are a few meta-tags that provide some information about how a particular channel should behave so the oscillators work properly and you can "double-click" select similar channels, but beyond that there is no other information associated with each individual or group of DMX channels.
RichG
Posts: 255
Joined: Mon Nov 24, 2014 8:19 am
Has thanked: 1 time

Re: "Not quite" copying and pasting query

Post by RichG »

Here's a macro that will do what you're looking for**

For the example, Channels 1, 2, and 3 are copied to 9, 10, and 11.
Just edit the list to the channels you want to swap around.

Copy the Macro into your Macro/Utility directory.

I would suggest creating a new bank with 3 or 4 test presets to see if it's going to do what you need it to do.

Code: Select all

#==============================================================================
# Copy all values from a source channel to a corresponding destination channel
#===============================================================================

src=[1, 2, 3]
dst=[9, 10, 11]

for i in range(len(src)):
	src[i] = src[i] - 1
	dst[i] = dst[i] - 1

for p in range(GetNumPresets()):
	LoadPreset(p)
	for i in range(len(src)):
		SetChVal(dst[i], GetChVal(src[i]))
		SetStLevel(dst[i], GetStLevel(src[i]))
		SetStBand(dst[i], GetStBand(src[i]))
		SetStAttack(dst[i], GetStAttack(src[i]))
		SetStRelease(dst[i], GetStRelease(src[i]))
		SetStDir(dst[i], GetStDir(src[i]))
		SetOscType(dst[i], GetOscType(src[i]))
		SetOscAmount(dst[i], GetOscAmount(src[i]))
		SetOscChase(dst[i], GetOscChase(src[i]))
		SetOscSpeed(dst[i], GetOscSpeed(src[i]))
		SetOscShape(dst[i], GetOscShape(src[i]))
	SaveCurrentPreset()
**Use at your own risk. Be sure to back up your work BEFORE running the macro.
Post Reply