Skip to content
CinderBlock for Canon camera control
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
include
lib
samples/SimpleTether upgrade sample project settings and frameworks Jun 30, 2015
src use Cinder Logger instead of console Aug 26, 2015
.gitignore
LICENSE
README.md
TODO.md add manual shutter press/release task Apr 28, 2015
cinderblock.png
cinderblock.xml

README.md

Cinder-EDSDK

Cinder-EDSDK is a CinderBlock to interact with Canon cameras. See Canon's compatibility chart for a list of cameras supported in their EDSDK.

FEATURES

Image capture to memory or on-disk, camera keep-alive, simultaneous control of multiple cameras, Live View and camera connect and disconnect handling.

EXAMPLE

void CaptureApp::setup() {
    CameraBrowser::instance()->connectAddedHandler(&CaptureApp::browserDidAddCamera, this);
    CameraBrowser::instance()->start();
}

void CaptureApp::browserDidAddCamera(CameraRef camera) {
    mCamera = camera;
    mCamera->connectFileAddedHandler(&CaptureApp::didAddFile, this);
    EdsError error = mCamera->requestOpenSession();
    if (error == EDS_ERR_OK) {
        mCamera->requestTakePicture();
    }
}

void CaptureApp::didAddFile(CameraRef camera, CameraFileRef file) {
    fs::path destinationFolderPath = expandPath(fs::path("~/Desktop/Captures"));
    camera->requestDownloadFile(file, destinationFolderPath, [this](EdsError error, fs::path outputFilePath) {
        if (error == EDS_ERR_OK) {
            console() << "downloaded image to: " << outputFilePath << endl;
        }
    });
}

INTEGRATION

  1. Apply for EDSDK access from Canon USA or Canon Europa (serving Europe, Africa and The Middle East)
  2. Wait hours / days / weeks / months
  3. Download the EDSDK
  4. Unarchive
  5. Move the EDSDK folder into Cinder-EDSDK/lib
  6. Replace Cinder-EDSDK/lib/EDSDK/Framework/EDSDK.framework with EDSDK vX.Y.Z/EDSDK_64/EDSDK.framework to allow applications to be built x86_64

NOTE - Due to a bug introduced in EDSDK v2.10, the CameraBrowser will only call the camera removed handler for cameras with an open session.

GREETZ

You can’t perform that action at this time.