macsaif

Members
  • Content count

    49
  • Joined

  • Last visited

Community Reputation

0 Neutral

About macsaif

  • Rank
    MIDIbox Newbie
  1. Starting up the dual manual organ

    I have tried to send CC 123-All notes off event but the Gemini doesnot respond to that. Is there any simple way to send Note off evoent to defined Midi Channel from key 0 to 127? In worst case I will write 4x128 rows sending Note off from CH1-4 for allnotes.
  2. Starting up the dual manual organ

    Thank you for help. Now it works. Only one think is remaining. When I am changing the midi channel mapping it should send some all keys off signal because if there is some key pressed it keeps hanging (no key off signal is sent). Is there any solution? If somebody is interested there is the code .NGC: RESET_HW SRIO num_sr=6 KEYBOARD n=1   rows=8  dout_sr1=1  dout_sr2=2  din_sr1=1  din_sr2=2 \                din_inverted=0  break_inverted=0  din_key_offset=32 \                scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=36 \                delay_fastest=0  delay_fastest_black_keys=0  delay_slowest=100 KEYBOARD n=2   rows=12  dout_sr1=3  dout_sr2=4  din_sr1=3  din_sr2=4 \                din_inverted=1  break_inverted=0  din_key_offset=32 \                scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=28 \                delay_fastest=1  delay_fastest_black_keys=0  delay_slowest=140 MAP1/BYTEI  0:0 1:20 20:60 60:90 90:110 118:127 EVENT_KB id=1 hw_id=1  type=NoteOn chn=1 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:1 EVENT_KB id=2 hw_id=2  type=NoteOn chn=1 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:2 EVENT_KB id=3 hw_id=2  type=NoteOn chn=1 key=any use_key_number=1 range=49:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:2 EVENT_KB id=4 hw_id=2  type=NoteOn chn=1 key=any use_key_number=1 range=0:49  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:3 EVENT_SENDER id=10 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000 EVENT_SENDER id=11 hw_id=1 type=NoteOn chn=4 key=any use_key_number=1 range=0:127 ports=1000110000000000 EVENT_SENDER id=12 hw_id=2 type=NoteOn chn=4 key=any use_key_number=1 range=0:127 ports=1000110000000000 EVENT_SENDER id=13 hw_id=2 type=NoteOn chn=2 key=any use_key_number=1 range=0:127 ports=1000110000000000 EVENT_SENDER id=14 hw_id=2 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000 EVENT_SENDER id=15 hw_id=3 type=NoteOn chn=3 key=any use_key_number=1 range=0:127 ports=1000110000000000 #AIN enable_mask=111111 #AIN pinrange=0:18:3800 #AIN pinrange=1:18:3800 #AIN pinrange=2:18:3800 #AIN pinrange=3:18:3800 #AIN pinrange=5:18:3800 #AIN pinrange=4:1500:2500:spread_center #EVENT_AIN id=1  type=CC  chn= 4 cc= 1  range=127:0 ports=1000110000000000 #EVENT_AIN id=5 type=PitchBend  chn= 4        range=0:16383  ports=1000110000000000 #EVENT_AIN id=2  type=CC  chn= 1 cc= 11  range=0:127 ports=1000110000000000 #EVENT_AIN id=3  type=CC  chn= 4 cc= 64  ain_mode=Switch range=0:127 ports=1000110000000000 #EVENT_AIN id=4  type=CC  chn= 4 cc= 11 range=0:127 ports=1000110000000000 #EVENT_AIN id=6  type=CC  chn= 1 cc= 64  ain_mode=Switch range=0:127 ports=1000110000000000 DIO  port=J10A  emu_din_sr=5 DIO  port=J10B  emu_din_sr=6 EVENT_BUTTON id=40  hw_id=40  type=Meta meta=KbBreakIsMake:1   EVENT_BUTTON id=38 hw_id=38  type=Meta meta=KbBreakIsMake:2   EVENT_BUTTON id=39  hw_id=39  type=Meta meta=RunSection:1    EVENT_BUTTON id=37 hw_id=37   EVENT_BUTTON id=35  hw_id=35     EVENT_BUTTON id=36  hw_id=36     EVENT_BUTTON id=33  hw_id=33   EVENT_BUTTON id=42  hw_id=42 EVENT_BUTTON id=34  hw_id=34    EVENT_BUTTON id=48  hw_id=48     EVENT_BUTTON id=46  hw_id=46 EVENT_BUTTON id=41  hw_id=41 EVENT_BUTTON id=43  hw_id=43     And .NGR: if ^section == 0  set_active (id)KB:1 1  set_active (id)KB:2 1  set_active (id)KB:3 0  set_active (id)KB:4 0  set_active (id)SENDER:10 1  set_active (id)SENDER:11 0  set_active (id)SENDER:12 1 set_active (id)SENDER:13 0 set_active (id)SENDER:14 0 set_active (id)SENDER:15 0 endif if ^section == 1 if BUTTON:37 < 45 set_kb_transpose KB:1 0 else if BUTTON:35 < 45 if BUTTON:36 < 45 set_kb_transpose KB:1 12 else set_kb_transpose KB:1 24 endif else if BUTTON:36 < 45 set_kb_transpose KB:1 244 else set_kb_transpose KB:1 232 endif endif endif if BUTTON:33 < 45 set_kb_transpose KB:2 0 else if BUTTON:42 < 45 if BUTTON:34 < 45 set_kb_transpose KB:2 12 else set_kb_transpose KB:2 24 endif else if BUTTON:34 < 45 set_kb_transpose KB:2 244 else set_kb_transpose KB:2 232 endif endif endif if BUTTON:48 < 45 set_kb_velocity_map KB:2 1 else set_kb_velocity_map KB:2 2 endif if BUTTON:46 < 45  set_active (id)KB:1 1  set_active (id)KB:2 1  set_active (id)KB:3 0  set_active (id)KB:4 0  set_active (id)SENDER:10 1  set_active (id)SENDER:11 0  set_active (id)SENDER:12 1 set_active (id)SENDER:13 0 set_active (id)SENDER:14 0 set_active (id)SENDER:15 0 else if BUTTON:41 < 45 if BUTTON:43 < 45  set_active (id)KB:1 1  set_active (id)KB:2 1  set_active (id)KB:3 0  set_active (id)KB:4 0  set_active (id)SENDER:10 1  set_active (id)SENDER:11 0  set_active (id)SENDER:12 0 set_active (id)SENDER:13 1 set_active (id)SENDER:14 0 set_active (id)SENDER:15 0 else  set_active (id)KB:1 1  set_active (id)KB:2 1  set_active (id)KB:3 0  set_active (id)KB:4 0  set_active (id)SENDER:10 1  set_active (id)SENDER:11 0  set_active (id)SENDER:12 1 set_active (id)SENDER:13 0 set_active (id)SENDER:14 1 set_active (id)SENDER:15 0 endif else if BUTTON:43 < 45  set_active (id)KB:1 1  set_active (id)KB:2 1  set_active (id)KB:3 0  set_active (id)KB:4 0  set_active (id)SENDER:10 0  set_active (id)SENDER:11 1  set_active (id)SENDER:12 0 set_active (id)SENDER:13 0 set_active (id)SENDER:14 1 set_active (id)SENDER:15 0 else  set_active (id)KB:1 1  set_active (id)KB:2 0  set_active (id)KB:3 1  set_active (id)KB:4 1  set_active (id)SENDER:10 1  set_active (id)SENDER:11 0  set_active (id)SENDER:12 0 set_active (id)SENDER:13 1 set_active (id)SENDER:14 0 set_active (id)SENDER:15 1 endif endif endif endif exit
  3. Starting up the dual manual organ

    Solved: EVENT_SENDER id=10 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000 use_key_number=1 was missing I have tried the split function,it works however the upper part lowest velocity value is 60, probably it has somethig with multiple usingofthe same hwkeyboard. The code for splitting is: EVENT_KB id=1 hw_id=1  type=NoteOn chn=1 key=any use_key_number=1 range=0:48  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:1 EVENT_KB id=2 hw_id=1  type=NoteOn chn=1 key=any use_key_number=1 range=49:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:2 EVENT_SENDER id=10 hw_id=1 type=NoteOn chn=3 key=any use_key_number=1 range=0:127 ports=1000110000000000 EVENT_SENDER id=11 hw_id=2 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000  
  4. Starting up the dual manual organ

    I have triedit....it is closertothe solution howeverthe situation is: 1. the velocity of the keypress changesthe note,the release(NoteOFF)is alwaysC-2 2. The key I am pressing is defining the velocity value For ex. C1 -gives velocity value 48, D1 - 50, E- 51...etc if I press slowly the key is for example C1 and fastly G5 etc but now there are the samevalues on both channels... Any idea?
  5. Starting up the dual manual organ

    and complete configuration for split mode (HW keyboard 2): RESET_HW SRIO num_sr=4 KEYBOARD n=1   rows=8  dout_sr1=1  dout_sr2=2  din_sr1=1  din_sr2=2 \                din_inverted=0  break_inverted=0  din_key_offset=32 \                scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=36 \                delay_fastest=0  delay_fastest_black_keys=0  delay_slowest=100 KEYBOARD n=2   rows=12  dout_sr1=3  dout_sr2=4  din_sr1=3  din_sr2=4 \                din_inverted=1  break_inverted=0  din_key_offset=32 \                scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=28 \                delay_fastest=1  delay_fastest_black_keys=0  delay_slowest=140 MAP1/BYTEI  0:0  1:20 20:60 60:90 90:110 118:127 EVENT_KB id=1 hw_id=2 type=NoteOn chn=3 key=any use_key_number=1 range=0:47  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000 EVENT_KB id=2 hw_id=2 type=NoteOn chn=2 key=any use_key_number=1 range=48:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000
  6. Starting up the dual manual organ

    Hello,   here is the complete .NGC file for layer configuration: RESET_HW SRIO num_sr=4 KEYBOARD n=1   rows=8  dout_sr1=1  dout_sr2=2  din_sr1=1  din_sr2=2 \                din_inverted=0  break_inverted=0  din_key_offset=32 \                scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=36 \                delay_fastest=0  delay_fastest_black_keys=0  delay_slowest=100 KEYBOARD n=2   rows=12  dout_sr1=3  dout_sr2=4  din_sr1=3  din_sr2=4 \                din_inverted=1  break_inverted=0  din_key_offset=32 \                scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=28 \                delay_fastest=1  delay_fastest_black_keys=0  delay_slowest=140 MAP1/BYTEI  0:0  1:20 20:60 60:90 90:110 118:127 EVENT_KB id=1 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000 EVENT_KB id=2 hw_id=1 type=NoteOn chn=4 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000
  7. Starting up the dual manual organ

    I have made a separate. NGC without any event changes. The NGC file contains only these 2 KB events. I have checked the layer and split function separately.  As I have said no any switching function applied in this. NGC file.  Frank
  8. Starting up the dual manual organ

    The layer: [13608.608] 90 45 14   Chn# 1  Note On  A-3  Vel:20 [13608.608] 93 45 3c   Chn# 4  Note On  A-3  Vel:60 [13608.681] 93 45 00   Chn# 4  Note Off A-3 (optimized) [13608.681] 93 45 00   Chn# 4  Note Off A-3 (optimized) [13613.072] 93 45 14   Chn# 4  Note On  A-3  Vel:20 [13613.072] 93 45 3c   Chn# 4  Note On  A-3  Vel:60 [13613.158] 93 45 00   Chn# 4  Note Off A-3 (optimized) [13613.158] 93 45 00   Chn# 4  Note Off A-3 (optimized)   The split: [13895.421] 92 28 5b   Chn# 3  Note On  E-1  Vel:91 [13895.548] 92 28 00   Chn# 3  Note Off E-1 (optimized) [13896.752] 92 56 6e   Chn# 3  Note On  D-5  Vel:110 [13896.881] 92 56 00   Chn# 3  Note Off D-5 (optimized)   The split point is 47(in earlier e-mail it was 67 however now it is changed to 47) C2youcansee that there is only signal to CHN3    
  9. Starting up the dual manual organ

    Yes, this is the logic and it works, the problem is somewhere else. I have tried the simple layer and split function and there are the following problems: Layer: I am assigning the KB1 and KB2 to HW ID 1 , KB1 to CH1 and KB2 to CH4 EVENT_KB id=1 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000 EVENT_KB id=2 hw_id=1 type=NoteOn chn=4 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000 1. At the first key press the midi event is sent to CH1 and CH4,then to other key presses are sending only to CH4 however each keypress is sending 2 on and 2 off signals to CH4 2. The other problem is that the 2 signals have different velocity value, it seems that the second key press event is sending higher velocity value, Split mode: EVENT_KB id=6 hw_id=2 type=NoteOn chn=3 key=any use_key_number=1 range=0:67  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000 EVENT_KB id=8 hw_id=2 type=NoteOn chn=2 key=any use_key_number=1 range=68:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000 It is sending only events to CH3 and not only until splitpoint however in whole range.   KB id 1 and 2 are assigned to the uppermanual and KB id 3-8 are assigned to the lower manual(73 key)    
  10. Starting up the dual manual organ

    Can I make 8 software keyboards and switching them based on the combination of 3 input bits? KB:1 - hardware kb1 to ch1 KB:2 - hardware kb1 to ch4 KB:3 - hardware kb2 to ch1 KB:4 - hardware kb2 to ch2 KB:5 - hardware kb2 to ch4 KB:6 - hardware kb2 lower part up to C2 to ch3 KB:7 - hardware kb2  upper part from C2 to ch1 KB:8 - hardware kb2  upper part from C2 to ch2   What happens when I am deactivating a KB and I have some keys pressed? I want to avoid some hanging notes when switching between configuration!
  11. Starting up the dual manual organ

    I am using the 16 digital inputs mapped to shift register 5 and 6. The transpose and BiM function is working. DIO 000, 001, 010 ...111 represents 3 bits from the 16 inputs.
  12. Starting up the dual manual organ

    I want to change the channell based on the combination of 3 inputs. The combinations are: 1. KB1 – CH1, Kb2 – CH4 ,     DIO- 000 2. KB1 – CH1, KB2 – CH2,    DIO-100 3. KB1 – CH1, KB2 – CH1 + CH4,   DIO-010 4. KB1 – CH1, KB2 – split at C2, lower part – CH3, Upper part – CH2,   DIO 101 5. KB1 – CH4, KB2 – split at C2, lower part – CH3, Upper part – CH1,  DIO- 111 6. KB1 – CH4, Kb2 – CH1, DIO- 011  
  13. Starting up the dual manual organ

    Is there anybody who has experience with using multiple ngc/ngr files and switching between them? Or any solution for changing of midi output channel assigned to the keybed?
  14. Starting up the dual manual organ

    The transpose problem is solved, thanks to T.K.: no negative values are allowed I had to use valuse between 128 and 255.   Next question: I am trying to apply the Midi channel changing function. My solution is to make 7 different .NGC/.NGR files. Each .NGC file will have different setting of KB1/2 to Midi channel 1-4 mapping. In NGR file I will call the different .NGC files (load xxx). I have tried  it however it seems it does not work. My questions: 1. If I call a new NGC file does it substitute the running Default NGHC file or the Default stays running? 2. Can I use the same event id numbers in all NGC files or I have to use different id numbers in each NGC file? 3. Is it a good solution or there is an easier way to do that function? Thank you Frank 
  15. Starting up the dual manual organ

    I am trying the transpose function switched by DIO register, it works however negative values are not supported. Here is my ngr file if ^section == 1 set_kb_transpose KB:2 12 endif if ^section == 2 set_kb_transpose KB:2 -12 endif if ^section == 3 set_kb_transpose KB:2 0 endif If I change the - 12 value for example to 24, it works however - values are not supported and it gives an error message. How can I make negative transposing?  Thank you in advance