Jump to content

Duggle

Frequent Writer
  • Posts

    992
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Duggle

  1. Now, to a closely related matter: For a bank change, I need to follow the bank change CC with the current ProgramChange+Dump request. but ###Bank Select -> Progchange -> Dump request EVENT_ENC id= 65 hw_id= 65 fwd_id=ENC:66 fwd_to_lcd=1 chn= 1 type=CC cc=0 range=0:7 ports=1000100000001000 enc_speed_mode=Slow:4 label="^banksel" this updates the program change LCD with the bank change value. Additionally, it does not result in the sending of ProgramChange, just bank CC. [edit] it does trigger the RunSection associated with ENC:66 though [/edit] I would just like to trigger transmission of the existing program change value. How to do this?
  2. Unfortunately I can't easily add another physical push button to the front panel (a Wilba PCB). Will it be possible for me assign this function to a gp button F1..F4?
  3. Works! (I thought I'd tried this) Thanks TK!
  4. I understand. A (just as) useful solution would be a "one touch" save that if hit before the pattern changes would result in the changes being kept. Is there a way (through an edit to the config) that would assign (even the session "save") such a function to a button? (without the separate action of going through a menu.)
  5. Going into Edit while a Song is playing works fine. The track view shows the notes of the track as you would expect, then when the pattern changes according to the Song you see the notes change, all good. Now if you change the notes, they change (again as you would expect), until the song moves into another pattern, but when the song returns the changes are gone, lost. Would it be possible (or indeed desirable) to have some kind of selectable autosave feature that allowed changed made (during Song mode as I have described) to be retained?
  6. Thanks, I'll add another interface to these port(s)!
  7. Ok, I've stripped down my NG files (a lot!). Unfortunately, it now requires around 6 to 13(?) downloads before a crash. It is, from what I can tell, very repeatable though. RESET_HW LCD "%C" #Bank selection EVENT_BUTTON id=8 fwd_id=LED:33 type=Meta meta=SetBank button_mode=OnOnly range=1:1 radio_group=1 value=1 EVENT_BUTTON id=7 fwd_id=LED:34 type=Meta meta=SetBank button_mode=OnOnly range=2:2 radio_group=1 EVENT_BUTTON id=6 fwd_id=LED:35 type=Meta meta=SetBank button_mode=OnOnly range=3:3 radio_group=1 EVENT_BUTTON id=5 fwd_id=LED:36 type=Meta meta=SetBank button_mode=OnOnly range=4:4 radio_group=1 #rgbled DOUT_MATRIX n=1 rows=4 inverted=1 sr_dout_sel1=1 sr_dout_r1=2 sr_dout_r2=5 sr_dout_g1=3 sr_dout_g2=6 sr_dout_b1=4 sr_dout_b2=7 led_emu_id_offset=1001 EVENT_LED value=127 id=1001 bank=1 rgb=15:0:0 EVENT_LED value=127 id=1002 bank=1 rgb=15:0:0 EVENT_LED value=127 id=1017 bank=1 rgb=15:0:0 EVENT_LED value=127 id=1018 bank=1 rgb=15:0:0 EVENT_LED value=127 id=1033 bank=1 rgb=15:0:0 EVENT_LED value=127 id=1034 bank=1 rgb=3:3:3 EVENT_LED value=127 id=1003 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1004 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1019 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1020 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1035 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1036 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1049 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1050 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1051 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1009 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1010 bank=1 rgb=15:5:0 EVENT_LED value=127 id=1005 bank=1 rgb=15:7:0 EVENT_LED value=127 id=1021 bank=1 rgb=15:7:0 EVENT_LED value=127 id=1037 bank=1 rgb=15:7:0 EVENT_LED value=127 id=1053 bank=1 rgb=15:7:0 EVENT_LED value=127 id=1013 bank=1 rgb=15:7:0 EVENT_LED value=127 id=1006 bank=1 rgb=7:15:0 EVENT_LED value=127 id=1022 bank=1 rgb=7:15:0 EVENT_LED value=127 id=1038 bank=1 rgb=7:15:0 EVENT_LED value=127 id=1054 bank=1 rgb=7:15:0 EVENT_LED value=127 id=1014 bank=1 rgb=7:15:0 EVENT_LED value=127 id=1052 bank=1 rgb=7:15:0 EVENT_LED value=127 id=1011 bank=1 rgb=7:15:0 EVENT_LED value=127 id=1012 bank=1 rgb=7:15:0 EVENT_LED value=127 id=1007 bank=1 rgb=0:15:0 EVENT_LED value=127 id=1023 bank=1 rgb=0:15:0 EVENT_LED value=127 id=1039 bank=1 rgb=0:15:0 EVENT_LED value=127 id=1055 bank=1 rgb=0:15:0 EVENT_LED value=127 id=1015 bank=1 rgb=0:15:0 EVENT_LED value=127 id=1008 bank=1 rgb=0:15:3 EVENT_LED value=127 id=1024 bank=1 rgb=0:15:3 EVENT_LED value=127 id=1040 bank=1 rgb=0:15:3 EVENT_LED value=127 id=1056 bank=1 rgb=0:15:3 EVENT_LED value=127 id=1016 bank=1 rgb=0:15:3 EVENT_LED value=127 id=1025 bank=1 rgb=15:0:3 EVENT_LED value=127 id=1041 bank=1 rgb=15:0:3 EVENT_LED value=127 id=1057 bank=1 rgb=15:0:3 EVENT_LED value=127 id=1026 bank=1 rgb=15:0:3 EVENT_LED value=127 id=1042 bank=1 rgb=7:0:15 EVENT_LED value=127 id=1058 bank=1 rgb=7:0:15 EVENT_LED value=127 id=1027 bank=1 rgb=3:0:15 EVENT_LED value=127 id=1043 bank=1 rgb=3:0:15 EVENT_LED value=127 id=1059 bank=1 rgb=3:0:15 EVENT_LED value=127 id=1028 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1044 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1060 bank=1 rgb=0:3:15 EVENT_LED value=127 id=1029 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1045 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1061 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1030 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1046 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1062 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1031 bank=1 rgb=0:7:7 EVENT_LED value=127 id=1047 bank=1 rgb=3:3:3 EVENT_LED value=127 id=1063 bank=1 rgb=3:3:3 EVENT_LED value=127 id=1032 bank=1 rgb=0:0:15 EVENT_LED value=127 id=1048 bank=1 rgb=0:0:15 EVENT_LED value=127 id=1064 bank=1 rgb=0:0:15 EVENT_LED id=2000 fwd_to_lcd=1 bank=1 lcd_pos=1:1:1 label="^HdBank1" ##commenting out the remaining lines seems to fix the crashes EVENT_LED id=2000 fwd_to_lcd=1 bank=2 lcd_pos=1:1:1 label="^HdBank2" EVENT_LED id=2000 fwd_to_lcd=1 bank=3 lcd_pos=1:1:1 label="^HdBank3" EVENT_LED id=2000 fwd_to_lcd=1 bank=4 lcd_pos=1:1:1 label="^HdBank4" NGL: LABEL HdBank1 "@(24:1:1) OSCILLATOR 1 @(2:1:1) OSCILLATOR 2 @(3:1:1)FILTER1 @(3:9:1) FILTER2@(4:1:1)Filter ADSR Amp@(17:1:2)OSC3 SUB @(18:1:2)MIXER @(18:9:2)VELOCITY@(19:1:2) VELOCITY@(20:1:2) OSC @(20:9:2) MISC " LABEL HdBank2 " " LABEL HdBank3 " " LABEL HdBank4 " " NGR (when the runsection in 0 is enabled the crash can happen....) if ^section == 0 exec_meta RunSection:2 exit endif if ^section == 15 LCD "@(1:1:1)about to..." LOG "about to..." delay_ms 1000 LCD "@(1:1:1) dump " LOG "dump" exit endif if ^section == 2 set LED:1049 127 set_rgb (id)LED:1049 15:0:0; delay_ms 100 set LED:1050 127 set_rgb (id)LED:1050 15:0:0; set LED:1049 127 set_rgb (id)LED:1049 15:3:0; delay_ms 100 set LED:1051 127 set_rgb (id)LED:1051 15:0:0; set LED:1050 127 set_rgb (id)LED:1050 15:3:0; set LED:1049 127 set_rgb (id)LED:1049 15:5:0; delay_ms 100 set LED:1052 127 set_rgb (id)LED:1052 15:0:0; set LED:1051 127 set_rgb (id)LED:1051 15:3:0; set LED:1050 127 set_rgb (id)LED:1050 15:5:0; set LED:1049 127 set_rgb (id)LED:1049 15:7:0; delay_ms 100 set LED:1053 127 set_rgb (id)LED:1053 15:0:0; set LED:1052 127 set_rgb (id)LED:1052 15:3:0; set LED:1051 127 set_rgb (id)LED:1051 15:5:0; set LED:1050 127 set_rgb (id)LED:1050 15:7:0; set LED:1049 127 set_rgb (id)LED:1049 3:15:0; delay_ms 100 set LED:1054 127 set_rgb (id)LED:1054 15:0:0; set LED:1053 127 set_rgb (id)LED:1053 15:3:0; set LED:1052 127 set_rgb (id)LED:1052 15:5:0; set LED:1051 127 set_rgb (id)LED:1051 15:7:0; set LED:1050 127 set_rgb (id)LED:1050 3:15:0; set LED:1049 127 set_rgb (id)LED:1049 3:15:3; delay_ms 100 set LED:1055 127 set_rgb (id)LED:1055 15:0:0; set LED:1054 127 set_rgb (id)LED:1054 15:3:0; set LED:1053 127 set_rgb (id)LED:1053 15:5:0; set LED:1052 127 set_rgb (id)LED:1052 15:7:0; set LED:1051 127 set_rgb (id)LED:1051 3:15:0; set LED:1050 127 set_rgb (id)LED:1050 3:15:3; set LED:1049 127 set_rgb (id)LED:1049 0:15:0; delay_ms 100 set LED:1056 127 set_rgb (id)LED:1056 15:0:0; set LED:1055 127 set_rgb (id)LED:1055 15:3:0; set LED:1054 127 set_rgb (id)LED:1054 15:5:0; set LED:1053 127 set_rgb (id)LED:1053 15:7:0; set LED:1052 127 set_rgb (id)LED:1052 3:15:0; set LED:1051 127 set_rgb (id)LED:1051 3:15:3; set LED:1050 127 set_rgb (id)LED:1050 0:15:0; set LED:1049 127 set_rgb (id)LED:1049 0:15:3; delay_ms 100 set LED:1056 127 set_rgb (id)LED:1056 15:3:0; set LED:1055 127 set_rgb (id)LED:1055 15:5:0; set LED:1054 127 set_rgb (id)LED:1054 15:7:0; set LED:1053 127 set_rgb (id)LED:1053 3:15:0; set LED:1052 127 set_rgb (id)LED:1052 3:15:3; set LED:1051 127 set_rgb (id)LED:1051 0:15:0; set LED:1050 127 set_rgb (id)LED:1050 0:15:3; set LED:1049 127 set_rgb (id)LED:1049 0:7:7; delay_ms 100 set LED:1056 127 set_rgb (id)LED:1056 15:5:0; set LED:1055 127 set_rgb (id)LED:1055 15:7:0; set LED:1054 127 set_rgb (id)LED:1054 3:15:0; set LED:1053 127 set_rgb (id)LED:1053 3:15:3; set LED:1052 127 set_rgb (id)LED:1052 0:15:0; set LED:1051 127 set_rgb (id)LED:1051 0:15:3; set LED:1050 127 set_rgb (id)LED:1050 0:7:7; set LED:1049 127 set_rgb (id)LED:1049 0:3:15; delay_ms 100 set LED:1056 127 set_rgb (id)LED:1056 15:7:0; set LED:1055 127 set_rgb (id)LED:1055 3:15:0; set LED:1054 127 set_rgb (id)LED:1054 3:15:3; set LED:1053 127 set_rgb (id)LED:1053 0:15:0; set LED:1052 127 set_rgb (id)LED:1052 0:15:3; set LED:1051 127 set_rgb (id)LED:1051 0:7:7; set LED:1050 127 set_rgb (id)LED:1050 0:3:15; set LED:1049 127 set_rgb (id)LED:1049 0:0:15; delay_ms 100 set LED:1056 127 set_rgb (id)LED:1056 3:15:0; set LED:1055 127 set_rgb (id)LED:1055 3:15:3; set LED:1054 127 set_rgb (id)LED:1054 0:15:0; set LED:1053 127 set_rgb (id)LED:1053 0:15:3; set LED:1052 127 set_rgb (id)LED:1052 0:7:7; set LED:1051 127 set_rgb (id)LED:1051 0:3:15; set LED:1050 127 set_rgb (id)LED:1050 0:0:15; set LED:1049 127 set_rgb (id)LED:1049 3:0:15; delay_ms 100 set LED:1056 127 set_rgb (id)LED:1056 3:15:3; set LED:1055 127 set_rgb (id)LED:1055 0:15:0; set LED:1054 127 set_rgb (id)LED:1054 0:15:3; set LED:1053 127 set_rgb (id)LED:1053 0:7:7; set LED:1052 127 set_rgb (id)LED:1052 0:3:15; set LED:1051 127 set_rgb (id)LED:1051 0:0:15; set LED:1050 127 set_rgb (id)LED:1050 3:0:15; set LED:1049 127 set_rgb (id)LED:1049 7:0:15 ; delay_ms 100 set LED:1056 127 set_rgb (id)LED:1056 0:15:0; set LED:1055 127 set_rgb (id)LED:1055 0:15:3; set LED:1054 127 set_rgb (id)LED:1054 0:7:7; set LED:1053 127 set_rgb (id)LED:1053 0:3:15; set LED:1052 127 set_rgb (id)LED:1052 0:0:15; set LED:1051 127 set_rgb (id)LED:1051 3:0:15; set LED:1050 127 set_rgb (id)LED:1050 7:0:15 ; set LED:1049 127 set_rgb (id)LED:1049 15:0:15 ; exit endif finally here's the upload batch file: Mios_Studio --batch --upload_file=default.ngc --upload_file=default.ngl --upload_file=default.ngr
  8. #this works EVENT_BUTTON id=1 fwd_id=LED:40 button_mode=OnOff type=Meta meta=RunSection:15 #this don't ###Dump request EVENT_BUTTON id=500 type=Meta meta=RunSection:15 button_mode=OnOff ####Progchange -> Dump request EVENT_ENC id= 66 hw_id= 66 fwd_id=BUTTON:500 fwd_to_lcd=1 chn=1 type=ProgramChange range=0:127 ports=1000100000001000 enc_speed_mode=Slow:4 label="^prgch" Here's the NGR if ^section == 15 LCD "@(1:1:1)about to..." LOG "about to..." delay_ms 1000 LCD "@(1:1:1) dump " LOG "dump" exit endif
  9. I've just bought a Mac Mini to replace the Windows XP laptop I use with my Synth rig. The XP MIDI USB driver nightmare has forced this. I'm new to mac but what is the best way to make a shortcut (alias) to MIOS Studio that has command line arguments?
  10. Looks like sufficient I/O. You might be advised to configure an Ainser8 for the faders (circuit has only 2 IC's) as the core's ADC is jittery.
  11. If I understand correctly 3 of 4 PCBs work perfectly, and 1 has ghosting plus a LED that never lights, right? I have some very minor ghosting in my own PCBs. I suspect it is because of a relatively slow switching of ULN drivers. The theory is that the drivers take a tiny fraction of a second too long to turn off, in which case the next column pattern (which is present on the previous row) becomes faintly visible. I think the timing overlap is very small, but sufficient to be seen with bright LEDs. As a test you could set inverted=0 in the matrix setup and bridge the appropriate driver pins. (To both diver IC's as the change to the DOUT_MATRIX will affect the whole PCB). I'm assuming you have sockets and can easily remove the ULNs to do this. In my situation I ignore the ghosting as it will be invisible once I fit the translucent acrylic front plates. I'll upload a picture of the diffusers. BTW, the LCD's with integrated RGB backlights are a very cool idea!
  12. Hi, so you have isolated the Encoder boards and have only that is faulty? Those adaptors are really nice! Recently I soldered 24(!) 16 way single-in-line header sockets to a long bus. It took many many hours. The good news is that at least 24 LCDs does work! (I had to adapt the interface to work though, let me know if you plan on connecting a large number and I'll explain what I did). The RGB matrix works great. If it was possible to illuminate the LCD Backlights with them, I think that's the way to go. I made diffusers from "opal" white acrylic, so that the area adjacent to the encoder and LCD shines different colours depending on the parameter. This approach has been very successful though.
  13. Can you link to circuit diagram?
  14. manual page What was not obvious to me is that the display (and the controls, I think) are totally available for custom use by default, until you hit the menu key, then you get these extra control and configuration settings. It also makes use of J10 for the buttons and encoder which means that it costs no extra DIN inputs.
  15. Here is my current rig: (MIDI are black arrows, blue are audio) So the NG is being configured as a synth editor. If I wish to see automation on the Encoder LEDrings and LCDs, I'll need another MIDI (connected from SEQ) to the (3rd) MIDI in of the NG, right? (the synths dont forward received data to MIDI out). Are MIDI I/O ports 3 and 4 available for this?
  16. If you really want to save money and only want 8 faders then you can connect directly to the core rather than Ainser64. LPC17Core(see J5a/b) Faders are pots in different shape. DOUTx4 for up to 32 LEDs (get PCBs from SmashTV's Avishowtech) DINx4 for 16 buttons + 1 encoder (will have 32-2-16=14 spare inputs left over, you may want them!) Have a look at the various projects on ucapps.de there are examples of connected buttons and encoders. Basically each DIN input has a pullup resistor on the PCB so that you just wire the button between the DIN pin and ground same with the encoder (which is basically 2 switches connected to a common pin). Speaking from many years experience, designing something right, the first time, before you've tried it, is an impossible task! Playing with the thing you always discover other possibilities etc,etc. So my advice is to prototype in a rough box or panel, trying different configurations etc, THEN build a nice box or fancy finished panel etc. MIDIbox NG is so incredibly flexible don't lock youself in to early decisions. LCD's can be gotten cheap on Ebay. The visual feedback really helps, the more the better. Have you considered including a SCS?
  17. If you want <=32 LEDs it's usually much easier just wire 1:1 using a DOUTx4 PCB (rather than wiring up a matrix) Likewise, <=32 buttons just wire 1:1 to DINx4 PCB. You can also wire extra DIN and DOUT PCBs to expand. Yes, matrix allows more I/O per shift registers but much more messy to wire manually. If you really want faders the Ainser is necessary, but otherwise have you considered rotary encoders instead of pots? Encoders require 2 DIN pin inputs each (i.e can wire 16 encoders per DINx4 PCB) They are much more versatile (fast, slow, etc) and benefit from total recall and work better with automation than pots. LED digits can be done. Have you considered LCD(s)?
  18. Yes, MIDIbox NG supports multiple banks. I didn't read the Livid marketing blurb for their controller, but with NG you can, for example, have a group of "radio buttons" (or an encoder dial) with LEDs to show which bank is current, and have all or some of the controls change their function according to the bank selection. The controls that are not in the currently selected bank are updated (in the background) based on the received MIDI data stream. The manual is a must read.
  19. I've suddenly started to experience Hard faults that appear to be happening during the NGL loading phase. LCD 1 says: !! HARD FAULT !! at PC=0x0000011b Up until this morning the whole batch upload of NG files has been extremely smooth. I have only been playing with a couple of lines of my NGC around triggering a RunSection. After the Hard fault, and power cycling, the NGL is present but empty. I repeat the batch upload (which re-writes the Default NGC,NGL, NGR files all at once) and the midi box fuctions normally. I repeat the batch upload again, and this time it Hard Faults, this time at 18%. Power cycle. Upload works. Next upload HardFaults. etc,etc. So the pattern is that the upload after powercycle works, the next one fails. OK (I think) I've found a cause!!! Last night I had introduced a routine in ^Section == 0 that flashed some LEDs. With this removed the problem has gone. It is very confusing because the problem only manifests on the second upload process after each power cycle. With the RunSection:0 removed I have uploaded repeatedly without the return of this problem. It seems as though having executed at ^Section == 0 leaves the environment corrupted in some way?
  20. Duggle

    NGL upload problem

    From the album: Duggle

  21. This works: EVENT_BUTTON id=1 fwd_id=LED:40 button_mode=OnOff type=Meta meta=RunSection:15 but any other kind of method to launch a RunSection I've tried has not succeeded. In particular I'd like to launch a RunSection following an encoder change: EVENT_ENC id= 66 hw_id= 66 fwd_id=BUTTON:1 fwd_to_lcd=1 chn=1 type=ProgramChange range=0:127 label="^prgch" I've tried to forward to other types of EVENT_ that have meta=RunSection but nothing works except the pressing the button that has meta=RunSection. What is a working method to forward from an encoder change to trigger a RunSection execution?
  22. I've just tried it again (with EVENT_SENDER after EVENT_ENC) and it seems to be producing the correct result. Put it down to some kind of "user error". Anyhow, thanks for clarifying.
  23. This sounds great! I'd use it. It looks as though it could be used for global change if it was called for every <id>. Very flexible.
  24. Duggle

    EVENT_DELAY?

    O.k. I'll try this. I didn't notice the "send SysEx..." looks good. I hesitated with the NGR method because I have these audition loops in runsections which I thought might block the action of the command. If the newly issued command breaks the loop that would be the best outcome. Will try it, and see!
×
×
  • Create New...