Hi Michael,
QLab isn’t doing any non-standard file I/O stuff, but Google Drive certainly is—and there are file system details that are generally hidden to the user that may be coming into play.
As a bit of background: QLab uses macOS’s built-in file system events to monitor changes to file targets of Video cues. (It does this on Video cues specifically, so that you can make changes to still images in Photoshop, etc., and see them immediately reflected in your projections.) If a file gets replaced or updated, one of two things can happen—sometimes the original file itself is modified, but more often a new file is created and swapped in at the same path (but with a new “inode”, in Unix speak). When this happens, QLab looks at the file path to reload from the new version.
Normally, if you’re saving from Photoshop or something, that replacement process is atomic, so by the time QLab gets notified that something has changed, the new file is in place and ready to be reloaded (so the cue never breaks). Shared file systems don’t make that guarantee; they’re designed to put a placeholder at the file path so that you can see that the file exists while they download its contents. If QLab gets a notification that the old file has disappeared, and it looks at the path for a new file but doesn’t find any valid data, it will consider the cue broken. Since it no longer has a valid inode to track, the OS’s file system event notifications stop coming in regardless of what you do at the path, so QLab never knows to look for a new file when the download is complete.
It’s true that we can’t say with 100% certainty that that’s what is happening with Google Drive. However, this isn’t a problem that has been reported outside of shared file systems, so I would second Sam’s recommendation to start by making truly local (not just cached) copies of the media files for QLab to use. There may be tweaks we could make on the QLab side that would work around this specific problem, but I would still be extremely wary of anything that can arbitrarily make a file disappear in the middle of a performance.
Cheers,
Sean