Odd glitch with trigger value
-
Hey, guys
I've got a bit of an issue with the trigger value actor where the wrong video clip is being prompted to play upon triggering a video with letter keys. What I was trying to do is make it so that a clip can be activated more than once in a row. One member very helpfully suggested this patch I'm using, and it works great save for this odd glitch. Attached is a screenie of my patch. I've got my clips programmed to 6 letters, respectively. Each time I press a letter, it prompts the corresponding video to play. With trigger value linked to the position slot of movie player, I can press 'a' twice in a row and the clip will play twice. The only problem is that if I press 'w' after that, it will play a split second of 'a' before 'w' starts to play. I can't figure out why it does that, but I really need a way to get around it. Does anyone have any ideas? -
maybe experiment with a tiny trigger delay
-
I had this same issue in a presentation last Thursday and I was tinkering with a delayed trigger but ran out of time before the gig. The tinkering seemed to be solving the problem but I never eliminated the previous clip 100%. I'm on to something else now that the gig is finished but I think this is the path to a solution.
-
Heres a quick fix.
Nothing special.. just hide output for a Frame (if running at 30fps, increase the time if the issue remains).I believe the what we are seeing is something like the players video buffer.You could add some logic to this to avoid the blackout between reloads of the same video if that is an issue. -
Here's another possible solution. It is by no means any simpler, but seems to work on my end.
What seemed to be the problem with the original method is that every so often it the new clip would load slower than the position reset action so the clip that was playing would jump back to the beginning before the new clip would load.
This option gates the reset trigger (the trigger value to position) whenever a new key is pressed so it will only reset the position to zero when the current clip is playing.
-
Thanks for these ideas. I will save for future use.
Wow! I used ten keyboard watchers instead of one key table watcher with ten keys identified. Never used the key table watcher before. Thanks! -
Adding @cambrucedavis detection (top horizontal section) to my solution would allow easily to by pass the visible switch if the video is the same as the last input.
I think that my solution could be improved to ensure that visibility is switch off (if needed) BEFORE the movie id is switched. -
Dear All,Just so everyone understands the issue, which is subtle, here's a bit of detail about what's happening here.First: the reason you can't trigger a clip twice is because the value of the movie input is not changing. So, if you send the number '3' twice to the movie input, the Movie Players says "Well, I'm already playing clip #3... no need to change." Thus the need for the extra trigger to the position input to force the clip to start over.Second: The reason you need a delay is because the clip doesn't load instantly. When you tell Isadora to play a new clip by changing the value of the 'movie' input, it will start the preloading process so that the movie can play. This is not instantaneous, and the amount of time that it takes will vary depending on the resolution of clip and the codec used to encode it. So, if you send the number '2' when the Movie Player is playing clip #3, it does this1) Start preloading clip #2... but keep playing clip number 3 in the meantime.2) When clip #2 is done preloading it starts playing.But this is where the problem occurs, because if you instantly send the 'position' value, you get this behavior1) Start preloading clip #2... but keep playing clip number 3 in the meantime.2) At the same instant, you send the position value of '0', which causes clip #3 to start over3) When clip #2 is done preloading it starts playing.This preloading thing is always an issue. In an interactive software like Isadora, we would like it if we say "play" and the movie started playing instantly. But, technically, this simply isn't possible. There's a bunch of preparation that needs to happen before that movie can play, and there's simply no way around it.I have attached a patch that includes a User Actor I made for you called "Same Number Received Twice." It accepts a number, which it simply passes to the output. But, only if the number stays the same, a trigger output called "same number twice" will trigger. As you can see in the patch, this is connected to a Trigger Value that sends a '0' to the 'position' input of the Movie Player.You can examine the User Actor to see how I accomplished my goal. Note that the Trigger Delay inside (very short, 0.05 seconds) is important, as it ensures that the Calculator actor receives both values at the same time.The contents of the user actor are attached as a picture.Enjoy,Mark -
Thank you.
-
holy wow...I love you for attaching that patch, mark:O Pretty much saved my life, along with these other helpful people here. I'd like to apologize for not responding for so long. I sort of hit a creative block and went into panic mode, forgetting to check back here completely! This info has helped me understand Isadora ALOT better. We are learning this software in class now, and it's been hard getting the hang of it right away--so this feedback has been absolutely invaluable to me. Thank you so, so much:) Dus and Cam, you guys seem very adept at finding these clever work-arounds for these issues and I'm going to try building out those patches you took screenies of. I wanna learn as many alternatives solutions as possible because I think it'll help me troubleshoot some of my own issues, in the future. Thanks again, all! What a supportive forum this is.