|
Post by mrfretless5 on Jun 15, 2022 1:04:15 GMT
Hi, I started using AUM a few days ago, and have been struggling with "Program Changes", and I think is because of my StreamByter little rules These are the rules I'm using: B4 03 02 = XX 0E #Remap Channel 05 CC 003 Step 2 (Enter) to CC 014 (to Play loop 1) B4 03 04 = XX 14 #Remap Channel 05 CC 003 Step 4 (-Oct) to CC 020 (to Play loop 2) I'm using a "12 Step" MIDI controller that only sends CC 03, so I'm remapping them to 14 and 20 to "Play Enable" a couple of loops This is working fine, the issue is that I'm trying to load AUM sessions using PC (Program Change) But I guess the rules are intercepting the MIDI PC. I have 2 AUM Sessions, one with StreamByter (Session1) and another without (is just 1 loop) (Session2), If I send PC (to open Session1) from Session2 it works fine, but is not working if sending PC (to open Session2) from Session1. Is there a way to just perform the rules IF it is NOT a Program Change triggered by the 12 Step? I hope you can help me with this Thanks
|
|
|
Post by mrfretless5 on Jun 15, 2022 1:10:33 GMT
Another detail, Session2 uses a different channel, it's 02, instead of 05,
and the Session1 should open with PC 1, and Session2 with PC 2, it does not matter which channel (Omn)
|
|
|
Post by uncledave on Jun 15, 2022 10:03:35 GMT
Hi, Those rules will not affect anything except the designated CC# and channel. Have you routed the controller MIDI to MIDI control? And then configured MIDI Control, hamburger menu, sliders. Remember, all the MIDI events you want to handle must be configured in each saved session.
Please post your MIDI routing in Session 1, and maybe the actual configuration for the PC 2 action.
Cheers
Edit: I wonder if you're accustomed to Audiobus, which saves MIDI mappings to a Global Profile, independent of the preset. AUM does not do that; every session is configured independently.
|
|
|
Post by mrfretless5 on Jun 15, 2022 17:34:36 GMT
Hi, Those rules will not affect anything except the designated CC# and channel. Have you routed the controller MIDI to MIDI control? And then configured MIDI Control, hamburger menu, sliders. Remember, all the MIDI events you want to handle must be configured in each saved session. Please post your MIDI routing in Session 1, and maybe the actual configuration for the PC 2 action. Cheers Edit: I wonder if you're accustomed to Audiobus, which saves MIDI mappings to a Global Profile, independent of the preset. AUM does not do that; every session is configured independently. Thanks for your response, BTW, I am new to AUM, no Audiobus experience either, I have been using MIDIFire for very basic CC changes because of the 12 Step limitations, Nic helped me here at the beginning Attached are the MIDI Routing for Session 1 (having the 12Step going to SB, and SB going to MIDI Control) Session Load Actions, with TSOR (Session 1 with SB rules, and PC 1), and CTTH (Session 2 without SB, and PC 2), both Omn/All channels And checked the SB Monitor from Session 1, when I triggered PC 2 for Session 2, and it looks fine, I'm very confused now Hahaha Hope this clarifies my situation, any help will be very appreciated Thanks in advance
|
|
|
Post by uncledave on Jun 15, 2022 18:16:41 GMT
Hmmm. Since SB passes all the MIDI through, there's no need to route both controller ports to MIDI Control as well as to SB. I don't know how receiving suplicate messages may affect AUM. And, yes, the PC message clearly goes through. You really shouldn't be able to see that, because AUM should be loading the new session. Is the configuration in the other session identical (except for SB), and working?
I'm not familiar with PC and loading sessions in AUM, but I wonder if there's a disagreement in the PC numbers. The MIDI convention for PC is similar to the situation for channels: Programs are numbered 1..128, but they are transmitted as 0..127. SB obviously uses the literal interpretation (same as the message), but I wonder if AUM uses the convention. You might try changing the mapping to PC 3.
Also, do you actually need/use both ports from your 12 Step controller? If not, it would be better to connect only one.
|
|
|
Post by mrfretless5 on Jun 15, 2022 22:13:57 GMT
Hmmm. Since SB passes all the MIDI through, there's no need to route both controller ports to MIDI Control as well as to SB. I don't know how receiving suplicate messages may affect AUM. And, yes, the PC message clearly goes through. You really shouldn't be able to see that, because AUM should be loading the new session. Is the configuration in the other session identical (except for SB), and working? I'm not familiar with PC and loading sessions in AUM, but I wonder if there's a disagreement in the PC numbers. The MIDI convention for PC is similar to the situation for channels: Programs are numbered 1..128, but they are transmitted as 0..127. SB obviously uses the literal interpretation (same as the message), but I wonder if AUM uses the convention. You might try changing the mapping to PC 3. Also, do you actually need/use both ports from your 12 Step controller? If not, it would be better to connect only one. Rigth, I simplified the Routing on both AUM Sessions, I just have one USB connected from 12Step, seems it just show 2 ports Regarding seeing the PC messages, I disabled the Session Load option just to check it. Attached are some updated screenshots: 1- Disabled Session Loads, and checking SB Monitor for the IN & OUT of both PC, looks fine 2- Image of the PC setup for both Sessions Load values 3-SB rules on Session 1 4- Session 1 MIDI Routing (simplified) With this I can use 12Step to trigger Session Load for Session 1 over and over again, but not for Session 2 I loaded Session 2 manually on AUM 5-Screenshot of Session 2 loaded manually 6-Session 2 MIDI Routing (simplified too) 12Step can re-load Session 2 over and over, as well as loading Session 1 7-Screenshot of Session 1 loaded from Session 2 using PC from 12Step Then I can just re-load Session 1 using 12Step PC setup This is very weird... Not sure if it is a AUM issue/bug or what... I'm going to try on Audiobus forum too. If you identify something, please let me know Thanks
|
|
|
Post by mrfretless5 on Jun 15, 2022 22:15:10 GMT
|
|
|
Post by mrfretless5 on Jun 15, 2022 22:15:37 GMT
And image 7 Attachments:
|
|
|
Post by uncledave on Jun 15, 2022 22:52:49 GMT
Could you post the actual PC setup for session loads in Session 1? It seems like there must be something wrong in them. Otherwise, it all looks fine, and very simple.
Edit: I just tried this, and I see that the session mappings are stored globally, so they must be the same in both sessions. And your load of session 2 works in session 2, so it should work in session 1.
Just to be sure about SB, could you try removing it from the routing in session 1, just send the controller direct to MIDI control, and see if that works.
Further edit: I see that session 1 includes an IAA app (SampleTank). I wonder if that may interfere with unloading it.
|
|
|
Post by uncledave on Jun 16, 2022 11:03:19 GMT
Try the following: Open AUM, load Session 1. Then, tap on the SampleTank icon in AUM, so you view the app. Finally, return to AUM and try using PC 2 to switch to Session 2. If that works, I'll explain, otherwise we can forget it.
|
|
|
Post by mrfretless5 on Jun 16, 2022 17:23:39 GMT
Could you post the actual PC setup for session loads in Session 1? It seems like there must be something wrong in them. Otherwise, it all looks fine, and very simple. Edit: I just tried this, and I see that the session mappings are stored globally, so they must be the same in both sessions. And your load of session 2 works in session 2, so it should work in session 1. Just to be sure about SB, could you try removing it from the routing in session 1, just send the controller direct to MIDI control, and see if that works. Further edit: I see that session 1 includes an IAA app (SampleTank). I wonder if that may interfere with unloading it. Sure, the fist image attached is for the AUM Session Load Actions, and I added a Session 3 (Just Keys) with PC 99, just to check And as you stated, looks like AUM keep the Session Load Actions "globally", until you "Clear" the session, then all that is cleared (weird for me, but anyway) Image 2 is the MIDI Routing on Session 1 having the controller directly connected to MIDI Control, no SB, and also notice that I removed SampleTank I was suspecting something on SampleTank too, as it sits on the background, and could "catch" the PC to change Sound. So now, no SampleTank, just the Model-D AU. And image 3 is just Session 3, with a PC=99 Here come another weird behavior... Now I can open Session 1 with the controller, change to Session 3, there I can re-load Session 3 or load Session 1, but not Session 2. Also, from Session 1 I can re-load Session 1, and load Session 3, but again, not Session 2, this is very weird hahaha I will try changing PC from the 12Step presets, maybe using PC 1, PC 20, and PC 99, I don't know, I'm just trying whatever at this point Thanks again
|
|
|
Post by mrfretless5 on Jun 16, 2022 17:27:09 GMT
Try the following: Open AUM, load Session 1. Then, tap on the SampleTank icon in AUM, so you view the app. Finally, return to AUM and try using PC 2 to switch to Session 2. If that works, I'll explain, otherwise we can forget it. This didn't work, but anyways as I stated on the previous post, just removed SampleTank because having it on screen I saw that PC from the 12Step changed "sounds", and being a IAA could cause intercepting MIDI messages or something like that Were you thinking something like this?
|
|
|
Post by uncledave on Jun 16, 2022 18:09:37 GMT
Weird for sure. So, it looks like AUM will not load Session 2 using a PC trigger (except when Session 2 is already loaded). Hard to imagine why, since other sessions load with no problem. Only Session 2 has CTTH. Could that be the problem?
Edit: Which app is CTTH? Oh, I see it's the AUM file player. So it is (or was) in Session 1 as well, so should not be a problem.
My suspicion of SampleTank was not related to it receiving the PC message. Everything listening to CoreMIDI will see it. One app cannot block another, or intercept the messages. Obviously, if SampleTank is listening on that MIDI channel, it could react to the PC, as you say.
My concern was related to the following problem. AUM cannot terminate an IAA app. You need to force quit it yourself from the Task Switcher. If a host (AUM) loads an IAA app, and the user does not change the focus to view the IAA, it will become a zombie when the host loses connection to it. The app will not appear in the Task Switcher, and will continue running (and occupying memory) until the device is restarted. I thought that AUM might have tried to prevent that by blocking the Session load. But you've eliminated that now, by dropping SampleTank, and adding Session 3, which does load.
|
|
|
Post by mrfretless5 on Jun 16, 2022 18:24:50 GMT
Here comes another weird behavior... Now I can open Session 1 with the controller, change to Session 3, there I can re-load Session 3 or load Session 1, but not Session 2. Also, from Session 1 I can re-load Session 1, and load Session 3, but again, not Session 2, this is very weird hahaha More on this, since the PC worked between Session 1 and 3, but not Session 2, I wondered if the MIDI channel could matter, since on AUM I selected OMNI it shouldn't but anyway The 12Step presets for Session 1 and 3 are using MIDI channel 5, but the preset for Session 2 is using ch 2 So I changed the 12Step presets to just use MIDI channel 5, and now AUM can load any of the 3 sessions, but this shouldn't be like this, right? If I send specific MIDI channel from the 12Step, and AUM is using OMNI, AUM should catch everything, right? well, looks like it does not The 12Step presets can only have 2 specific channels (voicing 1 & 2), no option for all or OMNI or something like that It seems like because of 12Step I'm going to be limited to just one MIDI channel if I want to use PC for Session loading The good think is that StreamByter was not the problem BTW, is there a FULL guide/manual for StreamByter coding?, the one on the app (and the pdf from the website) is only 18 pages, and is very general, I have not being able to understand it fully, bear with me, I used to be a programmer a long time ago, not anymore Hahahaha Thanks again
|
|
|
Post by uncledave on Jun 16, 2022 22:19:54 GMT
It sounds like there may be a bug in the AUM implementation of omni in handling the session load messages. As if it's locking on to one MIDI channel, then ignoring inputs on other channels. Anyway, you've got it resolved.
There is really no other manual for StreamByter. Similar to other language references, it precisely (and briefly) defines the available statements. It does not tell you how to build useful programs using them; it's not an instructional manual. I'd suggest looking at existing programs to get some ideas of techniques. There are some in the Factory presets, lots more on this site. Don't look for specific solutions; just try to understand some examples. Your "long ago" programming experience should be helpful here. I view SB as a mix of Assembler, Basic, and programmable calculator (all those registers, with no names, just numbers). For starters, try to understand BlueVelvet in factory. It shows how you can react to the time between events.
One thing you may not appreciate about SB is that it really is as minimal as it sounds. The only variables are the predefined arrays. Expressions can only have one operator, so you have to parse arithmetic expressions into single operations (calculator). You can have subroutines, and pass named parameters, but there are no local variables; they're all global. So you need to devise a rule to ensure no overlap.
Feel free to post questions here, maybe code snippets ("Why doesn't this work?"). Someone will surely answer.
|
|