How to implement iterative video adjustments (speed/complexity) with sliders

I need help designing an experiment where participants iteratively adjust video stimuli using two unlabelled sliders (5 discrete levels each). Videos are pre-rendered (not manipulated in real-time). Participants must watch each video fully before adjusting.

Stimuli: 25 base videos × 5 speed levels × 5 complexity levels = 625 variants.

Trial Flow:

  • Randomly select one of the 625 videos.

  • Participant watches the full video (centered), flanked by:
    Horizontal slider (speed adjustments).
    Vertical slider (complexity adjustments).

  • After watching, they adjust one/both sliders → updated video plays.

  • Repeat adjustment (or press ‘space’ to finalize).

How can I efficiently handle the 625-video mapping while implementing discrete slider adjustments, triggering video updates?

More specifically,

  • How can I structure my Loops to allow participants to adjust sliders multiple times per trial (updating the video dynamically) without advancing the Loop iteration?
  • Should my conditions file list all 625 video variants explicitly (e.g., one row per combination), or can I use formulas in Excel to auto-generate the video_path column?
  • After a slider adjustment, how do I force the experiment to reload the new video variant (e.g., from Base1_Speed2_Complexity3.mp4 to Base1_Speed4_Complexity3.mp4) within the same trial? Does this require a code component to overwrite the Loop’s condition variables mid-trial?

Hello @Alkmini

I do not have an answer yet to all your questions. Regarding your first question do you want to run the experiment online or offline?

Best wishes Jens

Hi Jens,

I’m planning to run my experiment online.

Best,
Alkmini

Hello @Alkmini

In that case, take a look here Wakefield's Daily Tips - #54 by wakecarter or Resource Manager Component — PsychoPy v2025.1.1. If this runs to your statisfaction and you randomly present a video, we adress the next problem.

Best wishes Jens