playing an LED strip with a keyboard

Write here what nice effects or shows you have done with MADRIX or ask other users.

Moderator: MADRIX Team

Locked
synergize
Posts: 2
Joined: Thu Nov 03, 2016 8:11 am

playing an LED strip with a keyboard

Post by synergize »

Hi,

I've just recently purchased Madrix , a 6 universe Art-Net controller and an addressable LED strip. I've been trying to figure out the best way to map LEDs to each key on a MIDI keyboard. I was successful at mapping an LED to a MIDI key using a storage place. The problem I quickly realized is that I cannot activate two storage places simultaneously (I want to play a chord on the keyboard which means pushing down 3 keys). So I switched over to using layers. I figured out I could set the opacity of each mapped layer to 0 and then trigger 255 opacity using the MIDI Remote Editor. Works perfect... EXCEPT... there are only 8 layer options in the Remote Editor - Layer Opacity. For my keyboard I need 49 layers for the 49 keys. The Madrix manual states there are an unlimited number of layers that can be created (only max is based on computing power). So how do I use the MIDI Remote Editor to control all the 49 layers I need?
Or is there an easier/different way I can accomplish my same goal?
Thanks for any responses.
User avatar
Wissmann
Developer
Developer
Posts: 767
Joined: Fri Feb 23, 2007 3:36 pm
Location: Germany
Contact:

Re: playing an LED strip with a keyboard

Post by Wissmann »

Hi,
what exactly you have in mind to achieve?
I mean what kind of effect you like to create by pressing the midi Keyboard.
Currently we only offer access to 8 Layers by midi like you already realized.
LEDs are nothing without control ;-)
synergize
Posts: 2
Joined: Thu Nov 03, 2016 8:11 am

Re: playing an LED strip with a keyboard

Post by synergize »

Hi,

Thanks for your quick reply
I have a very simple visual goal to start.

Layer 1 is a SCE color (red) with size X =1 and position X =0
Layer 2 is a SCE color (blue) with size X =1 and position X = 1
Layer 3 is a SCE color (green) with size X =1 and position X = 2
Layer 4 is a SCE color (yellow) with size X =1 and position X = 3
repeat for 49 layers / opacity = 0

49 color layers assigned to 49 keys on a 49 key keyboard triggering Layer Opacity 255 with Absolute Button interaction.

Madrix manual makes a point of stating there are unlimited layers. But that's only useful if they can be triggered. 8 layers MIDI remote maximum does not help me create music that makes the light.

Thanks for any ideas.

By the way, I'm really impressed by how sophisticated and intuitive Madrix software is so I'm surprised this 8 option limitation currently exists in the MIDI Remote Editor.
User avatar
Wissmann
Developer
Developer
Posts: 767
Joined: Fri Feb 23, 2007 3:36 pm
Location: Germany
Contact:

Re: playing an LED strip with a keyboard

Post by Wissmann »

Ok got it,
.
The reason for the limitation is because of the amount of channels (in DMX) we do not like to have to big. The system behind remote dmx and midi is the same therfore midi have the same restrictions like dmx. So we decide to go with 8 layers and until now we get just one or two time the request for more, so it seams for the most people this is good enough. However i put your request onto our list. But i do not think we will offer access to 128 Layers for example...
.
Regarding your aim.
1. Please have a try and set your midi device for the use with audio, than you can use S2L Shapes to achieve a very similar effect you talking about.
2. Try the script (MAS Script Effect) i will post here and tell me if this is what you like to see.
LEDs are nothing without control ;-)
User avatar
Wissmann
Developer
Developer
Posts: 767
Joined: Fri Feb 23, 2007 3:36 pm
Location: Germany
Contact:

Re: playing an LED strip with a keyboard

Post by Wissmann »

Code: Select all

@scriptname="Midi2Light";
@author="inoage";
@version="";
@description="Uses incoming MIDI of channel 1 to control Pixel";
 
const int CHANNEL=0; // MIDI Channel 1
const int DEVICE_ID=0; // MIDI Device 1
int MidiData[];
color col[];
color sub = {0,0,0,0,25};

void InitEffect()
{
	//Initalize all colors with WHITE, remove this if not necessary
	for(int x=0; x<49; x++)
		col[x] = WHITE;
		
	//Initialize defined colors
	col[0] = RED;
	col[1] = GREEN;
	col[2] = BLUE;
	col[3] = WHITE;
	col[4] = YELLOW;
	//and so on
}

void RenderEffect()
{
	ChangeBrightness(sub);
	
   	if(IsMidiInEnabled()==1)
    	GetMidiInNote(MidiData, 0, 127, CHANNEL, DEVICE_ID); 
      
   	for(int x=0; x<49; x++)
   	{
   		if(MidiData[x] > 0)
   			SetPixel(col[x],x,0);	
	}
}

void MatrixSizeChanged()
{
 InitEffect();
}
LEDs are nothing without control ;-)
Locked