예제 #1
0
void CaptureDialog::didRemoveCamera(CameraRef camera) {
    std::cout << "removed a camera: " << camera->getName() << std::endl;
    if (camera != mCamera) {
        return;
    }
    
    std::cout << "our camera was disconnected" << std::endl;
    mCamera = NULL;
}
예제 #2
0
void CaptureDialog::browserDidRemoveCamera(CameraRef camera) {
    // NB - somewhat redundant as the camera will notify handler first
    std::cout << "removed a camera: " << camera->getName() << std::endl;
    if (camera != mCamera) {
        return;
    }
    
    std::cout << "our camera was disconnected" << std::endl;
    mCamera = NULL;
}
예제 #3
0
void CaptureDialog::browserDidAddCamera(CameraRef camera) {
    std::cout << "added a camera: " << camera->getName() << std::endl;
    if (mCamera != NULL) {
        return;
    }
    
    mCamera = camera;
    mCamera->connectRemovedHandler(&CaptureDialog::didRemoveCamera, this);
    mCamera->connectFileAddedHandler(&CaptureDialog::didAddFile, this);
    std::cout << "grabbing camera: " << camera->getName() << std::endl;

    EDSDK::Camera::Settings settings = EDSDK::Camera::Settings();
    //    settings.setPictureSaveLocation(kEdsSaveTo_Both);
    //    settings.setShouldKeepAlive(false);
    EdsError error = mCamera->requestOpenSession(settings);
    if (error == EDS_ERR_OK) {
        std::cout << "session opened" << std::endl;
    }
}
예제 #4
0
int CaptureDialog::update_camera_combo(void)
{ 
    //disable signals
    camera_combo->blockSignals(true);

    //save current value
    QString current = camera_combo->currentText();
    std::cout << current.toStdString() << std::endl;

    //update combo
    camera_combo->clear();
    if (mCamera)
    {
        camera_combo->addItem(QString::fromStdString(mCamera->getName()));
    }
    camera_combo->addItems(_video_input.list_devices());
    camera_combo->setCurrentIndex(0);

    //enable signals
    camera_combo->blockSignals(false);

    return camera_combo->count();
}