Jump to content

SEQV4L MIDI Router


Duggle

Recommended Posts

The midi connections I'm using successfully with my SeqV4L:

  • Keyboard attached to MIDI IN1
  • MIDI Clock source attached to MIDI IN2
  • MIDI OUT1 attached to synth
  • MID OUT2 forwarding the MIDI Clock to other gear.

I'd really like to use USB1 to send Sysex to my synth. Can I use the router functionality to achieve this?

If I change my wiring so that MIDI IN2 is free to attach to the synth MIDI OUT could I route the return Sysex from synth to USB1?

What "set router" command arguments do I use?

If I issue the command: "set router 1 USB1 all MID1 all"

I get response: "Unknown or invalid MIDI output port!"

I'm lost with how to use the router :-(

Finally, is there any way to use USB2,3,4 under windows 7?

Here's the current router config:


[4069.595] router

[4069.596] MIDI Router Nodes (change with 'set router <in-port> <channel> <out-port> <channel>)

[4069.596]    1  SRC:Def. off  DST:OUT1 off

[4069.596]    2  SRC:Def. off  DST:OUT1 off

[4069.596]    3  SRC:Def. off  DST:OUT1 off

[4069.596]    4  SRC:Def. off  DST:OUT1 off

[4069.597]    5  SRC:Def. off  DST:OUT1 off

[4069.598]    6  SRC:Def. off  DST:OUT1 off

[4069.599]    7  SRC:Def. off  DST:OUT1 off

[4069.599]    8  SRC:Def. off  DST:OUT1 off

[4069.599]    9  SRC:Def. off  DST:OUT1 off

[4069.599]   10  SRC:Def. off  DST:OUT1 off

[4069.599]   11  SRC:Def. off  DST:OUT1 off

[4069.599]   12  SRC:Def. off  DST:OUT1 off

[4069.599]   13  SRC:Def. off  DST:OUT1 off

[4069.599]   14  SRC:Def. off  DST:OUT1 off

[4069.600]   15  SRC:Def. off  DST:OUT1 off

[4069.601]   16  SRC:Def. off  DST:OUT1 off

[4069.601] 

[4069.601] MIDI Clock (change with 'set mclk_in <in-port> <on|off>' resp. 'set mclk_out <out-port> <on|off>')

[4069.601]   USB1  IN:on   OUT:on 

[4069.601]   USB2  IN:---  OUT:---

[4069.601]   USB3  IN:---  OUT:---

[4069.601]   USB4  IN:---  OUT:---

[4069.601]   MID1  IN:on   OUT:on 

[4069.601]   MID2  IN:on   OUT:on 

[4069.603]   MID3  IN:on   OUT:on 

[4069.603]   MID4  IN:---  OUT:---

[4069.603]   IIC1  IN:---  OUT:---

[4069.603]   IIC2  IN:---  OUT:---

[4069.603]   IIC3  IN:---  OUT:---

[4069.603]   IIC4  IN:---  OUT:---

[4069.603]   OSC1  IN:on   OUT:on 

[4069.603]   OSC2  IN:off  OUT:on 

[4069.603]   OSC3  IN:off  OUT:on 

[4069.603]   OSC4  IN:off  OUT:on 

Link to comment
Share on other sites

Your plan should work, just replace MID1 by OUT1 :)

The 4 USB ports should work under Win7 with the Korg USB MIDI driver:

Yes, I have got the router to work. I think I understand now... it should be really good!

Unfortunately, the upgraded driver (Korg) does not expose any midi devices with my LPC17 based seq.

It shows "KORG MIDI Device" in device manager, but no ports are available to applications.

Would be really nice to have multiple USB midi ports!

Edited by Duggle
Link to comment
Share on other sites

I just remember that MBSEQV4L has been explicitly configured for 1 USB port.

I did this so that Win7 users don't have to troubleshoot the USB connection... (see bottom of the MIOS Studio page for details)

You can change the number of ports in the apps/sequencers/midibox_seq_v4_lite/mios32/mios32_config.h file

Change:

#define MIOS32_USB_MIDI_NUM_PORTS 1
to:
#define MIOS32_USB_MIDI_NUM_PORTS 4

Korg driver: are you using WinXP or Win7?

Best Regards, Thorsten.

Link to comment
Share on other sites

I've imported the eclipse project for midibox_seq_v4_lite.

