Jump to content

slo

Members
  • Posts

    175
  • Joined

  • Last visited

  • Days Won

    13

Posts posted by slo

  1. @Hawkeye I have never seen those tutorials before! don't know how I missed that, there is a wealth of info there. Following the tutorial the transpose works, under the scheme laid out in the tutorial. I will try the Root method next and report back. Thanks!

    • Like 1
  2. Can someone please confirm that the transpose function is actually working, I'm having a fight getting it working properly. Using G1T1 Root with static notes and Chord parameters into BUS 1, mode on normal, G1T2 track (bassline) mode on Transpose, Note set to First. Settings in Midi/T&A seem to be correct. The output is just octaves of C. I did have this working quite awhile ago, but I cannot get it going now.

  3. Noob here trying to come up with a scheme to display past values alongside current active values from an encoder.
    The code below demonstrates the problem I'm having. Setting encoder 1 in bank 2 and then switching back between banks produces the desired result, but in bank 1 it looks like the past value is getting over written so encoder 1 bank 1 is not displayed. Using a SSD 1306 display. Below is the .ngc ,ngr .ngl
    I need a better scheme or hints to the path forward. Thanks.

    RESET_HW
    
    LCD "%C@(9:1:1)GLCD Test"
    
    #increments/decrements the bank
    EVENT_ENC id=65 hw_id= 65  type=Meta   meta=SetBank   range=1:2 meta=RunSection:1
    
    #This is a dummy LED without assigned hardware (hw_id=2000 not used anywhere else) and without MIDI event.
    #the purpose of this EVENT item is to print the bank whenever the LCD is refreshed 
    EVENT_LED id=2000 fwd_to_lcd=1 lcd_pos=9:17:1 label="Bank%q" 
    
    ###Bank 1
    EVENT_ENC id=1    hw_id=1     bank= 1 fwd_id=LED_MATRIX:1  LED_MATRIX_PATTERN n= 1 range= 16:122 type= cc chn=1 cc= 20 lcd_pos=1:1:2   label="&bOSC1 Ran@(1:6:6)&b^range "
    EVENT_ENC id=2    hw_id=2     bank= 1 fwd_id=LED_MATRIX:2  LED_MATRIX_PATTERN n= 1 range= 0:127  type= cc chn=1 cc= 21 lcd_pos=1:1:2   label="&bLFO Rate@(1:6:6)&b ^volume"
    
    ###Bank 2
    EVENT_ENC id=17   hw_id=1    bank= 2 fwd_id=LED_MATRIX:1  LED_MATRIX_PATTERN n= 1 range= 16:122 type= cc chn=1 cc= 32 lcd_pos=1:1:2  label="&bOSC2 Ran@(1:6:6)&b^range "
    
    ###Inactive encoders bank 2
    EVENT_ENC id=4001 hw_id=2 bank= 2 fwd_id=LED_MATRIX:2  LED_MATRIX_PATTERN n= 4  value= 64
    
    ###print past values
    EVENT_LED id=1001 bank= 1 fwd_to_lcd=1 lcd_pos=1:1:6 label="&b^range "
    EVENT_LED id=1002 bank= 1 fwd_to_lcd=1 lcd_pos=1:1:6 label="&b^volume"
    EVENT_LED id=1017 bank= 2 fwd_to_lcd=1 lcd_pos=1:1:6 label="&b^range "
    
    # encoder hardware configuration
    ENC n=  1   sr= 1  pins=0:1   type=non_detented
    ENC n=  2   sr= 1  pins=2:3   type=non_detented
    ENC n= 65   sr= 6  pins=0:1   type=non_detented
    
    # LEDring configuration
    # NOTE: with ULN2803 based transistor arrays we've to invert the selection lines!
    # -> inverted=1
    # if you don't use these arrays, please set inverted=0
    DOUT_MATRIX n= 1   rows=16 inverted=1  sr_dout_sel1= 1 sr_dout_sel2= 2  sr_dout_r1= 3 sr_dout_r2= 4  sr_dout_g1= 0 sr_dout_g2= 0  sr_dout_b1= 0 sr_dout_b2= 0
    
    
    # modified ledring patterns for 16 LEDs
    # LED_MATRIX_PATTERNs
    LED_MATRIX_PATTERN n= 1  pos= 0  pattern=1000000000000000
    LED_MATRIX_PATTERN n= 1  pos= 1  pattern=1100000000000000
    LED_MATRIX_PATTERN n= 1  pos= 2  pattern=1110000000000000
    LED_MATRIX_PATTERN n= 1  pos= 3  pattern=1111000000000000
    LED_MATRIX_PATTERN n= 1  pos= 4  pattern=1111100000000000
    LED_MATRIX_PATTERN n= 1  pos= 5  pattern=1111110000000000
    LED_MATRIX_PATTERN n= 1  pos= 6  pattern=1111111000000000
    LED_MATRIX_PATTERN n= 1  pos= 7  pattern=1111111100000000
    LED_MATRIX_PATTERN n= 1  pos= M  pattern=1111111110000000
    LED_MATRIX_PATTERN n= 1  pos= 8  pattern=1111111110000000
    LED_MATRIX_PATTERN n= 1  pos= 9  pattern=1111111111000000
    LED_MATRIX_PATTERN n= 1  pos=10  pattern=1111111111100000
    LED_MATRIX_PATTERN n= 1  pos=11  pattern=1111111111110000
    LED_MATRIX_PATTERN n= 1  pos=12  pattern=1111111111111000
    LED_MATRIX_PATTERN n= 1  pos=13  pattern=1111111111111100
    LED_MATRIX_PATTERN n= 1  pos=14  pattern=1111111111111110
    LED_MATRIX_PATTERN n= 1  pos=15  pattern=1111111111111111
    
    
    LED_MATRIX_PATTERN n= 4  pos= 0  pattern=0111110000000000
    LED_MATRIX_PATTERN n= 4  pos= 1  pattern=0111110000000000
    LED_MATRIX_PATTERN n= 4  pos= 2  pattern=0111110000000000
    LED_MATRIX_PATTERN n= 4  pos= 3  pattern=0111110000000000
    LED_MATRIX_PATTERN n= 4  pos= 4  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos= 5  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos= 6  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos= 7  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos= M  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos= 8  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos= 9  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos=10  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos=11  pattern=0000000000000000
    LED_MATRIX_PATTERN n= 4  pos=12  pattern=0000000000111110
    LED_MATRIX_PATTERN n= 4  pos=13  pattern=0000000000111110
    LED_MATRIX_PATTERN n= 4  pos=14  pattern=0000000000111110
    LED_MATRIX_PATTERN n= 4  pos=15  pattern=0000000000111110
    ##################################################
    ###Note that ^section == 0 is called after boot###
    #### Section 0 ####
    if ^section == 0
    	log "running section0"
    #initialize all banks to 1
    	log "call bank 1 for all parameters"
        set ^bank 1
    	exec_meta RunSection:1
    
       exit
    endif
    
    #####################################
    ###   Store encoder values bank 1 ###
    if ^bank == 1
        LOG "First Bank"
    		set LED:1001 ENC:1 
    		set LED:1002 ENC:2
    
    #####################################
    ###   Store encoder values bank 2 ###
    elsif ^bank == 2
        LOG "Second Bank"
    		set LED:1017 ENC:1
    endif
    exit
    COND_LABEL range
    COND <30   "Lo "
    COND <50   "32'"
    COND <75   "16'"
    COND <100  "8'"
    COND <110  "4'"
    COND <122  "2'"
    COND_ELSE  "2'"
    
    COND_LABEL volume
    COND <5   "0 "
    COND <10  "1 "
    COND <21  "2 "
    COND <43  "3 "
    COND <50  "4 "
    COND <64  "5 "
    COND <75  "6 "
    COND <85  "7 "
    COND <106 "8 "
    COND <112 "9 "
    COND <127 "10"
    COND_ELSE "10"

     

  4. I have started a small project with a LRE8x2 and I have run into a problem where LED rings stay on after bank switching.

    I am using this .NGR code to deactivate all encoders then only activate the ones I want to use. Can someone confirm this is the correct usage of this line? It seems to work.

    set_active (id)ENC:1..16 0

     Problem is when switching from say bank 3 to bank 1 and bank 1 uses fewer encoders, the LED matrix stays on for the inactivate encoders with its last value from the previous bank. Ideally, I'd like to switch off all LED rings and then only the ones I need will be activated from the .NGC script. Could a similar line of code could do it in the .NGR?

  5. 17 hours ago, Karg said:

    Thanks. what I got is that you just used a different cable?

    What worked for me was because I’m using a powered hub to power the seq I had to remove the data pins from the port that powers the seq. I’m suspecting the hub was generating some interference on these lines and corrupting the OTG input.

    Hope that helps

    • Like 1
  6. I notice if you set LayB to Ctrl while you are setting up the track and then INIT, LayB reverts back to Roll. 

    This is from the changelog:

    Quote
    • New parameter layer "Ctrl" allows to change track parameters as documented in the doc/mbseqv4_cc_implementation.txt table (previously this was only possible from a dedicated loopback track).

    It seems like it is buggy, I got the same result as OP but I usually set up a drum track and never touch it again, changing the number of parameters/steps will result in loosing the track because it needs to be INIT again to be setup for the new values resulting in all input being lost.

  7. INFO: controller      : Command do "show_editor (('tracks_editor',), {})"
    INFO: mbs4edit.py: show_editor tracks_editor 1
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Users\xxxx\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1885, in __call__
        return self.func(*args)
      File "C:\Users\xxxx\PycharmProjects\MBSeq_Ed\view_tk\menus.py", line 41, in open_sdcard
        name = filedialog.askdirectory()
    NameError: name 'filedialog' is not defined

    I tried running this and got this error. I know nothing about Python but thought it would be interesting to give it a try. On a Win10 computer I installed Python then PyCharm and then installed the required ttkthenmes from PyCharm. The program ran and the window opens all tabs etc. It works but it will not open a sdcard, I just get this error. Should it run from this setup or should I try on a Linux dist?

  8. Looks like it should work, all leds are behaving correctly. Did you try to reflash the firmware? And maybe look at the monitor windows in MIOS for incoming and outgoing notes. The messages about remote access might be a clue, but I don’t know if the V4L has remote access like the SeqV4+ has.

  9. #attempt to make a small synth switcher
    
    RESET_HW
    
    LCD "%C@(1:1:1)vo.B vo.K  iPad syn4"
    
    #setup encoder
    ENC n=  1   sr= 1 pins=7:6   type=detented3
    
    #disable router nodes
    ROUTER n= 1   src_port=IN1   src_chn=0   dst_port=OUT1  dst_chn=0
    ROUTER n= 2   src_port=IN1   src_chn=0   dst_port=OUT3  dst_chn=0
    ROUTER n= 3   src_port=IN1   src_chn=0   dst_port=OUT4  dst_chn=0
    ROUTER n= 4   src_port=IN2   src_chn=0   dst_port=OUT3  dst_chn=0
    ROUTER n= 5   src_port=IN2   src_chn=0   dst_port=OUT4  dst_chn=0
    ROUTER n=10   src_port=SPI4  src_chn=0   dst_port=OUT1  dst_chn=0
    ROUTER n=11   src_port=SPI4  src_chn=0   dst_port=OUT1  dst_chn=0
    ROUTER n=12   src_port=SPI4  src_chn=0   dst_port=OUT1  dst_chn=0
    ROUTER n=13   src_port=USB1  src_chn=0   dst_port=OUT1  dst_chn=0
    ROUTER n=14   src_port=USB1  src_chn=0   dst_port=OUT2  dst_chn=0
    ROUTER n=15   src_port=USB1  src_chn=0   dst_port=OUT3  dst_chn=0
    ROUTER n=16   src_port=USB1  src_chn=0   dst_port=OUT4  dst_chn=0
    
    #get midi events from port USB1
    EVENT_RECEIVER id=1  fwd_id=SENDER:1 type=NoteOn chn=1  key=any  ports=1000000000000000
    
    #trigger different sections
    EVENT_BUTTON id=5 hw_id=5  radio_group=1 button_mode=Toggle range=1:1 value= 1 label="@(1:1:2)  *    o     o    o "
    EVENT_BUTTON id=6 hw_id=6  radio_group=1 button_mode=Toggle range=2:2 value= 0 label="@(1:1:2)  o    *     o    o " 
    EVENT_BUTTON id=3 hw_id=3  radio_group=1 button_mode=Toggle range=3:3 value= 0 label="@(1:1:2)  o    o     *    o "
    EVENT_BUTTON id=4 hw_id=4  radio_group=1 button_mode=Toggle range=4:4 value= 0 label="@(1:1:2)  o    o     o    * "
    
    #send midi events to port usb1 if button  pressed
    EVENT_SENDER  id=1 if_equal=Button:5:1  type=NoteOn chn=1   key=any  ports=1000000000000000
    EVENT_SENDER  id=1 if_equal=Button:6:2  type=NoteOn chn=2   key=any  ports=1000000000000000
    EVENT_SENDER  id=1 if_equal=Button:3:3  type=NoteOn chn=3   key=any  ports=1000000000000000
    EVENT_SENDER  id=1 if_equal=Button:4:4  type=NoteOn chn=4   key=any  ports=1000000000000000
    
    
    
    
      
    
    
    
    
    
    

    This is my staring point. It works but the type=NoteOn parameter in the EVENT_SENDER line needs replacing with something to allow all midi events to pass. I'm sure I'm missing something simple here 

  10. Quote

    This one is especially useful in conjunction with EVENT_RECEIVER for converting or just 1:1 forwarding incoming MIDI event values.

    I'm trying to code a simple switcher in NG and find myself stuck. 4 buttons just select a synth on a channel, but I can't find the Event_Sender setting that will allow all midi events to pass through as stated in the .NGC document. 

  11. Hi Andy
    Here's the controllers I'm testing with. Oxygen 8 V2, Samson Graphite M25, Keystation 61es. The first 2 worked in my V4 setup, I installed a switch that put the core into host mode by grounding the sense pin on the core micro USB, and I could flash the core with updates switching from host to slave through the same USB port.
    Seeing and selecting a controller in MIOS could be normal. Things are still the same with the computer out of the picture though, the problem remains that the V4+ does not go into host mode.

  12. I'm trying to understand why my SeqV4+ OTG does not work. There is no activity on USB1 in the midi monitor
    With the switch is in the up position I can flash the core.  With the controller plugged into USB A port and the switch down, no midi activity
    The jumper (J8) is in place and my controller is powered
    The seq settings are correct and if I plug the controller into the midi port IN1 it's working and recording from the controller

    I'm powering the Seq from a powered USB hub connected to the USB B port and a computer and interestingly the midi data is being passed from the USB A port (controller) to USB B (hub) and you can view the controller midi data in MIOS Studio.

    I have tried 3 different controllers, no midi activity on USB.

×
×
  • Create New...