Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use the Display section for other values #11

Open
gravelfreeman opened this issue Oct 2, 2024 · 6 comments
Open

Use the Display section for other values #11

gravelfreeman opened this issue Oct 2, 2024 · 6 comments
Assignees

Comments

@gravelfreeman
Copy link

The display section is kinda useless for me at the moment. I think it would be more useful, at least in my situation, to display the remaining time of the latest media source that has been triggered.

One neat thing would be able to choose between Media Source and VLC Media Source. I put my overlay in Media Source and the actual videos I want to play on screen in VLC Media Source so that it's easier to differentiate. That could probably solve an overlay loop of 3 seconds to take the spot in the Display.

@normen
Copy link
Owner

normen commented Oct 3, 2024

As you're always controlling the program stream I think it does make a lot of sense to show the currently controlled scene. But sure, it could be optionally used for other things as well.

@normen normen changed the title Use the Display section for media source remaining time Use the Display section for other values Oct 3, 2024
@normen normen self-assigned this Oct 3, 2024
@gravelfreeman
Copy link
Author

As you're always controlling the program stream I think it does make a lot of sense to show the currently controlled scene. But sure, it could be optionally used for other things as well.

Maybe I'm mistaken or that it's not working properly on my end. There seems to be 3 columns in total.

The first column shows the Fader Bank/Channel Assignment which is required and fine.

The second part of the display (Bars/Beats) shows P.P.P.P. or 2222 which I don't understand what is it.

The third part (Subdivision/Ticks) is showing what's on Program which is cool in theory but is a bit sketchy since it only has 5 chars and that there's a big space between the first 2 chars between Subdivision and Ticks. I'm not sure how that works in Mackie and if all controllers are built the same for their display but I doubt you have what I have here, it's not practical.

Since the spaces are very big between each items I would actually try to fit valuable information that doesn't exceed the allowed number of chars. Example:

Assignment (2 chars): Leave it as-is.
Bars (4 chars): Shortened name of last triggered media source (same behaviour as the track names/aka not only the first chars)
Beats (2 chars): Time remaining of last triggered media source (Minutes)
Subdivions (2 chars): Time remaining of last triggered media source (Seconds)
Ticks (3 chars): Automatically cycles between CPU usage (30%), FPS (60F), Bitrate (12k)

While we're at it, in the same section there's a SOLO light that's off. Not sure if it can have different colors but it would be cool to have the state of the stream quality available in the bottom right of OBS. Red Green and Yellow. Otherwise another use could be that it lighten up if the stream or recording is started.

Pressing the DISPLAY button could switch to some other display information too.

Here's a picture of my display which might help comprehend those ideas.

image

@normen
Copy link
Owner

normen commented Oct 4, 2024

Maybe I'm mistaken or that it's not working properly on my end. There seems to be 3 columns in total.

It simply shows whatever name you gave the scene. The hieroglyphs are probably question marks for letters it cant display on the 7 segment display.

@gravelfreeman
Copy link
Author

Maybe I'm mistaken or that it's not working properly on my end. There seems to be 3 columns in total.

It simply shows whatever name you gave the scene. The hieroglyphs are probably question marks for letters it cant display on the 7 segment display.

It makes much more sense now! I was using colored circle emojis to color-code my scenes since OBS doesn't have that feature yet. It would be great if we could ignore unknown characters, but I think it's better not to fix what OBS should handle natively. I renamed my scenes without the emojis, and it's working fine.

I’d still prefer to see the remaining time of the last triggered media source. I know this might not be something you’re interested in coding, so I’d be willing to offer a bounty for it. Let me know if you’re interested. Otherwise, feel free to stop reading here.


Getting the last triggered source to display cleanly is possible, and the best workaround I've found is using the plugin Media Controls. I usually avoid plugins in a production environment, but this one has been the exception. In four years, it's never caused any issues during OBS updates. I think it's because the plugin is relatively simple, which is why I chose it instead of getting a rack-mount media player or using a dedicated PC just for media.

If you consider that 99% of production work only involves playing one piece of media at a time on screen, this plugin becomes really effective. You can create one scene that includes all of your media:

image

Then, nest that scene into other scenes:

image

With a controller like the Stream Deck, you can toggle which media to play.

Now, with this lua script, I can automatically hide every other media source in my scene when toggling on a new media source. This way there can be only one active media source at the same time.

The key point is using the plugin’s hide feature to remove any media that isn’t currently playing in your media player:

image

This leaves you with only the active media from your "custom" media player:

image

It’s a great solution, but the remaining time isn't displayed on any hardware, and given my setup, it's not convenient.

So, I think it would be easier to pull the "only active source" from the plugin rather than trying to track the "last triggered media source."

@normen
Copy link
Owner

normen commented Oct 4, 2024

I can't really know what characters that specific mackie control compatible hardware can show.

For the other stuff.. Its more about what the websocket API supports.

@gravelfreeman
Copy link
Author

gravelfreeman commented Oct 4, 2024

For the other stuff.. Its more about what the websocket API supports.

I see! I believe the relevant information is under Media Inputs Requests.

Under Response Fields we could substract the mediaDuration and mediaCursor responses to get the remaining time in real time.

As for the last triggered media source maybe under Media Inputs Events

There's the MediaInputPlaybackStarted event that could trigger the display to switch from current scene name to the currently playing media remaining time. I wonder if omitting the data field inputName would in fact trigger the remaining whatever the media source is called.

Potential issue would be that the overlays media source that are looping might continually trigger the display. Worst, I've got a background music player. I believe we could customize the name of the sources to include or exclude in the obs-mcu config file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants