Updated Frame Limiting Method. Fixes #6
This commit is contained in:
@@ -88,16 +88,16 @@ Item
|
|||||||
// even when the video is the source of an item being limited
|
// even when the video is the source of an item being limited
|
||||||
// in this way
|
// in this way
|
||||||
|
|
||||||
// if(type === ShaderChannel.ShaderChannel)
|
if(type === ShaderChannel.ShaderChannel)
|
||||||
// {
|
{
|
||||||
// active = true;
|
active = true;
|
||||||
// active = false;
|
active = false;
|
||||||
|
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
|
|
||||||
// if(active === false)
|
if(active === false)
|
||||||
// active = true;
|
active = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
property bool invert
|
property bool invert
|
||||||
@@ -383,7 +383,7 @@ Item
|
|||||||
{
|
{
|
||||||
id: channelSource0
|
id: channelSource0
|
||||||
sourceItem: channel.iChannel0 ? channel.iChannel0 : null
|
sourceItem: channel.iChannel0 ? channel.iChannel0 : null
|
||||||
live: channel.active
|
live: Qt.binding(() => { return isLive(); })
|
||||||
smooth: true
|
smooth: true
|
||||||
sourceRect: sourceItem ? Qt.rect(0,0, sourceItem.width, sourceItem.height) : Qt.rect(0,0,0,0)
|
sourceRect: sourceItem ? Qt.rect(0,0, sourceItem.width, sourceItem.height) : Qt.rect(0,0,0,0)
|
||||||
wrapMode: ShaderEffectSource.ClampToEdge
|
wrapMode: ShaderEffectSource.ClampToEdge
|
||||||
@@ -396,13 +396,21 @@ Item
|
|||||||
height: channel.iResolution.y
|
height: channel.iResolution.y
|
||||||
visible: false
|
visible: false
|
||||||
format: ShaderEffectSource.RGBA8
|
format: ShaderEffectSource.RGBA8
|
||||||
|
|
||||||
|
function isLive()
|
||||||
|
{
|
||||||
|
if(!channel.iChannel0 || channel.iChannel0 === undefined || channel.iChannel0.type === ShaderChannel.ImageChannel)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return channel.iChannel0.type != ShaderChannel.VideoChannel && channel.active;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ShaderEffectSource
|
ShaderEffectSource
|
||||||
{
|
{
|
||||||
id: channelSource1
|
id: channelSource1
|
||||||
sourceItem: channel.iChannel1 ? channel.iChannel1 : null
|
sourceItem: channel.iChannel1 ? channel.iChannel1 : null
|
||||||
live: channel.active
|
live: Qt.binding(() => { return isLive(); })
|
||||||
smooth: false
|
smooth: false
|
||||||
sourceRect: sourceItem ? Qt.rect(0,0, sourceItem.width, sourceItem.height) : Qt.rect(0,0,0,0)
|
sourceRect: sourceItem ? Qt.rect(0,0, sourceItem.width, sourceItem.height) : Qt.rect(0,0,0,0)
|
||||||
wrapMode: ShaderEffectSource.ClampToEdge
|
wrapMode: ShaderEffectSource.ClampToEdge
|
||||||
@@ -415,13 +423,21 @@ Item
|
|||||||
height: channel.iResolution.y
|
height: channel.iResolution.y
|
||||||
visible: false
|
visible: false
|
||||||
format: ShaderEffectSource.RGBA8
|
format: ShaderEffectSource.RGBA8
|
||||||
|
|
||||||
|
function isLive()
|
||||||
|
{
|
||||||
|
if(!channel.iChannel1 || channel.iChannel1 === undefined || channel.iChannel1.type === ShaderChannel.ImageChannel)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return channel.iChannel1.type != ShaderChannel.VideoChannel && channel.active;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ShaderEffectSource
|
ShaderEffectSource
|
||||||
{
|
{
|
||||||
id: channelSource2
|
id: channelSource2
|
||||||
sourceItem: channel.iChannel2 ? channel.iChannel2 : null
|
sourceItem: channel.iChannel2 ? channel.iChannel2 : null
|
||||||
live: channel.active
|
live: Qt.binding(() => { return isLive(); })
|
||||||
smooth: false
|
smooth: false
|
||||||
sourceRect: sourceItem ? Qt.rect(0,0, sourceItem.width, sourceItem.height) : Qt.rect(0,0,0,0)
|
sourceRect: sourceItem ? Qt.rect(0,0, sourceItem.width, sourceItem.height) : Qt.rect(0,0,0,0)
|
||||||
wrapMode: ShaderEffectSource.ClampToEdge
|
wrapMode: ShaderEffectSource.ClampToEdge
|
||||||
@@ -434,13 +450,21 @@ Item
|
|||||||
height: channel.iResolution.y
|
height: channel.iResolution.y
|
||||||
visible: false
|
visible: false
|
||||||
format: ShaderEffectSource.RGBA8
|
format: ShaderEffectSource.RGBA8
|
||||||
|
|
||||||
|
function isLive()
|
||||||
|
{
|
||||||
|
if(!channel.iChannel2 || channel.iChannel2 === undefined || channel.iChannel2.type === ShaderChannel.ImageChannel)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return channel.iChannel2.type != ShaderChannel.VideoChannel && channel.active;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ShaderEffectSource
|
ShaderEffectSource
|
||||||
{
|
{
|
||||||
id: channelSource3
|
id: channelSource3
|
||||||
sourceItem: channel.iChannel3 ? channel.iChannel3 : null
|
sourceItem: channel.iChannel3 ? channel.iChannel3 : null
|
||||||
live: channel.active
|
live: Qt.binding(() => { return isLive(); })
|
||||||
smooth: false
|
smooth: false
|
||||||
sourceRect: sourceItem ? Qt.rect(0,0, sourceItem.width, sourceItem.height) : Qt.rect(0,0,0,0)
|
sourceRect: sourceItem ? Qt.rect(0,0, sourceItem.width, sourceItem.height) : Qt.rect(0,0,0,0)
|
||||||
wrapMode: ShaderEffectSource.ClampToEdge
|
wrapMode: ShaderEffectSource.ClampToEdge
|
||||||
@@ -453,6 +477,14 @@ Item
|
|||||||
height: channel.iResolution.y
|
height: channel.iResolution.y
|
||||||
visible: false
|
visible: false
|
||||||
format: ShaderEffectSource.RGBA8
|
format: ShaderEffectSource.RGBA8
|
||||||
|
|
||||||
|
function isLive()
|
||||||
|
{
|
||||||
|
if(!channel.iChannel3 || channel.iChannel3 === undefined || channel.iChannel3.type === ShaderChannel.ImageChannel)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return channel.iChannel3.type != ShaderChannel.VideoChannel && channel.active;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// recursive frame buffer
|
// recursive frame buffer
|
||||||
|
|||||||
Reference in New Issue
Block a user