View Single Post
Old 11-19-2015, 11:29 AM   #9
Alex Philipp
Human being with feelings
 
Alex Philipp's Avatar
 
Join Date: Mar 2015
Posts: 52
Default

On mac OS (10.10.5) script doesn't create JS.
Have to make it manually by copying code from script.
Code:
This JS-utility is designed for use ONLY in conjunction with a Script-RetroRec.
JS writes the incoming MIDI-data.The Script retrieves the stored MIDI-data on the sel track.
desc:ForRetroRec v.20151118
slider1:0<0,8388608,1>MSG_Count
slider2:0<0,2097151,1>MSG_Number
slider3:0<0,65536,0.001>MSG_Position
slider4:0<0,256,1>msg1
slider5:0<0,127,1>msg2
slider6:0<0,127,1>msg3
slider7:1<0,1,1{No,Yes}>Compensate Latency
slider8:0<0,1,1{Only when you press Play,At each change of Playposition}>ReWrite Buffer
in_pin:none
out_pin:none
@slider 
slider1 = input_msg_count;//MSG_Count
s = slider2*4;
slider3=buf[s];//MSG_Position+offset
slider4=buf[s+1];slider5=buf[s+2];slider6=buf[s+3];//msg1,msg2,msg3
@init
ext_noinit = 1; 
@block
Start_Play_Position = play_position;//When New Block is starting 
 //===Reset Counter===//
 (play_state==0 || (slider8>0 && abs(Start_Play_Position-Last_Play_Position)>0.2) ) ? 
                   (i = 0; buf[8388604]=samplesblock/srate;);//Reset i;buf[8388604]=sblock/srate
  //===Save each position and msg1,msg2,msg3 to buf[.,.,.,.]===// 
  play_state == 1 || play_state == 5 ? //1=play-main mode,5=rec-only for check!
   (while (midirecv(offset,msg1,msg2,msg3) )    
             (i==0 ? input_msg_count=0;
              input_msg_count+=1; slider1 = input_msg_count;//Update Slider MSG_Count
              buf[i] = Start_Play_Position + offset/srate;//Pos w offset:(1/srate)*offset
              buf[i+1] = msg1;
              buf[i+2] = msg2;
              buf[i+3] = msg3;               
              i+=4;
              midisend(offset,msg1,msg2,msg3);//Pass true
              );
   );              
Last_Play_Position = Start_Play_Position;
Thank You for share this!
Alex Philipp is offline   Reply With Quote