How to bypass/filter Midi notes and specific channels and let everything else through

Michelle242

2016-08-22 23:09:41

Hallo, I am pretty new here though I own BMTP quite a while. So please bear with me if I ask any stupid questions.
I just would like to create a translator for my Midi Fighter 3D into my daw Logic Pro X.
If I press a button it normally sends out Midi notes on Midi channel 6 and when I then move it (it has a 3d accelerator built in) it generates cc values on the corresponding cc number on Midi channel 6.
Now I would like to filter out the Midi notes because I can play the notes on my keyboard. I only want the cc values to be received via the BMTP Virtual Port in Midi Logic Pro X.
And another thing is, if I move the Midi Fighter, it also creates a general cc independent from the button I press. This is sent on Midi channel 4. I don't want this in Logic Pro X either.
How can I filter these events out and let everything else through?

Thank you in advance for any help!

Michelle242

2016-08-29 02:42:50

No answer so far... I'm a bit disappointed... :(
Though I already reached some of the goals with MidiPipe.
But it's a shame that I can't get it to work with BMTP.

lanz_the_joiner

2016-08-29 11:53:05

Michelle242 wrote: If I press a button it normally sends out Midi notes on Midi channel 6 and when I then move it (it has a 3d accelerator built in) it generates cc values on the corresponding cc number on Midi channel 6.
Now I would like to filter out the Midi notes because I can play the notes on my keyboard. I only want the cc values to be received via the BMTP Virtual Port in Midi Logic Pro X.
I'm not very good at programming MT yet. But I think what you're trying to do should be very easy to achieve. I'm not with my MIDI equipment right now, but I have MT installed on the PC I'm on.

I don't know if you have the latest version of Bome MT. In the version I'm using, in the "Incoming" section, there is the option to "swallow MIDI message, do not pass on to routed ports" by ticking a checkbox. I think this is pretty much exactly what you are trying to do. So you would just click "capture MIDI" and press the button of your choice, and then tick the checkbox.

Even if the version of MT you are using doesn't yet have this feature, I think the same effect will still be quite easy to achieve, only with a little more typing and clicking.

Does this make sense?

Michelle242

2016-08-30 01:01:55

Hallo and thank you a lot for your answer!
I really really appreciate that someone is trying to help me with my problem here now!

Actually as you may have noticed I am not good at all in programming BMTP either. :D

I have the latest version of Bomes Midi Translator Pro with all the features you described.

And I already programmed the "swallow midi message" option. But to absolutely no avail.

I did the following:

As the Project Default Midi Ports I defined the following:
Midi Input: Midi Fighter 3D (the device of which I would like to modify the messages)
Midi IN Port: Midi Fighter 3D
Midi Output: Bome Virtual Port 1, Bome Midi Translator 1 Virtual Out


1. Translator:
Translator Options: Active , Name: Midi Fighter 3D Notes On Bypassed
Incoming Midi message: Note On, trigger on any channel, trigger on any note, trigger on any velocity
-->swallow Midi message

2. Translator:
Translator Options: Active , Name: Midi Fighter 3D Notes Off Bypassed
Incoming Midi message: Note Off, trigger on any channel, trigger on any note, trigger on any velocity
-->swallow Midi message

Ok, so far so good.

The only problem now is that nothing comes out of the Project Default Midi Ports, i.e. Bome Virtual Port 1 and Bome Midi Translator 1 Virtual Out.

Could you help me a bit further?

Thank you so much in advance!!

lanz_the_joiner

2016-08-30 20:37:51

No problemo! I've just got back from work now, and so I'll edit in my advice when I've worked out how I think you should proceed.

lanz_the_joiner

2016-08-30 21:27:17

Have you tried looking at the log window to see what shows up when you hit the button?

Sorry this form of helping is coming in such small chunks, lol.

Another thing I would try is to go into Logic and tell it to "listen" for MIDI only from the outputs of Bome's.

Michelle242

2016-08-31 23:35:19

