timed text messages in workout builder for export to tp virtual
As the winter training season approaches I’m using the workout builder in TP to create some structured workouts to see me through the off-season in TP Virtual.
I’d like to include some on screen text reminders to encourage me to do things like “take a drink” or “don’t give up”.
I can easily add text so that it appears at the start of the segment using the “add comment” box in the workout builder but I’d like to have comments that come up at specific times within the segment so for example to have the “take a drink” comment come up at 15mins and again at 30mins with a different message, eg “don’t give up” coming up at 25mins.
please update the workout builder so that I can include timed text messages to help keep me on track.
Thanks for the suggestion!
You can do this today by adding in a note to a workout step and use this structure:
!TextEvents:{ 10:
The 10 in the above example is the time in seconds.
-
Kris
commented
@Tony, what would this look like in the .zwo file?
I tried the following, but it displays all the instructions for 1 block at once (see attached image):
```
<workout_file>
<author></author>
<name>90-min D2 medium L4-threshold #01</name>
<description>This 90-minute workout is designed to develop your ******* Threshold power, a key determinant of cycling performance, aligning with Level 4 of the Coggan Power Zones. It features sustained efforts just below to just above your time trial pace, demanding significant mental and physical focus. The session includes two substantial 20-minute blocks at 98% FTP, which is squarely in your L4-threshold zone, separated by active recovery. Expect breathing to be deep and conversation difficult during the work intervals. Focus on maintaining a steady, powerful output throughout each threshold effort.</description>
<sportType>bike</sportType>
<tags>
<tag>Threshold</tag>
<tag>L4</tag>
<tag>Medium</tag>
</tags>
<workout>
<Warmup Duration="300" PowerLow="0.5" PowerHigh="0.7">
<textevent timeoffset="0" message="Welcome, Kris! Let's get warmed up for some L4-threshold work." />
<textevent timeoffset="150" message="Gradually increasing effort. Focus on smooth pedaling." />
<textevent timeoffset="8" message="Kris, threshold focus: steady effort, no surging." />
</Warmup>
<SteadyState Duration="300" Power="0.7">
<textevent timeoffset="150" message="Holding steady, Kris. Preparing for the main efforts." />
</SteadyState>
<SteadyState Duration="180" Power="0.9">
<textevent timeoffset="0" message="A short opener, Kris. Feel that higher intensity briefly." />
</SteadyState>
<SteadyState Duration="120" Power="0.55">
<textevent timeoffset="0" message="Easy spin here, Kris. Collect yourself before the first big block." />
</SteadyState>
<SteadyState Duration="1200" Power="0.98">
<textevent timeoffset="0" message="First L4-threshold block, Kris! Settle into a strong, sustainable rhythm." />
<textevent timeoffset="600" message="Halfway through this interval, Kris. Keep pushing, you're doing great!" />
<textevent timeoffset="1000" message="Just a few minutes left, Kris. Dig deep, maintain focus." />
</SteadyState>
<SteadyState Duration="600" Power="0.65">
<textevent timeoffset="0" message="Active recovery, Kris. Bring that heart rate down, hydrate." />
<textevent timeoffset="300" message="Easy spinning, Kris. Prepare mentally for the next effort." />
</SteadyState>
<SteadyState Duration="1200" Power="0.98">
<textevent timeoffset="0" message="Second L4-threshold block, Kris. Let's match or exceed the first one!" />
<textevent timeoffset="600" message="You're halfway, Kris! Stay strong, this is where gains are made." />
<textevent timeoffset="1000" message="Final minutes of threshold work, Kris. Empty the tank responsibly!" />
</SteadyState>
<SteadyState Duration="600" Power="0.65">
<textevent timeoffset="0" message="Excellent work on those threshold efforts, Kris! Enjoy this recovery." />
</SteadyState>
<Ramp Duration="900" PowerLow="0.6" PowerHigh="0.4">
<textevent timeoffset="0" message="Time to cool down, Kris. Gradually reduce your effort." />
<textevent timeoffset="450" message="Smooth out your pedal stroke, Kris. Great work today!" />
<textevent timeoffset="800" message="Almost done, Kris. Reflect on your strong performance." />
</Ramp>
</workout>
</workout_file>
```