ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
Statistics: Posted by 23fx23 — 04 Jun 2018, 16:57
Statistics: Posted by divers69 — 04 Jun 2018, 14:55
Statistics: Posted by 23fx23 — 29 May 2018, 15:20
Statistics: Posted by 23fx23 — 29 May 2018, 15:01
Statistics: Posted by 23fx23 — 29 May 2018, 12:45
Statistics: Posted by divers69 — 29 May 2018, 09:13
CODE:
//////////////////////////////////////////////////////const max_files = 5; //global constant of number of files const max_cycles = 3; // how many times will cycle//////////////////////////////////////////////////////// Paramters declaration //////////////////////////////////////////////////////var pstart : Tparameter; //start button parameter var stop : Tparameter; //stop button parameter var playing : Tparameter; // swicth of playing status var paused : Tparameter; // switch of paused status var pause_duration : Tparameter; // parameter for pauseduration in seconds var start_pos : Tparameter; var current_cycle : Tparameter;var file_seconds: Tparameter; //current file diplayed timevar pause_seconds: Tparameter; //current pause displayed time var file_number: Tparameter; // current file numbervar durations : array [0..max_files-1] of integer = [3,5,4,5,5]; // file playing durations in seconds var starts : array [0..max_files-1] of single = [0.10,0.25,0.0,0.12,0.50]; // files start pos 0 =0 1= 100 percent // Global Variables var cycle_nb : integer; var file_num : integer; var file_time : single; var file_trigger_time : single; var file_max_time : integer; var pause_time : single; var pause_trigger_time : single; var pause_max_time : single; var run : boolean; var pause : boolean; //////////////////////////////////////////////////////// initialisation procedure//////////////////////////////////////////////////////procedure init; //create ui parametersbegin pstart := CreateParam('start',ptButton); SetIsOutput(pstart,false); stop := CreateParam('stop',ptButton); SetIsOutput(stop,false); pause_duration := CreateParam('pause_duration',ptDataFader ); SetIsOutput(pause_duration,false); SetFormat(pause_duration, '%.0f'); SetMin(pause_duration,0); SetMax(pause_duration,100); SetValue(pause_duration,2); SetDefaultValue(pause_duration,5); SetSymbol(pause_duration,'seconds'); playing := CreateParam('playing',ptSwitch); SetIsInput(playing,false); file_seconds := CreateParam('file_seconds',ptDataFader ); SetIsInput(file_seconds,false); SetFormat(file_seconds, '%.2f'); SetMin(file_seconds,0); SetMax(file_seconds,500); SetDefaultValue(file_seconds,0); file_number := CreateParam('file_number',ptDataFader ); SetIsInput(file_number,false); SetMin(file_number,0); SetMax(file_number,max_files-1); SetDefaultValue(file_number,0); paused := CreateParam('paused',ptSwitch); SetIsInput(paused,false); pause_seconds := CreateParam('pause_seconds',ptDataFader ); SetIsInput(pause_seconds,false); SetFormat(pause_seconds, '%.2f'); SetMin(pause_seconds,0); SetMax(pause_seconds,30); SetDefaultValue(pause_seconds,0); SetValue(pause_seconds,2); SetSymbol(pause_seconds,'seconds'); start_pos := CreateParam('start_pos', ptDataFader); SetIsInput(start_pos,false); SetFormat(start_pos, '%.2f'); SetMin(start_pos,0); SetMax(start_pos,100); SetDefaultValue(start_pos,0); SetSymbol(start_pos,'percent'); current_cycle:= CreateParam('current_cycle',ptdatafield); setIsInput(current_cycle,false); //init variables file_num := 0; file_time := 0; file_max_time = 500; file_trigger_time := 0; pause_time := 0; pause_trigger_time := 0; pause_max_time := 0; run := false; pause := false; setvalue(start_pos, starts[0]); cycle_nb := 0; setvalue(current_cycle,0); end; /////////////////////////////////////////////Procedure RESET()begin file_trigger_time := time; file_time := 0; file_max_time := 100000; setvalue(file_seconds,0); if (file_num >= max_files) then begin inc(cycle_nb); setvalue(current_cycle,cycle_nb); file_num := 0; setvalue(file_number,0); if(cycle_nb > max_cycles) then //if over last cycle, completely stop begin run := false; setvalue(file_number,0); setvalue(playing,0); end else //else only reset file nb to 0 begin file_num := 0; setvalue(file_number,0); end; end; end;//reset /////////////////////////////////////////Procedure PAUSE_PROC() begin pause := true; setvalue(paused,1); pause_trigger_time := time; run := false;end; ///////////////////////////////////////////Procedure Callback (n: integer)begin if( n = pstart) then begin pause_max_time := getvalue(pause_duration); file_num := 0; setvalue(file_number,0); cycle_nb := 0; setvalue(current_cycle,0); file_trigger_time := time; run := true; end; if( n = stop) then begin run := false; setvalue(file_seconds,0); setvalue(file_number,0); setvalue(current_cycle,0); setvalue(playing,0); end; if(n = pause_duration) then begin pause_max_time := getvalue(pause_duration); end; end; //callback //////////////////////////////////////////////////////// Main Loop procedure//////////////////////////////////////////////////////Procedure Process;begin if (pause) then begin setvalue(playing,0); pause_time := (time - pause_trigger_time) * 100000; //as time is in nanosed setvalue(pause_seconds, pause_time); if (pause_time >= pause_max_time ) then begin pause := false; setvalue(paused,0); setvalue(pause_seconds, 0); run:= true; RESET(); //reset file second counter end; end; if (run) then begin setvalue(playing,1); file_time := (time - file_trigger_time) * 100000; //as time is in nanosec setvalue(file_seconds,file_time); file_max_time := durations[file_num]; //check in array what is max_time if (file_time >= file_max_time) then // if over begin PAUSE_PROC(); //start pause procedure inc(file_num); // increment file number setvalue(file_number,file_num); setvalue(start_pos, starts[file_num]); //check in array start pos and output to param end; end;end; //process/////////////////////Statistics: Posted by 23fx23 — 28 May 2018, 18:12

