Sign in to follow this  
Followers 0
damiano

midibox 64 for light

2 posts in this topic

Hello everyone,

I am creating a lighting console using midibox64.

I'm finishing the construction, but I wanted to ask you something.

my mixer basically sends MIDI notes and control changes to my PC, which then handles the midi signals, giving them the scenes of lights.

So, I do EXAMPLE: if I press a button, the midibox put to "ON " a midi note and the signals led of the midibox64 (and my PC, turn the stage lights associated with the note)

now if I connect another device to midibox, through its midiIN.

and now this second device, turn off the midi note (which I have turned on before with the midibox).

how does the midibox ??..... turn off the note with her midi and the LED indicator on the mixer??

thanks so much

damiano!

Share this post


Link to post
Share on other sites

now if I connect another device to midibox, through its midiIN.

and now this second device, turn off the midi note (which I have turned on before with the midibox).

how does the midibox ??..... turn off the note with her midi and the LED indicator on the mixer??

thanks so much

damiano!

Hi damiano,

Thought I would reply as you have not had any help here.

Easy method: Just turn on the Midi Merge in the Midibox64 and the Midibox will forward the notes on to the PC. So you just need to send the same note data that the Midibox sent.

Fancy Method: If you want to remote control the buttons on your Midibox64 via Midi (which may be pointless if the easy method works out), read the file mios_tables.inc. Here you create the Midi events that will trigger the buttons.

e.g.


MIOS_MPROC_EVENT_TABLE

	;; entry 0x00-0x0f (button Numbers)

	MT_ENTRY 0x9b, 0x00		;; C -2 Button #1

	MT_ENTRY 0x9b, 0x01		;; C#-2 Button #2

	MT_ENTRY 0x9b, 0x02		;; D -2 Button #3

	MT_ENTRY 0x9b, 0x03		;; D#-2 Button #4

	MT_ENTRY 0x9b, 0x04		;; E -2 Button #5

	MT_ENTRY 0x9b, 0x05 	        ;; F -2 Button #6

        etc.

That's not really difficult, but you will have to write some code into the main.asm file for the function USER_MPROC_NotifyFoundEvent at line 468. As an example I use this to toggle the buttons everytime a note on is received, rather than have Note On events holding on for ages until the Note Off (or Note On Vel 0) is received. It's a little crude but it works.

USER_MPROC_NotifyFoundEvent

	movff	MIOS_PARAMETER2, MIOS_PARAMETER1 ;; Put MIOS_PARAMETER1 into MIOS_PARAMETER2 (Note number)

	movf	MIOS_PARAMETER3, W		 ;; Get Note velocity for switch

	skpz					 ;; If zero (Note Off) skip next command and just toggle it to be 1

	movlw	0x01		   		 ;; If >0 Make it 1 and toggle it to be 0 (pressed)

	xorlw	0x01				 ;; Toggle it

	movwf	MIOS_PARAMETER2			 ;; Save it in MIOS_PARAMETER2

	goto	MB64_BUTTON_Handler		 ;; Activate the button and exit!

Then you will have to re-assemble the code and send it into your Midibox using MIOS Studio.

Anyway, surely sending the same Midi event, as the Midibox sent to your PC, from the second Midi device, into the Midibox with the Merge on will be the simplest thing to do.

good luck

Bassman

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0