Jump to content

Marxon

Programmer
  • Posts

    474
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Marxon

  1. Hi all,

     

    is it possible to trigger a RunSection meta event via an incomming midi event?

    I tried

     

    
    EVENT_receiver id=1 chn=1 cc=62 type=meta  meta=runsection:1

    and

     

    EVENT_receiver  fwd_id=button:1 id=1 chn=1 cc=62 range=127:127 botton_mode=ononly
    EVENT_button button_mode=ononly id=1 type=meta  meta=runsection:1

     unfortunately both dont work.

    May someone can help me?

    Thanks a lot!

     

    Best regards

    Marxon

  2. Ok thank you again Thorsten!

    Its working without the CC too.
    I also managed the refresh problem.
    To sum up:
    I have
    -one "shift" button button id=26
    -two "encoder on/off" buttons hw_id=1024, hw_id=1017
    -one multi porpose encoder hw_id=1

    Pressing the "shift" button together with one "encoder on/off" button
    de/activates a function of the multi porpose encoder.

    .ngc

     

     

    EVENT_BUTTON  id=1371  hw_id=1024    button_mode=toggle range=0:127     Bank=2    type=meta      meta=runsection:101
    EVENT_BUTTON  id=1381  hw_id=1024                                     bank=2 chn=3    label="^std_btn"    fwd_id=LED:1217
        #Encoder 1 on/off
    EVENT_BUTTON  id=1372  hw_id=1017    button_mode=toggle range=0:127     Bank=2    type=meta      meta=runsection:102
    EVENT_BUTTON  id=1382  hw_id=1017                                     bank=2 chn=3    label="^std_btn"    fwd_id=LED:1218
        #Encoder 2 on/off
    EVENT_ENC     id=1371 hw_id=1    type=cc chn= 11 cc= 71 Bank=2    range= 0:127 enc_mode=Inc00Speed_Dec40Speed enc_speed_mode=fast:4 lcd_pos=1:1:1  label="^std_enc"
        #Multi porpose encoder function 1
    EVENT_ENC     id=1372 hw_id=1     type=cc chn= 11 cc= 72 Bank=2    range= 0:127 enc_mode=Inc00Speed_Dec40Speed enc_speed_mode=fast:4 lcd_pos=1:1:1  label="^std_enc"
        #Multi porpose encoder function 2
    EVENT_BUTTON id= 26 hw_id= 26      type=Meta   meta=SetBank  range=1:2  lcd_pos=1:1:1    label="^std_btn"
        # Shift Button

    .ngr

       

     

    if ^section == 101
        LOG "Volume 1"
        if (iD)BUTTON:1371 < 1
          set_active (id)Enc:1371 0
                     LOG "VolumeENC 1 off"
        else set_active (id)Enc:1371 1
          LOG "VolumeENC 1 on"
       endif
    endif
    if ^section == 102
        LOG "Volume 2"
        if (iD)BUTTON:1372 < 1
          set_active (id)Enc:1372 0
                     LOG "VolumeENC 2 off"
        else set_active (id)Enc:1372 1
          LOG "VolumeENC 2 on"
       endif
    endif

     



    Everything is working except that after release the shift button and press it again, then all encoders are "activated" again, regardless their previous state.

    I hope my problem is understandable if not i can write it in german again :)

     

    Best regards

    Marxon

  3. Ok i changed the .ngr
     

    if ^section == 2
      log "Section is 2"
        if (iD)BUTTON:1371 < 1
        set_active (id)Enc:1371 0
           log "deactivated"
        else
        set_active (id)Enc:1371 1
           log "activated"
        endif  
      endif
    

    This the output:

    • Hold button 70 pressed
      "Section is 2"
      "de/activated" (depending on actually status)
    •  Press  button1371
      "nothing"
    • Release button 70
      "de/activated" (status toggled)

    It seems Set_active is executed to late. 

    It should be executed after pressing button 1371.

     

  4. Hi Thorsten,

    somehow i killed the code, yesterday.
    Now i allways get this error:

    [385453.834] [MBNG_FILE_C:143] ERROR: '(iD)BUTTON' not found in event pool by 'if' command!
    [385453.835] [MBNG_FILE_C:143] ERROR: invalid left value '(iD)BUTTON' in 'if' command!
    [385453.836] [MBNG_FILE_R:143] stopped script execution due to previous error!

    No matter what button i use in line 143. Strange...
    Would you please take a look at the code?
    It happens at .ngc line 10
    Thank you very much!
     

    M³.zip

  5. Hi all,

    i use this script to change the function of enc=2 via button=1371 and button=1372.

     

    .ngc

    EVENT_BUTTON id= 70  hw_id= 70  type=Meta   meta=SetBank          range=1:2    meta=RunSection:2
    EVENT_BUTTON id=1371  hw_id=1024    button_mode=toggle range=0:127     Bank=2    type=NoteOn    chn=3    key=41    
    EVENT_BUTTON id=1372  hw_id=1017    button_mode=toggle range=0:127     Bank=2    type=NoteOn    chn=3    key=42    
    EVENT_ENC     id=   2 hw_id=  2     type=cc chn= 2 cc=111             range= 0:127
    EVENT_ENC     id=1371 hw_id=  2     type=cc chn=11 cc= 41 Bank=2    range= 0:127
    EVENT_ENC     id=1372 hw_id=  2     type=cc chn=11 cc= 42 Bank=2    range= 0:127
    

     

    .ngr
     

    if ^section == 2
      if (iD)BUTTON:1371 < 1
        set_active (id)Enc:1371 0
        else set_active (id)Enc:1371 1
      endif
    
      if (iD)BUTTON:1372 < 1
        set_active (id)Enc:1372 0
        else set_active (id)Enc:1372 1
      endif
    endif
    exit


    Now the problem:
    i have to push button=70 a second time before
    enc=1371 and enc=1372 get updated but i like them to update allready
    during hold down button=70 for the first time.
    How can i achieve this?


    Best regards
    Marxon


     
     

  6. Hi again,

     

    I guess that you don't want to use the snapshot function, because it would store/restore all EVENT values (which are not excluded from snapshot) into/from a single storage, right?

     

    Right!

     

    Then you should be able to copy the value of encoder 1 into this Event with
    set LED:3000 ENC:1
    And copy back with:
    set ENC:1 LED:3000

    So that's the purpose of the set command.

    I did not really figure out how the multibnk.ngc example works...

    Thanks

     

     

    Best regards

    Marxon

  7. Hi again,

     

    in my Midibox NG i use many controllers with multiple events (which are depending on other controller values)
    Now i wonder what is the better way in terms of performance:
    using banks or conditional events?
    Does it make a big difference?

     

     

    Thanks for your information

     

    Best regards

    Marxon

  8. Thanks for your suggestion Pete!
    Using a hardware workaround is a good idea.
    Google will know it for sure.
    But some minutes ago i ad this idea:
    What if i use the BPM output to cycle between two banks?
     

    EVENT_LED id=1  type=Meta   meta=CycleBank
    EVENT_LED id=2 hw_id=2 bank=1 type=NoteOn key=2    chn=1    Rgb=15:0:0
    EVENT_LED id=3 hw_id=2 bank=2 type=NoteOn key=2    chn=1    Rgb=0:0:0
  9. Hi Thorsten,

     

    this is my situation:

    led id=5 is a blinking "beat" led to visualize bpm which gets triggered with a repeating midi note Key=5.

    Now, if i send midi note Key=1 then i want led id=1 to blink at the same speed like led id=5

    and turn off if i release Key=1.

    If i send midi note Key=2 then i want led id=2 to blink at the same speed like led id=5

    and turn off if i release Key=2...

    This should be no big "timing issue", right?

  10. Hi all,

     

    To be short: :happy:

    I have five leds. Each one controlled by a midi note.

    EVENT_LED    id=1    type=NoteOn    key=1    chn=1
    EVENT_LED    id=2    type=NoteOn    key=2    chn=1
    EVENT_LED    id=3    type=NoteOn    key=3    chn=1
    EVENT_LED    id=4    type=NoteOn    key=4    chn=1
    EVENT_LED    id=5    type=NoteOn    key=5    chn=1


    Now i want that led 1 - 4 only turn on if the appropriate key and key 5 are received at the same time.

    I think the best way is to use Sender_ and Receiver_ instead of Led_events.

    But i dont get it working. May someone can help me out?
    Thanks a lot!

    Best regards
    Marxon

  11. OK. Thanks again!

    I wait for some 595s which i ordered on monday, then i can test more than 8 matrices.
    For the performance issue: i already have a STM32F4 Module and will built it these days.

     

    Best regards

    Marxon

  12. Hi Thorsten,

     

    Hi Marxon,

     

    this was related to a (stupid) programming error.

    Could you please check if this version works better?

    -> http://www.ucapps.de/mios32/midibox_ng_v1_028_pre1.zip

     

    Best Regards, Thorsten.

    do not be so hard on yourself.

    Yes with your pre release also matrix n=8 is working! Thank you!

    This leads me to another question:

    Is it possible to increase the maximum number of matrices from 8 to maybe 16?

     

    Marxon

  13. Hi Midiboxers,

     

    i have connected 40 Leds as a 5 row 8 colum matrix.

    Is it possible to combine multiple rows of a 2xDOUT Led Matrix to act as one big single row

    so that i can control them via one CC?

    Thanks for any suggestion!

     

    Best regards

    Marxon

×
×
  • Create New...