Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER for Live Use

Reply
 
Thread Tools Display Modes
Old 03-10-2018, 02:37 PM   #121
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

Quote:
Originally Posted by BenK-msx View Post
Once settled please shows results from this torture of learning so that we all may benefit!
I keep meaning to post a zip file with all the actions and scripts and settings and an rpp....and then I say "just one more tweak", lather rinse repeat

One of these days
pipelineaudio is offline   Reply With Quote
Old 03-10-2018, 02:46 PM   #122
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by BenK-msx View Post
Once settled please shows results from this torture of learning so that we all may benefit!
My goal is to promote Reaper as a tool for live musicians, and if possible provide the most easy tools to set this up.

As you see, Pipe and I are working on finding the most easy to use solution, even while Pipe already has succeeded in doing a decently working setup (as shown in his videos). We do think that this is worth the torture.

This aims as well to guitarists, as to keyboarders, as to those wanting to do "live loop programming" (even though I don't have any idea whatsoever of this third issue). But of course it's necessary to find a whole group of supporters for these ideas to make it viable.

That is why supposedly at first we need to find a decent place where to discuss that stuff. At best this would be a dedicated "Reaper Live" subforum here. If that happens, you hopefully will find a toolbox that fits your needs there, including documentation and the necessary support to get it going.

-Michael

Last edited by mschnell; 03-11-2018 at 01:20 AM.
mschnell is online now   Reply With Quote
Old 03-10-2018, 02:52 PM   #123
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

hahah!!!!!!!! Bypass the wah with Midi Fade X's mute output signal! Simple elegant solution to a really vexxing timing problem
pipelineaudio is offline   Reply With Quote
Old 03-12-2018, 12:57 AM   #124
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

I got one working kind of ok with the new stuff, but still having the problem of needing to step through all the pedals several times to get everything to work upon project load.

With the SWS version running MIDI Fade X, I was able to make a startup action that ran thru everything, I suppose I could try the same thing with MIDI CC's instead, but man its frustrating
pipelineaudio is offline   Reply With Quote
Old 03-12-2018, 05:30 AM   #125
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: Whales, UK
Posts: 6,009
Default

Quote:
Originally Posted by mschnell View Post
My goal is to promote Reaper as a tool for live musicians, and if possible provide the most easy tools to set this up.

As you see, Pipe and I are working on finding the most easy to use solution, even while Pipe already has succeeded in doing a decently working setup (as shown in his videos). We do think that this is worth the torture.

This aims as well to guitarists, as to keyboarders, as to those wanting to do "live loop programming" (even though I don't have any idea whatsoever of this third issue). But of course it's necessary to find a whole group of supporters for these ideas to make it viable.

That is why supposedly at first we need to find a decent place where to discuss that stuff. At best this would be a dedicated "Reaper Live" subforum here. If that happens, you hopefully will find a toolbox that fits your needs there, including documentation and the necessary support to get it going.

-Michael
No rush guys, just showing interest in getting my head around it once you are happy with your endeavours -
__________________
JS Super8 Looper Template & intro | BCF2000 uber info Thread | Who killed the Lounge?
BenK-msx is offline   Reply With Quote
Old 03-12-2018, 08:00 AM   #126
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by pipelineaudio View Post
I got one working kind of ok with the new stuff, but still having the problem of needing to step through all the pedals several times to get everything to work upon project load.
Later this day I suppose I can do a Midi Map with delay.

Please stay tuned and test same before we do the next step.

-Michael
mschnell is online now   Reply With Quote
Old 03-12-2018, 03:03 PM   #127
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

I tell you what: this sticking all of the MIDI Fade X's on one track is seriously awesome.

Is it beyond the realm of possibilities to make all ten of them into one JSFX plugin?

I'll stick the RPP I'm using right now so you can get an idea of what I'm looking at

Its all happening on track 11 "Switching Matrix"

https://www.dropbox.com/s/wwffzmzlm9...5153m.rpp?dl=0
pipelineaudio is offline   Reply With Quote
Old 03-12-2018, 10:24 PM   #128
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by pipelineaudio View Post
Is it beyond the realm of possibilities to make all ten of them into one JSFX plugin?
Of course it would be possible, but why not three or thirty of them in one ?

IMHO this does not make much sense.

-Michael

Last edited by mschnell; 03-13-2018 at 01:53 PM.
mschnell is online now   Reply With Quote
Old 03-13-2018, 01:52 PM   #129
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

I have not yet been able to do a decently working version of Midi CC Table with delay .

As a compensation, here is a small JSFX that can be used as a virtual Mid Pedalboard for testing:
Code:
desc: Trigger CC
slider1:0<0,15,1{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>MIDI Channel
slider2:1<0,127,1{0 Bank Sel M,1 Mod Wheel M,2 Breath M,3,4 Foot P M,5 Porta M,6 Data Entry M,7 Vol M,8 Balance M,9,10 Pan M,11 Expression M,12 Ctrl 1 M,13 Ctrl 2 M,14,15,16 GP Slider 1,17 GP Slider 2,18 GP Slider 3,19 GP Slider 4,20,21,22,23,24,25,26,27,28,29,30,31,32 Bank Sel L,33 Mod Wheel L,34 Breath L,35,36 Foot P L,37 Porta L,38 Data Entry L,39 Vol L,40 Balance L,41,42 Pan L,43 Expression L,44 Ctrl 1 L,45 Ctrl 2 L,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64 Hold P sw,65 Porta sw,66 Sustenuto sw,67 Soft P sw,68 Legato P sw,69 Hold 2 P sw,70 S.Variation,71 S.Timbre,72 S.Release,73 S.Attack,74 S.Brightness,75 S.Ctrl 6,76 S.Ctrl 7,77 S.Ctrl 8,78 S.Ctrl 9,79 S.Ctrl 10,80 GP B.1 sw,81 GP B.2 sw,82 GP B.3 sw,83 GP B.4 sw,84,85,86,87,88,89,90,91 Effects Lv,92 Trem Lv,93 Chorus Lv,94 Celeste Lv,95 Phaser Lv,96 Data B. Inc,97 Data B. Dec,98 NRP L,99 NRP M,100 RP L,101 RP M,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127}>CC 
slider3:0<0,127,1)>CC Val 0
slider4:1<0,127,1)>CC Val 1
slider5:2<0,127,1)>CC Val 2
slider6:3<0,127,1)>CC Val 3
slider7:4<0,127,1)>CC Val 4
slider8:5<0,127,1)>CC Val 5
slider9:6<0,127,1)>CC Val 6
slider10:7<0,127,1)>CC Val 7
slider11:8<0,127,1)>CC Val 8
slider12:9<0,127,1)>CC Val 9