Hallo and thank you so much again for the answer!
I have two options. If I press Capture Midi in Incoming in any of the Translators, I see everything that my device sends, i.e. a Midi Note On on Channel #3, Midi CC Data on Channel 5 with CC #48 (when I press the upper left first knob and move the device) and a Midi Note Off on Channel #3 when I let go of the button. Eventually a Midi Note Off on Channel #4 when I put the device down on the table.
That's all normal and like described in the manual of the device.

The other option is clicking on Capture Midi in Outgoing in any of the Translators. I choose a third Translator on which I have
set the incoming Midi to Midi Message, Control Change, Channel:trigger on any channel, CC: trigger on any cc#,
Value: trigger on any value.
Then I have set the Outgoing to Midi Message: Control Change, the channel to channel 5, the cc to a variable of oo and the value to a variable of pp.
When I now click on Capture Midi I see exactly the same behaviour I saw when I clicked on Capture Midi in Incoming in the other Translators.

Ok, let's now go over to Logic Pro X and connect only the Bome Midi Translator Port in the Environment.

Well it seems there I made a bit of a progress now.
Because when I set the CC# to a variable of oo and the value to a variable of pp in the Outgoing part of the third Translator, the message that comes into Logic Pro X is a constant value of: 5 64 1 , which means an incoming signal on Channel 5 on cc#64 with a value of 1. All notes seem to be filtered/bypassed like I wanted it. :D
But how do I get the cc values now?
If I set the cc value to cc #48 Logic also shows me: 5 48 but with a constant value of 1.
How do I get the various values from the device in here?

The next problem is that I get the cc of #48 on every button I press on my device. Well, naturally because I set the Outgoing to cc# 48. But the buttons normally act on different cc #. So I need to get variable cc # AND variable values into Logic.

Still I have no clue how to do that. :(

I really appreciate your help, but I am not a computer programmer.

Let me quote you this time:

"But I think what you're trying to do should be very easy to achieve."

Well I guess not exactly, or is there a much easier way?

H E L P !

lanz_the_joiner

2016-09-01 17:20:10

Right, the second half of your post was a little hard to digest, I'll try to respond to it later.

But, before you said "Ok, let's now go over to Logic Pro X", it occurred to me that you don't seem to be using the Log Window... therefore you have only described what MT is receiving from your controller. With the Log Window, you also get access to a log of the messages sent out by MT, as well as the processing tasks that are undertaken by the program. The option to view the Log Window is in the View menu.

Michelle242

2016-09-01 18:05:52

Thank you so much for your repeated answering and your patience with me!

I'm sorry that I got you wrong. Well, you meant the log window! :mrgreen:

I opened the log window now and checked Outgoing and Midi Out.

Unfortunately as it seems there isn't any Midi Message going out of BMTP because I I can't see any message in the log window now though the input is there.

I have attached my preset here. Maybe you can load it and look if I have made any mistakes.

Thank you so much in advance!
Attachments
Midi Fighter 3D Swallow Notes.bmtp
(1.48 KiB) Downloaded 114 times

lanz_the_joiner

2016-09-01 18:33:51

No problem, I'm happy to help... mostly just hanging about here anticipating an answer to a feature request I've been making. 8)

Okay so here's something to consider. It seems like you are swallowing literally everything, which is why MT isn't sending out any messages. I can't know for sure since the ports and stuff are different on your setup.

Anyway, what I would try is disabling all of your translators. Maybe start a fresh preset. Then you can look at your log window and make sure that MT is receiving everything, and sending everything, as you would expect it to do without any translating taking place.

Using the log window in this way, you'll be able to take note of the exact values of the signals you want to allow, and those you want to swallow. From there, it'll be easy to produce a rule using a local variable, which will target only the notes you want Logic to ignore. If you get the log window set up with no translators, you could paste a copy of the log it produces when you hit the buttons you want to ignore. Then you could paste the log information from when you tilt or dance with your controller or whatever. With that, I could try to help you come up with a rule.

Michelle242

