From 1b418aa8601a4cf5cdddba32bd05ca5bfbc86901 Mon Sep 17 00:00:00 2001 From: Ralf Stockmann Date: Thu, 4 Mar 2021 02:09:54 +0100 Subject: [PATCH] REAPER 6.24 Update --- ColorThemes/Default_6.0.ReaperThemeZip | Bin 22880566 -> 22889407 bytes Effects/analysis/gain_reduction_scope | 2 +- Effects/analysis/gfxanalyzer | 2 +- Effects/analysis/gfxscope | 2 +- Effects/analysis/gfxspectrograph | 2 +- Effects/dynamics/Ultraschall_Dynamics | 2 +- Effects/dynamics/general_dynamics | 2 +- Effects/ix/MIDI_DuplicateFilter | 4 +- Effects/ix/MIDI_KeyMap | 106 +++++++++++++++++++++++-- Effects/ix/MIDI_Variant | 10 ++- 10 files changed, 115 insertions(+), 17 deletions(-) diff --git a/ColorThemes/Default_6.0.ReaperThemeZip b/ColorThemes/Default_6.0.ReaperThemeZip index 804bfd8adb6fdc7a77814be1ae6dd973d70a77da..c04a07a4a71060290e0a7761e4c80b3d86ac63c6 100644 GIT binary patch delta 29062 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 VwhnU{<}!DVrB;2M1FBW){{b7iJJ0|C delta 26641 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 On%?T1pJ96It^Wu5S{5My diff --git a/Effects/analysis/gain_reduction_scope b/Effects/analysis/gain_reduction_scope index b6686bd5..02fbefb3 100644 --- a/Effects/analysis/gain_reduction_scope +++ b/Effects/analysis/gain_reduction_scope @@ -19,7 +19,7 @@ in_pin:right input 2 options:no_meter @init -gfx_ext_retina=1; +gfx_ext_retina == 0 ? gfx_ext_retina = 1; ext_nodenorm=1; recpos=0; gfx_clear=-1; diff --git a/Effects/analysis/gfxanalyzer b/Effects/analysis/gfxanalyzer index b4819083..a609d407 100644 --- a/Effects/analysis/gfxanalyzer +++ b/Effects/analysis/gfxanalyzer @@ -19,7 +19,7 @@ in_pin:right input options:no_meter @init -gfx_ext_retina=1.0; +gfx_ext_retina == 0 ? gfx_ext_retina = 1; ext_nodenorm=1; recpos=0; max_fft_size=32768; diff --git a/Effects/analysis/gfxscope b/Effects/analysis/gfxscope index f39c692a..9f09af03 100644 --- a/Effects/analysis/gfxscope +++ b/Effects/analysis/gfxscope @@ -15,7 +15,7 @@ in_pin:right input options:no_meter @init -gfx_ext_retina=1; +gfx_ext_retina == 0 ? gfx_ext_retina = 1; ext_nodenorm=1; recpos=0; gfx_clear=-1; diff --git a/Effects/analysis/gfxspectrograph b/Effects/analysis/gfxspectrograph index 4eae2c83..ac972199 100644 --- a/Effects/analysis/gfxspectrograph +++ b/Effects/analysis/gfxspectrograph @@ -32,7 +32,7 @@ bbBBBBBBBBbb--------bbBBBBBB */ @init -gfx_ext_retina=1; +gfx_ext_retina == 0 ? gfx_ext_retina = 1; fftsize=32768; recpos=0; gfx_clear=-1; diff --git a/Effects/dynamics/Ultraschall_Dynamics b/Effects/dynamics/Ultraschall_Dynamics index fd3de0a5..c6ff7218 100644 --- a/Effects/dynamics/Ultraschall_Dynamics +++ b/Effects/dynamics/Ultraschall_Dynamics @@ -35,7 +35,7 @@ out_pin:main R @init e=2.718281828459; gfx_clear=-1; -gfx_ext_retina = 1; +gfx_ext_retina == 0 ? gfx_ext_retina = 1; tab=0; // gain amount in dB, evenly divided over db_bottom..db_top tab.size == 0 ? ( // first-time initialization diff --git a/Effects/dynamics/general_dynamics b/Effects/dynamics/general_dynamics index cfd6350d..240ba107 100644 --- a/Effects/dynamics/general_dynamics +++ b/Effects/dynamics/general_dynamics @@ -23,7 +23,7 @@ out_pin:main R @init gfx_clear=-1; -gfx_ext_retina = 1; +gfx_ext_retina == 0 ? gfx_ext_retina = 1; tab=0; // gain amount in dB, evenly divided over db_bottom..db_top tab.size == 0 ? ( // first-time initialization diff --git a/Effects/ix/MIDI_DuplicateFilter b/Effects/ix/MIDI_DuplicateFilter index 6b8c041a..2148af74 100644 --- a/Effects/ix/MIDI_DuplicateFilter +++ b/Effects/ix/MIDI_DuplicateFilter @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright 2007 - 2011, Philip S. Considine * +* Copyright 2007 - 2021, Philip S. Considine * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 3 of the License, or * @@ -77,7 +77,7 @@ while : ( // Note off - tracker[note] -= 1; + tracker[note] > 0 ? tracker[note] -= 1; tracker[note] == 0 ? midisend(offset, msg1, msg23); ); ) diff --git a/Effects/ix/MIDI_KeyMap b/Effects/ix/MIDI_KeyMap index 83a19337..e0d3ab8f 100644 --- a/Effects/ix/MIDI_KeyMap +++ b/Effects/ix/MIDI_KeyMap @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright 2007 - 2011, Philip S. Considine * +* Copyright 2007 - 2021, Philip S. Considine * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 3 of the License, or * @@ -18,9 +18,9 @@ desc: MIDI Map To Key v2 [IXix] slider1:0<0,15,1{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>Input Channel slider2:/ix_keymaps:none:Mapping File -slider3:0<0,127,1{0: C0,1: C#0,2: D0,3: Eb0,4: E0,5: F0,6: F#0,7: G0,8: G#0,9: A0,10: Bb0,11: B0,12: C1,13: C#1,14: D1,15: Eb1,16: E1,17: F1,18: F#1,19: G1,20: G#1,21: A1,22: Bb1,23: B1,24: C2,25: C#2,26: D2,27: Eb2,28: E2,29: F2,30: F#2,31: G2,32: G#2,33: A2,34: Bb2,35: B2,36: C3,37: C#3,38: D3,39: Eb3,40: E3,41: F3,42: F#3,43: G3,44: G#3,45: A3,46: Bb3,47: B3,48: C4,49: C#4,50: D4,51: Eb4,52: E4,53: F4,54: F#4,55: G4,56: G#4,57: A4,58: Bb4,59: B4,60: C5,61: C#5,62: D5,63: Eb5,64: E5,65: F5,66: F#5,67: G5,68: G#5,69: A5,70: Bb5,71: B5,72: C6,73: C#6,74: D6,75: Eb6,76: E6,77: F6,78: F#6,79: G6,80: G#6,81: A6,82: Bb6,83: B6,84: C7,85: C#7,86: D7,87: Eb7,88: E7,89: F7,90: F#7,91: G7,92: G#7,93: A7,94: Bb7,95: B7,96: C8,97: C#8,98: D8,99: Eb8,100: E8,101: F8,102: F#8,103: G8,104: G#8,105: A8,106: Bb8,107: B8,108: C9,109: C#9,110: D9,111: Eb9,112: E9,113: F9,114: F#9,115: G9,116: G#9,117: A9,118: Bb9,119: B9,120: C10,121: C#10,122: D10,123: Eb10,124: E10,125: F10,126: F#10,127: G10}>Note In -slider4:0<0,127,1{0: C0,1: C#0,2: D0,3: Eb0,4: E0,5: F0,6: F#0,7: G0,8: G#0,9: A0,10: Bb0,11: B0,12: C1,13: C#1,14: D1,15: Eb1,16: E1,17: F1,18: F#1,19: G1,20: G#1,21: A1,22: Bb1,23: B1,24: C2,25: C#2,26: D2,27: Eb2,28: E2,29: F2,30: F#2,31: G2,32: G#2,33: A2,34: Bb2,35: B2,36: C3,37: C#3,38: D3,39: Eb3,40: E3,41: F3,42: F#3,43: G3,44: G#3,45: A3,46: Bb3,47: B3,48: C4,49: C#4,50: D4,51: Eb4,52: E4,53: F4,54: F#4,55: G4,56: G#4,57: A4,58: Bb4,59: B4,60: C5,61: C#5,62: D5,63: Eb5,64: E5,65: F5,66: F#5,67: G5,68: G#5,69: A5,70: Bb5,71: B5,72: C6,73: C#6,74: D6,75: Eb6,76: E6,77: F6,78: F#6,79: G6,80: G#6,81: A6,82: Bb6,83: B6,84: C7,85: C#7,86: D7,87: Eb7,88: E7,89: F7,90: F#7,91: G7,92: G#7,93: A7,94: Bb7,95: B7,96: C8,97: C#8,98: D8,99: Eb8,100: E8,101: F8,102: F#8,103: G8,104: G#8,105: A8,106: Bb8,107: B8,108: C9,109: C#9,110: D9,111: Eb9,112: E9,113: F9,114: F#9,115: G9,116: G#9,117: A9,118: Bb9,119: B9,120: C10,121: C#10,122: D10,123: Eb10,124: E10,125: F10,126: F#10,127: G10}>Note Out -slider5:0<0,1,1{No,Reload Now}>Reload Mapping +slider3:0<0,127,1{0: C0,1: C#0,2: D0,3: Eb0,4: E0,5: F0,6: F#0,7: G0,8: G#0,9: A0,10: Bb0,11: B0,12: C1,13: C#1,14: D1,15: Eb1,16: E1,17: F1,18: F#1,19: G1,20: G#1,21: A1,22: Bb1,23: B1,24: C2,25: C#2,26: D2,27: Eb2,28: E2,29: F2,30: F#2,31: G2,32: G#2,33: A2,34: Bb2,35: B2,36: C3,37: C#3,38: D3,39: Eb3,40: E3,41: F3,42: F#3,43: G3,44: G#3,45: A3,46: Bb3,47: B3,48: C4,49: C#4,50: D4,51: Eb4,52: E4,53: F4,54: F#4,55: G4,56: G#4,57: A4,58: Bb4,59: B4,60: C5,61: C#5,62: D5,63: Eb5,64: E5,65: F5,66: F#5,67: G5,68: G#5,69: A5,70: Bb5,71: B5,72: C6,73: C#6,74: D6,75: Eb6,76: E6,77: F6,78: F#6,79: G6,80: G#6,81: A6,82: Bb6,83: B6,84: C7,85: C#7,86: D7,87: Eb7,88: E7,89: F7,90: F#7,91: G7,92: G#7,93: A7,94: Bb7,95: B7,96: C8,97: C#8,98: D8,99: Eb8,100: E8,101: F8,102: F#8,103: G8,104: G#8,105: A8,106: Bb8,107: B8,108: C9,109: C#9,110: D9,111: Eb9,112: E9,113: F9,114: F#9,115: G9,116: G#9,117: A9,118: Bb9,119: B9,120: C10,121: C#10,122: D10,123: Eb10,124: E10,125: F10,126: F#10,127: G10}>-Note In +slider4:0<0,127,1{0: C0,1: C#0,2: D0,3: Eb0,4: E0,5: F0,6: F#0,7: G0,8: G#0,9: A0,10: Bb0,11: B0,12: C1,13: C#1,14: D1,15: Eb1,16: E1,17: F1,18: F#1,19: G1,20: G#1,21: A1,22: Bb1,23: B1,24: C2,25: C#2,26: D2,27: Eb2,28: E2,29: F2,30: F#2,31: G2,32: G#2,33: A2,34: Bb2,35: B2,36: C3,37: C#3,38: D3,39: Eb3,40: E3,41: F3,42: F#3,43: G3,44: G#3,45: A3,46: Bb3,47: B3,48: C4,49: C#4,50: D4,51: Eb4,52: E4,53: F4,54: F#4,55: G4,56: G#4,57: A4,58: Bb4,59: B4,60: C5,61: C#5,62: D5,63: Eb5,64: E5,65: F5,66: F#5,67: G5,68: G#5,69: A5,70: Bb5,71: B5,72: C6,73: C#6,74: D6,75: Eb6,76: E6,77: F6,78: F#6,79: G6,80: G#6,81: A6,82: Bb6,83: B6,84: C7,85: C#7,86: D7,87: Eb7,88: E7,89: F7,90: F#7,91: G7,92: G#7,93: A7,94: Bb7,95: B7,96: C8,97: C#8,98: D8,99: Eb8,100: E8,101: F8,102: F#8,103: G8,104: G#8,105: A8,106: Bb8,107: B8,108: C9,109: C#9,110: D9,111: Eb9,112: E9,113: F9,114: F#9,115: G9,116: G#9,117: A9,118: Bb9,119: B9,120: C10,121: C#10,122: D10,123: Eb10,124: E10,125: F10,126: F#10,127: G10}>-Note Out +slider5:0<0,1,1{---,Reload Now}>Reload Mapping in_pin:none out_pin:none @@ -66,6 +66,15 @@ mapFile != slider2 | 0 || reload == 1 ? ); file_close(fileHandle); ); + numMappings = 0; + i = 0; + loop + ( + 128, + map[i] != i ? numMappings += 1; + i += 1; + ); + slider4 = map[inputNote]; ); @@ -101,13 +110,11 @@ while // Substitute note value and pass on modified message midisend(offset, msg1, (msg23 & $xFF00) | map[note]); - ) : ( midisend(offset, msg1, msg23); // Not a note, pass thru ); - ) : ( @@ -118,3 +125,90 @@ while ); ); +///////////////////////////////////////////////////////////////////////////////////////////////// +@gfx 360 360 + +// Set up note name table +function InitNoteNames() + local(s, n, o) +( + // Set these up so we can get the note string by (note % 12) + 128 + strcpy(128, "C"); + strcpy(129, "C#"); + strcpy(130, "D"); + strcpy(131, "D#"); + strcpy(132, "E"); + strcpy(133, "F"); + strcpy(134, "F#"); + strcpy(135, "G"); + strcpy(136, "G#"); + strcpy(137, "A"); + strcpy(138, "A#"); + strcpy(139, "B"); + + s = 0; + loop + ( + 128, + n = s % 12; + o = (s / 12) | 0; + sprintf(s, "%s%d", n + 128, o); // n + 128 is the base string "C", "C#" etc. defined above + s += 1; + ); +); + +!gfxInitDone ? +( + InitNoteNames(); + gfx_a = 1; + gfx_r = gfx_g = gfx_b = 1; + rowHeight = gfx_texth * 1.5; + colWidth = 100; + + gfxInitDone = 1; +); + +count = 0; +marginL = 5; +marginT = 15; + +gfx_x = marginL; +gfx_y = 5; + +gfx_drawstr("Mapping"); + +marginT = 20; +gfx_line(marginL, marginT, gfx_w - 2 * marginL, marginT); + +marginT = 30; +numMappings > 0 ? +( + i = 0; + loop + ( + 128, + + noteRow = count % 12; + oct = (count / 12) | 0; + + octRow = ((oct / 5) | 0) * (rowHeight * 13) | 0; // 13 for spacing + octCol = oct % 5; + + gfx_x = octCol * colWidth + marginL; + gfx_y = octRow + noteRow * rowHeight + marginT; + + map[i] != i ? + ( + count += 1; + gfx_printf("%s -> %s\n", i, map[i]); // This pulls the note names from numbered strings 0-127 + ); + + i += 1; + ); +) +: +( + gfx_x = marginL; + gfx_y = marginT; + gfx_drawstr("Nothing to see here."); +); diff --git a/Effects/ix/MIDI_Variant b/Effects/ix/MIDI_Variant index e5dd50ad..e3de91f3 100644 --- a/Effects/ix/MIDI_Variant +++ b/Effects/ix/MIDI_Variant @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright 2007 - 2011, Philip S. Considine * +* Copyright 2007 - 2021, Philip S. Considine * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 3 of the License, or * @@ -48,7 +48,11 @@ statNoteOff = $x80; statNoteOn = $x90; // File change flags -scaleFile = seqFile -1; +scaleFile = seqFile = -1; + +step = 0; + +memset(inputTracker,0,128); //////////////////////////////////////////////////////////////////////////////// @slider @@ -152,7 +156,7 @@ while ); // Advance/reset step counter - (step += 1) >= seqSize ? + (step += 1) > seqSize ? ( step = 0; );