Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
src
 
 
 
 
 
 
 
 
 
 

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

About

CinderBlock for Canon camera control

Resources

License

Releases

No releases published

Packages

No packages published