Statistics: Posted by 23fx23 — 28 May 2018, 17:22
Statistics: Posted by divers69 — 28 May 2018, 16:36

Statistics: Posted by 23fx23 — 28 May 2018, 16:09
Statistics: Posted by divers69 — 28 May 2018, 15:44
CODE:
//////////////////////////////////////////////////////const max_files = 5; //global constant of number of files//////////////////////////////////////////////////////// Paramters declaration //////////////////////////////////////////////////////var start : Tparameter; //start button parameter var stop : Tparameter; //stop button parameter var playing : Tparameter; // swicth of playing status var paused : Tparameter; // switch of paused status var pause_duration : Tparameter; // parameter for pauseduration in secondsvar file_seconds: Tparameter; //current file diplayed timevar pause_seconds: Tparameter; //current pause displayed time var file_number: Tparameter; // current file numbervar durations : array [0..max_files-1] of integer = [3,5,4,5,5]; // file playing durations in seconds// Global Variables var file_num : integer; var file_time : single; var file_trigger_time : single; var file_max_time : integer; var pause_time : single; var pause_trigger_time : single; var pause_max_time : single; var run : boolean; var pause : boolean; //////////////////////////////////////////////////////// initialisation procedure//////////////////////////////////////////////////////procedure init; //create ui parametersbegin start := CreateParam('start',ptButton); SetIsOutput(start,false); stop := CreateParam('stop',ptButton); SetIsOutput(stop,false); pause_duration := CreateParam('pause_duration',ptDataFader ); SetIsOutput(pause_duration,false); SetFormat(pause_duration, '%.0f'); SetMin(pause_duration,0); SetMax(pause_duration,100); SetValue(pause_duration,5); SetDefaultValue(pause_duration,5); SetSymbol(pause_duration,'seconds'); playing := CreateParam('playing',ptSwitch); SetIsInput(playing,false); file_seconds := CreateParam('file_seconds',ptDataFader ); SetIsInput(file_seconds,false); SetFormat(file_seconds, '%.2f'); SetMin(file_seconds,0); SetMax(file_seconds,500); SetDefaultValue(file_seconds,0); file_number := CreateParam('file_number',ptDataFader ); SetIsInput(file_number,false); SetMin(file_number,0); SetMax(file_number,max_files-1); SetDefaultValue(file_number,0); paused := CreateParam('paused',ptSwitch); SetIsInput(paused,false); pause_seconds := CreateParam('pause_seconds',ptDataFader ); SetIsInput(pause_seconds,false); SetFormat(pause_seconds, '%.2f'); SetMin(pause_seconds,0); SetMax(pause_seconds,30); SetDefaultValue(pause_seconds,0); SetSymbol(pause_seconds,'seconds'); //init variables file_num := 0; file_time := 0; file_max_time = 500; file_trigger_time := 0; pause_time := 0; pause_trigger_time := 0; pause_max_time := 5; run := false; pause := false; end; /////////////////////////////////////////////Procedure RESET()begin file_trigger_time := time; file_time := 0; file_max_time := 100000; setvalue(file_seconds,0); if (file_num >= max_files) then begin run := false; setvalue(file_number,0); setvalue(playing,0); end; end; /////////////////////////////////////////Procedure PAUSE_PROC() begin pause := true; setvalue(paused,1); pause_trigger_time := time; run := false;end; ///////////////////////////////////////////Procedure Callback (n: integer)begin if( n = start) then begin file_num := 0; file_trigger_time := time; run := true; pause_max_time := getvalue(pause_duration); end; if( n = stop) then begin run := false; setvalue(file_seconds,0); setvalue(file_number,0); setvalue(playing,0); end; end; //callback //////////////////////////////////////////////////////// Main Loop procedure//////////////////////////////////////////////////////Procedure Process;begin if (pause) then begin setvalue(playing,0); pause_time := (time - pause_trigger_time) * 100000; //as time is in nanosed setvalue(pause_seconds, pause_time); if (pause_time >= pause_max_time ) then begin pause := false; setvalue(paused,0); setvalue(pause_seconds, 0); run:= true; RESET(); //reset file second counter end; end; if (run) then begin setvalue(playing,1); file_time := (time - file_trigger_time) * 100000; //as time is in nanosec setvalue(file_seconds,file_time); file_max_time := durations[file_num]; //check in array what is max_time if (file_time >= file_max_time) then // if over begin PAUSE_PROC(); //start pause procedure inc(file_num); // increment file number setvalue(file_number,file_num); end; end;end; //process/////////////////////Statistics: Posted by 23fx23 — 28 May 2018, 13:30
Statistics: Posted by divers69 — 28 May 2018, 10:24
Statistics: Posted by 23fx23 — 04 Jun 2018, 16:57
Statistics: Posted by divers69 — 04 Jun 2018, 14:55
Statistics: Posted by 23fx23 — 29 May 2018, 15:20
Statistics: Posted by 23fx23 — 29 May 2018, 15:01
Statistics: Posted by 23fx23 — 29 May 2018, 12:45
Statistics: Posted by divers69 — 29 May 2018, 09:13
CODE:
//////////////////////////////////////////////////////const max_files = 5; //global constant of number of files const max_cycles = 3; // how many times will cycle//////////////////////////////////////////////////////// Paramters declaration //////////////////////////////////////////////////////var pstart : Tparameter; //start button parameter var stop : Tparameter; //stop button parameter var playing : Tparameter; // swicth of playing status var paused : Tparameter; // switch of paused status var pause_duration : Tparameter; // parameter for pauseduration in seconds var start_pos : Tparameter; var current_cycle : Tparameter;var file_seconds: Tparameter; //current file diplayed timevar pause_seconds: Tparameter; //current pause displayed time var file_number: Tparameter; // current file numbervar durations : array [0..max_files-1] of integer = [3,5,4,5,5]; // file playing durations in seconds var starts : array [0..max_files-1] of single = [0.10,0.25,0.0,0.12,0.50]; // files start pos 0 =0 1= 100 percent // Global Variables var cycle_nb : integer; var file_num : integer; var file_time : single; var file_trigger_time : single; var file_max_time : integer; var pause_time : single; var pause_trigger_time : single; var pause_max_time : single; var run : boolean; var pause : boolean; //////////////////////////////////////////////////////// initialisation procedure//////////////////////////////////////////////////////procedure init; //create ui parametersbegin pstart := CreateParam('start',ptButton); SetIsOutput(pstart,false); stop := CreateParam('stop',ptButton); SetIsOutput(stop,false); pause_duration := CreateParam('pause_duration',ptDataFader ); SetIsOutput(pause_duration,false); SetFormat(pause_duration, '%.0f'); SetMin(pause_duration,0); SetMax(pause_duration,100); SetValue(pause_duration,2); SetDefaultValue(pause_duration,5); SetSymbol(pause_duration,'seconds'); playing := CreateParam('playing',ptSwitch); SetIsInput(playing,false); file_seconds := CreateParam('file_seconds',ptDataFader ); SetIsInput(file_seconds,false); SetFormat(file_seconds, '%.2f'); SetMin(file_seconds,0); SetMax(file_seconds,500); SetDefaultValue(file_seconds,0); file_number := CreateParam('file_number',ptDataFader ); SetIsInput(file_number,false); SetMin(file_number,0); SetMax(file_number,max_files-1); SetDefaultValue(file_number,0); paused := CreateParam('paused',ptSwitch); SetIsInput(paused,false); pause_seconds := CreateParam('pause_seconds',ptDataFader ); SetIsInput(pause_seconds,false); SetFormat(pause_seconds, '%.2f'); SetMin(pause_seconds,0); SetMax(pause_seconds,30); SetDefaultValue(pause_seconds,0); SetValue(pause_seconds,2); SetSymbol(pause_seconds,'seconds'); start_pos := CreateParam('start_pos', ptDataFader); SetIsInput(start_pos,false); SetFormat(start_pos, '%.2f'); SetMin(start_pos,0); SetMax(start_pos,100); SetDefaultValue(start_pos,0); SetSymbol(start_pos,'percent'); current_cycle:= CreateParam('current_cycle',ptdatafield); setIsInput(current_cycle,false); //init variables file_num := 0; file_time := 0; file_max_time = 500; file_trigger_time := 0; pause_time := 0; pause_trigger_time := 0; pause_max_time := 0; run := false; pause := false; setvalue(start_pos, starts[0]); cycle_nb := 0; setvalue(current_cycle,0); end; /////////////////////////////////////////////Procedure RESET()begin file_trigger_time := time; file_time := 0; file_max_time := 100000; setvalue(file_seconds,0); if (file_num >= max_files) then begin inc(cycle_nb); setvalue(current_cycle,cycle_nb); file_num := 0; setvalue(file_number,0); if(cycle_nb > max_cycles) then //if over last cycle, completely stop begin run := false; setvalue(file_number,0); setvalue(playing,0); end else //else only reset file nb to 0 begin file_num := 0; setvalue(file_number,0); end; end; end;//reset /////////////////////////////////////////Procedure PAUSE_PROC() begin pause := true; setvalue(paused,1); pause_trigger_time := time; run := false;end; ///////////////////////////////////////////Procedure Callback (n: integer)begin if( n = pstart) then begin pause_max_time := getvalue(pause_duration); file_num := 0; setvalue(file_number,0); cycle_nb := 0; setvalue(current_cycle,0); file_trigger_time := time; run := true; end; if( n = stop) then begin run := false; setvalue(file_seconds,0); setvalue(file_number,0); setvalue(current_cycle,0); setvalue(playing,0); end; if(n = pause_duration) then begin pause_max_time := getvalue(pause_duration); end; end; //callback //////////////////////////////////////////////////////// Main Loop procedure//////////////////////////////////////////////////////Procedure Process;begin if (pause) then begin setvalue(playing,0); pause_time := (time - pause_trigger_time) * 100000; //as time is in nanosed setvalue(pause_seconds, pause_time); if (pause_time >= pause_max_time ) then begin pause := false; setvalue(paused,0); setvalue(pause_seconds, 0); run:= true; RESET(); //reset file second counter end; end; if (run) then begin setvalue(playing,1); file_time := (time - file_trigger_time) * 100000; //as time is in nanosec setvalue(file_seconds,file_time); file_max_time := durations[file_num]; //check in array what is max_time if (file_time >= file_max_time) then // if over begin PAUSE_PROC(); //start pause procedure inc(file_num); // increment file number setvalue(file_number,file_num); setvalue(start_pos, starts[file_num]); //check in array start pos and output to param end; end;end; //process/////////////////////Statistics: Posted by 23fx23 — 28 May 2018, 18:12

