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

EDSDK #65

Open
sebllll opened this issue Oct 17, 2014 · 11 comments
Open

EDSDK #65

sebllll opened this issue Oct 17, 2014 · 11 comments

Comments

@sebllll
Copy link

sebllll commented Oct 17, 2014

hi elliot,

i recently played a bit with the edsdk thingy and wanted to finish the live-view mode, since it's a nice thing to have a dslr as a webcam over a cheap usb-cable. first testings with the tools from codeproject gave me promising results (e.g acceptable framerate etc.)

now i think i found out, that the wrapper used in here doesn't expose functionality to receive liveView data i thought we might switch to a proper wrapper like this one from codeplex. (that is released under GPLv2)

some testings are here sebllll@98221af , but i think a new branch will be needed when doing this seriously.

What do you think about that?

cheers, sebl

@elliotwoods
Copy link
Owner

if there's a better EDSDK wrapper then I'm all for it. The one I'm using here is now dead.

so there's 3 wrappers, right?

  1. the free one we're using now (which is dead)
  2. the commercial one in your first link
  3. the GPL one in your second link

it's a shame that the GPL one doesn't support things like focus, etc. I was hoping there'd be a pretty comprehensive free .NET wrapper at some point.

@sebllll
Copy link
Author

sebllll commented Oct 27, 2014

ah, yes, you're totally right. none of the (free) wrappers supports all options. and using the gpl one just for the livestream seems a bit bloating and will need a new set of nodes. it's a pity

@elliotwoods
Copy link
Owner

Agree. Gpl in this case is a tough one.
But live stream is a popular request

@sebllll
Copy link
Author

sebllll commented Nov 5, 2014

yes, i think it'll be easy to implement, but i'd prefer to have a 'alInOne' solution without handling 2 wrappers.

but, i had a closer look at this one: http://www.codeproject.com/Articles/688276/Canon-EDSDK-Tutorial-in-Csharp

seems they replaced a (rather restrictive) license with GPLv3. will that work for VVVV.Packs.CV? if we don't change the source and hope the wrapper will do everything we need, we could switch over.

i'm not so much into that GPL/licensing stuff, so what's your opinion?

@elliotwoods
Copy link
Owner

reading https://www.gnu.org/licenses/quick-guide-gplv3.html
it doesn't seem like GPLv3 is any more permissive about its code being
dynamically linked than GPL2
GPL is basically the most restrictive in terms of obligations of a
developer using the code
we could email the developer explicitly asking about our use case

one final alternative is to develop our own wrapper.
i'm interested in doing this in c++ and therefore adding c# to the party
wouldn't be that hard
but not for a little while yet

it'd be great to keep the existing node set
but considering how very few nodes there are now (and basically you'll only
use each one once inside a patch usually), i don't think changes to the
node list is an issue

/break

just had a look through the GPL version again

  1. it looks relatively straightforwards to implement an equivalent wrapper
  2. it looks like it might even support RAW mode (since it uses EDSDK itself
    to deceode the image)
  3. they seem to use an auto-translator to expose the native c functions in
    .net, then write the basic routines in .net

but basically the GPL version looks good to me
and it looks easy to expand upon

how about writing the developer an email about our use case and see if he's
open to the GPL license not applying to code which dynamically links his
.NET (both referring to plugins which use the library, and also patches
which reference it)
and we'll of course make development PR's against his codebase

elliot

On 5 November 2014 23:16, sebl notifications@github.com wrote:

yes, i think it'll be easy to implement, but i'd prefer to have a
'alInOne' solution without handling 2 wrappers.

but, i had a closer look at this one:
http://www.codeproject.com/Articles/688276/Canon-EDSDK-Tutorial-in-Csharp

seems they replaced a (rather restrictive) license with GPLv3. will that
work for VVVV.Packs.CV? if we don't change the source and hope the
wrapper will do everything we need, we could switch over.

i'm not so much into that GPL/licensing stuff, so what's your opinion?


Reply to this email directly or view it on GitHub
#65 (comment)
.

Elliot Woods
elliot elliot@kimchiandchips.com@KimchiAndChips.com
http://www.kimchiandchips.com/

UK : +447944977628
KR : +821034458086

@sebllll
Copy link
Author

sebllll commented Nov 6, 2014

check, i kindly asked him for his opinion about this. we'll see...

@sebllll
Copy link
Author

sebllll commented Nov 10, 2014

ok, so we have his official permission to use his wrapper - great!
he also mentioned, that he did update the article to version 8 that fixes some bugs and changes the license to lgpl. since that update is not yet visible on the site, i'll wait some days untill that happened and then give it a go.

@elliotwoods
Copy link
Owner

ah amazing!
parties all round!

On 10 November 2014 19:35, sebl notifications@github.com wrote:

ok, so we have his official permission to use his wrapper - great!
he also mentioned, that he did update the article to version 8 that fixes
some bugs and changes the license to lgpl. since that update is not yet
visible on the site, i'll wait some days untill that happened and then give
it a go.


Reply to this email directly or view it on GitHub
#65 (comment)
.

Elliot Woods
elliot elliot@kimchiandchips.com@KimchiAndChips.com
http://www.kimchiandchips.com/

UK : +447944977628
KR : +821034458086

@sebllll
Copy link
Author

sebllll commented Nov 10, 2014

here's the place i started to implement that https://github.com/sebllll/VVVV.Packs.Image/tree/edsdk
listDevices is basically working... Shoot started

will take some more time to make this complete and sometimes the cam still gets fucked up so that a restart is needed :(

@elliotwoods
Copy link
Owner

i got a lot of restart issues on the other SDK
tried a lot of workarounds to get past it (like having a singleton device
lister, rather than one per node)

On 11 November 2014 05:41, sebl notifications@github.com wrote:

here's the place i started to implement that
https://github.com/sebllll/VVVV.Packs.Image/tree/edsdk
listDevices is basically working... Shoot started

will take some more time to make this complete and sometimes the cam still
gets fucked up so that a restart is needed :(


Reply to this email directly or view it on GitHub
#65 (comment)
.

Elliot Woods
elliot elliot@kimchiandchips.com@KimchiAndChips.com
http://www.kimchiandchips.com/

UK : +447944977628
KR : +821034458086

@flegfleg
Copy link

Hey guys. Any chance there´s support for the Canon EOS 1200 in the image pack?
Thanks.

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

3 participants