Thanks for the report...
There are a few obvious bugs that I am working on with the timestretch, the next update will have a completely different system with only about 3 buttons (on/off, double speed, half speed), none of which will need to be pressed, as it will be mostly automatic, and a lot more intelligent.
but as for the other errors, maybe it is not such a clear interface. Let me explain a bit how the editor is working:-
Only a video file has a timeline (I have intention to create timelines for stills, qtz, etc, but it is more complex as the timeline is currently based on 'direct_layer_media_timePosition' - other types of file do not have this, so this will happen later on).
Sometimes the timestretch will go out of acceptable range, and the sync buttons will have no effect. In those situations you will need to reduce the length of the clip. (This will not be a problem in the next update as there will be no sync buttons!)
The whole timestretch system is based on the keyword 'info_layer_media_timeLength', (and to a lesser extent 'info_layer_media_type' - which tells me if it is a video or not). There is an issue with the way Modul8 deals with these 'info' keywords in that they are not available until about 3 or so frames after the 'ctrl' keywords are received by the modules.
If anyone wishes to verify this you can insert this script into the keywords script of a new module and read the 'script output' window as you flick through some different medias:
if keyword.startswith ('ctrl_layer_media'):
mediaLength = modul8.getValue('info_layer_media_timeLength',0)
print 'Movie Length = '+str(mediaLength)
...so, I have had to set up an internal delay to account for this, and maybe the code it is not quite solid enough, hence the randomness.
The reason I am explaining all this is because it has wasted nights and nights of my programming (and sleeping) time to find this out! Sort this out Garagecube!!