Page 1 of 1
CaptureLimitValue now missing
Posted: Fri Aug 24, 2018 8:30 pm
by 1CM69
Hi,
I've been going around in circles trying to debug a script & I have finally narrowed it down, I think.
I have been using:
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitValue
to programmatically limit the Camera Capture in seconds, i.e.:
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitValue = 60
Oddly, now I am getting an error, this from SC Log:
Code: Select all
Exception of type MissingMemberException from Scripting exception caught at top level. : 'CaptureLimitConfiguration' object has no attribute 'CaptureLimitValue'
I had a script using this perfectly just a couple of days ago but since then I have installed the SC 3.2 BETA
Is this a known bug in the BETA or some odd issue my end?
Cheers..,
Kirk
Re: CaptureLimitValue now missing
Posted: Sat Aug 25, 2018 7:26 am
by admin
Hi Kirk,
this is a change in 3.2 - previously CaptureLimitValue was used for both number of frames and times. Now there are two separate values to set
CaptureLimitCount (for number of frames, an integer)
CaptureLimitTime (for setting the time length of a capture - this is a TimeSpan)
Code: Select all
from System import TimeSpan
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitTime = TimeSpan.FromSeconds(100)
hope this helps,
Robin
Re: CaptureLimitValue now missing
Posted: Sat Aug 25, 2018 8:16 am
by 1CM69
admin wrote: ↑Sat Aug 25, 2018 7:26 am
Hi Kirk,
this is a change in 3.2 - previously CaptureLimitValue was used for both number of frames and times. Now there are two separate values to set
CaptureLimitCount (for number of frames, an integer)
CaptureLimitTime (for setting the time length of a capture - this is a TimeSpan)
Code: Select all
from System import TimeSpan
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitTime = TimeSpan.FromSeconds(100)
hope this helps,
Robin
Thanks Robin, I assumed it was maybe something along those lines, I must have missed it in the documentation.
So just to get this straight with the new TimeSpan attribute, is the capture time in seconds the value held in the parenthesis i.e. 100 in your example?
I am guessing too that all pre 3.2 scripts using CaptureLimitValue will need to be changed & from that point on will only function on 3.2 and above?
Is there somewhere an exhaustive list of all the numerous SharpCap attributes etc.... with explanations?
I see a limited few on the Scripting Help Page but I have mainly been finding them by using the scripting console by using the suggestion list.
This is fine and some have self explanatory names but it’d still be nice to see a glossary.
Regards..,
Kirk
Re: CaptureLimitValue now missing
Posted: Sat Aug 25, 2018 9:04 am
by 1CM69
Re: CaptureLimitValue now missing
Posted: Thu Aug 30, 2018 10:40 am
by 1CM69
Hi,
now at the stage to implement this change in my script but just need to check something quickly.
At the moment in v3.1...... a capture sequence is scripted as:
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitType = CaptureLimitType.TimeLimited
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitValue = X
where X = (seconds)
or
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitType = CaptureLimitType.FrameLimited
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitValue = X
where X = (number of Frames)
In this new version do I omit this line?:
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitType = CaptureLimitType.TimeLimited/FrameLimited
and purely place either?:
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitTime = TimeSpan.FromSeconds(X)
or
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitCount = X
regards..,
Kirk
Re: CaptureLimitValue now missing
Posted: Thu Aug 30, 2018 11:10 am
by 1CM69
1CM69 wrote: ↑Thu Aug 30, 2018 10:40 am
Hi,
now at the stage to implement this change in my script but just need to check something quickly.
At the moment in v3.1...... a capture sequence is scripted as:
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitType = CaptureLimitType.TimeLimited
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitValue = X
where X = (seconds)
or
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitType = CaptureLimitType.FrameLimited
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitValue = X
where X = (number of Frames)
In this new version do I omit this line?:
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitType = CaptureLimitType.TimeLimited/FrameLimited
and purely place either?:
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitTime = TimeSpan.FromSeconds(X)
or
Code: Select all
SharpCap.SelectedCamera.CaptureConfig.CaptureLimitCount = X
regards..,
Kirk
Solved it, the 'CaptureLimitType' line does need to stay as in previous version, it is only the 'CaptureLimitValue' line that is altered depending on whether Time or Frames is set as the Limit.
Re: CaptureLimitValue now missing
Posted: Thu Aug 30, 2018 3:14 pm
by admin
So, this is clearly an issue I had not anticipated for those using scripting. I originally removed the CaptureLimitValue in SharpCap 3.2 and replaced it with two separate properties because the use of CaptureLimitValue for both count and time led to some ugly and hard to maintain code within SharpCap itself.
I am therefore going to re-instate the CaptureLimitValue property for compatibility reasons with existing scripts. Internally I will flag it as 'obsolete' and will not use it within SharpCap code. What it will do is set or retrieve either CaptureLimitCount or CaptureLimitTime (depending on the CaptureLimitType set).
cheers,
Robin
Re: CaptureLimitValue now missing
Posted: Thu Aug 30, 2018 4:38 pm
by 1CM69
OK,
so in my script now I have a check for version number and depending on result i.e. pre v3.2 it reverts to the ‘old’ properties or if it finds version is 3.2 or above it uses the ‘new’ properties.
Can I still use this as I have implemented?
Cheers..,
Kirk
Re: CaptureLimitValue now missing
Posted: Thu Aug 30, 2018 5:36 pm
by admin
Yes, of course - just hoping to save others from having to jump through the same hoops that you have had to.
cheers,
Robin
Re: CaptureLimitValue now missing
Posted: Thu Aug 30, 2018 5:40 pm
by 1CM69
admin wrote: ↑Thu Aug 30, 2018 5:36 pm
Yes, of course - just hoping to save others from having to jump through the same hoops that you have had to.
cheers,
Robin
Excellent, thanks for the clarification Robin
cheers..,
Kirk