Making progress. Man, I'm rusty. But this is fun!
This just uses a sample input file and outputs to a messagebox temporarily. See the "to do" list in comments at the bottom for what I know I still have left to do.
Comments? I know it's not the most efficient piece of code, but it's so simple it doesn't matter.
(PS - for anyone who wants to tinker around with this - It's VBScript for Windows Scripting which is natively supported in Win2k and XP. Just copy the text and paste into Notepad, save the file as "TIMER.SCR", and double-click it. You'll see the output on a box.)
Code:
INFILE = "Run 5: DSP 150 160.567+1"
'PREV_INFILE=""
'BREAK INTO PARTS AT SPACES
PIECES = SPLIT(INFILE)
'IF IT HAS 4 PARTS IT'S PROBABLY A TIME
IF UBound(PIECES) = 4 THEN
'ASSIGN THE RUN NUMBER
RUN = LEFT (PIECES(1),INSTR(PIECES(1),":")-1)
'SPLIT CAR NUMBER INTO AUDIO TRACKS
NUM = PIECES(3)
'UP TO 20, AND ANY MULTIPLE OF 10 GET ONE FILE
NUMCMD = NUM & ", "
'10S 2 FILE SPLIT
IF NUM > 20 AND NUM < 100 AND NUM MOD 10 > 0 THEN
NUMCMD = INT (NUM/10)*10 & ", " & NUM MOD 10 & ", "
END IF
'100S 2 FILE SPLIT
IF NUM > 100 AND NUM MOD 10 = 0 THEN
NUMCMD = INT (NUM/100)*100 & ", " & INT((NUM MOD 100)/10)*10 & ", "
END IF
'100S 3 FILE SPLIT
IF NUM > 100 AND NUM MOD 10 > 0 THEN
NUMCMD = INT (NUM/100)*100 & ", " & INT((NUM MOD 100)/10)*10 & ", " & NUM MOD 10 & ", "
END IF
'SPLIT TIME UP INTO AUDIO TRACKS
TIMEPLUS = SPLIT (PIECES(4), "+") 'SEPARATE OUT CONE CALL, DNF, RERUN
TIMENUM = SPLIT (TIMEPLUS(0), ".") 'SEPARATE SECONDS AND FRACTIONS
'UP TO 20, AND ANY MULTIPLE OF 100 GET ONE READING
TIMECMD = TIMENUM(0) & ", "
'10S 2 FILE SPLIT
IF TIMENUM(0) > 20 AND TIMENUM(0) < 100 AND TIMENUM(0) MOD 10 > 0 THEN
TIMECMD = INT (TIMENUM(0)/10)*10 & ", " & TIMENUM(0) MOD 10 & ", "
END IF
'100S 2 FILE SPLIT
IF TIMENUM(0) > 100 AND TIMENUM(0) MOD 10 = 0 THEN
TIMECMD = INT (TIMENUM(0)/100)*100 & ", " & INT((TIMENUM(0) MOD 100)/10)*10 & ", "
END IF
'100S 3 FILE SPLIT
IF TIMENUM(0) > 100 AND TIMENUM(0) MOD 10 > 0 THEN
TIMECMD = INT (TIMENUM(0)/100)*100 & ", " & INT((TIMENUM(0) MOD 100)/10)*10 & ", " & TIMENUM(0) MOD 10 & ", "
END IF
'CREATE THE TIME STRING WITH "POINT"
TIMECMD = TIMECMD & "POINT" & ", " & LEFT(TIMENUM(1), 1) & ", " & MID(TIMENUM(1), 2, 1) & ", " & RIGHT (TIMENUM(1), 1) & ", "
'ADD THE CONE (DNF, RERUN) COUNT OR "CLEAN"
IF (UBOUND(TIMEPLUS) = 1) THEN
TIMECMD = TIMECMD & "PLUS" & ", " & TIMEPLUS(1) & ", " & "CONE" & ", "
ELSE
TIMECMD = TIMECMD & "CLEAN" & ", "
END IF
'CREATE THE COMMAND (TEMPORARY, TO ADD WAV EXTENSIONS AND CALL PROGRAM
COMMAND = PIECES(2) & ", " & NUMCMD & "RUN" & ", " & RUN & ", " & "TIME" & ", " & TIMECMD
'TEMPORARY OUTPUT FOR DEBUG
MSGBOX (COMMAND)
END IF
' NOTES - TO DO
' ADD FILE INPUT
' ADD LOOP FEATURE SCANNING OUTPUT FILE
' ADD ERROR HANDLING (DO NOTHING OR SAY "ERROR"?)
' CHANGE ALL ", " TO ".WAV "
' CHANGE COMMAND TO ADD WAV AND PROGRAM CALL
' ADD CAPACITY FOR MORE THAN 20 CONES!?!?
' REMOVE "PLUS" FOR DNF OR RERUN?
' ADD CAPACITY FOR MORE THAN 20 RUNS!?!?
' ADD PAUSES FOR MORE NATURAL SOUND
_________________
Mike Whitney
whit32@gmail.com, 919-454-5445
V10, V8, V8t, I6, I6, V6, F4t, I4, I4, I4, I4, I2, 1, 1