2016-09-01 19:00:07

Okay, thank you for your new suggestion!
I followed it but actually without success. I can't seem to get any Midi Message out of BMTP.
Here's what I did:

1. I click on start a new empty preset
2. I click on Edit Project Properties and I open a Midi Input from my Device Midi Fighter 3D and I open the following Midi Output:
Bome Midi Translator 1 Virtual Midi Out.
3. Then I click on Add Translator and set Incoming to Midi Message.

In the log window I see activity in Incoming. Everything is fine there.
But nothing is coming out.

From now on I am a bit lost.

Could you please explain what I should select in the Translator in Incoming to continue and achieve what I am looking for?

Thank you so much again!

lanz_the_joiner

2016-09-01 19:21:40

Aha, so I am learning some things, hehe. This isn't a problem with your setup - just a misunderstanding on our part of how the log window functions. It doesn't seem to log outgoing messages unless they are being sent from MT as translations. Which sounds kinda obvious now that I think about it - they aren't being translated, so they aren't technically being *sent out* from MT at all!

If you copy and paste the incoming MIDI messages from the messages you want to suppress or swallow, then copy and paste the messages you get when you tilt the controller (the messages you want to keep), I think we can easily work out a rule to achieve what you want. It'll probably be neater if you copy and paste them separately.

Michelle242

2016-09-01 19:34:23

Ok, I see. So the Log Window is useless in my case.
I'm happy that my thread was at least a bit of use for you so far in that you learned something here. :D
Well if I read your second paragraph correctly, I now have to record every single Midi Message and edit it.

But I will ask you a question that I already asked in the first post here.
Why in the world is it so complicated to just filter out all Midi Notes?

I can achieve that with MidiPipe which is free btw in the blink of an eye.

The only thing is that MidiPipe is not as advanced as BMTP and I thought having such an advanced program that I have paid money for it would be extremely easy to achieve the same as in the freeware MidiPipe and then some extras I can't achieve in MidiPipe.
But actually in BMTP I can't seem to achieve even the simplest tasks to start from.

Actually I am slowly starting to loose my faith in BMTP to be honest and I think of completely changing over to MidiPipe.
Sorry I am slowly getting impatient here...

Maybe you should also have a look at this:

http://www.subtlesoft.square7.net/MidiPipe.html

lanz_the_joiner

2016-09-01 19:50:21

Michelle242 wrote:Ok, I see. So the Log Window is useless in my case.
I'm happy that my thread was at least a bit of use for you so far in that you learned something here. :D
Well if I read your second paragraph correctly, I now have to record every single Midi Message and edit it.
No, the log window is not useless! And no again! You don't have to edit each message individually!

