jjonas

Members
  • Content count

    411
  • Joined

  • Last visited

Community Reputation

47 Excellent

About jjonas

  • Rank
    MIDIbox Tweaker

Profile Information

  • Gender Not Telling
  1. Maximum number of syxdump positions?

    I didn't make any progress after the last message I wrote, unfortunately. I don't remember the details anymore, but based on what I wrote above — that sending 4000 bytes from the computer works ok, but sending a somewhat smaller number of bytes from the synth doesn't — I think I concluded that it's too much work for too unlikely gains. One of the reasons for this lack of faith is that the synth in question, DSI Tetra, has some problems, or at least some unpolished characteristics, with the combo mode. That's why I think it's possible that the syxdump problems might be because of the implementation of the synth, and that there's nothing I can do on the MBNG side. After all, a big test file dump from the computer to the MBNG works ok.
  2. Maximum number of syxdump positions?

    I uncommented all RECEIVERs and SENDERs except for one RECEIVER that receives the dump. My setup is such that the dump from the synth goes through a SEQv4 (v4+.095) before reaching the NG. If I bypass the SEQv4+ and put the dump directly into the NG, there doesn't seem to be dropped bytes, but if the dump goes through SEQv4+, some bytes (somewhere after the 1000 bytes mark) would seem to drop. The router on the relevant ports on the SEQv4+ is all channels in, all channels out (not sure if that affects sysex). Is it expected that routing the dump through the SEQv4+ could cause problems? The seq's info page shows CPU load 15% during the dump and no registered drops. UPDATE: I noticed today (13.2.) that even though I get the dump directly into the NG (and with only one receiver event) some bytes are jumping around between requests. So it might not have anything to do with SEQv4. I tried sending a 4000 byte test file from the computer to NG, that seemed to work ok, maybe I'll have to try different midi cables... UPDATE2: I tried 4 different midi cables, no difference. The next thing to try is to dump the data on the computer and diff the files to see if it's the synth that's sending inconsistent dumps.
  3. understanding the .ngc code

    I think what's limited to 8 characters is the label variable (like ^destpane), not the actual string that's displayed on the LCD. In your example above you have strings that are more than 8 characters ("VCO1 FREQ" has 9 characters), and in fact you're not limited to 8 characters with the "VCO1 FREQ" style texts you want to show on the LCD. The variable length in characters (^destpane) and the string length in characters ("VCO1 frequency") are not related, so you can have short variable names and long strings for them.
  4. understanding the .ngc code

    I ran into this a while ago. From the docs for NGL:  
  5. Hi, I trying to pick parameter values from a sysex dump that's over 1000 bytes long (a DSI Tetra combo edit buffer dump), is that too much for syxdump_pos? It's not possible to request a smaller slice. Requesting and receiving 439 bytes (normal mode edit buffer dump) seems to work ok, but with the <1000 dump I'm getting strange results at least from byte 137 onwards for some reason. Parameters values that should be in bytes one after the other are not; it appears as if some bytes are missing in between. For the moment I'd just like to determine whether or not it's a syxdump_pos limitation that might be causing the behaviour.
  6. Not sure if this old thread is relevant anymore, but since it's pinned, I'll mention it here: I have three setups which take 41%, 44% and 95% of the available memory (64k) and contain 472, 569 and 1037 events respectively (as reported by MIOS Studio). I had to comment out some events in the last setup to make it fit (1066 events was a couple too much!). However, I don't require any changes, I didn't have to let go of anything important.
  7. Change Main Encoder Function

    If you want to change the code to effect this, I cannot help, but the patch that comes up after power-on is saved with the emsemble.
  8. Sender and if_equal

    Works!
  9. Sender and if_equal

    Thanks! I will be able to check this next Friday when I'm back home.
  10. Sender and if_equal

    The reason why the sender id's are the same: In this TK's example on if_equal the id's are the same for each command. I assume this works because the conditions are mutually exclusive, so that only one of the events will be triggered at any one time. The same id for all senders works ok with one button, but not with one encoder, which leads me to think it's not the sender id that's the problem.  
  11. Sender and if_equal

    The following setup is the same as above, only for a button instead of an encoder (the encoder setup is commented out). The button if_equal setup works as expected,  the encoder one doesn't, even though to me they seem the same. The encoder value changes and the label updates on the display, but no receiver is receiving; for some reason the if_equal condition doesn't trigger like it does for the equivalent (so it seems to me) button value condition. RESET_HW ENC n=1   sr=1 pins=0:1   type=detented3 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= 6   src_port=IN3   src_chn=0   dst_port=OUT3  dst_chn=0 ROUTER n= 7   src_port=IN3   src_chn=0   dst_port=OUT4  dst_chn=0 ROUTER n= 8   src_port=IN4   src_chn=0   dst_port=OUT3  dst_chn=0 ROUTER n= 9   src_port=IN4   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 MAP1 1 5 6 9 10 12 16 EVENT_BUTTON  id=33 hw_id=33  range=map1  value=1   label="@(1:35:1)Ch: %02d@(1:34:2)^synth"  button_mode=Toggle EVENT_ENC     id=1  hw_id=1   range=1:16  value=1   label="@(1:35:1)Ch: %02d@(1:34:2)^synth" # receive on channel 1 on port 1 EVENT_RECEIVER id=1  fwd_id=SENDER:1  fwd_to_lcd=1  type=NoteOn chn=1  key=any  lcd_pos=1:1:1  label="Receiver%3i: %e"  ports=0000100000000000 # send on channel 6 on ports 3-4 EVENT_SENDER  id=1   if_equal=Button:33:1  fwd_to_lcd=1  type=NoteOn chn=1   key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 EVENT_SENDER  id=1   if_equal=Button:33:5  fwd_to_lcd=1  type=NoteOn chn=5   key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 EVENT_SENDER  id=1   if_equal=Button:33:6  fwd_to_lcd=1  type=NoteOn chn=6   key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 EVENT_SENDER  id=1   if_equal=Button:33:9  fwd_to_lcd=1  type=NoteOn chn=9   key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 EVENT_SENDER  id=1   if_equal=Button:33:10 fwd_to_lcd=1  type=NoteOn chn=10  key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 EVENT_SENDER  id=1   if_equal=Button:33:12 fwd_to_lcd=1  type=NoteOn chn=12  key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 EVENT_SENDER  id=1   if_equal=Button:33:16 fwd_to_lcd=1  type=NoteOn chn=16  key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 # EVENT_SENDER id=1  if_equal=Enc:1:1      fwd_to_lcd=1  type=NoteOn chn=1   key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 # EVENT_SENDER id=1  if_equal=Enc:1:5      fwd_to_lcd=1  type=NoteOn chn=5   key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 # EVENT_SENDER id=1  if_equal=Enc:1:6      fwd_to_lcd=1  type=NoteOn chn=6   key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 # EVENT_SENDER id=1  if_equal=Enc:1:9      fwd_to_lcd=1  type=NoteOn chn=9   key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 # EVENT_SENDER id=1  if_equal=Enc:1:10     fwd_to_lcd=1  type=NoteOn chn=10  key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 # EVENT_SENDER id=1  if_equal=Enc:1:12     fwd_to_lcd=1  type=NoteOn chn=12  key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000 # EVENT_SENDER id=1  if_equal=Enc:1:16     fwd_to_lcd=1  type=NoteOn chn=16  key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000
  12. Sender and if_equal

    Hi, I'm trying to use an encoder to select the outgoing midi channel by using receiver, sender and if_equal. I'm able to change the channel in a "static" way, regardless of the encoder value, but I'm unsuccessful in trying to use if_equal to control which sender gets activated. The following setup (with only one sender and router routings disabled) works if I remove the if_equal=Enc:1:1. If it's in, the receiver does work, but the sender won't send anything, no matter what the encoder value is. Am I thinking this the right way? RESET_HW ENC n=1   sr=1 pins=0:1   type=detented3 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= 6   src_port=IN3   src_chn=0   dst_port=OUT3  dst_chn=0 ROUTER n= 7   src_port=IN3   src_chn=0   dst_port=OUT4  dst_chn=0 ROUTER n= 8   src_port=IN4   src_chn=0   dst_port=OUT3  dst_chn=0 ROUTER n= 9   src_port=IN4   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 # select outgoing channel EVENT_ENC id=1  hw_id=1  value=1  range=1:16  label="@(1:35:1)Ch: %02d@(1:34:2)^synth" # receive on channel 1 on port 1 EVENT_RECEIVER id=1  fwd_id=SENDER:1  fwd_to_lcd=1  type=NoteOn chn=1  key=any  lcd_pos=1:1:1  label="Receiver%3i: %e"  ports=0000100000000000 # send on channel 6 on ports 3-4 EVENT_SENDER   id=1  if_equal=Enc:1:1  fwd_to_lcd=1  type=NoteOn chn=6  key=any   lcd_pos=1:1:2  label="Sender%3i:   %e"  ports=0000001100000000
  13. Giveway for TK, last bits, take them please !

    First two giveaways (3 DINS + 1 DOUT) to me please!
  14. Unexpected encoder behaviour

    Works!
  15. Unexpected label behaviour

    Thanks, it's working now!