Statistics: Posted by 23fx23 — 28 May 2018, 17:22
Statistics: Posted by divers69 — 28 May 2018, 16:36

Statistics: Posted by 23fx23 — 28 May 2018, 16:09
Statistics: Posted by divers69 — 28 May 2018, 15:44
CODE:
//////////////////////////////////////////////////////const max_files = 5; //global constant of number of files//////////////////////////////////////////////////////// Paramters declaration //////////////////////////////////////////////////////var start : Tparameter; //start button parameter var stop : Tparameter; //stop button parameter var playing : Tparameter; // swicth of playing status var paused : Tparameter; // switch of paused status var pause_duration : Tparameter; // parameter for pauseduration in secondsvar file_seconds: Tparameter; //current file diplayed timevar pause_seconds: Tparameter; //current pause displayed time var file_number: Tparameter; // current file numbervar durations : array [0..max_files-1] of integer = [3,5,4,5,5]; // file playing durations in seconds// Global Variables var file_num : integer; var file_time : single; var file_trigger_time : single; var file_max_time : integer; var pause_time : single; var pause_trigger_time : single; var pause_max_time : single; var run : boolean; var pause : boolean; //////////////////////////////////////////////////////// initialisation procedure//////////////////////////////////////////////////////procedure init; //create ui parametersbegin start := CreateParam('start',ptButton); SetIsOutput(start,false); stop := CreateParam('stop',ptButton); SetIsOutput(stop,false); pause_duration := CreateParam('pause_duration',ptDataFader ); SetIsOutput(pause_duration,false); SetFormat(pause_duration, '%.0f'); SetMin(pause_duration,0); SetMax(pause_duration,100); SetValue(pause_duration,5); SetDefaultValue(pause_duration,5); SetSymbol(pause_duration,'seconds'); playing := CreateParam('playing',ptSwitch); SetIsInput(playing,false); file_seconds := CreateParam('file_seconds',ptDataFader ); SetIsInput(file_seconds,false); SetFormat(file_seconds, '%.2f'); SetMin(file_seconds,0); SetMax(file_seconds,500); SetDefaultValue(file_seconds,0); file_number := CreateParam('file_number',ptDataFader ); SetIsInput(file_number,false); SetMin(file_number,0); SetMax(file_number,max_files-1); SetDefaultValue(file_number,0); paused := CreateParam('paused',ptSwitch); SetIsInput(paused,false); pause_seconds := CreateParam('pause_seconds',ptDataFader ); SetIsInput(pause_seconds,false); SetFormat(pause_seconds, '%.2f'); SetMin(pause_seconds,0); SetMax(pause_seconds,30); SetDefaultValue(pause_seconds,0); SetSymbol(pause_seconds,'seconds'); //init variables file_num := 0; file_time := 0; file_max_time = 500; file_trigger_time := 0; pause_time := 0; pause_trigger_time := 0; pause_max_time := 5; run := false; pause := false; end; /////////////////////////////////////////////Procedure RESET()begin file_trigger_time := time; file_time := 0; file_max_time := 100000; setvalue(file_seconds,0); if (file_num >= max_files) then begin run := false; setvalue(file_number,0); setvalue(playing,0); end; end; /////////////////////////////////////////Procedure PAUSE_PROC() begin pause := true; setvalue(paused,1); pause_trigger_time := time; run := false;end; ///////////////////////////////////////////Procedure Callback (n: integer)begin if( n = start) then begin file_num := 0; file_trigger_time := time; run := true; pause_max_time := getvalue(pause_duration); end; if( n = stop) then begin run := false; setvalue(file_seconds,0); setvalue(file_number,0); setvalue(playing,0); end; end; //callback //////////////////////////////////////////////////////// Main Loop procedure//////////////////////////////////////////////////////Procedure Process;begin if (pause) then begin setvalue(playing,0); pause_time := (time - pause_trigger_time) * 100000; //as time is in nanosed setvalue(pause_seconds, pause_time); if (pause_time >= pause_max_time ) then begin pause := false; setvalue(paused,0); setvalue(pause_seconds, 0); run:= true; RESET(); //reset file second counter end; end; if (run) then begin setvalue(playing,1); file_time := (time - file_trigger_time) * 100000; //as time is in nanosec setvalue(file_seconds,file_time); file_max_time := durations[file_num]; //check in array what is max_time if (file_time >= file_max_time) then // if over begin PAUSE_PROC(); //start pause procedure inc(file_num); // increment file number setvalue(file_number,file_num); end; end;end; //process/////////////////////Statistics: Posted by 23fx23 — 28 May 2018, 13:30
Statistics: Posted by divers69 — 28 May 2018, 10:24