MADRIX Forum • group master
Page 1 of 1

group master

Posted: Wed Jul 16, 2014 7:55 am
by dibbs
It would be nice to be able to assign groups of fixtures to either a global fader and or a force output to 0 function. With this you could have multiple fixture types, or groups of fixtures in the same map and turn the groups on and off separately.

Re: group master

Posted: Wed Jul 16, 2014 10:09 am
by Guertler
Hello dibbs,
Welcome to the MADRIX forum.
.
Thank you for the input.
We will discuss this feature request.

Re: group master

Posted: Tue Sep 09, 2014 11:08 am
by cg
A feature like this would improve Madrix sooo much...!

And please: such a group master should be controllable by DMXin.

Re: group master

Posted: Tue Dec 02, 2014 11:40 am
by cg
I just tried to use a main output macro for getting the value of a DMX input channel and use DimPixelArea() to control the brightness of a part of the matrix. This seems to work well, but only if there are no overlapping fixtures...

Re: group master

Posted: Tue Dec 02, 2014 12:06 pm
by Wissmann
Hi cg,

we know about the request for the group master and working on it ;-)
.
In the meanwhile you can use this imain out macro which i developed for a customer which uses the DimPixelArea3D function to realize group master by dmx in.
.
I hope this will help you.
.

Code: Select all

@scriptname="Dim Area DMX";
@author="S.Wissmann - inoage GmbH";
@version="";
@description="DMX Controled Group Master";

const int CHANNEL_1=0; // DMX Channel for control AREA_1
const int CHANNEL_2=1; // DMX Channel for control AREA_2
const int CHANNEL_3=2; // DMX Channel for control AREA_3

const int UNIVERSE_1=0; // DMX Universe for control AREA_1
const int UNIVERSE_2=0; // DMX Universe for control AREA_2
const int UNIVERSE_3=0; // DMX Universe for control AREA_3

const int AREA_1_X=155; // Start pos X of Area 1
const int AREA_1_Y=20; // Start pos Y of Area 1
const int AREA_1_Z=0; // Start pos Z of Area 1
const int AREA_1_W=65; // Width  of Area 1
const int AREA_1_H=105; // Height of Area 1
const int AREA_1_D=8; // Depth of Area 1

const int AREA_2_X=125; // Start pos X of Area 2
const int AREA_2_Y=145; // Start pos Y of Area 2
const int AREA_2_Z=0; // Start pos Y of Area 2
const int AREA_2_W=110; // Width  of Area 2
const int AREA_2_H=145; // Height of Area 2
const int AREA_2_D=4; // Depth of Area 2

const int AREA_3_X=0;  // Start pos X of Area 3
const int AREA_3_Y=0; // Start pos Y of Area 3
const int AREA_3_Z=0;  // Start pos Y of Area 3
const int AREA_3_W=120; // Width  of Area 3
const int AREA_3_H=370; // Height of Area 3
const int AREA_3_D=5; // Depth of Area 3

const int AREA_3_2_X=240;  // Start pos X of Area 3.2
const int AREA_3_2_Y=0; // Start pos Y of Area 3.2
const int AREA_3_2_Z=0;  // Start pos Y of Area 3.2
const int AREA_3_2_W=140; // Width  of Area 3.2
const int AREA_3_2_H=360; // Height of Area 3.2
const int AREA_3_2_D=5; // Depth of Area 3.2

void InitEffect()
{

}

void PreRenderEffect()
{

}

void PostRenderEffect()
{
   if(IsDmxInEnabled()==1)
   {
		float Value1,Value2,Value3;

		Value1 = (float)GetDmxInChannel(CHANNEL_1,UNIVERSE_1)/255.0;
		Value2 = (float)GetDmxInChannel(CHANNEL_2,UNIVERSE_2)/255.0;
		Value3 = (float)GetDmxInChannel(CHANNEL_3,UNIVERSE_3)/255.0;      		
		
		DimPixelArea3D(Value1,AREA_1_X,AREA_1_Y,AREA_1_Z,AREA_1_W,AREA_1_H,AREA_1_D);
		DimPixelArea3D(Value2,AREA_2_X,AREA_2_Y,AREA_2_Z,AREA_2_W,AREA_2_H,AREA_2_D);
		DimPixelArea3D(Value3,AREA_3_X,AREA_3_Y,AREA_3_Z,AREA_3_W,AREA_3_H,AREA_3_D);
		DimPixelArea3D(Value3,AREA_3_2_X,AREA_3_2_Y,AREA_3_2_Z,AREA_3_2_W,AREA_3_2_H,AREA_3_2_D);
   }
}

void MatrixSizeChanged()
{
	InitEffect();
}