If you bail on this now, I will have made all these posts for nothing! :( So I would really appreciate if you could follow just a couple of steps, for my own satisfaction. Honestly I think once you copy and paste the log information from hitting the buttons, and from tilting the controller, so that I can see the information, there will be only one more step after that. PLEAASE.

Just hit the buttons, and copy+paste the log window information into a post here so that I can read it, then tilt the controller and do the same with the log info from that, and then I'll write a rule for you, and if it doesn't work you can switch to MidiPipe and I won't protest at all. :wink:

Michelle242

2016-09-01 20:34:03

Ok, I can understand that you don't want your efforts to be in vain.
And I don't want this either. And as I said I paid for this program, so I too hope that this purchase was not obsolete for me.

So let's try to get this thing running and in case we can't, I simply have no other option than switching over to MidiPipe I guess.

This is the Incoming- info from the Log Window when I tilt my controller:

Code: Select all

1: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=116 (0x74)
2: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=99 (0x63)
3: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=84 (0x54)
4: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=68 (0x44)
5: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=53 (0x35)
6: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=37 (0x25)
7: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=24 (0x18)
8: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=13 (0x0D)
9: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=6 (0x06)
10: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=3 (0x03)
11: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=0 (0x00)
12: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=2 (0x02)
13: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=3 (0x03)
14: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=5 (0x05)
15: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=6 (0x06)
16: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=7 (0x07)
17: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=9 (0x09)
18: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=10 (0x0A)
19: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=12 (0x0C)
20: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=13 (0x0D)
21: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=16 (0x10)
22: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=17 (0x11)
23: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=19 (0x13)
24: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=22 (0x16)
25: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=23 (0x17)
26: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=24 (0x18)
27: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=26 (0x1A)
28: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=29 (0x1D)
29: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=30 (0x1E)
30: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=31 (0x1F)
31: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=34 (0x22)
32: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=36 (0x24)
33: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=39 (0x27)
34: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=41 (0x29)
35: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=43 (0x2B)
36: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=46 (0x2E)
37: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=48 (0x30)
38: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=51 (0x33)
39: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=55 (0x37)
40: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=58 (0x3A)
41: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=61 (0x3D)
42: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=65 (0x41)
43: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=68 (0x44)
44: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=71 (0x47)
45: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=75 (0x4B)
46: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=81 (0x51)
47: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=85 (0x55)
48: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=91 (0x5B)
49: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=96 (0x60)
50: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=102 (0x66)
51: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=108 (0x6C)
52: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=113 (0x71)
53: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=120 (0x78)
54: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=126 (0x7E)
55: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=127 (0x7F)
56: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=116 (0x74)
57: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=105 (0x69)
58: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=94 (0x5E)
59: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=82 (0x52)
60: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=70 (0x46)
61: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=60 (0x3C)
62: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=50 (0x32)
63: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=41 (0x29)
64: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=33 (0x21)
65: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=27 (0x1B)
66: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=22 (0x16)
67: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=16 (0x10)
68: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=13 (0x0D)
69: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=9 (0x09)
70: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=7 (0x07)
71: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=5 (0x05)
72: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=3 (0x03)
73: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=2 (0x02)
74: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=0 (0x00)
75: IN   0.0  Control Change on channel 5 with CC#:48 (0x30) set 'pp' to value=2 (0x02)

From what I can already see, the selection of "Control Change" under "Midi Message" does a good job and is filtering the Midi Notes.
That's a good news. :)

Also you can see what I already wrote above:

A control change on cc# 48 (and other cc# when I press the other buttons and tilt the controller) with variable values. Great!

But how do I get these messages out there?

This is the part I have been missing the whole time.

I hope we can solve this now. :D

lanz_the_joiner

2016-09-01 21:08:21

Sorry if I am mistaken. But I think you might not have understood what I have been asking you to do. I've been asking you to copy and paste the following log window information:

- from a fresh preset with no translating taking place (just one blank translator open with the appropriate incoming ports enabled so that all incoming messages show up in the log)

- what shows up when you tilt the controller

- what shows up when you hit the buttons (all the buttons)

I'm sorry if this looks really complicated. I honestly don't think it is very complicated... we're both new to it. I've been trying to get you to copy and paste the specified information so that I can write a rule that applies to it.

Currently your preset is telling BMTP to swallow all notes. So it is not surprising that there are no notes getting through to Logic, right? Now, if you copy and paste the information I am asking for, I will try to write a simple rule that says:

- swallow all messages between X and Y
- let everything else through.

Michelle242

2016-09-01 21:28:27

Actually I made a completely new Translator. That's where you got me wrong. :) And it doesn't swallow anything.
But as I said, I have to set the Input to something in order to get any Midi information. And as I want the Midi cc, I set it to Control Change.
I did nothing else.
And what I copied and pasted is exactly what I got.
If I press the other buttons and tilt the controller I will get cc #49, cc #50 etc...
I don't think it's necessary to paste all this here, or is it really?

Still I need an output....desperately... kind of. :/

lanz_the_joiner

2016-09-01 21:36:33

Yes, please, I would really really like you to paste that information for me to see. I have asked to see it lots of times.

Sorry that I incorrectly assumed you had not been using a blank preset.

Michelle242

2016-09-01 21:48:31

I am sorry I can't post this here:
Your message contains 335008 characters.
The maximum number of allowed characters is 60000.

But I will attach a text file.

Please keep in mind that the device has 4 banks with 16 buttons each which makes for 64 cc controllers x the values from 000-128.
Attachments
MF3D Input BMTP.txt
(327.09 KiB) Downloaded 108 times

lanz_the_joiner

2016-09-01 21:59:54

Thanks, I really appreciate you sending that information. Presumably that is the data from the buttons, and you have already given me the information from the tilting.

So I can now get to work on figuring out how to create a rule that will block out some of the notes but allow the rest through.

:D

Michelle242

2016-09-01 22:35:36

Lots of thanks in advance again! :)
I am pretty curious. :)

