form Input word Path /Pfad/zu/den/Stimuli/ word Subject xy endform fileListID = Create Strings as file list: "FileList", path$ + "*.wav" Randomize numberOfFiles = Get number of strings resultTableID = Create Table with column names: "Results_" + subject$, numberOfFiles, ... "Subject Stimulus Grade Roughness Breathiness Asthenia Strain" demo Erase all demo Select outer viewport: 0, 100, 0, 100 demo Axes: 0, 100, 0, 100 demo Text: 50, "centre", 50, "half", "Click to start!" demoWaitForInput () for i to numberOfFiles selectObject: fileListID fileName$ = Get string: i stimulusID = Read from file: path$ + fileName$ demo Erase all demo 12 demo Times demo Grey demo Text: 0, "left", 99, "half", string$ (i) + "/" + string$ (numberOfFiles) demo 18 demo Black demo Text: 25, "right", 75, "half", "Grade" demo Text: 25, "right", 65, "half", "Roughness" demo Text: 25, "right", 55, "half", "Breathiness" demo Text: 25, "right", 45, "half", "Asthenia" demo Text: 25, "right", 35, "half", "Strain" @drawButtons: 71, 79, 75 @drawButtons: 61, 69, 65 @drawButtons: 51, 59, 55 @drawButtons: 41, 49, 45 @drawButtons: 31, 39, 35 demo Paint rectangle: "navy", 41, 79, 81, 89 demo White demo Text: 60, "centre", 85, "half", "Replay" demo Grey demo Paint rectangle: "maroon", 41, 79, 11, 19 demo Text: 60, "centre", 15, "half", "Next" asynchronous Play grade = 10 roughness = 10 breathiness = 10 asthenia = 10 strain = 10 while demoWaitForInput ( ) if demoClicked ( ) if demoClickedIn (41, 49, 71, 79) grade = 0 @drawButtons: 71, 79, 75 @selectButton: 41, 49, 71, 79 elsif demoClickedIn (51, 59, 71, 79) grade = 1 @drawButtons: 71, 79, 75 @selectButton: 51, 59, 71, 79 elsif demoClickedIn (61, 69, 71, 79) grade = 2 @drawButtons: 71, 79, 75 @selectButton: 61, 69, 71, 79 elsif demoClickedIn (71, 79, 71, 79) grade = 3 @drawButtons: 71, 79, 75 @selectButton: 71, 79, 71, 79 elsif demoClickedIn (41, 49, 61, 69) roughness = 0 @drawButtons: 61, 69, 65 @selectButton: 41, 49, 61, 69 elsif demoClickedIn (51, 59, 61, 69) roughness = 1 @drawButtons: 61, 69, 65 @selectButton: 51, 59, 61, 69 elsif demoClickedIn (61, 69, 61, 69) roughness = 2 @drawButtons: 61, 69, 65 @selectButton: 61, 69, 61, 69 elsif demoClickedIn (71, 79, 61, 69) roughness = 3 @drawButtons: 61, 69, 65 @selectButton: 71, 79, 61, 69 elsif demoClickedIn (41, 49, 51, 59) breathiness = 0 @drawButtons: 51, 59, 55 @selectButton: 41, 49, 51, 59 elsif demoClickedIn (51, 59, 51, 59) breathiness = 1 @drawButtons: 51, 59, 55 @selectButton: 51, 59, 51, 59 elsif demoClickedIn (61, 69, 51, 59) breathiness = 2 @drawButtons: 51, 59, 55 @selectButton: 61, 69, 51, 59 elsif demoClickedIn (71, 79, 51, 59) breathiness = 3 @drawButtons: 51, 59, 55 @selectButton: 71, 79, 51, 59 elsif demoClickedIn (41, 49, 41, 49) asthenia = 0 @drawButtons: 41, 49, 45 @selectButton: 41, 49, 41, 49 elsif demoClickedIn (51, 59, 41, 49) asthenia = 1 @drawButtons: 41, 49, 45 @selectButton: 51, 59, 41, 49 elsif demoClickedIn (61, 69, 41, 49) asthenia = 2 @drawButtons: 41, 49, 45 @selectButton: 61, 69, 41, 49 elsif demoClickedIn (71, 79, 41, 49) asthenia = 3 @drawButtons: 41, 49, 45 @selectButton: 71, 79, 41, 49 elsif demoClickedIn (41, 49, 31, 39) strain = 0 @drawButtons: 31, 39, 35 @selectButton: 41, 49, 31, 39 elsif demoClickedIn (51, 59, 31, 39) strain = 1 @drawButtons: 31, 39, 35 @selectButton: 51, 59, 31, 39 elsif demoClickedIn (61, 69, 31, 39) strain = 2 @drawButtons: 31, 39, 35 @selectButton: 61, 69, 31, 39 elsif demoClickedIn (71, 79, 31, 39) strain = 3 @drawButtons: 31, 39, 35 @selectButton: 71, 79, 31, 39 elsif demoClickedIn (41, 79, 81, 89) asynchronous Play endif if grade < 10 && roughness < 10 && breathiness < 10 && asthenia < 10 && strain < 10 demo White demo Text: 60, "centre", 15, "half", "Next" if demoClickedIn (41, 79, 11, 19) select resultTableID Set string value: i, "Subject", subject$ Set string value: i, "Stimulus", fileName$ Set numeric value: i, "Grade", grade Set numeric value: i, "Roughness", roughness Set numeric value: i, "Breathiness", breathiness Set numeric value: i, "Asthenia", asthenia Set numeric value: i, "Strain", strain goto NEXT endif endif endif endwhile label NEXT removeObject: stimulusID endfor demo Erase all demo Black demo Text: 50, "centre", 50, "half", "Thank you!" removeObject: fileListID procedure drawButtons: .row1, .row2, .row3 demo Paint rectangle: "blue", 41, 49, .row1, .row2 demo Paint rectangle: "blue", 51, 59, .row1, .row2 demo Paint rectangle: "blue", 61, 69, .row1, .row2 demo Paint rectangle: "blue", 71, 79, .row1, .row2 demo White demo Text: 45, "centre", .row3, "half", "0" demo Text: 55, "centre", .row3, "half", "1" demo Text: 65, "centre", .row3, "half", "2" demo Text: 75, "centre", .row3, "half", "3" endproc procedure selectButton: .x1, .x2, .y1, .y2 demo Magenta demo Line width: 3 demo Draw rectangle: .x1+1, .x2-1, .y1+1, .y2-1 demo Line width: 1 endproc