Mercurial > hg > mep
comparison ExperimentController.java @ 23:9fc8683b8fed
Fixed GUI button presses, had their background change as feedback and added ability to record responses for a probe tone at the end of a sequence
author | JShulver |
---|---|
date | Wed, 07 Nov 2012 18:22:01 +0000 |
parents | 284c23df4652 |
children | c5db34797ff3 |
comparison
equal
deleted
inserted
replaced
22:5c54f5213f3d | 23:9fc8683b8fed |
---|---|
115 if (exp.getAskFamiliarity()) { | 115 if (exp.getAskFamiliarity()) { |
116 String answer1 = (String)(sp.getQ1Box().getSelectedItem()); | 116 String answer1 = (String)(sp.getQ1Box().getSelectedItem()); |
117 block.addMelodyQA("known", answer1); | 117 block.addMelodyQA("known", answer1); |
118 } else | 118 } else |
119 block.addMelodyQA("known", "-1"); | 119 block.addMelodyQA("known", "-1"); |
120 | |
121 if (exp.getAskLiking()) { | 120 if (exp.getAskLiking()) { |
122 String answer2 = (String)(sp.getQ2Box().getSelectedItem()); | 121 String answer2 = (String)(sp.getQ2Box().getSelectedItem()); |
123 block.addMelodyQA("liked", answer2); | 122 block.addMelodyQA("liked", answer2); |
124 } else | 123 } else |
125 block.addMelodyQA("liked", "-1"); | 124 block.addMelodyQA("liked", "-1"); |
126 | |
127 block.storeMelodyResult(); | 125 block.storeMelodyResult(); |
128 results.writeResults(); | 126 results.writeResults(); |
129 // close the midi player | 127 // close the midi player |
130 block.getMidiPlayer().stop(); | 128 block.getMidiPlayer().stop(); |
131 // proceed to ... | 129 // proceed to ... |
130 | |
132 String nextFile = block.nextFile(); | 131 String nextFile = block.nextFile(); |
133 if (nextFile == null) { | 132 if (nextFile == null) { |
134 boolean nb = exp.nextBlock(); | 133 boolean nb = exp.nextBlock(); |
135 if (nb) { | 134 if (nb) { |
136 // ... next block of trials | 135 // ... next block of trials |
137 gui.getInterBlockPanel().setText(); | 136 gui.getInterBlockPanel().setText(); |
138 gui.getInterBlockPanel().updateMessageDisplay(); | 137 gui.getInterBlockPanel().updateMessageDisplay(); |
139 gui.showCard("interblock"); | 138 gui.showCard("interblock"); |
139 sp.resetButtonBackgrounds(); | |
140 } else { | 140 } else { |
141 // ... write results and subject questionnaire | 141 // ... write results and subject questionnaire |
142 results.writeResults(); | 142 results.writeResults(); |
143 gui.showCard("subject"); | 143 gui.showCard("subject"); |
144 } | 144 } |
145 } else { | 145 } else { |
146 // ... next melody within block | 146 // ... next melody within block |
147 sp.resetButtonBackgrounds(); | |
147 sp.setSongNumberText(); | 148 sp.setSongNumberText(); |
148 sp.defaultAnswers(); | 149 sp.defaultAnswers(); |
149 gui.setAcceptingResponses(false); | 150 gui.setAcceptingResponses(false); |
150 block.initialiseBlock(); | 151 block.initialiseBlock(); |
151 exp.runExperiment(); | 152 exp.runExperiment(); |
153 | |
152 } | 154 } |
153 } | 155 } |
154 } else { | 156 } else { |
155 JButton[] rButtons = sp.getResponseButtons(); | 157 JButton[] rButtons = sp.getResponseButtons(); |
156 for (int i = 0; i < rButtons.length; i++) { | 158 for (int i = 0; i < rButtons.length; i++) { |
159 System.out.println("getAcceptingResponses: " + gui.getAcceptingResponses()); | |
157 if (source == rButtons[i] && (exp.isRunning() || exp.hasRun()) && gui.getAcceptingResponses()) { | 160 if (source == rButtons[i] && (exp.isRunning() || exp.hasRun()) && gui.getAcceptingResponses()) { |
158 block.addResponse(i+1, time); | 161 block.addResponse(i+1, time); |
159 gui.setAcceptingResponses(false); | 162 gui.setAcceptingResponses(false); |
163 rButtons[i].setBackground(Color.red); | |
160 } | 164 } |
161 } | 165 } |
162 } | 166 } |
163 } | 167 } |
164 | 168 |