lanz_the_joiner

2016-09-01 22:59:42

Ah, so reading over this thread again, and reading through some of the MIDI Fighter 3d manual, it appears that I didn't fully understand your description of how the device works.

Do you use the 4 banks? If you disable the 4-bank mode it might make things a little bit simpler. Not that you need to or anything.

The log information I was thinking of, was just 16 note on messages, and 16 corresponding note off messages. It's just those messages we want to filter out.

Michelle242

2016-09-02 00:08:02

Actually I would really like to be able to use the 4 banks. It's just a matter of pressing the 4 smaller rectangle shaped buttons on the top.
I still don't understand how it can be such a fuss to just filter those stupid Midi notes in BMTP.

lanz_the_joiner

2016-09-02 00:41:10

From my experience, it is really easy to do. In the past, I just use the log to look at what note I am playing. Once I know what the note is, I can translate it, or swallow it. If it is a range of values, I create a rule to capture the range of notes.

So I'll try again. Here goes:

1. New Preset
2. New Translator> Incoming> MIDI Message> Note On (NOT control change)
3. View Log Window> Uncheck all boxes except MIDI IN
4. Hit all 16 of the arcade style buttons (Do not change banks, do not do any tilting or turning or whatever. Just hit the buttons. All I want is the information from the buttons being pressed.)
5. Post the log on Bome Forum.

Michelle242

2016-09-02 01:23:14

Ok, your wish is my command.
Here are the Log Window messages:

1: MIDI IN [Midi Fighter 3D]: 92 30 7F
2: MIDI IN [Midi Fighter 3D]: 82 30 7F
3: MIDI IN [Midi Fighter 3D]: 92 31 7F
4: MIDI IN [Midi Fighter 3D]: 82 31 7F
5: MIDI IN [Midi Fighter 3D]: 92 32 7F
6: MIDI IN [Midi Fighter 3D]: 82 32 7F
7: MIDI IN [Midi Fighter 3D]: 92 33 7F
8: MIDI IN [Midi Fighter 3D]: 82 33 7F
9: MIDI IN [Midi Fighter 3D]: 92 2C 7F
10: MIDI IN [Midi Fighter 3D]: 82 2C 7F
11: MIDI IN [Midi Fighter 3D]: 92 2D 7F
12: MIDI IN [Midi Fighter 3D]: 82 2D 7F
13: MIDI IN [Midi Fighter 3D]: 92 2E 7F
14: MIDI IN [Midi Fighter 3D]: 82 2E 7F
15: MIDI IN [Midi Fighter 3D]: 92 2F 7F
16: MIDI IN [Midi Fighter 3D]: 82 2F 7F
17: MIDI IN [Midi Fighter 3D]: 92 28 7F
18: MIDI IN [Midi Fighter 3D]: 82 28 7F
19: MIDI IN [Midi Fighter 3D]: 92 29 7F
20: MIDI IN [Midi Fighter 3D]: 82 29 7F
21: MIDI IN [Midi Fighter 3D]: 92 2A 7F
22: MIDI IN [Midi Fighter 3D]: 82 2A 7F
23: MIDI IN [Midi Fighter 3D]: 92 2B 7F
24: MIDI IN [Midi Fighter 3D]: 82 2B 7F
25: MIDI IN [Midi Fighter 3D]: 92 24 7F
26: MIDI IN [Midi Fighter 3D]: 82 24 7F
27: MIDI IN [Midi Fighter 3D]: 92 25 7F
28: MIDI IN [Midi Fighter 3D]: 82 25 7F
29: MIDI IN [Midi Fighter 3D]: 92 26 7F
30: MIDI IN [Midi Fighter 3D]: 82 26 7F
31: MIDI IN [Midi Fighter 3D]: 92 27 7F
32: MIDI IN [Midi Fighter 3D]: 82 27 7F

