sebo-b / obs-scripts

MIT License
2 stars 5 forks source link

Struggle with the scenes and the sources you need to have #1

Open juergenschubert opened 3 years ago

juergenschubert commented 3 years ago

Hey, just by using the default setting without changing anything what senses do you need: I think two: timer and Scene 2. Correct? Now the question is what kind of sources do you have behind dyntext, factored, color, dyntext 2, pres1 and pres2 and after as well as text_green, img1_a omg2 Image ?

sebo-b commented 3 years ago

Correct, you need two scenes:

Then the first element of the list should be text, which will be populated with schedule_messages. Look at this line:

if sceneItemId ~= "text_gdiplus" and sceneItemId ~= "text_ft2_source" and sceneItemId ~= "text_ft2_source_v2"then

I run this script on Mac and Windows and it worked, but if there are multiple type of texts you need to find a proper one, or extend the above line with the appropriate text type.

Other elements of the list (factoid, color, pres1, etc) can be anything, they will be shown/hidden depending on the schedule.

juergenschubert commented 3 years ago

Great and when I do get a: on m mac [obs-schedulecountdown.lua] All seems ok! [obs-schedulecountdown.lua] All seems ok! [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] All seems ok! [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value [obs-schedulecountdown.lua] Failed to call timer_cb for timer_call: ...plugins/frontend-tools/scripts/obs-schedulecountdown.lua:300: attempt to index a nil value

juergenschubert commented 3 years ago

So I was using in scene timer Sources like after, dyntext and dyntext 2 defined as text (FreeType 2) pres2 pres1 factored and color sources are images I was using for test. Is this correct?

juergenschubert commented 3 years ago

So the concept is that the scene timer is showing you the time until it starts with different items you configure in the: ["timer"] = { } section I am puzzled about the ["Scene 2"] = { ["10:00"] time. What does this time gives you and what does it trigger?

sebo-b commented 3 years ago

Does it work for you? I have just downloaded the new OBS, started clean and the script works (on Mac). Attaching scene configuration (remove txt extension as github doesn't allow me to upload json)

test.json.txt

juergenschubert commented 3 years ago

Great that will explain it better. Thanks. Do you also have a screen switcher included or what is the reason for have timer scene and Scene 2 in your example?

sebo-b commented 3 years ago
    ["Scene 2"] = {
        ["10:00"] = {"text_green", "img1_a","img2"},
        ["11:00"] = {"text_green", "Image" },
        ["12:00"] = {"text_green", "img2" },
        ["20:00"] = {"", "img1_a"}
        },

what does mean is that when you switch to "Scene 2":

juergenschubert commented 3 years ago

Working here on my mac.

juergenschubert commented 3 years ago

So you let Scene timer run and the time it is showing does illustrate the text in scene timer. The time when you switch to Scene 2 is the time you mention at ["Scene 2"] = { ["10:00"], correct? Finally I think I got it. Thanks for updating a German :-)

sebo-b commented 3 years ago

It was a live event so I was switching scenes manually to have the full control. Two scenes are there as I had a 2-day event and one scene was used per day. However, you can imagine cases where you want to have a couple of scenes for the event and more control.

You can see it working on these videos, (of course most of the waiting is cut there) just scroll to time between chapters: https://www.youtube.com/watch?v=-X6e1eWBllE https://www.youtube.com/watch?v=u0VRozA95bI

juergenschubert commented 3 years ago

Great thanks for that !

sebo-b commented 3 years ago

So you let Scene timer run and the time it is showing does illustrate the text in scene timer. The time when you switch to Scene 2 is the time you mention at ["Scene 2"] = { ["10:00"], correct? Finally I think I got it. Thanks for updating a German :-)

Actually not - I switch to the scene before that time. The logic is following, you are finishing the first live presentation at 10:45 and you have a scheduled next live presentation at 11:00, so you switch to Scene 2 at 10:45 and the text is updated with:

glowinthedark commented 2 years ago

@juergenschubert: as this plugin is serving a very specific use case; I borrowed the idea and some of the code, and made a more generic plugin which is configurable from the UI (the schedule itself is defined in the script source): https://github.com/glowinthedark/obs-conference-schedule-clock-countdown