Canon Digital SDK (EDSDK) EdsCreateImageRef error - edsdk

I am trying to use the Canon Eos Digital SDK (EDSDK) to decode a CR2 camera image for display in a desktop GUI.
I run the first few methods as follows:
err = EDSDK.EdsInitializeSDK();
err = EDSDK.EdsCreateFileStream(
fullpath,
EDSDK.EdsFileCreateDisposition.OpenExisting,
EDSDK.EdsAccess.Read,
out inStream);
err = EDSDK.EdsCreateImageRef(inStream, out imgRefPtr);
And the err variable remains as EDS_ERR_OK until it executes the last line above, where it becomes EDS_ERR_FILE_FORMAT_UNRECOGNIZED.
The camera that took the image was a EOS 5DS R, which has been supported from the 3.2.1 release (our current version). Moreover, the CR2 image can be opened in the raw image viewer, Digital Photo Professional 4.
Any suggestions on how to overcome the file format unrecognized error when trying to create image reference?

I just started using EDSDK v 3.8.0. I had the same issue, but I was able to find out what caused it for me: Version 1.x searches for the dlls in the working path, while 2.x and 3.x search at the location of the exe using the dlls. So copying the files in the debug and release directories of my Visual Studio project fixed it for.

I'm trying to solve a similar issue right now with the same camera and Canon SDK. The changelog for this release states:
"Added support for RAW development functionality.
Added support for RAW development functionality
for the beta version of 64-bit module.
Please note:Supported cameras are limited as below
for the image hadling functions in 64-Bit module.
EOS 5DS / EOS 5DS R / EOS REBEL T6s / EOS
760D / EOS 8000D / EOS REBEL T6i / EOS 750D
/ EOS Kiss X8i / EOS M3"
Have you tried to perform the image processing via a 64-bit application?

Related

Luxe - "Type not found : UserConfigDef" after updating

I've just updated Haxe, Luxe, Hxcpp, etc. on Windows after not using them for a while, and now none of my projects will compile, not even the "empty" sample. I get the following in cmd:
C:\GAMEDEV\empty>haxelib run flow run
flow / 1.0.0-alpha.2 (node.js v0.12.7)
flow / target is windows ( arch 32 )
flow / haxe version 3.3.0
flow / build - empty 1.0.0 for windows
flow / build - running haxe ...
C:\HaxeToolkit\haxe\lib\snow\git\snow/types/Types.hx:72: characters 25-38 : Type
not found : UserConfigDef
C:\GAMEDEV\empty>
Same error when building from Sublime package. Is it possible that I've broken something? Should I attempt to completely reinstall?
It seems that Luxe is not compatible with Haxe 3.3.0-rc1 yet - there is an open issue about it on GitHub. Try downgrading to Haxe 3.2.1.
You may also need to downgrade hxcpp to 3.2.205 if you run into any cpp compilation issues.

Supported languages contains an invalid value

When I build with Flash Builder 4.6 with Apache Flex 4.9.1 and Air 3.7, I get an error indicating a problem with my "supportedLanguages" node.
I have tried all of the following and all have failed:
This way worked in previous versions of the flex sdk:
<supportedLanguages>en es de fr ja ko pt ru zh ar pl</supportedLanguages>
Second attempt was to add local code:
<supportedLanguages>en_US es_ES de_DE fr_FR ja_JP ko_KR pt_BR ru_RU zh_CN ar_SA pl_PL</supportedLanguages>
I tried adding commas:
<supportedLanguages>en_US,es_ES,de_DE,fr_FR,ja_JP,ko_KR,pt_BR,ru_RU,zh_CN,ar_SA,pl_PL</supportedLanguages>
I have local directories for each locale specified in:
E:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\4.9.1_3.7\frameworks\locale
E:\dev\myapp\src\locale
I also use this line for the compiler:
-swf-version=20 -locale=en_US,es_ES,de_DE,fr_FR,ja_JP,ko_KR,pt_BR,ru_RU,zh_CN,ar_SA,pl_PL -allow-source-path-overlap=true -source-path=locale/{locale}
If I can avoid it, I'll never develop in Flex again. Consider this question no longer valid due to the lack of support from Adobe.

NANO-X Microwindows Embedded Linux