:)

lanz_the_joiner

2016-09-02 08:29:48

Hehe, wonderful, thanks. I've just got up out of bed and I've got work today. I'll put something together this evening when I get back.

Michelle242

2016-09-02 08:42:30

Very much looking forward to this, though I won't have any time to try this evening because I have to go to work at 8 p.m.
Anyway, have a nice day! :)

Michelle242

2016-09-05 02:06:12

Did you make any progress so far?

lanz_the_joiner

2016-09-06 00:47:44

Michelle242 wrote:Did you make any progress so far?
I've made a little progress. It's not as easy as I had anticipated - probably more complicated than you are prepared to put up with, since you seem to have figured out how to set it up easily on another software. Still, I shall continue, for my own satisfaction, and also maybe one day you'll find some use for Bome's MT and you can integrate this solution into it.

I don't have a Midi Fighter at home, and I don't use Logic either. So to simulate your setup, I've used the grid of 16 buttons on my Xone K2, routed into Ableton. Here is what I've come up with so far:

Image

So instead of four banks of 16 buttons to ignore, I have created two banks of four buttons to ignore, while letting all other notes pass, no problemo. I did this using the following rules:
if pp<28 then exit rules, skip Outgoing Action
if pp>35 then skip next rule
if pp>31 then exit rules, skip Outgoing Action


The outgoing action is the same as the incoming action: it is a MIDI message called oo pp qq. In English, this means any channel (oo), any note (pp), and any velocity (qq). I figured out the numbers of each button by looking up a chart to convert "hexidecimal" to "decimal". In your case, this would work out as each of the 16 notes you gave me earlier being numbered from 36 up to 51.

I feel like what I have achieved constitutes progress. It allows me to play with all the buttons on my controller, but the knobs and sliders seem to be silenced. Still got some way to go. I have managed to get all the buttons and knobs and faders on my controller to work, while silencing the 16 buttons, using the following rules:
if pp<24 then exit rules, execute Outgoing Action
if pp>39 then exit rules, execute Outgoing Action
if pp>=24 then exit rules, skip Outgoing Action
if pp<=39 then exit rules, skip Outgoing Action


If I could do that four times; once for each of your banks, then I think that would be the complete solution.

lanz_the_joiner

2016-09-07 10:43:21

Ohhh, okay I think I've figured out how to do this. I was being very stupid and not fully understanding your earlier posts, and not really understanding MIDI protocol in general. But, at least it should be super-simple to get working.

So, the "swallow" function doesn't seem to do anything for me. Instead, I create a translator to let *everything* through, except for notes on a certain channel. Just like you described in your first posts here. If this setup doesn't work, a very similar one will.

Incoming:
MIDI Message > Raw MIDI / System Exclusive:
pp qq ww

Rules:
if pp==82 then exit rules, skip Outgoing Action
if pp==92 then exit rules, skip Outgoing Action


Outgoing:
MIDI Message > Raw MIDI / System Exclusive:
pp qq ww

Michelle242

2016-09-09 11:30:41

Wow, thank you so much!
I am sorry, I had computer problems and I am only recovering and slowly getting up and running again.
Thank you so much for the efforts and for the easy way from your last posting.
I already tried something with Raw Midi but it didn't work for me.
Your method looks pretty correct and I will try it this weekend as soon as everything else works again.
I will then let you know if this works.

Best wishes and thanks so much again.
I am getting my faith in BMTP back.

Michelle