Blocker bug in the Macro Output Console [SOLVED]

Discuss macro programming, and post any new macros here!
velimatti
Posts: 15
Joined: Fri Jan 16, 2015 6:27 am

Blocker bug in the Macro Output Console [SOLVED]

Post by velimatti »

Guys - please please please fix this. The output from the DMXIS macros can kill the software at any given time. Repro steps:

1) open DMXIS
2) open 'Macro output Console'

--> print out some values from your scripts. Lets say I want to print out the channel values of the channels I've selected. The DMX universe has 512 channels. Peanuts for any computer.

If I select a lot of channels and try to do this -> this will crash the app.

The proof of concept method - try to run this from any macro. Simple loop outputting few lines of output.

def i_suck():
for crash in range(1, 511):
print crash

That will do it and the software dies without giving ANY clue why it happened.

Really?

I'm sure very few people develop their own macros, but this is a blocker for anyone who is trying. Or at least put it to your manual that you cannot output more than few lines of debug at the time. The app dies without giving any clue and I figured this out after spending way too much time on it. Basically every time I tried to add some console debug to help me to fix the issue it just got worse. This is super bad!
Dave Brown [admin]
Posts: 2123
Joined: Sat Sep 15, 2012 4:53 pm
Has thanked: 5 times
Been thanked: 17 times

Re: Blocker bug in the Macro Output Console

Post by Dave Brown [admin] »

This is super bad!
Fortunately the solution is super easy. Don't print inside a loop. Do this:

Code: Select all

dbg = ''
for ch in range(0,512):
   dbg += `ch` + ' '
print dbg
Dave Brown - db audioware
Author of Show Buddy Setlist | Show Buddy Active | ArtNetMon
Post Reply