Jump to content

EVENT_*RECEIVER *SENDER


Spirit
 Share

Recommended Posts

hi

 

i played with my MB_NG device from the last couple of days.

it been a BIG!!! learning experience. with ups and downs and some FAULT error I got in my screen.

 

but now I got almost everything working how i like to have it..

 

only i don't realy understand the ROUTER / RECEIVER and SENDER command.

 

at the moment i have my MB_NG with 16buttons + 16leds + 4x40LCD + USB + MIDI IN/OUT1 as Beta version...

 

now i have my BCF2000 connect with midi cables to MIDI IN/OUT1  and it all works Great!

 

 

and i like to have something like this:

 

Bank1=

BCF sends chn#1 CC#  81 = XX  -To-> MB_NG Sends chn#3 CC# 00 =xx -To-> pc

 

bank2=

BCF sends chn#1 CC#  81 = XX  -To-> MB_NG Sends chn#4 CC# 00 =xx -To-> pc

or

bank3=

BCF sends chn#1 CC#  81 = XX  -To-> MB_NG Sends chn#3 CC# 01 =xx -To-> pc

 

hope you understand this :rolleyes:

PS: can it be possible to Output a Higher RANGE then 127 on the lcd screen.

as i will use this for a Lighting software and with lighting you use 0:255 so can you make it possible that the POT uses 0:127 but the LCD shows 0:255. so each 1Velocity will increase 2 Values on the LCD screen.

 

kind regards, spirit

Edited by Spirit
Link to comment
Share on other sites

 oke i found out

 

this will do almost the job

 

EVENT_RECEIVER ID=1035 FWD_ID=SENDER:1 BANK=21 TYPE=CC CC=85 CHN=1 RANGE=0:127 LABEL="@(1:35:2)%03d" FWD_TO_LCD=1
EVENT_SENDER ID=1 BANK=21 TYPE=CC CHN=3

 

with router

 

ROUTER N=1 SRC_PORT=IN1 SRC_CHN=17 DST_PORT=USB1 DST_CHN=0
ROUTER N=2 SRC_PORT=USB1 SRC_CHN=1 DST_PORT=OUT1 DST_CHN=17

 

but i can only change the Channel but not Note?

 

Kind regards, spirit

Edited by Spirit
Link to comment
Share on other sites

oke still not how i like to see it..

 

i like to have it that  a x amount of note's /channel will accepted per BANK.

 as example

Bank1 will accept Channel1

Bank2 will accept Channel2

and on....

but if i could also specify the note's would be greater.

like

bank1 will send/receive note/chn x to x

bank2 will send/receive note/chn y to y

bank3 will send/receive note/chn z to z

 

in the end i will create a Full control bord with a Ainser and then it all possible without problems but for now i use my bcf to test everything.

so i like the Receive / sender command can also do this..

 

like this.

bank1

IF bcf send 1-1 -> mb_ng receives 1-1 and sends 2-1 -> pc receives 2-1

IF pc Send 2-1 -> mb_ng receives 2-1 and sends 1-1 -> bcf 1-1

bank2

IF bcf send 1-1 -> mb_ng receives 1-1 and sends 3-1 -> pc receives 3-1

IF pc Send 3-1 -> mb_ng receives 3-1 and sends 1-1 -> bcf 1-1

bank3

IF bcf send 1-1 -> mb_ng receives 1-1 and sends 4-1 -> pc receives 4-1

IF pc Send 4-1 -> mb_ng receives 4-1 and sends 1-1 -> bcf 1-1

Edited by Spirit
Link to comment
Share on other sites

 

and i like to have something like this:

 

Bank1=

BCF sends chn#1 CC#  81 = XX  -To-> MB_NG Sends chn#3 CC# 00 =xx -To-> pc

 

bank2=

BCF sends chn#1 CC#  81 = XX  -To-> MB_NG Sends chn#4 CC# 00 =xx -To-> pc

or

bank3=

BCF sends chn#1 CC#  81 = XX  -To-> MB_NG Sends chn#3 CC# 01 =xx -To-> pc

 

I think examples like this should help: fwd.ngc

Just combine the RECEIVER of example #3 with the SENDER of example #4.

 

The midi protocol only allows 7 bits per data byte, some applications combine 2 to provide 14 bit values.

Link to comment
Share on other sites

hi thanks for the example.

but still it doesn't seems to work. and the other problem is that the event pool allocation is rising big time!!!!
for 7 banks with 16buttons+led and 5 faders from the bcf i'm already on 8206 of 24576 (33%) without the 5 faders from the bcf i'm at 12%

