Canon EOS SDK (EDSDK)
Canon EOS SDK in java (EDSDK).
Latest headers used to create bindings are with EDSDK 13.10.0 (version released on February 23rd 2019)
See Bindings README for more detailed information of that module
See Framework README for more detailed information of that module, important design is explained about Threads and events.
Project motives
Project intend to give access to Canon EOS Digital Software Development Kit EDSDK in Java.
Features are:
- Take and download pictures
- Set parameters like Aperture, ISO Speed, etc
- Use live view
- Control multiple cameras
- Simple extendable recorder implementation
Support for MAC OSX is not intended for now, but only few changes in implementation should be required to make it work. Only changes in library loader class should be needed.
Both 64 bit and 32 bit versions are supported.
Java versions
Minimum Java 8 is required. Works with JDK 8/11/14+
Maven dependency
To control camera, use the framework:
<dependency>
<groupId>org.blackdread</groupId>
<artifactId>camera-framework</artifactId>
<version>put version here</version>
</dependency>
If you only want bindings then just change artifact to "camera-binding" but framework should be what you should use as it gives commands, etc.
Usage
See package "org.blackdread.cameraframework.demo" in test folder (here).
Support project
To help me to maintain and add more features, you can be a sponsor.
Company support and sponsor
For companies that desire support, help, or even sponsor, etc feel to contact me (Follow this link).
Commercial technical support and services are possible.
Design note
Any collection/map return type should be considered as immutable, even if implementation does not use ImmutableList/Set/etc. If collection/map is mutable, it will be clearly specified in javadoc, otherwise implementation is free to change to immutable collections anytime.
How to contribute pull requests
Do a pull request. Explain your changes, reasons, write tests.
Get EDSDK library from Canon
Analysis with sonar
Previous project
It starts from scratch due to older project that is not maintained (and some design could be changed).
Links
Previous project that allowed to communicate with Canon EDSDK with java