dj3nk Posted August 28, 2008 Report Share Posted August 28, 2008 OK, so I have to look for another solution to get analog controls. The problem is: Adding a CoreModule a la MB64 with an ainx2 for 14 pots would be very easily but ....to record the tweaks I do with the pots while I am playing ..... do I have to enable the internal MidiMerger of the SID-Core to get the mididata forwarded to the SID-Ouput again, or does the Sid Application send those nrpn even when it is controlled from outside without using the MidiMerger? I think that problems could occure when updating the firmware with the enabled midimerger. I hope you can help me.greetz EDIT: Can i tell the Midimerger to ignore sysex ? That would solve the problem I think. Quote Link to comment Share on other sites More sharing options...
TK. Posted August 30, 2008 Report Share Posted August 30, 2008 MBSID won't forward incoming events by default to avoid a feedback loop between synth and DAW. You can enable the merger function by executing the MIOS_MIDI_MergerSet function from external (e.g. your MB64) via MIDI. You can try this out in the debug window of MIOS Studio and once it works, just create a MB64 Meta Event which sends the same SysEx string like MIOS Studio.If this sounds too complicated, you could simply add a double pole switch to your MIDIbox for switching the MIDI IO routing of the MB64 and MBSID core. Or you could use a GM5 MIDI interface (ordered and paid during the second bulk run), and establish the MIDI routing with your PC (e.g. with MIDI-Ox or MIDItrix)Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
dj3nk Posted August 31, 2008 Author Report Share Posted August 31, 2008 No not too complicated :D . But can I tell the Midimerger to ignore sysex somehow? (even changes in the sourcecode). So I could leave the merger turned on and it won't result into a midi feedback when I update my MB with another firmware. Quote Link to comment Share on other sites More sharing options...
stryd_one Posted August 31, 2008 Report Share Posted August 31, 2008 FWIW, I'd like to see this 'local on/off' switch in a menu... It'd suck to have to upload new firmware to have the synth behave differently in a chain of other devices. I have to do this from time to time with my commercial synths. Quote Link to comment Share on other sites More sharing options...
dj3nk Posted September 2, 2008 Author Report Share Posted September 2, 2008 In addition i have to tell the exact meaning of my previous post. The "no sysex forwarding" function should only filter the incoming messages from mbStudio. So it would be possible to add a mb64 (or anything else) before the mbSid and record this events in the host sequencer via the midimerger. No need for doing anything then. You wont get a feedback loop when updating the firmware and all events from other devices are passing through the merger.Perfect for adding real analog controls to the SID :D not yetgreetzEDIT: I've added a small sketch. outdatedProblem: When the recorded events are played from the Host they get through the merger again, what means that sended events are received again by the host (=> loop possibility)EDIT2: I've added another sketchDue to the above written problems I searched for a new solution. As this seemly doesnt need any modification on the firmware this could be the last post on this prob in this topic.The yellow rectangles are showing 2 areas where we need to merge 2 signals into 1. The MidiMerger of the SID is turned off in this case. So there's my probably last question ... is it possible to add a 2nd MidiIN to the SID with an IIC module or do I need to build a seperate Core with the merger software?EDIT3: Perhaps it's the easiest way to integrate a MBrouter with 2 iic's into the case.mergingold.JPGmergernew.JPG Quote Link to comment Share on other sites More sharing options...
TK. Posted September 2, 2008 Report Share Posted September 2, 2008 Stryd: I don't understand, why MBSID would need a "local off" - MBSID only sends CS changes when CC mode is turned on. It's turned off by default, and it can be switched on/off from the CSDj3nk: no, it isn't possible to add a second MIDI IN. Why not trying the proposed switch - or wait a bit and use the easier to realize GM5 solution? It doesn't require any software change, is more flexible and less expensive.Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
dj3nk Posted September 2, 2008 Author Report Share Posted September 2, 2008 The only really reason is that I want to build my SID with analog controls and one MidiIN/Out in one case (without USB). So that it looks and runs like the original just with pots. And I want to leave and use the midi connectors on my SID, so I am not limitated to leave the SID running over a usb port.The switch would work, but I don't like switches ;) I do more like solutions without "workarounds" if it is possible somehow.The costs wouldnt matter since I have some core and 74hc00's lying around here. Quote Link to comment Share on other sites More sharing options...
TK. Posted September 2, 2008 Report Share Posted September 2, 2008 ok, so somebody else has to help you to find a proper solution (I assume that it will require some programming effort)Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
dj3nk Posted September 2, 2008 Author Report Share Posted September 2, 2008 no problemthanks for your help and moving this topicgreet Quote Link to comment Share on other sites More sharing options...
julienvoirin Posted September 10, 2008 Report Share Posted September 10, 2008 DJ and TK, i have the same problem. I want to add the MB6582 a Keyboard. I have done the keyboard using a core with ID 04, a scan matrix and enabling :movlw MIOS_MIDI_MERGER_MBLINK_FP call MIOS_MIDI_MergerSet I have activated the merger in main.inc of the MB6582 (his ID is 00) with movlw MIOS_MIDI_MERGER_MBLINK_EP call MIOS_MIDI_MergerSet instead of movlw MIOS_MIDI_MERGER_DISABLED call MIOS_MIDI_MergerSetAnd concerning the midi data, everything works as expected from a midi box linked chain (very clever to have developped this).BUT the MB6582 will produce a tone only 7 seconds after pushing a key on the Keyboard (7 sec after the Note On 3 bytes) !!!!!! Note off is executed immediatlyIMO, the merger function (end point) is executed too late in the SID app. Am I right ? Where should it be placed ?Changing the code as MIOS_MIDI_MERGER_ENABLED in both applications (SID+Keyboard) solve this issue but create a midi loopback with the Host computer Quote Link to comment Share on other sites More sharing options...
julienvoirin Posted September 10, 2008 Report Share Posted September 10, 2008 i just notice there is no more MBLINK in SIDv2 but MBNet.It explains my problem, doesn'it ? Quote Link to comment Share on other sites More sharing options...
TK. Posted September 11, 2008 Report Share Posted September 11, 2008 Strange, I don't see a reason why this doesn't work. MBLink is natively supported by MIOS, and you configured it correctly. Could you do some more debugging to find out, why a note is played after 7 seconds?Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
julienvoirin Posted September 14, 2008 Report Share Posted September 14, 2008 why a note is played after 7 seconds?the note is played directly, it is the tone that appears 7 seconds afterit is like the MB6582 needs 7 seconds to generate the tone. Maybe a priority task issue ?EDITIn fact my core ID04 had the wrong appI reuploaded app with MBLINK_FP and now the MB6582 sounds like it should (no more 7sec delay). But, obvious the MB6582 has the MBLINK_EP active it doesn't forward note events generated by the core with MBLINK_FP active.. I don't understand. Quote Link to comment Share on other sites More sharing options...
TK. Posted September 14, 2008 Report Share Posted September 14, 2008 In fact my core ID04 had the wrong appThats what I assumed ;)I'm not aware of a task priority issue in MBSID... therefore it was an obvious configuration error.I reuploaded app with MBLINK_FP and now the MB6582 sounds like it should (no more 7sec delay). But, obvious the MB6582 has the MBLINK_EP active it doesn't forward note events generated by the core with MBLINK_FP active.. I don't understand.Maybe you are not using MIOS_MIDI_BeginStream() and MIOS_MIDI_EndStream() in your application? Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
julienvoirin Posted September 14, 2008 Report Share Posted September 14, 2008 TK, YOU ARE THE BEST !!! EVER ! Thanks a lot !!!Begin stream and End solved my problem. Now i better understand why it is useful to add those 2 codelines ;) Quote Link to comment Share on other sites More sharing options...
dj3nk Posted September 15, 2008 Author Report Share Posted September 15, 2008 nice to hear that you solved this. I'll have to check that MBLink and perhaps MBNet stuff for my purposes too soon.Can MBNET access and change the actual values of the encoders in the chosen layer? Or can it only handle a parameter "inside the sidapp", meaning I cant access parameters "of the control surface"? (sry for that bad english ;D)I havent read into that stuff very deeply yet, but it were nice to know if you could give me a good starting point for that.greetz Quote Link to comment Share on other sites More sharing options...
julienvoirin Posted September 15, 2008 Report Share Posted September 15, 2008 Your english is ... not clear.Here is what I did (soon in the wiki) : Device One = A piano keyboard based on MIOS, Core ID4 ; it has a midi out and a midi in.Device Two = Wilba MB6582, Core ID0, 1, 2, 3.What I wanted : i play on the piano, notes go to the MB6582 and output from the MB6582 in order to record it in Protools. So I connected the out of the piano to the in of MB6582 and configured the MBLINK EndPoint/ ForwardPOint.Merger enabling was a very bad solution because of the feedback loop (when my DAW play the SID receive and forward events in this case, it isn't conveniant for re-recording)What happens ? The Host sends the events to device one, device one forward them to device two and END.If you tweak device one, events go to device two (and device two react to them) and send them to the host by is MIDI out (in order to record in Protools). Device One can be considered like a remote for device two.IMO it is what you want to do if the parameters of the SID are controlled by SySex or CC But notice that you can already tweak 5 knobs on the MB6582 (while activating "CC" it send CC to the host) Quote Link to comment Share on other sites More sharing options...
dj3nk Posted September 15, 2008 Author Report Share Posted September 15, 2008 thank for your explanation !!I want to replace the 14 encoders with analog pots. As far as you explained, I understand everything. My only problem is that I dont know if it is possible to access a value of an encoder directly. So that I turn a pot and the right value in the chosen layer (!) is changed. ...or...can I just change one CERTAIN parameter? That way I would have to manage these layer functions in my controller and not in my sid. But that would be a lot more to do I suppose. :/If everything works fine we could melt our projects to one ?! Quote Link to comment Share on other sites More sharing options...
julienvoirin Posted September 15, 2008 Report Share Posted September 15, 2008 you can do what you want if the parameter is controlled by a CC (128 values) or NRPN. If SysEx, it will be more complicated.I noticed that several parameters use 255 values, so ...Seriously, SID has been designed to be controlled by the control surface of TK. It is easier to do like him.Study the parameter chart and think about. It's not easy IMO. And you will need more than 14 potentiometers. Quote Link to comment Share on other sites More sharing options...
dj3nk Posted September 15, 2008 Author Report Share Posted September 15, 2008 And exactly these arent controlled by cc or sysex. I think I have to get deeper into MBNet or I have to implement the layer functions in my analog part and stay on MBLink (the easiest way perhaps) .... Why more than 14 ? The SID has 14 encoders (without menu) and those are to replace. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.