Jump to content

Antichambre

Programmer
  • Posts

    1,291
  • Joined

  • Last visited

  • Days Won

    101

Everything posted by Antichambre

  1. You're welcome, you can mark this topic as [SOLVED] ;) Best regards Bruno
  2. USB midi driver maybe and try all others USB ports.
  3. Yes this is disabling midi monitoring too, this can't help. it seems you're not alone I found more than 10 threads like this: https://www.steinberg.net/forums/viewtopic.php?t=117590 Unfortunately I didn't read any concrete solution.
  4. Try also to desactive MIDI THRU in cubase midi settings... And if your midibox has regular MIDI and you own a midi interface try with it instead of USB directly. Note: if your're connected with usb there's no running status then Note Off must be received. Running status is only for regular midi connection(DIN) and MIOS studio marks the Note Off as "optimized" when it's the case.
  5. Try with with an other midi monitor like midiOx(pc) or snoize(mac) depending on your separate music computer. And share the result...
  6. A Note On with a 0 velocity is always considered as a Note Off by most of midi gear, this is for the running status, to avoid its constantly change, and optimize the midi traffic. Are you sure Cubase receives 0 velocity first?
  7. Anyway we will do a small debug test... For that you will need to recompile the MBNG app after modification... in mbng_file_c.c at line 812 replace this: //////////////////////////////////////////////////////////////////////////////////////////////// } else if( strcasecmp(parameter, "nrpn") == 0 ) { int value; if( (value=get_dec(value_str)) < 0 || value >= 16384 ) { #if DEBUG_VERBOSE_LEVEL >= 1 DEBUG_MSG("[MBNG_FILE_C:%d] ERROR: invalid NRPN number in EVENT_%s ... %s=%s\n", line, event, parameter, value_str); #endif return -1; } else { if( item.flags.type != MBNG_EVENT_TYPE_NRPN ) { #if DEBUG_VERBOSE_LEVEL >= 1 DEBUG_MSG("[MBNG_FILE_C:%d] WARNING: no NRPN number expected for EVENT_%s due to type: %s\n", line, event, MBNG_EVENT_ItemTypeStrGet(&item)); #endif } else { // no extra check if event_type already defined... stream[1] = value & 0xff; stream[2] = value >> 8; item.secondary_value = stream[1]; } } //////////////////////////////////////////////////////////////////////////////////////////////// by //////////////////////////////////////////////////////////////////////////////////////////////// } else if( strcasecmp(parameter, "nrpn") == 0 ) { int value; if( (value=get_dec(value_str)) < 0 || value >= 16384 ) { #if DEBUG_VERBOSE_LEVEL >= 1 DEBUG_MSG("[MBNG_FILE_C:%d] ERROR: invalid NRPN number in EVENT_%s ... %s=%s\n", line, event, parameter, value_str); #endif return -1; } else { if( item.flags.type != MBNG_EVENT_TYPE_NRPN ) { #if DEBUG_VERBOSE_LEVEL >= 1 DEBUG_MSG("[MBNG_FILE_C:%d] WARNING: no NRPN number expected for EVENT_%s due to type: %s\n", line, event, MBNG_EVENT_ItemTypeStrGet(&item)); #endif } else { // no extra check if event_type already defined... stream[1] = value & 0x7f; stream[2] = value >> 7; item.secondary_value = stream[1]; } } //////////////////////////////////////////////////////////////////////////////////////////////// Cause ! In this part of the parser there's something strange which is disturbing me at the end when the address is store in the item->stream we've got: // no extra check if event_type already defined... stream[1] = value & 0xff; stream[2] = value >> 8; item.secondary_value = stream[1]; but in the MBNG_EVENT_TYPE_NRPN part of the MBNG_EVENT_ItemSend function we've got: u16 nrpn_address = item->stream[1] | ((u16)item->stream[2] << 7); if I make the calculation like it is I find exactly your problem: In parser stream[1] = 261 & 0xff = 5 stream[2] = 261 >> 8 = 1 then in MBNG_EVENT_ItemSend u16 nrpn_address = item->stream[1] | ((u16)item->stream[2] << 7) = 5 | (1<<7) = 133 Address msb is not limited to 0 or 1, I think it's a masking and shifting error and bit 7 is lost, so make the test with // no extra check if event_type already defined... stream[1] = value & 0x7f; stream[2] = value >> 7; item.secondary_value = stream[1]; Please
  8. did you try the value in hexadecimal instead of decimal just to see? nrpn=261 is nrpn=0x105
  9. Did you check with an other midi monitor, like midi-ox(PC) or snoize(MAC) Just to be sure it's not a mios studio issue.
  10. Hi, you're welcome, If I was you I will read the DAC Application Note Then find some examples or a library to try with something basic... https://www.st.com/content/ccc/resource/technical/document/user_manual/59/2d/ab/ad/f8/29/49/d6/DM00023896.pdf/files/DM00023896.pdf/jcr:content/translations/en.DM00023896.pdf http://stm32f4-discovery.net/tag/dac/ Then try to adapt it to my need... Note: MIOS32 uses StdPeripheral Library and CMSIS located in Driver folder, no HAL Take care about the DMA and Timer already used. Good luck! Best regards Bruno
  11. Thank you for your interest Thorsten, The thing is that If Andy decides to create his version, I will stop mine, cause there's no space for 2 different core euro modules which have the same purpose. Until yesterday I was sure to do it because nobody told he wanted to, now I don't know. That's the reason I insist and try to convince him, more than that if Andy decides to play this game with me, quantity will drastically decrease the price, of course. Anyway I will provide the platform to both of you as soon as I can, for you to decide after that ;) Best Regards Bruno
  12. DipCoreF4 will be assembled too, all tiny components(except pinheader and mini-USB) will be mounted. For less quarter size of the wCore. In fact DipCoreF4 + DipBoardF4(full platform) is smaller than the wCore alone. The only differences are: No J10A/B. No Parallel J15 only serial(with 2 CS lines). 2 leds instead of 4. Two USB, one DEV, one HOST. My version of the MIOS32 is already works with it and still works with the wCore, Disco etc... I really think you should consider it one day cause you could like it ;) I will send some on next batch, to you and Thorsten as you can evaluate it. Best regards Bruno
  13. J8/9 of couse! No J10A/B Here the available ports.
  14. I'm working on something like this, I try to do not exceed 50mm depth. I need it for the HAARP, And adapt the SCS to the euro format is also a good idea, @latigid on ? I plan to create another CS based on the work I made for @Phatline with a pot for each parameter and TFT screen, like I did for the HAARP. Best regards, Bruno
  15. Hi! You can maybe do it yourself, by changing the order of the elements in seq_scale_table to your need and recompile the app... It's in this file: https://github.com/midibox/mios32/blob/master/apps/sequencers/midibox_seq_v4/core/seq_scale.c Best regards Bruno
  16. You're right DAC_OUT of the STM are on PA4 and PA5. MIOS32 does not support STM DAC functions, only ADC via MIOS32_BOARD functions. But you can initialize these 2 pins yourself. Take care if PA4 is used by J5A for ADC, PA5 is used for MIOS32_SPI0_SCLK then you have to stop this SPI port by using MIOS32_DONT_USE_SPI0 in the config file. MIOS32 J16 SPI port will not be usable anymore, means no SD card for example. Best Bruno
  17. Antichambre

    106ps.jpg

    Is this a midibox? What is the point when most of the parameters are already accessible on the synth? This makes sense on a Juno alpha for exemple but a 106 !? >understood! It's for the virtual one The picture is too small but anyway if you did this your-self... Well done! :) BR Bruno
  18. Don't be sorry! It's a good news even for me. The OLRE16 is far to be ready. In the order HAARP first, then Bandmaster, the MB2069, then the OLRE16. So ;) ....
  19. yep I'm also in for sure!
  20. You're welcome ;) No it will not "struggle" but, this is just a way to handle the DOUT from MIDI Input, not to play something from a midi file. But this last thing is also possible. Anyway this is very cool and fun :) Best regards Bruno
  21. I don't know running MIDIO128 but with a basic app (traditional) this is not complicated ///////////////////////////////////////////////////////////////////////////// // This hook is called when a MIDI package has been received ///////////////////////////////////////////////////////////////////////////// void APP_MIDI_NotifyPackage(mios32_midi_port_t port, mios32_midi_package_t midi_package) { // check the note if( ((midi_package.event == NoteOn)||(midi_package.event == NoteOff)) && (midi_package.note == 0x3c)){ //only note C3 // clear velocity if note Off if(midi_package.event == NoteOff)midi_package.velocity = 0; // check velocity switch(midi_package.velocity){ case 0: MIOS32_DOUT_PinSet(0, 0); MIOS32_DOUT_PinSet(1, 0); MIOS32_DOUT_PinSet(2, 0); break; case 1 ... 64: MIOS32_DOUT_PinSet(0, 1); break; case 65 ... 96: MIOS32_DOUT_PinSet(1, 1); break; case 127: MIOS32_DOUT_PinSet(2, 1); break; default: break; } } } Best regards Bruno
  22. Same! It seems the DOUT triggers can be enabled in the hardware config file by "DOUT_1MS_TRIGGER" then the variable seq_hwcfg_dout_gate_1ms is set from this text command but I don't find where this variable is used, so I can tell how this is used, even less how to change its length. I think we have to call @TK. for that, he's the only one who can explain how and what is doable. Best Bruno
  23. Or a 74HC123, anyway, I don't know how, but I'm sure there's a way to set the drum triggers out of the Seq V4 to 4ms instead of 1ms. Maybe ask here: But first, did you already try your module with the 1ms triggers? ;) Best regards Bruno
  24. In complement for an external power supply and USB power management. With this circuits the external power has priority over USB power. It works fine cause this is the one there is on all arduino uno board, so well improved. And I did the same thing on the dipBoardF4 external power module and use it. Best regards Bruno
×
×
  • Create New...