Roadmap

General bugs

  • Response buttons not reset for subsequent notes when multiple probe tones used.
  • Display the full clock on the probe tone, then fixation point on next event.
  • Activate response buttons on probe tone, rather than previous event?

Windows-specific bugs

  • Check why some chords (particularly the first one in each cadence) are played twice inside the programme. This is not the case when played outside the programme; thus, it should not be a problem with the MIDI files themselves, but a problem with the programme's interpretation of the MIDI files. This problem does not seem to occur when Marcus runs the programme on his Mac laptop, but DOES occur when running the programme on another PC.
    Jeremy: we need to know which files are doing this and whether it always happens, or only sometimes.
  • Investigate why MIDI files are played inside the programme with a lot of reverb even though this reverb is not present when MIDI files are played outside the programme. I have tried changing the <midi device> argument, but it doesn't seem to make any difference;

Development

  • Tatum can sometimes be too short, giving a very fast clock playback. Minimum value?;
  • Check that subject ID doesn't already exist;
  • Too many fixed order command line options make configuration rather unwieldy. Replace with property list file.
  • Simplify architecture: distribute action listener roles to appropriate classes, use event objects rather than multiple arrays.

Architecture

The code is organised according to a MVC structure:

Model: Experiment.java
- FileList.java
- ProbeID.java
- MidiPlayer.java
- MelodyResults.java
- SubjectResults.java
- Block.java

View: ExperimentGui.java
- Clock.java
- InstructionsPanel.java
- StimulusPanel.java
- SubjectDataPanel.java
- InterBlockPanel.java

Controller: ExperimentController.java

Icons/:
- contains icons used for the GUI