but I did this and it seems to work well only the info that comes from the pc isn't going correctly

for bank21 I have this

EVENT_RECEIVER ID=1 FWD_ID=SENDER:1 BANK=21 TYPE=CC CC=81 CHN=1 RANGE=0:127 PORTS=0000100000000000 FWD_TO_LCD=1 LCD_POS=1:3:2 LABEL="%3d"
EVENT_SENDER ID=1 BANK=21 TYPE=CC CHN=3 RANGE=0:127 PORTS=1000000000000000 FWD_TO_LCD=1 LCD_POS=1:3:2 LABEL="%3d"
EVENT_RECEIVER ID=2 FWD_ID=SENDER:2 BANK=21 TYPE=CC CC=81 CHN=3 RANGE=0:127 PORTS=1000000000000000 FWD_TO_LCD=1 LCD_POS=1:3:2 LABEL="%3d"
EVENT_SENDER ID=2 BANK=21 TYPE=CC CHN=1 RANGE=0:127 PORTS=0000100000000000 FWD_TO_LCD=1 LCD_POS=1:3:2 LABEL="%3d"

for bank 22 I have this

EVENT_RECEIVER ID=11 FWD_ID=SENDER:11 BANK=22 TYPE=CC CC=81 CHN=1 RANGE=0:127 PORTS=0000100000000000 FWD_TO_LCD=1 LCD_POS=1:3:2 LABEL="%3d"
EVENT_SENDER ID=11 BANK=22 TYPE=CC CHN=4 RANGE=0:127 PORTS=1000000000000000 FWD_TO_LCD=1 LCD_POS=1:3:2 LABEL="%3d"
EVENT_RECEIVER ID=12 FWD_ID=SENDER:12 BANK=22 TYPE=CC CC=81 CHN=4 RANGE=0:127 PORTS=1000000000000000 FWD_TO_LCD=1 LCD_POS=1:3:2 LABEL="%3d"
EVENT_SENDER ID=12 BANK=22 TYPE=CC CHN=1 RANGE=0:127 PORTS=0000100000000000 FWD_TO_LCD=1 LCD_POS=1:3:2 LABEL="%3d"

oke if I select:
bank 21 (from BCF to PC)
1. on mios I get the correct channel and note. (working OK)
2. LCD screen updates the correct info on current selected bank.
bank 22 (from BCF to PC)
1. on mios I get the correct channel and note. (working OK)
2. LCD screen updates the correct info on current selected bank.

bank 21 (from PC to BCF)
1. it doesn't matter which back I select both channels are forwarded to the BCF (not OK)
2. LCD screen updates the correct info on current selected bank.
bank 22 (from PC to BCF)
1. it doesn't matter which back I select both channels are forwarded to the BCF (not OK)
2. LCD screen updates the correct info on current selected bank.

 

so from PC to BCF the lcd screen works oke. but the all the midi info is just going to the bcf..

 

 

also realy strange is that  I only assigned channel 3 and 4  From and To the bcf..as you see the quotes above.

if I send from mios to BCF on channel 2 nothing happens (OK)

if I send on channel 5 to 9 the bcf also moves the faders :no: not good..

and if I send on Channel 10 nothing happens (OK)

Edited by Spirit
Link to comment
Share on other sites

EVENT_SENDER doesn't check for the bank selection.

Ok, I can change this.

 

And it seems that a simple possibility to map CC numbers with a single EVENT_SENDER would also be nice to have, right?

But it would be difficult to map the channel as well - in such a case the usage of individual EVENT_SENDERs is a must!

So - is it required to map CC *and* channel? Then the map function won't help, and you've to continue with your current approach (which will work as expected once banks are supported)

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Concerning the bank handling: it works as expected at my side.

It don't know if this is the actual problem, but I recommend you to avoid banking for receivers, so that they are always up-to-date based on the incoming values independent from the selected bank.

 

At the bottom of this file:

http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapmidi.ngc

you will find a new example for EVENT_SENDER banks

 

You will also notice, that I'm using a nice trick in order to save memory: a single receiver forwards to multiple senders (located in multiple banks) which are assigned to the same id.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

hi again and thnks for the replay.

 

but I did this and this seems to work OK!!!

 

 

EVENT_RECEIVER id=  1  fwd_id=SENDER:1            fwd_to_lcd=1  type=CC chn=1 cc=81   lcd_pos=1:1:1 label="Receiver%3i: %e" PORTS=0000100000000000