For the record, the only change made to the project settings:

  • MIOS32PATH

    The only change to source files necessary to successfully compile with STM32 was to add
    
    extern const u8 mios32_dout_reverse_tab[];
    
    
    missing from mios32_dout.h Compiled successfully (not tested). Now, with the further changes to the project settings:
    • MIOS32_BOARD (to MBHP_CORE_LPC17, presumably to override the USER:PREFS setting of STM32 core that I have used before now)
    • MIOS32_FAMILY (to LPC17xx " " ditto)
    • MIOS32_PROCESSOR (to LPC1769 " " " ditto)

[snip]


Creating object file for freertos_heap.cpp

c:/mios32_toolchain/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: project_build/project.elf section `.bss' will not fit in region `RAM'

c:/mios32_toolchain/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: region `RAM' overflowed by 11688 bytes

collect2: ld returned 1 exit status

make: *** [project_build/project.elf] Error 1


**** Build Finished ****

I'm not sure what to do(???)

Link to comment
Share on other sites

STM32 compiles fine at my side, though it won't work since J10 isn't available for the Cheapo-BLM.

I also don't see the problem with mios32_dout_reverse_tab, or the linker error.

Are you sure that you are working with the original files in the repository?

And it's essential to execute "make clean" after environment variables have been changed!

Best Regards, Thorsten.

Link to comment
Share on other sites

I can compile fine for STM32 but my SEQV4L is LPC17 based so this is my target of compilation.

I did SVN update the repo prior to compiling.

Can you confirm that mios32_dout.h does declare the reverse array? It needs to because some file cheapo_blm.c ( or whatever it is called) accesses this array. That was the only error (easily fixed) I had to compile correctly for STM32.

So all I did after this was change the processor to LPC17 and now the linker error.

Link to comment
Share on other sites

Ok, now on another machine I have updated the mios working copy from the repo.

-go into directory C:\MIOS32prj\mios32\trunk\apps\sequencers\midibox_seq_v4_lite

-open a command window, run a batch file with the following contents:

set PATH= c:\mios32_toolchain\bin;C:\msys\1.0\bin;%PATH%;

set MIOS32_PATH=/C/MIOS32prj/mios32/trunk

set MIOS32_BIN_PATH=/C/MIOS32prj/mios32/trunk/bin

set MIOS32_GCC_PREFIX=arm-none-eabi

set MIOS32_FAMILY=LPC17xx

set MIOS32_PROCESSOR=LPC1769

set MIOS32_BOARD=MBHP_CORE_LPC17

set MIOS32_LCD=universal  

-type make

"make: *** /C/MIOS32prj/mios32/trunk/modules/app_lcd/universal: Invalid request code. Stop."

-now if I experimentally comment out the line

include $(MIOS32_PATH)/modules/app_lcd/$(LCD)/app_lcd.mk

a whole bunch of compilation takes place ending with

"Creating object file for mios32_lcd.c....[snip]...../mios32/common/mios32_lcd.c:26:fatal error:app_lcd.h No such file or directory

compilation terminated.

make: *** [project_buid//CCMIOS32prj/mios32/trunk/mios32/common/mios32_lcd/o] Error 1"

A simple fix?

Link to comment
Share on other sites

Putting aside issues to do with setting the environment from windows batch files (ugh....I'll look in to that one in due course), I ve managed to compile and flash the firmware with 4 USB midi ports! (yay)

Having a 4x4x4 router (in the SEQ) in my rig really rationalises the midi wiring but particularly it gives Sysex editing and librarian connectivity to everything!

I'll definitely be adding opto/connectors for MIDI IN/OUT 3 and 4 on my SEQv4L!

The Korg driver seems fine so far...

Woohoo!

Link to comment
Share on other sites

Can you confirm that mios32_dout.h does declare the reverse array?

yes, it's declared in mios32_dout.h, and therefore also included by blm_cheapo since the header file is part of mios.h

Is this issue solved meanwhile? Because I've no explanation why it should fail - considered that I always compiled the firmware for a MBHP_CORE_LPC17 module by myself.

Great to read that the Korg driver is working at your side! :)

Best Regards, Thorsten.

Link to comment
Share on other sites

I'm looking into two issues with compilation

  1. Command line:To have a batch file to set the environment for command line compilation (win XP and 7). There is the the setx which does the same thing that modifying computer/properties/environment variables dialog does only quicker as it is put in a batch file. I'm still looking into this.
  2. Eclipse project: I find that the eclipse project in repo (e.g. SeqV4L ) doesn't have mios files as linked resource in the project. In other words the mios32 source code is not in the file tree presented in the project column of Eclipse. I have my Eclipse projects organised with mios32 included in the project (comes from Jonathan Farmers original WIKI) and it works well, with being able to reference the mios32 code very easily.
I don't know if this has anything to do with (2) above, I must have somehow had an old version of mios32_dout.h being there (one without the reverse array declaration). I wonder whether the declaration has always been in the file. I definitely did do an svn update.
Link to comment
Share on other sites

Eclipse project: I find that the eclipse project in repo (e.g. SeqV4L ) doesn't have mios files as linked resource in the project. In other words the mios32 source code is not in the file tree presented in the project column of Eclipse. I have my Eclipse projects organised with mios32 included in the project (comes from Jonathan Farmers original WIKI) and it works well, with being able to reference the mios32 code very easily.

Yes, I only added the include files to make the eclipse project independent from the selected $MIOS32_FAMILY

This shouldn't prevent you from adding private enhancements of course...

I don't know if this has anything to do with (2) above, I must have somehow had an old version of mios32_dout.h being there (one without the reverse array declaration). I wonder whether the declaration has always been in the file. I definitely did do an svn update.

The declaration has been added with r1302 more than 1 year ago.

See also:

http://svnmios.midibox.org/comp.php?repname=svn.mios32&compare%5B%5D=%2Ftrunk%2Finclude%2Fmios32%2Fmios32_dout.h%401302&compare%5B%5D=%2Ftrunk%2Finclude%2Fmios32%2Fmios32_dout.h%40144

In order to check differences between file revisions by yourself, just select the file:

http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Finclude%2Fmios32%2Fmios32_dout.h

and thereafter select the "view log" function to display all changes.

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...
×
×
  • Create New...