@slider
  msg1 = 0xB0 + slider1;
  msg2 = slider2;


@block
  t = trigger;
  t ? (
    x = 0;
    loop (10, 
      t & (1<<x) ? (
        msg3 = slider(x+3);
        midisend(0, msg1, msg2, msg3);
      );  
      x += 1;    
    );  
  );

Last edited by mschnell; 03-13-2018 at 01:59 PM.
mschnell is online now   Reply With Quote
Old 03-13-2018, 03:03 PM   #130
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

THAT is handy!!!!

For the multi input fade x thing, I was thinking it would simplify things. If you don't think so, no problem, as once this is done, the track that does it can easily be shared as a track template
pipelineaudio is offline   Reply With Quote
Old 03-13-2018, 10:46 PM   #131
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

"trigger" is a very hidden feature of the eel2 language . I just happened to find this easter-egg.

-Michael
mschnell is online now   Reply With Quote
Old 03-14-2018, 01:35 PM   #132
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Here "Midi CC Table" with delay.

You can set a delay time, and a channel that is not to be delayed.

So you can have the tracks unmuted and after a short time the messages to the plugins that reside in the channel are sent.

Please test !

After that please let me know what you think causes the problem that you need to press any buttons to get the system started decently, so that we can think about a decent startup procedure.

-Michael

Code:
// Author: Michael Schnell, 

desc:Midi CC Table