EVENT_SENDER   id=  1                    bank=21  fwd_to_lcd=1  type=CC chn=3 cc=20   lcd_pos=1:1:2 label="Sender%3i/1: %e" PORTS=1000000000000000

EVENT_SENDER   id=  1                    bank=22  fwd_to_lcd=1  type=CC chn=4 cc=20   lcd_pos=1:1:2 label="Sender%3i/2: %e" PORTS=1000000000000000

EVENT_SENDER   id=  1                    bank=23  fwd_to_lcd=1  type=CC chn=5 cc=20   lcd_pos=1:1:2 label="Sender%3i/3: %e" PORTS=1000000000000000

EVENT_SENDER   id=  1                    bank=24  fwd_to_lcd=1  type=CC chn=6 cc=20   lcd_pos=1:1:2 label="Sender%3i/4: %e"

PORTS=1000000000000000

 

EVENT_RECEIVER id=  2   fwd_id=SENDER:2           fwd_to_lcd=1  type=CC CHN=3 cc=81   lcd_pos=1:1:1 label="Receiver%3i: %e" PORTS=1000000000000000

EVENT_SENDER   id=  2                    bank=21  fwd_to_lcd=1  type=CC chn=1 cc=20   lcd_pos=1:1:2 label="Sender%3i/1: %e" PORTS=0000100000000000

EVENT_RECEIVER id=  3   fwd_id=SENDER:3           fwd_to_lcd=1  type=CC CHN=3 cc=82   lcd_pos=1:1:1 label="Receiver%3i: %e" PORTS=1000000000000000

EVENT_SENDER   id=  3                    bank=21  fwd_to_lcd=1  type=CC chn=1 cc=20   lcd_pos=1:1:2 label="Sender%3i/1: %e" PORTS=0000100000000000

EVENT_RECEIVER id=  4   fwd_id=SENDER:4           fwd_to_lcd=1  type=CC CHN=3 cc=83   lcd_pos=1:1:1 label="Receiver%3i: %e" PORTS=1000000000000000

EVENT_SENDER   id=  4                    bank=21  fwd_to_lcd=1  type=CC chn=1 cc=20   lcd_pos=1:1:2 label="Sender%3i/1: %e" PORTS=0000100000000000

EVENT_RECEIVER id=  5   fwd_id=SENDER:5           fwd_to_lcd=1  type=CC CHN=3 cc=84   lcd_pos=1:1:1 label="Receiver%3i: %e" PORTS=1000000000000000

EVENT_SENDER   id=  5                    bank=21  fwd_to_lcd=1  type=CC chn=1 cc=20   lcd_pos=1:1:2 label="Sender%3i/1: %e" PORTS=0000100000000000

EVENT_RECEIVER id=  6   fwd_id=SENDER:6           fwd_to_lcd=1  type=CC CHN=3 cc=85   lcd_pos=1:1:1 label="Receiver%3i: %e" PORTS=1000000000000000

EVENT_SENDER   id=  6                    bank=21  fwd_to_lcd=1  type=CC chn=1 cc=20   lcd_pos=1:1:2 label="Sender%3i/1: %e" PORTS=0000100000000000

 

 

 

and it also seems if you one's used a ROUTER command and delete the line afterward.

the ROUTER command stays active.. you need to Unplug the usb from pc and connect it again before the ROUTER command stops working?

oke I tried it again and i'm right..

 

Steps to reproduce:

1:Set a Router command (router n=1 src_port=in1 src_chn=17 dst_port=usb1 dst_chn=17)

2:drag a slider

3:all midi events are forwarded (correct)

4:remove router line from .NGC

5:drag a slider and still all midi events are forwarded? (not correct!)

6:uplug usb and plug it back in again.

7:drag a slider

8:now all midi events are not forwarded (correct)

 

I think this is the reason why it did not work for me because I got faulty results

 

also therse a other thing that I don't understand.

that's because on the EVENT_SENDER command you have cc=20 on the example but it doesn't send cc=20.

it just send the CC from the current slider I drag?

 

kind regards, emile ballard

Edited by Spirit
Link to comment
Share on other sites

The router setup won't be cleared with RESET_HW, because it's not a "hardware related setup".

Intention is to allow to change the event definitions without reseting the existing router configuration.

 

Instead of re-powering the core, you could also initialize all router nodes with the default parameters (see cfg/default/default.ngc of the installation package)

 

 

that's because on the EVENT_SENDER command you have cc=20 on the example but it doesn't send cc=20.

it just send the CC from the current slider I drag?

 

good catch!

 

Please try this pre-release: http://www.ucapps.de/mios32/midibox_ng_v1_025_pre4.zip

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...