Skip to content

Commit 7e45d04

Browse files
committed
refactor defaults
1 parent a24fa67 commit 7e45d04

File tree

5 files changed

+50
-53
lines changed

5 files changed

+50
-53
lines changed

src/defaults/checkDefaultsPTB.m renamed to src/defaults/checkCppPtbCfg.m

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function cfg = checkDefaultsPTB(cfg)
1+
function cfg = checkCppPtbCfg(cfg)
22
% Set some defaults values if none have been set before.
33
%
44
% USAGE::
@@ -19,35 +19,10 @@
1919
fieldsToSet = cppPtbDefaults('all');
2020

2121
if isfield(cfg, 'audio') && cfg.audio.do
22-
23-
fieldsToSet.audio.devIdx = [];
24-
fieldsToSet.audio.playbackMode = 1;
25-
26-
fieldsToSet.audio.fs = 44100;
27-
fieldsToSet.audio.channels = 2;
28-
fieldsToSet.audio.initVolume = 1;
29-
fieldsToSet.audio.requestedLatency = 3;
30-
31-
% playing parameters
32-
% sound repetition
33-
fieldsToSet.audio.repeat = 1;
34-
35-
% Start immediately (0 = immediately)
36-
fieldsToSet.audio.startCue = 0;
37-
38-
% Should we wait for the device to really start?
39-
fieldsToSet.audio.waitForDevice = 1;
40-
41-
fieldsToSet.audio.pushSize = fieldsToSet.audio.fs * 0.010; % ! push N ms only
42-
43-
fieldsToSet.audio.requestOffsetTime = 1; % offset 1 sec
44-
fieldsToSet.audio.reqsSampleOffset = fieldsToSet.audio.requestOffsetTime * ...
45-
fieldsToSet.audio.fs;
46-
22+
fieldsToSet.audio = cppPtbDefaults('audio');
4723
end
4824

4925
if isfield(cfg, 'eyeTracker') && cfg.eyeTracker.do
50-
% Calibration environment
5126
fieldsToSet.eyeTracker = cppPtbDefaults('eyeTracker');
5227
end
5328

@@ -69,7 +44,7 @@
6944
elseif cfg.skipSyncTests == true
7045
cfg.skipSyncTests = 1;
7146
end
72-
47+
7348
if ~ismember(cfg.fixation.type, {'cross', 'dot', 'bestFixation'})
7449
error('cfg.fixation.type must be one of ''cross'', ''dot'', ''bestFixation''');
7550
end

src/defaults/cppPtbDefaults.m

Lines changed: 36 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,53 +5,75 @@
55
% value = cppPtbDefaults(type)
66
%
77
% (C) Copyright 2022 CPP_PTB developers
8-
8+
99
value = [];
10-
10+
1111
switch lower(type)
12-
12+
1313
case 'all'
1414
value = struct('testingDevice', 'pc', ...
1515
'color', struct('background', [0 0 0]), ...
1616
'skipSyncTests', 0);
17-
17+
1818
value.aperture.type = 'none';
19-
19+
2020
value.debug = cppPtbDefaults('debug');
2121
value.text = cppPtbDefaults('text');
2222
value.screen = cppPtbDefaults('screen');
2323
value.fixation = cppPtbDefaults('fixation');
2424
value.keyboard = cppPtbDefaults('keyboard');
25-
25+
2626
case 'debug'
2727
value.do = true;
2828
value.transpWin = true;
2929
value.smallWin = true;
30-
30+
3131
case 'keyboard'
3232
value.keyboard = [];
3333
value.responseBox = [];
3434
value.responseKey = {};
3535
value.escapeKey = 'ESCAPE';
36-
36+
3737
case 'text'
3838
value.font = 'Courier New';
3939
value.size = 18;
4040
value.style = 1;
41-
41+
4242
case 'fixation'
4343
value.type = 'cross';
4444
value.xDisplacement = 0;
4545
value.yDisplacement = 0;
4646
value.color = [255 255 255];
4747
value.width = 1;
4848
value.lineWidthPix = 5;
49-
49+
5050
case 'screen'
5151
value.monitorWidth = 42;
5252
value.monitorDistance = 134;
5353
value.resolution = {[], [], []};
54-
54+
55+
case 'audio'
56+
value.devIdx = [];
57+
value.playbackMode = 1;
58+
59+
value.fs = 44100;
60+
value.channels = 2;
61+
value.initVolume = 1;
62+
value.requestedLatency = 3;
63+
64+
value.repeat = 1;
65+
66+
% Start immediately (0 = immediately)
67+
value.startCue = 0;
68+
69+
% Should we wait for the device to really start?
70+
value.waitForDevice = 1;
71+
72+
value.pushSize =value.fs * 0.010; % ! push N ms only
73+
74+
value.requestOffsetTime = 1; % offset 1 sec
75+
value.reqsSampleOffset = value.requestOffsetTime * value.fs;
76+
5577
case 'eyetracker'
5678
value.defaultCalibration = true;
5779
value.backgroundColor = [192 192 192];
@@ -60,7 +82,7 @@
6082
value.calibrationTargetSize = 1;
6183
value.calibrationTargetWidth = 0.5;
6284
value.displayCalResults = 1;
63-
85+
6486
end
65-
66-
end
87+
88+
end

