[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Video narration

From: Paul Garlick
Subject: Re: Video narration
Date: Thu, 02 May 2019 22:36:01 +0100

Hi Laura,

> I like testing (and trying to break) stuff - I
> wished this worked well though :/

I have a new version to test.  It's unbreakable though, this one!

I have implemented the repeat procedure and pushed the commit to the

> I definitely HAVE TO learn Guile. 

This is a good example.  

There is some arithmetic needed to convert the sleep durations, in
milliseconds, to frames, using the frame rate.  If you have seen
reverse polish notation before you will recognise the way the
arithmetic expressions are built up.  

The function comes first and the arguments afterwards.  So (/ wait
1000), for example, means divide the variable 'wait' by one thousand.

The repeat procedure uses a 'named let' for recursion.  This calls the
snap! procedure the correct number of times to generate the extra

The slightly tricky part was making sure that the snap! procedure and
the repeat procedure are in the same scope.  Otherwise, an 'unbound
variable' error is generated.  I was able to do this by moving the
repeat procedure, plus the other procedures that are needed for
processing the session files, inside the same let construct in the main

To test I used the firstCli session file from 02-daily-use1.  I changed
the last line from '#:sleep 30000' to '#:sleep 40000'.  The time
durations were:

before:  78.408000
after:  88.408000

That's more like it!   a delay of ten seconds, as it should be.

Can you confirm that you get  the same result?

Best regards,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]