Summary: To ensure smooth transitions from one scene to the next, use the "initialize" feature of the Property Inspector instead of the Enter Scene Value actor to initialize media inputs. The same advice hold true if you are using an Enter Scene Trigger and Trigger Value combo to initialize a media input.
Before Isadora can jump from one scene to another, it must make sure that all the media in that scene is "preloaded" – meaning, that all preparations to play or show the media are complete. So, when you activate a new scene, Isadora goes through all the actors and looks for any player actors (Movie Players, Picture Players, 3D Players, etc.) and preloads the media needed for that actor. For example, when preloading a Movie Player actor, Isadora examines the value of the 'movie' input to decide what movie to preload;
If you are not interactively changing the media input, then there's really nothing for you to worry about. The media will all preload just fine because the media input never changes.
But a setup like this can lead to problems:
- You've used an Enter Scene Value to ensure that the first clip that is played is Clip 1. (Note that the issue we're describing would be the same if you used an Enter Scene Trigger and a Trigger Value combo instead of the Enter Scene Value actor.)
- When you get into this scene, you're using letter 'a' on the keyboard to select Clip 1 and letter 's' to select Clip 2 via their respective Trigger Value actors.
- The last key you press before you leave the scene shown above is 's', so it is Clip 2 that is playing.
- You jump to the next scene.
- After the show is over, you save the show before you go home.
So far so good. The problem comes up when you run the show the next day.
- You are in the scene before the one shown above, and then you jump into it - either by pressing the space bar or using a Jump actor.
- Before Isadora can jump, it must scan all the actors in the new scene so that it can preload the necessary media.
- When it gets to the Movie Player actor, the 'movie' input says 2 because that's the way it was when you saved the file last night. Remember, when you save a file, the values that you've modified though interaction are saved too!
- Isadora preloads Clip 2 – not Clip 1 as you might have expected. As soon as Clip 2 is ready to play, Isadora executes the jump.
- You enter the scene shown above, and immediately the Enter Scene Value actor sends a 1 to the 'movie' input of the Movie Player.
- Now, Isadora starts preloading Clip 1 so it can play it. But Clip 2 is already playing! The amount of time Clip 2 is plays may only be 50-80 milliseconds. But, that is long enough that you might hear the audio for Clip 2 before Clip 1.
- Once Clip 1 is ready to play, Isadora stops Clip 2 and starts playing Clip 1.
The first problem is that preloading two movies when you only need to load one is inefficient. But more importantly, you might see one frame, or hear a "blip" of sound, from a clip you didn't intend to play.
The solution to this is super easy. Just delete the Enter Scene Value actor and, instead, use the "initialize" feature in the Property Inspector box to ensure the correct movie is playing when you enter the scene. (To see the property inspector, click on the name of the property you want to inspect; in this example, the word 'movie' in the Movie Player.)
When Isadora scans the next scene so it can preload the media, it looks to see if the "initialize" input is checked. If it is, Isadora will use the specified value when it preloads the media. In the case of the example above, even if the 'movie' input had been set to 2 when you last saved the show, Isadora will initialize the 'movie' input to 1 ensuring that Clip 1 is loaded, not Clip 2.