Examples of EdsError


Examples of edsdk.utils.CanonConstants.EdsError

     *         given property
     */
    public static EdsPropertyDesc getPropertyDesc( final EdsBaseRef ref,
                                                   final EdsPropertyID property ) throws IllegalArgumentException {
        final EdsPropertyDesc propertyDesc = new EdsPropertyDesc();
        final EdsError err = CanonUtils.toEdsError( CanonCamera.EDSDK.EdsGetPropertyDesc( ref, new NativeLong( property.value() ), propertyDesc ) );
        if ( err == EdsError.EDS_ERR_OK ) {
            //System.out.println( "> available values = " + propertyDesc.numElements );
            return propertyDesc;
        }
        throw new IllegalArgumentException( "An error occurred while getting detailed " +
                                            property.name() +
                                            " data (error " +
                                            err.value() +
                                            ": " +
                                            err.name() +
                                            " - " + err.description() + ")" );
    }
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

        }
        return false;
    }

    public static boolean beginLiveView( final EdsCameraRef camera ) {
        EdsError err = EdsError.EDS_ERR_OK;

        NativeLongByReference number = new NativeLongByReference( new NativeLong( 1 ) );
        Pointer data = number.getPointer();
        err = CanonUtils.setPropertyData( camera, EdsPropertyID.kEdsPropID_Evf_Mode, 0, NativeLong.SIZE, data );
        if ( err != EdsError.EDS_ERR_OK ) {
            System.err.println( "Could not start live view (set image mode) (error " +
                                err.value() +
                                ": " +
                                err.name() +
                                " - " +
                                err.description() + ")" );
            return false;
        }

        number = new NativeLongByReference( new NativeLong( EdsEvfOutputDevice.kEdsEvfOutputDevice_PC.value() ) );
        data = number.getPointer();
        err = CanonUtils.setPropertyData( camera, EdsPropertyID.kEdsPropID_Evf_OutputDevice, 0, NativeLong.SIZE, data );
        if ( err != EdsError.EDS_ERR_OK ) {
            System.err.println( "Could not start live view (set output device) (error " +
                                err.value() +
                                ": " +
                                err.name() +
                                " - " +
                                err.description() + ")" );
            return false;
        }

        return true;
    }
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

    private class Shutter extends CanonCommand<Void> {

        //    private boolean oldEvfMode;
        @Override
        public void run() {
            EdsError result = EdsError.EDS_ERR_UNIMPLEMENTED;
            while ( result != EdsError.EDS_ERR_OK ) {
                //        oldEvfMode = CanonUtils.isLiveViewEnabled( camera.getEdsCamera(), true );
                //        if( oldEvfMode ) CanonUtils.endLiveView( camera.getEdsCamera() );

                result = sendCommand( EdsCameraCommand.kEdsCameraCommand_TakePicture, 0 );
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

        return true;
    }

    public static boolean endLiveView( final EdsCameraRef camera ) {
        EdsError err = EdsError.EDS_ERR_OK;

        NativeLongByReference number = new NativeLongByReference( new NativeLong( EdsEvfOutputDevice.kEdsEvfOutputDevice_TFT.value() ) );
        Pointer data = number.getPointer();
        err = CanonUtils.setPropertyData( camera, EdsPropertyID.kEdsPropID_Evf_OutputDevice, 0, NativeLong.SIZE, data );
        if ( err != EdsError.EDS_ERR_OK ) {
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

     * @param camera the camera to query
     * @return EdsEvfImageRef.ByReference and EdsStreamRef.ByReference as
     *         indexes 0 and 1 respectively
     */
    public static EdsBaseRef.ByReference[] getLiveViewImageReference( final EdsCameraRef camera ) {
        EdsError err = EdsError.EDS_ERR_OK;

        final EdsStreamRef.ByReference streamRef = new EdsStreamRef.ByReference();
        final EdsEvfImageRef.ByReference imageRef = new EdsEvfImageRef.ByReference();

        // Create memory stream.
        err = CanonUtils.toEdsError( CanonCamera.EDSDK.EdsCreateMemoryStream( new NativeLong( 0 ), streamRef ) );
        if ( err != EdsError.EDS_ERR_OK ) {
            System.err.println( "Failed to download live view image, memory stream could not be created (error " +
                                err.value() +
                                ": " +
                                err.name() +
                                " - " +
                                err.description() + ")" );
            CanonUtils.release( imageRef, streamRef );
            return null;
        }

        err = CanonUtils.toEdsError( CanonCamera.EDSDK.EdsCreateEvfImageRef( new EdsStreamRef( streamRef.getPointer().getPointer( 0 ) ), imageRef ) );
        if ( err != EdsError.EDS_ERR_OK ) {
            System.err.println( "Failed to download live view image, image ref could not be created (error " +
                                err.value() +
                                ": " +
                                err.name() +
                                " - " +
                                err.description() + ")" );
            CanonUtils.release( imageRef, streamRef );
            return null;
        }

        // Now try to follow the guidelines from
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

     * Download a live view image from the camera and convert it directly into a bufferd image.
     * @param camera
     * @return
     */
    public static BufferedImage getLiveViewImage( final EdsCameraRef camera ) {
        EdsError err = EdsError.EDS_ERR_OK;

        final EdsBaseRef.ByReference[] references = CanonUtils.getLiveViewImageReference( camera );
        if ( references != null ) {
            final EdsStreamRef.ByReference streamRef = (EdsStreamRef.ByReference) references[1];
            final EdsEvfImageRef.ByReference imageRef = (EdsEvfImageRef.ByReference) references[0];

            //    // Get the incidental data of the image.
            //    NativeLongByReference zoom = new NativeLongByReference( new NativeLong( 0 ) );
            //    Pointer data = zoom.getPointer();
            //    err = getPropertyData( image.getValue(), EdSdkLibrary.kEdsPropID_Evf_ZoomPosition, 0, NativeLong.SIZE, data );
            //    if( err != EdsError.EDS_ERR_OK ){
            //      System.err.println( "Failed to download live view image, zoom value wasn't read (error "+ err.value() + ": "+ err.name() + " - " + err.description() + ")" );
            //      return null;
            //    }
            //
            //    // Get the focus and zoom border position
            //    EdsPoint point = new EdsPoint();
            //    data = point.getPointer();
            //    err = getPropertyData( image.getValue(), EdSdkLibrary.kEdsPropID_Evf_ZoomPosition, 0 , sizeof( point ), data );
            //    if( err != EdsError.EDS_ERR_OK ){
            //      System.err.println( "Failed to download live view image, focus point wasn't read (error "+ err.value() + ": "+ err.name() + " - " + err.description() + ")" );
            //      return null;
            //    }

            final NativeLongByReference length = new NativeLongByReference();
            err = CanonUtils.toEdsError( CanonCamera.EDSDK.EdsGetLength( streamRef.getValue(), length ) );
            if ( err != EdsError.EDS_ERR_OK ) {
                System.err.println( "Failed to download live view image, failed to read stream length (error " +
                                    err.value() +
                                    ": " +
                                    err.name() +
                                    " - " +
                                    err.description() + ")" );
                CanonUtils.release( imageRef, streamRef );
                return null;
            }

            final PointerByReference ref = new PointerByReference();
            err = CanonUtils.toEdsError( CanonCamera.EDSDK.EdsGetPointer( streamRef.getValue(), ref ) );
            if ( err != EdsError.EDS_ERR_OK ) {
                System.err.println( "Failed to download live view image, failed to get reference to image in memory (error " +
                                    err.value() +
                                    ": " +
                                    err.name() +
                                    " - " +
                                    err.description() + ")" );
                CanonUtils.release( imageRef, streamRef );
                return null;
            }

            final byte[] data = ref.getValue().getByteArray( 0, length.getValue().intValue() );
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

     * Convert a long value to it's corresponding error.
     * @param value
     * @return
     */
    public static EdsError toEdsError( final int value ) {
        final EdsError error = EdsError.enumOfValue( value );
        if ( error != null ) {
            return error;
        }
        return EdsError.EDS_ERR_UNEXPECTED_EXCEPTION;
    }
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

                baseRef = camera.getEdsCamera();
            }

            final EdsDataType type = CanonUtils.getPropertyType( baseRef, property, param );

            EdsError err = EdsError.EDS_ERR_DEVICE_BUSY;
            int retries = 0;
            while ( retries < busyRetryCount &&
                    err == EdsError.EDS_ERR_DEVICE_BUSY ) {
                //TODO: it would be better to use the actual error from CanonUtils.getPropertyType(), but in testing a valid value was always returned if something was supported
                err = EdsError.EDS_ERR_NOT_SUPPORTED;
                switch ( type ) {
                    case kEdsDataType_Int32: //EdsInt32
                    case kEdsDataType_UInt32: { //EdsUInt32
                        final long longValue;

                        if ( Boolean.class.isAssignableFrom( klass ) ) {
                            // Boolean
                            longValue = (Boolean) value ? 1l : 0l;
                        } else if ( DescriptiveEnum.class.isAssignableFrom( klass ) ) {
                            // DescriptiveEnum
                            longValue = ( (DescriptiveEnum<? extends Number>) value ).value().longValue();
                        } else {
                            // Long
                            longValue = (Long) value;
                        }

                        err = CanonUtils.setPropertyData( baseRef, property, param, longValue );
                        break;
                    }
                    case kEdsDataType_String: //EdsChar[]
                    case kEdsDataType_Point: //EdsPoint
                    case kEdsDataType_Rect: //EdsRect
                    case kEdsDataType_Time: //EdsTime
                    case kEdsDataType_FocusInfo: //EdsFocusInfo
                    case kEdsDataType_PictureStyleDesc: { //EdsPictureStyleDesc
                        err = CanonUtils.setPropertyDataAdvanced( baseRef, property, param, value );
                        break;
                    }
                    case kEdsDataType_ByteBlock: //EdsUInt32[]
                    case kEdsDataType_Int32_Array: //EdsInt32[]
                    case kEdsDataType_UInt32_Array: { //EdsUInt32[]
                        final int[] array;

                        if ( DescriptiveEnum[].class.isAssignableFrom( klass ) ) {
                            // DescriptiveEnum[]
                            final DescriptiveEnum<? extends Number>[] valueArray = (DescriptiveEnum<? extends Number>[]) value;
                            array = new int[valueArray.length];
                            for ( int i = 0; i < valueArray.length; i++ ) {
                                array[i] = valueArray[i].value().intValue();
                            }
                        } else if ( DescriptiveEnum.class.isAssignableFrom( klass ) ) {
                            // DescriptiveEnum
                            array = new int[] { ( (DescriptiveEnum<? extends Number>) value ).value().intValue() };
                        } else if ( EdsRect.class.isAssignableFrom( klass ) ) {
                            // EdsRect
                            final EdsRect edsRect = (EdsRect) value;
                            array = new int[] { edsRect.point.x.intValue(),
                                               edsRect.point.y.intValue(),
                                               edsRect.size.width.intValue(),
                                               edsRect.size.height.intValue() };
                        } else if ( EdsSize.class.isAssignableFrom( klass ) ) {
                            // EdsSize
                            final EdsSize edsSize = (EdsSize) value;
                            array = new int[] { edsSize.width.intValue(),
                                               edsSize.height.intValue() };
                        } else {
                            // int[]
                            array = (int[]) value;
                        }

                        err = CanonUtils.setPropertyDataAdvanced( baseRef, property, param, array );
                        break;
                    }
                    default:
                        System.err.println( type.description() +
                                            " (" +
                                            type.name() +
                                            ") is not currently supported by SetPropertyCommand. Likely this camera does not support property " +
                                            property.name() +
                                            " in the current mode or at all." );

                        //                    throw new IllegalStateException( type.description() + " (" +
                        //                                                     type.name() +
                        //                                                     ") is not currently supported by SetPropertyCommand. Likely this camera does not support property " + property.name() + " in the current mode or at all." );
                }
                retries++;
                Thread.sleep( 10 );
            }
           
            if( retries > 1 ){
              System.out.println( "Set property: " + property.name() + " - " +
                                  property.description() +
                                  ( param > 0l ? param : "" ) + " = " + value +
                                  ", result " + err.value() + ": " + err.name() +
                                  " - " + err.description() + " after " +
                                  retries + " tries" );
            }
            setResult( err == EdsError.EDS_ERR_OK );
            return;
        }
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

        this.dest = dest;
    }

    @Override
    public void run() {
        EdsError err = EdsError.EDS_ERR_OK;

        if ( camera.getEdsCamera() != null ) {

            // Check if there is more than one image
            final long imageQuality;
View Full Code Here

Examples of edsdk.utils.CanonConstants.EdsError

        this.direction = direction;
    }

    @Override
    public void run() {
        final EdsError result = sendCommand( EdsCameraCommand.kEdsCameraCommand_DriveLensEvf, direction );
        setResult( result == EdsError.EDS_ERR_OK );
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.