Hello I am new to the coding for the Embedded Linux for ARM platform.
I am using the NANO-X microwindopw for the GUI inteface for the Linux server, so i have downloaded the nano-x soruce from (ftp://microwindows.censoft.com/pub/microwindows/)
then i try to compile the demo code for the nano-x. when i try to compile it gives me the error
: undefined reference to `GrOpen',' GrReqShmCmds'...............
I could not successfully build it.
I have included all the header files from the /microwin/src/include/ to the /usr/include.
still i am getting the error.

how do I find my AIR Application publisherID?

I need to find the publisherID of my native AIR application so I can use the browser invocation feature.
I have a working AIR Native Application Installer project (.exe) built with FlashBuilder 4.5 as a "signed native installer" using a self-signed certificate.
But I look in the install folder and cannot find the file 'META-INF/AIR/publisherid'. Also, I tried logging 'NativeApplication.nativeApplication.publisherID', but it shows as an empty string.
How do I get a publisherID?
You can invoke an AIR application using the described API even if the publisherID is missing. Just leave it blank, like that:
airSWF.launchApplication(appID, "", arguments);
publisherID is legacy. it's no longer used but continues to be supported for AIR applications compiled with AIR 1.5.2 and earlier.
AIR application descriptor elements: publisherID
you should refer to values in your descriptor file instead. for example, this is how you can obtain the version of your application based on that tag's value in the XML descriptor file:
var descriptor:XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns:Namespace = descriptorFile.namespace();
trace("Version " + descriptor.ns::versionNumber);

Jython - javaos.getenv() gives "Failed to get environment, environ will be empty"

Whenever I run any jython program in Eclipse, I got the following error in the beginning of the output:
" Failed to
get environment, environ will be
empty: (0, 'Failed to execute command
([\'sh\', \'-c\', \'env\']):
java.io.IOException: Cannot run
program "sh": Crea teProcess error=2,
The system cannot find the file
specified')
First, my environment is:
Windows 2008
JDK 1.6.0u10
jython 2.2.1
I did some digging, and I realized that this message is produced in the function javaos.getenv().
Whenever I call the javaos.getenv() function, it throws the following error:
C:\jython2.2.1>java -jar jython.jar
import javaos
print javaos.getenv("user.name")
Failed to get environment, environ
will be empty: (0, 'Failed to execute
command ([\'sh\', \'-c\', \'env\']):
java.io.IOException: Cannot run
program "sh": Crea teProcess error=2,
The system cannot find the file
specified')
This is strange, because I'm currently using a Windows machine, not an Unix.
Try to uncomment and change the os setting in the 'registry' file
(it is in the same directory as your jython.jar / i hope)
# python.os determines operating-specific features, similar to and overriding the
# Java property "os.name".
# Some generic values are also supported: 'nt', 'ce' and 'posix'.
# Uncomment the following line for the most generic OS behavior available.
#python.os=None
python.os=nt
# try nt or dos
Interesting. Well, I seem to have found the relevant code here:
http://www.koders.com/python/fid4B7C33153C1427D2CE19CE361EA9519D1652F802.aspx?s=self
If you look towards the bottom, it seems when setting the environment command jython thinks your os is posix. You say you're using "Windows 2008". I'm not sure what that is. Do you mean Windows Server 2008? If so, it's quite new and if you look at the _getOsType function in the same module, it looks like it might be too new for that module. You may need to upgrade to the most recent version of jython or Eclipse. But it's quite possible they haven't yet released a version that supports this OS. If that's the case, you may need to just report the bug to them.
I'm running on Windows 7.
I'm running Jython as a script in the Websphere wsadmin tool.
I encountered this same error.
I cut-n-pasted these lines from javaos.py into my script:
os or sys.registry.getProperty( "python.os" ) or \ java.lang.System.getProperty( "os.name" )
and it returned "Windows Vista".
So I performed the same surgery as suggested above, ie., add Windows Vista to javaos.py and that solved my problem.
I ran into the same error, using Windows Vista, and Jython 2.5.1, under Eclipse/PyDev By editing javaos.py, to include "Windows Vista" in the OR statement in getOsType,;
I fixed the error. (I've filed a bug with the fix under the PyDev Tracker at SourceForge.)
Details:
I installed the full version of Jython, and that did not help.
I also tried editing the "registry" file in the Jython tree. That did not help either.
Then I looked at the files in:
C:\eclipse-platform-3.5-win32\eclipse\plugins\org.python.pydev.jython_1.4.8.2881\Lib
to find "javaos.py" and added a bit of code to read:
def _getOsType( os=None ):
os = os or sys.registry.getProperty( "python.os" ) or \
java.lang.System.getProperty( "os.name" )
_osTypeMap = (
( "nt", r"(nt)|(Windows NT)|(Windows NT 4.0)|(WindowsNT)|"
r"(Windows 2000)|(Windows XP)|(Windows CE)|(Windows Vista)" ),
( "dos", r"(dos)|(Windows 95)|(Windows 98)|(Windows ME)" ),
( "mac", r"(mac)|(MacOS.*)|(Darwin)" ),
( "None", r"(None)" ),
( "posix", r"(.*)" ), # default - posix seems to vary mast widely
)
for osType, pattern in _osTypeMap:
if re.match( pattern, os ):
break
return osType
I've used this hack from Dave Brands blog: http://dbrand666.wordpress.com/2010/04/08/fix1/
try:
import javaos
if javaos._osType == 'posix' and \
java.lang.System.getProperty('os.name').startswith('Windows'):
sys.registry.setProperty('python.os', 'nt')
reload(javaos)
except:
pass