Ok I never figured it out. It works on OBS but not live on twitch. here is what I'm trying to do
When I go live on twitch I want to add a small delay to allow people to join the stream.
After this small delay I want to start my "stream starting " animated screen scene (its 7 seconds long but I have it on loop) with the intro song playing
8 seconds before the song ends I want to switch to the animated logo intro scene (its 7 seconds) to play while the song finishes
After all of that is done go to the game capture.
How can I accomplish this if possible.
View attachment 101481View attachment 101482View attachment 101483View attachment 101480
I know how to do this on Linux, but I presume you're on Windows. Much less scriptability there, but maybe you can take my structure and figure something out.
---
Because you have a soundtrack that continues through multiple scenes, I'd use a global source for that. Set up a loopback (virtual speaker and mic pair, so whatever goes to that "speaker" appears in that "mic", and any app can use them as if they were physical), connect a global source in OBS (
Settings -> Audio) to that virtual mic, and connect a remote-controllable player to that virtual speaker. Yes, you're playing that song outside of OBS, and piping it in as a live source. The remote control for that player is its own external program that goes in the Run action of Adv. SS.
On Linux, I'd use MPD as the external player, and its command-line controller MPC.
Music Player Daemon is a flexible, powerful, server-side application for playing music.
www.musicpd.org
And just for my own comfortability, add a graphical controller as well. I like GMPC, even though it's no longer maintained or officially recommended. Still works just fine, but not strictly needed at all.
All three can be installed on Debian Linux and its derivatives (Ubuntu, Mint, etc.) with just one command line:
sudo apt install mpd mpc gmpc
It takes a while to wrap your head around the documentation for the command-line controller and what options to give it from Adv. SS' Run action, and especially for the player's config file, but then it works well. Things either work or they don't, with not much indication of why (I'm a casual programmer myself; good error messages are amazingly hard!), but once they work, they keep working.
---
Okay, now that you've got the sound outsourced and controlled from Adv. SS, and piped back into a global source in OBS, you can focus on the picture. The scenes themselves are silent, and you simply switch them as needed while the outsourced soundtrack continues unaffected.
For the media-ending trigger, I'd use this condition instead:
Of course, you can specify a particular media item instead of the "any" shown here, but "any" works too. Mine goes to the Previous Scene, to make it a truly-general "return from whatever", with nothing actually specified, but of course you can send it to a specific one instead.
I think the key here is "Playing and Time remaining shorter", instead of "Ended" or "Ending". Maybe those two work now, but I've had enough problems with them in the past, not triggering, that I did this instead. AND, triggering a half-second early allows a half-second transition while it's still playing (or however long you want to make it), which gives a much more professional look anyway.
---
So, between those two points and some timers, maybe that gets you going?
Also, instead of Wait actions, I like to use the Condition timers:
This gives you a series of short macros, compared to a single long macro with Waits. The huge advantage (IMO) is that you can escape the sequence easily, simply by switching to something else before the timer expires. And you can enter the sequence at any point, simply by switching to that scene, and it runs from there. It also makes it easy to loop several scenes, simply by sending the last one back to the first.
You can use that timer technique on anything, not just scenes. I do use Waits occasionally, but not very often, and they're always short. Mostly to avoid a race condition or let something stabilize, and not much more. All of my high-level timing is done as shown here.