src/initPTB.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
% check for OpenGL compatibility, abort otherwise:
4343
AssertOpenGL;
4444

45-
cfg = setDefaultsPTB(cfg);
45+
cfg = checkCppPtbCfg(cfg);
4646

4747
Screen('Preference', 'SkipSyncTests', cfg.skipSyncTests);
4848

tests/test_setDefaultsPTB.m renamed to tests/test_checkCppPtbCfg.m

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function test_suite = test_setDefaultsPTB %#ok<*STOUT>
1+
function test_suite = test_checkCppPtbCfg %#ok<*STOUT>
22
%
33
% (C) Copyright 2020 CPP_PTB developers
44
try % assignment of 'localfunctions' is necessary in Matlab >= 2016
@@ -8,10 +8,10 @@
88
initTestSuite;
99
end
1010

11-
function test_setDefaultsPtb_basic()
11+
function test_checkCppPtbCfg_basic()
1212

1313
% set up
14-
cfg = checkDefaultsPTB();
14+
cfg = checkCppPtbCfg();
1515

1616
% test data
1717
expectedCfg = cppPtbDefaults('all');
@@ -26,7 +26,7 @@ function test_setDefaultsPtb_basic()
2626
function test_setDefaultsPtb_no_debug()
2727

2828
% set up
29-
cfg = checkDefaultsPTB();
29+
cfg = checkCppPtbCfg();
3030

3131
% test data
3232
expectedCfg = cppPtbDefaults('all');
@@ -42,7 +42,7 @@ function test_setDefaultsPtb_overwrite()
4242

4343
% set up
4444
cfg.screen.monitorWidth = 36;
45-
cfg = checkDefaultsPTB(cfg);
45+
cfg = checkCppPtbCfg(cfg);
4646

4747
% test data
4848
expectedCfg = cppPtbDefaults('all');
@@ -59,7 +59,7 @@ function test_setDefaultsPtb_audio()
5959

6060
% set up
6161
cfg.audio.do = 1;
62-
cfg = checkDefaultsPTB(cfg);
62+
cfg = checkCppPtbCfg(cfg);
6363

6464
% test data
6565
expectedCfg = cppPtbDefaults('all');
@@ -92,7 +92,7 @@ function test_setDefaultsPtb_mri()
9292

9393
% set up
9494
cfg.testingDevice = 'mri';
95-
cfg = checkDefaultsPTB(cfg);
95+
cfg = checkCppPtbCfg(cfg);
9696

9797
% test data
9898
expectedCfg = cppPtbDefaults('all');

tests/test_setDefaults.m renamed to tests/test_setDefaultFields.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function test_suite = test_setDefaults %#ok<*STOUT>
1+
function test_suite = test_setDefaultFields %#ok<*STOUT>
22
%
33
% (C) Copyright 2020 CPP_PTB developers
44
try % assignment of 'localfunctions' is necessary in Matlab >= 2016
@@ -15,7 +15,7 @@ function test_setDefaultsWrite()
1515

1616
fieldsToSet.field = 1;
1717

18-
structure = setDefaults(structure, fieldsToSet);
18+
structure = setDefaultFields(structure, fieldsToSet);
1919

2020
%% data to test against
2121
expectedStructure.field = 1;
@@ -33,7 +33,7 @@ function test_setDefaultsNoOverwrite()
3333
fieldsToSet.field.subfield_1 = 1;
3434
fieldsToSet.field.subfield_2 = 1;
3535

36-
structure = setDefaults(structure, fieldsToSet);
36+
structure = setDefaultFields(structure, fieldsToSet);
3737

3838
% data to test against
3939
expectedStructure.field.subfield_1 = 3;

0 commit comments

Comments
 (0)