()
| 3991 | |
| 3992 | # this function handles initiation of a new session. |
| 3993 | def new_session(): |
| 3994 | mode.tick = -9 # give a 1-second delay before displaying first trial |
| 3995 | mode.tick -= 5 * (mode.flags[mode.mode]['multi'] - 1 ) |
| 3996 | if cfg.MULTI_MODE == 'image': |
| 3997 | mode.tick -= 5 * (mode.flags[mode.mode]['multi'] - 1 ) |
| 3998 | |
| 3999 | mode.session_number += 1 |
| 4000 | mode.trial_number = 0 |
| 4001 | mode.started = True |
| 4002 | mode.paused = False |
| 4003 | circles.update() |
| 4004 | |
| 4005 | mode.sound_mode = random.choice(cfg.AUDIO1_SETS) |
| 4006 | mode.sound2_mode = random.choice(cfg.AUDIO2_SETS) |
| 4007 | |
| 4008 | visuals[0].load_set() |
| 4009 | visuals[0].choose_random_images(8) |
| 4010 | visuals[0].letters = random.sample(list(sounds[mode.sound_mode ].keys()), 8) |
| 4011 | visuals[0].letters2 = random.sample(list(sounds[mode.sound2_mode].keys()), 8) |
| 4012 | |
| 4013 | |
| 4014 | for i in range(1, mode.flags[mode.mode]['multi']): |
| 4015 | visuals[i].load_set(visuals[0].image_set_index) |
| 4016 | visuals[i].choose_indicated_images(visuals[0].image_indices) |
| 4017 | visuals[i].letters = visuals[0].letters # I don't think these are used for anything, but I'm not sure |
| 4018 | visuals[i].letters2 = visuals[0].letters2 |
| 4019 | |
| 4020 | global input_labels |
| 4021 | input_labels.extend(generate_input_labels()) # have to do this after images are loaded |
| 4022 | |
| 4023 | |
| 4024 | mode.soundlist = [sounds[mode.sound_mode][l] for l in visuals[0].letters] |
| 4025 | mode.soundlist2 = [sounds[mode.sound2_mode][l] for l in visuals[0].letters2] |
| 4026 | |
| 4027 | if cfg.JAEGGI_MODE: |
| 4028 | compute_bt_sequence() |
| 4029 | |
| 4030 | if preventMusicSkipping: pyglet.clock.tick(poll=True) # Prevent music/applause skipping |
| 4031 | |
| 4032 | if cfg.VARIABLE_NBACK: |
| 4033 | # compute variable n-back sequence using beta distribution |
| 4034 | mode.variable_list = [] |
| 4035 | for index in range(0, mode.num_trials_total - mode.back): |
| 4036 | mode.variable_list.append(int(random.betavariate(mode.back / 2.0, 1) * mode.back + 1)) |
| 4037 | field.crosshair_update() |
| 4038 | reset_input() |
| 4039 | stats.initialize_session() |
| 4040 | update_all_labels() |
| 4041 | pyglet.clock.schedule_interval(fade_out, 0.05) |
| 4042 | |
| 4043 | # this function handles the finish or cancellation of a session. |
| 4044 | def end_session(cancelled=False): |
no test coverage detected