slider1:/cc table:none:CC Table
slider2:0<0,1,1{Map,Configs}>Function
slider3:0<0,15,1{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>MIDI Input Channel
slider4:1<0,127,1{0 Bank Sel M,1 Mod Wheel M,2 Breath M,3,4 Foot P M,5 Porta M,6 Data Entry M,7 Vol M,8 Balance M,9,10 Pan M,11 Expression M,12 Ctrl 1 M,13 Ctrl 2 M,14,15,16 GP Slider 1,17 GP Slider 2,18 GP Slider 3,19 GP Slider 4,20,21,22,23,24,25,26,27,28,29,30,31,32 Bank Sel L,33 Mod Wheel L,34 Breath L,35,36 Foot P L,37 Porta L,38 Data Entry L,39 Vol L,40 Balance L,41,42 Pan L,43 Expression L,44 Ctrl 1 L,45 Ctrl 2 L,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64 Hold P sw,65 Porta sw,66 Sustenuto sw,67 Soft P sw,68 Legato P sw,69 Hold 2 P sw,70 S.Variation,71 S.Timbre,72 S.Release,73 S.Attack,74 S.Brightness,75 S.Ctrl 6,76 S.Ctrl 7,77 S.Ctrl 8,78 S.Ctrl 9,79 S.Ctrl 10,80 GP B.1 sw,81 GP B.2 sw,82 GP B.3 sw,83 GP B.4 sw,84,85,86,87,88,89,90,91 Effects Lv,92 Trem Lv,93 Chorus Lv,94 Celeste Lv,95 Phaser Lv,96 Data B. Inc,97 Data B. Dec,98 NRP L,99 NRP M,100 RP L,101 RP M,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127}>CC Input
slider5:0<0,15,1{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>No Delay Channel
slider6:0<0,1000,1>Delay (msec)

@init

//#font = "Courier New";
//#font = "Liberation Mono";
#font = "";  // Default

q_size = 32;

cols   = 32;
cols3  = cols*3;
cols23 = cols3*2;
//cc_nr_i  = 0*rows;
//cc_val_i = 1*rows;

ssb = q_size;             // Spread sheet base

q_    = 0;
q_wr = 0;
q_rd = 0;

function slider_file_to_numbered_strings(slidernumber,offset)local(handle,lastvalue,lines) (
//USE ONLY THE NUMBER OF THE SLIDER FOR "slidernumber"  - do not use "sliderx"
  slider(slidernumber) != lastvalue ? reload=0;
  
  !reload ? (
    handle=file_open(slider(slidernumber));
    file_string(handle,offset);  
    while( strlen(offset) && offset < 1023 )
      ( offset+=1;
        file_string(handle,offset);      
      );
    file_close(file);
    lines=offset;
    lastvalue=slider(slidernumber);
    reload=1;
  );
  lines;
); 
  
  
  function queue_wr(inval) (
    q_wr += 1;
    q_wr >= q_size ? q_wr = 0;
    q_[q_wr] = inval;
  );
  
  function queue_rd() local (n) (
    n = q_wr-q_rd;
    n ? (
      q_rd +=1;
      q_rd >= q_size ? q_rd = 0;
      q_[q_rd];
     ) : (
      -1;
    );
  );

  function do_message(inval, nodelay, delay) local (ci, cj_p, cj_a, coli_p, coli_a, src_p, src_a, ch_p, ch_a, _ch_p, _ch_a)  (
          ci = inval;
          ci < row ? (
            act = ci;
            act != pre ? (
              conf && (pre>=0) ? (                          // off messages of previous row
                cj_p  = 0;
                coli_p = pre * cols23 + cols3;
                src_p = ssb + coli_p /*+ cj*3*/;
                while (src_p[0] >= 0) ( 
                  ch_p = src_p[0];
                  nodelay ? (
                    _ch_p = delay_ch == ch_p;
                   ) : delay ? (
                    _ch_p = delay_ch != ch_p;
                   ) : (
                    _ch_p = 0; 
                  ); 
                  _ch_p ?   midisend(offset, $xB0+src_p[0],  src_p[1],  src_p[2]); 
                  cj_p += 1;
                  src_p += 3;
                );
              );  
              cj_a  = 0;
              coli_a = ci * cols23;                          // on messages of new row
              src_a = ssb + coli_a /*+ cj*3*/;
              while (src_a[0] >= 0) ( 
                ch_a = src_a[0];
                nodelay ? (
                  _ch_a = delay_ch == ch_a;
                 ) : delay ? (
                  _ch_a = delay_ch != ch_a;
                 ) : (
                  _ch_a = 0; 
                ); 
                _ch_a ? midisend(offset, $xB0+src_a[0],  src_a[1],  src_a[2]); 
                cj_a += 1;
                src_a += 3;
              );
            );  
            delay && conf ? pre = act;
          );
  );

  
  
  
@slider
  conf        = slider2;
  inChannel   = slider3;
  modcc       = slider4;
  delay_ch    = slider5; 
  delay       = slider6 / 1000;;
  !delay ? delay_ch = -1;
  dd = 0;
  
  act = -2;
  pre = -1;
  q_wr = 0;
  q_rd = 0;

  lines = slider_file_to_numbered_strings(1, 0);

  row = 0; 
  loop(lines, 
    #s = strcpy(#, row);
    o   = 0;
    col = 0;
    cc  = -1;
    l   = strlen(#s);
    src = ssb + row*cols23 + col*3;
    src[0]     = -1;
    src[cols3] = -1;
    digit = 0;
    while (o < l) (
      c = '0';
      j = 0;
      while ((c >= '0') && (c <= '9')) (
        digit = 1;
        j *= 10;
        j += c-'0';
        c = str_getchar(#s, o, 'c');
        o += 1;
      );  
      c == ':' ? (                           // Channel
        digit ? src[0] = j-1;
//        ___0 = j;
       ) : c == '=' ? (                      // CC #
        src[1] = j;       
        cc = j;
//        ___1 = j;
       ) : (c == ' ') || (c == 13) || (c == '<') || (c == '/' || (o > l) )? (       // Value
        cc >= 0 ? (
          src[2] = j;
//          ___2 = j;
         ) : (
          src[1] = j;
//          ___1 = j;
          src[2] = 0;
//          ___2 = 0;
        );  
        src[0] >= 0 ? col += 1;
        cc = -1;
        src = ssb + row*cols23 + col*3;
//        ___s = src; 
        src[0] = -1;
        c == '/' ? o = 999;              // abort line
        c == '<' ? (
          col = cols;                    // go on in this row
          src = ssb + row*cols23 + col*3;   
//          ___s1 = src; 
//          c = '0';
//          j = 0;
//          src[0] = -1;      
        );
      );  
    );
    row+=1;
  );
  act = -1;
  pre = -1;
//  ___n  = 5*cols23;
//  ___x  = ssb[___n];
//  ___n1 = 5*cols23 + cols3;
//  ___x1 = ssb[___n1];
//  ___n2 = 5*cols23 + cols3 + 1;
//  ___x2 = ssb[___n2];
    

@block
  while (midirecv(offset, msg1, msg2, msg3)) (
    midisend(offset, msg1, msg2, msg3); // pass through
    status = msg1 & $xF0;      // Extract message type
    channel = msg1 & $x0F;
    channel == inChannel ? (   // Is it on our channel?
      status == $xB0 ? (       // Is it a controller event?
        msg2 == modcc ? (      // Is it the right CC?
          queue_wr(msg3);
          do_message(msg3, 1, 0);          
          dd =srate / samplesblock * delay;
          dd = floor(dd) + 1;            
        );
      );
    );          
  );  
  dd > 0 ? (
    dd -= 1;
    !dd ? (
      msg = queue_rd();
      while (msg >= 0) (
        do_message(msg, 0, 1);
        msg = queue_rd();        
      );  
    );
  );  
  
@gfx 650 450  
  //display file
  gfx_r=gfx_g=gfx_b=0; gfx_a=1;
  gfx_x=gfx_y=0;
  gfx_rectto(gfx_w,gfx_h);
  
  gfx_setfont(2,#font,18);
  textw = gfx_texth * 0.6;
  gfx_r=1;gfx_g=gfx_b=1;
  xx = 10;
  yy =10; 
  gfx_x=xx;gfx_y=yy;
  lines ? (
    i  = 0;
    rm = 0;
    loop ( row,
      i == act ? (
        gfx_r=1;gfx_g=1;gfx_b=0;
       ) : (
        gfx_r=0.7;gfx_g=0.7;gfx_b=0.7;
      ); 
      ssb[i*cols23 /* + 0*3 + 0 */  ] >= 0 ? (
        gfx_x=xx;
        #t = sprintf(#, "%d", i);
        gfx_drawstr(#t);
        gfx_x = xx + 3*textw;
        gfx_drawstr(">>");
        j = 0;
        srb = ssb + i*cols23;
        while ((srb[0] >= 0) && (j < cols)) ( 
          #t = sprintf(#, "%d:%d=%d  ", srb[0]+1, srb[1], srb[2]); 
          gfx_x = xx + (6+9*j)*textw;
          gfx_drawstr(#t);
          j += 1;
          srb += 3;
        );   
        gfx_y+=gfx_texth;      
        rm < j ? rm = j;
      );  
      ssb[i*cols23 + cols3 /* + 0*3 + 0 */  ] >= 0 ? (
        gfx_x=xx;
        #t = sprintf(#, "%d", i);
        gfx_drawstr(#t);
        gfx_x = xx + 3*textw;
        gfx_drawstr("<<");
        j = 0;
        srb = ssb + i*cols23 + cols3;
        while ((srb[0] >= 0) && (j < cols)) ( 
          #t1 = sprintf(#, "%d:%d=%d  ", srb[0]+1, srb[1], srb[2]); 
          gfx_x = xx + (6+9*j)*textw;
          gfx_drawstr(#t1);
          j += 1;
          srb += 3;
        );  
        gfx_y+=gfx_texth;
        rm < j ? rm = j;
      );  
      (ssb[i*cols23] >= 0) ||  (ssb[i*cols23+cols3 ] >= 0) ?  (
        gfx_x = 0;   
        gfx_r=0.7;gfx_g=0.7;gfx_b=0.7;
        gfx_y += 5;
        gfx_lineto(gfx_w, gfx_y);
        gfx_y += 5;
      );  
      i+=1;
    );
    yy = gfx_y - 5;;
    j = 0;
    gfx_r=0.7;gfx_g=0.7;gfx_b=0.7;
    loop(rm, 
      gfx_x = xx + (6+9*j)*textw -3;
      gfx_y = 0;
      gfx_lineto (gfx_x, yy;);
      j += 1;
    );
   ) : ( 
    gfx_drawstr("No appropriate *.txt file in   >>>>  .../REAPER/Data/CC table  <<<<");
  );
mschnell is online now   Reply With Quote
Old 03-15-2018, 11:07 PM   #133
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Pipe, are you still here ?

-Michael
mschnell is online now   Reply With Quote
Old 03-19-2018, 01:31 AM   #134
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

Yup, sorry, our new group ukulele class has taken SERIOUS time out of my schedule, I will be testing this ASAP
pipelineaudio is offline   Reply With Quote
Old 03-19-2018, 10:17 AM   #135
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Great ! Thanks !
-Michael
mschnell is online now   Reply With Quote
Old 03-19-2018, 10:59 PM   #136
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

Well, it definitely works. Where exactly does the delay happen? I can see where to set it, but not sure where or I guess when the delay would happen
pipelineaudio is offline   Reply With Quote
Old 03-20-2018, 06:45 AM   #137
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

When a message is received by Midi CC Table (appropriately configured) it will send out a bunch of messages - if appropriate as well on behalf of the "deselected" as on behalf of the "newly selected" row.

Each of the messages of course has a Midi channel (as defined in the configuration file) .

Now only the messages that feature the "Non Delay" channel are sent at once.

The messages that feature other channels are sent after a delay as specified by the "Delay" slider.

(A remark: if a new message arrives before the delayed messages are sent, they are not lost, but delayed further and sent together with those delayed messages that result from the last message received.)

(... If everything works correctly...)
-Michael
mschnell is online now   Reply With Quote
Old 03-20-2018, 12:39 PM   #138
briandress
Human being with feelings
 
Join Date: Dec 2016
Posts: 96
Default

Quote:
Originally Posted by mschnell View Post
When a message is received by Midi CC Table (appropriately configured) it will send out a bunch of messages - if appropriate as well on behalf of the "deselected" as on behalf of the "newly selected" row.

Each of the messages of course has a Midi channel (as defined in the configuration file) .

Now only the messages that feature the "Non Delay" channel are sent at once.

The messages that feature other channels are sent after a delay as specified by the "Delay" slider.

(A remark: if a new message arrives before the delayed messages are sent, they are not lost, but delayed further and sent together with those delayed messages that result from the last message received.)

(... If everything works correctly...)
-Michael
so essentially youre allowing trails for a signal by hardcoding a delay for the midi switch to be sent out right?
briandress is offline   Reply With Quote
Old 03-20-2018, 01:23 PM   #139
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

Its also to allow muted tracks to be unmuted before sending messages to that track, which was a concern for some of the ways I was routing this
pipelineaudio is offline   Reply With Quote
Old 03-20-2018, 01:25 PM   #140
briandress
Human being with feelings
 
Join Date: Dec 2016
Posts: 96
Default

Quote:
Originally Posted by pipelineaudio View Post
Its also to allow muted tracks to be unmuted before sending messages to that track, which was a concern for some of the ways I was routing this
unmute before the changes is beneficial for a certain scenario im sure. can you tell me about an example?
briandress is offline   Reply With Quote
Old 03-21-2018, 12:37 AM   #141
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by pipelineaudio View Post
Its also to allow muted tracks to be unmuted before sending messages to that track, which was a concern for some of the ways I was routing this
That is exactly the purpose the delay feature has been added for.

I suppose it's more than beneficial, but just necessary.

Does it work for you as expected ?

-Michael

Last edited by mschnell; 03-21-2018 at 10:15 AM.
mschnell is online now   Reply With Quote
Old 03-21-2018, 10:40 AM   #142
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

Quote:
Originally Posted by briandress View Post
unmute before the changes is beneficial for a certain scenario im sure. can you tell me about an example?
Say a volume control message sent to a muted channel. It will be ignored.

I haven’t had a chance to test fully yet, but this new build should allow the volume control commands to be sent to midi fade x to wait until after the channel is unmuted
pipelineaudio is offline   Reply With Quote
Old 03-21-2018, 12:55 PM   #143
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Once you confirm it works, I'll upload the collection of utilities to ReaPack.

After that we need to write a kind of comprehensive documentation ....

(Still no decent place to discuss this stuff .)

-Michael
mschnell is online now   Reply With Quote
Old 03-23-2018, 01:02 AM   #144
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

so I would want to put the unmute script on say channel 12 and the mute script to channel 13?

Not sure how to do this, MIDI fade X would want the same channel for both the volume control and the mute send

What I think I'm supposed to be doing is having it wait 50msec after the unmute command before the volume fade up command happens
pipelineaudio is offline   Reply With Quote
Old 03-23-2018, 05:46 AM   #145
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

I don't see the issue you suggest here.

The messages sent by Fade X are only supposed to trigger a mute, while the messages that are supposed to trigger an unmute are only sent directly by Midi CC Table.

So, yes, supposedly it does make sense to use different channels for those.

Can that be the cause of any problems ?

50 mSec seems like a viable delay value.

-Michael

Last edited by mschnell; 03-23-2018 at 02:21 PM.
mschnell is online now   Reply With Quote
Old 03-26-2018, 09:22 PM   #146
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

@Pipe:

Do you think I can publish this ?
-Michael

Last edited by mschnell; 03-31-2018 at 01:55 PM.
mschnell is online now   Reply With Quote
Old 03-26-2018, 09:53 PM   #147
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

Most definitely! These tools are all EXTREMELY useful. I dont have an easy to use example reference starter project yet as I'm still experimenting, but these things all work and do what they are supposed to do, so I'm thinking releasing these into the wild will get people much smarter than I to begin making templates
pipelineaudio is offline   Reply With Quote
Old 03-26-2018, 11:23 PM   #148
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

OK,
So I will upload the tools to ReaPack later this day.

Perhaps at some point in time there might be a decent location (e.g. a subforum here) to publish the stuff in a more easily findable way, including example projects you might want to prepare.

-Michael
mschnell is online now   Reply With Quote
Old 03-28-2018, 09:31 AM   #149
briandress
Human being with feelings
 
Join Date: Dec 2016
Posts: 96
Default

so im actually hoping you guys can help me work with this plugin Helix Native.

It allows for snapshots of your signal chain within each preset so would work great for me.

You are able to select Snapshot Index from the FX Parameter menu and it adds this little subtrack called snapshot index under the track with the plugin.

Wondering if you guys know what i would do with that lol. I assume its some kind of automation track?
briandress is offline   Reply With Quote
Old 03-28-2018, 11:10 PM   #150
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

If you can assign MIDI to the snapshot recall system, the table will do it for you.
pipelineaudio is offline   Reply With Quote
Old 03-29-2018, 08:38 AM   #151
briandress
Human being with feelings
 
Join Date: Dec 2016
Posts: 96
Default

Quote:
Originally Posted by pipelineaudio View Post
If you can assign MIDI to the snapshot recall system, the table will do it for you.
you cant. The mechanism to switch snapshots is an Automation Envelope. The slider on the envelope changes the active snapshot but I need be able to do it with switches
briandress is offline   Reply With Quote
Old 03-29-2018, 02:53 PM   #152
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

I wonder if the action to CC script could be used to do it.

Honestly though, I don't want the lag of the snapshot recall, I'd just stick it in different tracks with the settings already loaded.
pipelineaudio is offline   Reply With Quote
Old 03-29-2018, 03:33 PM   #153
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by briandress View Post
you cant. The mechanism to switch snapshots is an Automation Envelope. The slider on the envelope changes the active snapshot but I need be able to do it with switches
A plugin does not know about DAW "envelopes", it just communicates VST parameters with the DAW host.

In Reaper, any VST parameter can be modulated from Midi in a complex way. See PARAM -> FX Parameter List -> Parameter Modulation/Midi Link -> ...

Here you can either directly tie a parameter to a Midi CC that is sent to that track (e.g. from another track) or tie it to ReaControlMidi to do an even more sophisticated modulation.

-Michael

Last edited by mschnell; 03-30-2018 at 11:34 AM.
mschnell is online now   Reply With Quote
Old 03-30-2018, 09:41 AM   #154
briandress
Human being with feelings
 
Join Date: Dec 2016
Posts: 96
Default

Quote:
Originally Posted by pipelineaudio View Post
I wonder if the action to CC script could be used to do it.

Honestly though, I don't want the lag of the snapshot recall, I'd just stick it in different tracks with the settings already loaded.
the term snapshot in this case refers to the snapshot function within Helix Native where your patch signal chain can have 8 different snapshots.

I think you can have something like 64 parameters and 10 different switches or something stored per snapshot and its instant recall for that patch.

so snapshot 3 has your drive delay and reverb enabled and snapshot 1 has the gain on the amp lower and just the drive on etc.

its kind of like the spreadsheet but within the plugin ecosystem itself/

I did find it can be controlled with CC values.
briandress is offline   Reply With Quote
Old 03-30-2018, 11:30 AM   #155
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by briandress View Post
I did find it can be controlled with CC values.
Great !
-Michael
mschnell is online now   Reply With Quote
Old 03-31-2018, 11:30 AM   #156
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

I may be getting a windows tablet today, which will make all of this a lot more real and a lot less academic
pipelineaudio is offline   Reply With Quote
Old 04-04-2018, 07:32 AM   #157
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Finally all these tools are available on ReaPack (including a hopefully useful description).

Please test.

-Michael
mschnell is online now   Reply With Quote
Old 04-05-2018, 11:00 PM   #158
briandress
Human being with feelings
 
Join Date: Dec 2016
Posts: 96
Default

Quote:
Originally Posted by mschnell View Post
Finally all these tools are available on ReaPack (including a hopefully useful description).

Please test.

-Michael
not sure where to begin using this though the concept makes sense in yours and pipes posts
briandress is offline   Reply With Quote
Old 04-05-2018, 11:14 PM   #159
briandress
Human being with feelings
 
Join Date: Dec 2016
Posts: 96
Default

learned much today. Installed Reapack and MIdi CC Table. now learning to use it is key. have to make the table file
briandress is offline   Reply With Quote
Old 04-06-2018, 06:28 AM   #160
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Let me know it you can get on with the description that is displayed by ReaPack for this plugins and scripts.

I'd be happy to modify it according to your suggestions.

-Michael
mschnell is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:46 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.