SplitmediaLabsLimited / xjs

XSplit JS Framework. Make plugins for XSplit Broadcaster, quickly and easily.
Other
39 stars 11 forks source link

HTML tab in useTabbedWindow #4

Closed paul-lrr closed 9 years ago

paul-lrr commented 9 years ago

I am trying to add a plugin config tab using the useTabbedWindow function. The new tab works fine (and is a better solution than the old 'Configure" button), but while I can use tabOrder to add the standard Layout, Color and Transition tabs, I don't seem to be able to get the standard HTML Tab. This means that if I want a custom config tab, I don't have the Playback, Display or Custom Code sections, even if they are specified in the xml file. Playback and Custom Code aren't that big a deal, but the Display section is the only way to set the resolution of the HTML document, show/hide the scrollbars and show/hide background transparency. There also does not appear to be any way to manually set any of these settings in the API.

Interestingly, if I disable the custom config tab by commenting out the <meta name="xsplit:config-url" tag in the source plugin html file, I can use the default HTML tab to set the resolution and disable scrollbars, then uncomment meta tag and refresh the source. While I lose the HTML tab, the custom resolution stays even if I save and reload the presentation. Obviously this is not a good solution, but it shows that the settings work fine, there just isn't a good way to access them.

ghost commented 9 years ago

XSplit Broadcaster's properties window itself does not allow the usage of HTML tab when using custom tabs.

As for some of the methods that are usually available on HTML tab, we are already working on it on the current sprint. We'll probably release it on the next version (0.7.0) depending on the outcome of our tests.

matthijskooijman commented 4 years ago

Hm, we're also running into this issue, that we would like to keep the HTML tab, especially the 'refresh on source show` setting. How does the 0.7.0 release adress this exactly? Is the idea that more events are exposed, so you can reimplement the autorefresh in the sourceplugin itself?

SML-MeSo commented 4 years ago

The 0.7.0 release merely exposed the browserJS and customCSS methods of the HTMLItem. Adding the default HTML tab was deemed detrimental right from the start, especially since it includes the HTML source section, which may navigate the item away from your plugin. So yeah, as you've commented, the idea is indeed expose the needed methods so the plugin developer can implement it in any way he/she wants to.

As for your aforementioned methods, I would have to make a separate issue to introduce them as they were still not available when we last made a run-through of needed methods for the HTMLSource/Item. For the meantime, you can use xjs.exec for them, as done in the same manner here:

matthijskooijman commented 4 years ago

Thanks!