# HG changeset patch # User Nicholas Jillings # Date 1531578648 -3600 # Node ID b67d33da38670f24fa8aa229fb3a7463ad1e630f # Parent db3b7c9ca3982e187b5c999b0206275af6670075# Parent 9ac4f490a1d8ced780db306146b2a61893d99b54 Merge branch 'vnext' into Dev_main diff -r db3b7c9ca398 -r b67d33da3867 index.html --- a/index.html Mon May 21 18:20:31 2018 +0100 +++ b/index.html Sat Jul 14 15:30:48 2018 +0100 @@ -27,11 +27,14 @@

Web Audio Evaluation Toolbox (v1.2.3)

Start menu

diff -r db3b7c9ca398 -r b67d33da3867 interfaces/mushra.css --- a/interfaces/mushra.css Mon May 21 18:20:31 2018 +0100 +++ b/interfaces/mushra.css Sat Jul 14 15:30:48 2018 +0100 @@ -1,6 +1,6 @@ /* * Hold any style information for MUSHRA interface. Customise if you like to make the interface your own! - * + * */ body { @@ -80,49 +80,49 @@ padding: 0 5px; color: rgb(255, 144, 144); } -input[type=range]::-webkit-slider-runnable-track { +input[type=range][orient=vertical]::-webkit-slider-runnable-track { width: 8px; cursor: pointer; background: #fff; border-radius: 4px; border: 1px solid #000; } -input[type=range]::-moz-range-track { +input[type=range][orient=vertical]::-moz-range-track { width: 8px; cursor: pointer; background: #fff; border-radius: 4px; border: 1px solid #000; } -input[type=range]::-ms-track { +input[type=range][orient=vertical]::-ms-track { cursor: pointer; background: #fff; border-radius: 4px; border: 1px solid #000; } -input.track-slider-not-moved[type=range]::-webkit-slider-runnable-track { +input.track-slider-not-moved[type=range][orient=vertical]::-webkit-slider-runnable-track { background: #aaa; } -input.track-slider-not-moved[type=range]::-moz-range-track { +input.track-slider-not-moved[type=range][orient=vertical]::-moz-range-track { background: #aaa; } -input[type=range]::-moz-range-thumb { +input[type=range][orient=vertical]::-moz-range-thumb { margin-left: -7px; cursor: pointer; margin-top: -1px; box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; } -input[type=range]::-webkit-slider-thumb { +input[type=range][orient=vertical]::-webkit-slider-thumb { cursor: pointer; margin-top: -1px; margin-left: -4px; } -input[type=range]::-ms-thumb { +input[type=range][orient=vertical]::-ms-thumb { cursor: pointer; margin-top: -1px; margin-left: -4px; } -input[type=range]::-ms-tooltip { +input[type=range][orient=vertical]::-ms-tooltip { visibility: hidden; } input.track-slider-range-disabled {} diff -r db3b7c9ca398 -r b67d33da3867 python/score_parser.py --- a/python/score_parser.py Mon May 21 18:20:31 2018 +0100 +++ b/python/score_parser.py Sat Jul 14 15:30:48 2018 +0100 @@ -4,6 +4,7 @@ import os import sys import csv +import re # COMMAND LINE ARGUMENTS @@ -60,9 +61,12 @@ if storage.get(page_name) == None: storage[page_name] = {'header':[], 'axis':{}} # add to the store + # strip repetitions + page_name_root = re.sub('-repeat-.$', '', page_name) + # Get the axis names - pageConfig = root.find('./waet/page/[@id="'+page_name+'"]') - for interface in pageConfig.findall('./interface'): # Get the noeds + pageConfig = root.find('./waet/page/[@id="'+page_name_root+'"]') + for interface in pageConfig.findall('./interface'): # Get the nodes interfaceName = interface.get("name"); # Get the axis name if interfaceName == None: interfaceName = "default" # If name not set, make name 'default' diff -r db3b7c9ca398 -r b67d33da3867 python/timeline_view_movement.py --- a/python/timeline_view_movement.py Mon May 21 18:20:31 2018 +0100 +++ b/python/timeline_view_movement.py Sat Jul 14 15:30:48 2018 +0100 @@ -5,7 +5,7 @@ import sys # command line arguments import matplotlib.pyplot as plt # plots import matplotlib.patches as patches # rectangles - +import re # regular expressions # COMMAND LINE ARGUMENTS @@ -74,10 +74,6 @@ if page_name is None: # ignore 'empty' audio_holders print("Skipping empty page name from "+subject_id+".") break - - if page.get("state") != "complete": - print("Skipping non-completed page "+page_name+" from "+subject_id+".") - break # subtract total page length from subsequent page event times page_time_temp = page.find("./metric/metricresult/[@id='testTime']") @@ -112,25 +108,22 @@ if audioelement is not None: # Check it exists audio_id = str(audioelement.get('ref')) - # break if outside-reference - if audioelement.get("type") == "outside-reference": - break; - - # break if no initial position.... + # break if no initial position or move events registered initial_position_temp = audioelement.find("./metric/metricresult/[@name='elementInitialPosition']") if initial_position_temp is None: print("Skipping "+page_name+" from "+subject_id+": does not have initial positions specified.") break - # ... or move events registered - movements = audioelement.find("./metric/metricresult[@name='elementTrackerFull']") - if movements is None: - print("Skipping "+page_name+" from "+subject_id+": does not have trackers.") - break - - # get move events, initial and eventual position - initial_position = float(initial_position_temp.text) - move_events = audioelement.findall("./metric/metricresult/[@name='elementTrackerFull']/movement") - final_position = float(audioelement.find("./value").text) + + # if reference, only display 'listen' events + if audioelement.get('type')=="outside-reference": + initial_position = 1.0 + move_events = [] + final_position = 1.0 + else: + # get move events, initial and eventual position + initial_position = float(initial_position_temp.text) + move_events = audioelement.findall("./metric/metricresult/[@name='elementTrackerFull']/movement") + final_position = float(audioelement.find("./value").text) # get listen events start_times_global = [] @@ -305,27 +298,21 @@ # Y axis title and tick labels as specified in 'setup' # for corresponding page - page_setup = root.find("./waet/page[@id='"+page_name+"']") + page_name_root = re.sub('-repeat-.$', '', page_name) + page_setup = root.find("./waet/page[@id='"+page_name_root+"']") # 'ref' of page is 'id' in page setup # Different plots for different axes interfaces = page_setup.findall("./interface") interface_title = interfaces[0].find("./title") scales = interfaces[0].findall("./scales") # get first interface by default - + scalelabels = scales[0].findall("./scalelabel") # get first scale by default + labelpos = [] # array of scalelabel positions labelstr = [] # array of strings at labels - - # No scales given. Use normal floats - if len(scales) is 0: - labelpos = [0.0, 1.0] - labelstr = ["0", "100"] - else: - scalelabels = scales[0].findall("./scalelabel") # get first scale by default - - for scalelabel in scalelabels: - labelpos.append(float(scalelabel.get('position'))/100.0) - labelstr.append(scalelabel.text) + for scalelabel in scalelabels: + labelpos.append(float(scalelabel.get('position'))/100.0) + labelstr.append(scalelabel.text) # use interface name as Y axis label if interface_title is not None: diff -r db3b7c9ca398 -r b67d33da3867 tests/examples/ABX_example.xml --- a/tests/examples/ABX_example.xml Mon May 21 18:20:31 2018 +0100 +++ b/tests/examples/ABX_example.xml Sat Jul 14 15:30:48 2018 +0100 @@ -32,7 +32,7 @@ - Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder. + Thank you for taking this listening test. Please click 'Submit' and your results will appear in the 'saves/' folder. diff -r db3b7c9ca398 -r b67d33da3867 tests/examples/AB_example.xml --- a/tests/examples/AB_example.xml Mon May 21 18:20:31 2018 +0100 +++ b/tests/examples/AB_example.xml Sat Jul 14 15:30:48 2018 +0100 @@ -32,7 +32,7 @@ - Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder. + Thank you for taking this listening test. Please click 'Submit' and your results will appear in the 'saves/' folder. diff -r db3b7c9ca398 -r b67d33da3867 tests/examples/mushra_example.xml --- a/tests/examples/mushra_example.xml Mon May 21 18:20:31 2018 +0100 +++ b/tests/examples/mushra_example.xml Sat Jul 14 15:30:48 2018 +0100 @@ -33,7 +33,7 @@ - Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder. + Thank you for taking this listening test. Please click 'Submit' and your results will appear in the 'saves/' folder. diff -r db3b7c9ca398 -r b67d33da3867 tests/examples/timeline.xml --- a/tests/examples/timeline.xml Mon May 21 18:20:31 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ - - - - - testTimer - elementTimer - elementInitialPosition - elementTracker - elementFlagListenedTo - elementFlagMoved - elementListenTracker - - - - - - - - - - - - My Test - - - (1) Very Annoying - (2) Annoying - (3) Slightly Annoying - (4) Audible but not Annoying - (5) Inaudible - - - - - - - Please enter your overall preference - - - - - - - - Please describe the overall character - - - - - - - - - My Test - - - (1) Very Annoying - (2) Annoying - (3) Slightly Annoying - (4) Audible but not Annoying - (5) Inaudible - - - - - - - Please enter your overall preference - - - - - - - - Please describe the overall character - - - - - - - - diff -r db3b7c9ca398 -r b67d33da3867 tests/examples/timeline_example.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/examples/timeline_example.xml Sat Jul 14 15:30:48 2018 +0100 @@ -0,0 +1,84 @@ + + + + + testTimer + elementTimer + elementInitialPosition + elementTracker + elementFlagListenedTo + elementFlagMoved + elementListenTracker + + + + + + + + + + + + My Test + + + (1) Very Annoying + (2) Annoying + (3) Slightly Annoying + (4) Audible but not Annoying + (5) Inaudible + + + + + + + Please enter your overall preference + + + + + + + + Please describe the overall character + + + + + + + + + My Test + + + (1) Very Annoying + (2) Annoying + (3) Slightly Annoying + (4) Audible but not Annoying + (5) Inaudible + + + + + + + Please enter your overall preference + + + + + + + + Please describe the overall character + + + + + + + +