Closed mikeybanez closed 7 years ago
Here are the changes I made for each item:
Additional:
Following comments are for #111 and #119 combined. This might not be an exhaustive list so we will need to go through another round of review later.
Item.duplicate
currently is written to be a breaking change with respect to the previous xjs
version.
a. options
object should be optional
b. linked
and scene
should be optional
c. default behavior should be unlinkedItem.duplicate
should be unlinked by default, to maintain compatibility with xjs@1.4.0
behavior.Item.duplicate
should only accept a Scene
instead of generic Object
for the scene
optionLogger
already contains logic to determine if a warning should be called exactly once. Don't reimplement in every single method call. (If Logger
logic is broken, fix it there.)prop:globalsrc
is always set to 0)getSourceId
does not really need a warning because both Item
and Source
instances should have a corresponding source ID anyway.Item
and Source
should implement iSource
Item
, their docs should simply be a one-line link to Source.setName
(similar to how Item.setPosition
simply links to IItemLayout.setPosition
.Item.unlink()
, do not mention that it is setting globalsrc
to 0. Implementation details can change anytime.Item finished and closed on 7bf0409
Since XSplit is modifying the concept of global sources to be more intuitive, we need to modify the framework to reflect these changes.
Framework level changes: 1) The
prop:globalsrc
property is now totally separate from "Keep Loaded in Memory". To preserve behavior with XBC 2.8, make sure that we only separate setting/checking of both props in XBC 2.9, onwards. 2) XBC 2.9 now allows improved functionality, so we will need to modifyItem.duplicate
to allow to duplicate/paste as linked or unlinked to the original source. 3)name
andcname
are now the same across all linked items. Make sure that these are shown to be common to all of the renderers for a specific source. (Documentation wise: please add comments to those methods saying that in XBC 2.8, names may be different but in 2.9, they are the same across all items linked to the same source.)Documentation changes: Simply reduce the mention of "global" and use "linked" more often. Let's also make the doc for this more complete (give examples for the actual XBC 2.9 behavior, then give code examples to accomplish the same).