Forums > MaxMSP

[ANNOUNCE] av.jit.iidc – an IIDC wrapper for Jitter

April 2, 2010 | 12:45 pm

Hi all,

A new external that enables the communication to IIDC Cameras (all firewire cameras). It provides access to advance parameters of industrial cameras such as Format 7 and ROI settings.

It’s still a beta release tested with an AVT Guppy F033B, a Sony XCD-V60, an Unibrain Fire-i and an Apple iSight.

It uses the libdc1394 library by Damien Douxchamps and that’s why it’s Mac OS X only (the library isn’t ported to Windows yet).

This external is available on my web site (only in french, sorry) :

http://antoine.villeret.free.fr/?page_id=23

Feel free to send me bug reports, feature requests and coffee.

Best

a.


April 2, 2010 | 1:43 pm

Hi Antoine

I get a "av.jit.iidc: unable to load object bundle executable" error when I try using it.
I installed the libdc1394 library but still no go.
Have I missed something?

/mattias

MacBook Pro
MacOs 10.6.3
Max 5.1.3


April 4, 2010 | 1:34 pm

Hi Matthias,

first, thank for your attention

did you install the dc1394.framework available on my site or just install the libdc1394 binaries ?

i’ve tested the external under Mac OS 10.6.3 and 10.5.8
but Xcode and the Developement tools are installed on these machines

i don’t really understand for now how exactly this works but i noticed that if the dc1394 framework isn’t insalled i’ve got the same error

but i’m sure there is a way to avoid the installation of the framework
if anyone knows how, he’s welcome !

a.


April 8, 2010 | 11:09 pm

Mattias,

I have the same problem on a machine without Xcode & Apple Developper Kit, so I’m working on fixing it…
I think something is wrong in the deployment configuration around including the dc1394 framework in the bundle.

best

a.


May 1, 2010 | 11:17 pm

Hi all,

some news from av.jit.iidc dev

a new version is online, the same as the previous one but compiled in another way
it is intel only this time, and it appears that you must install the Xcode tools and the dclibdc1394.framework before you can use it
i am working on fixing this drawback but… i need help !
so… feel free to contact me, i will be happy to share the code

best

a.


October 14, 2010 | 2:29 pm

Bonjour Antoine,

I am trying to make your IIDC wrapper work with OSX (MacbookPro i7) and an older Firewire Firefly Point Grey camera.

I have the libdc1394 framework installed, apple developer tools installed. The object loads properly as best I can tell. The camera is recognized correctly in the max window. However I do get an error when the digitizer is opened, i get these messages:

av.jit.iidc: Using camera Point Grey Research Firefly MV FFMV-03MTC with GUID 00B09D010060BDA8

av.jit.iidc: IIDC error -23 : Invalid ISO speed – Could not set iso speed

av.jit.iidc: Could not setup capture

I assume the ISO speed error isnt a big issue (i see it is in the ToDo list)
The capture issue seems to be bigger…I never get any frames out of this….

any clues?

best
matthew


December 6, 2010 | 12:05 pm

Hi Antoine,

the community of Openframeworks had some issues close to yours on building a grabber for IIDC camera. The issue was with static and dynamic link with libdc1394 library.
Please take a look at http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=2487&start=60
I will receive my firefly soon and I will be happy to try it on OSX.5.
I’ll let you know

Best


March 5, 2013 | 9:53 am

Hi,
I got this error and max can’t create the object
can you help me?
Thanks
MAX 6
OSX 10.8.2
Mac book Pro

Jitter initialized
av.jit.iidc: unable to load object bundle executable
2013-03-05 10:41:06.362 Max[8359:c07] Error loading /Applications/Max6/Rajan/av.jit-master/externals/OSX/av.jit.iidc.mxo/Contents/MacOS/av.jit.iidc: dlopen(/Applications/Max6/Rajan/av.jit-master/externals/OSX/av.jit.iidc.mxo/Contents/MacOS/av.jit.iidc, 2
62): Library not loaded: @executable_path/../Frameworks/dc1394.framework/Versions/A/dc1394
Referenced from: /Applications/Max6/Rajan/av.jit-master/externals/OSX/av.jit.iidc.mxo/Contents/MacOS/av.jit.iidc
Reason: image not found


March 5, 2013 | 11:08 am

Hello Micron,

it seems that your are missing IIDC Framework.
This should have been embedded in the external, but it seems that it doesn’t…

It’s available on my github, next to av.jit.iidc sources
https://github.com/avilleret/av.jit
Try to put it manually in the .mxo in av.jit.iidc.mxo/Contents/Frameworks
But I’m sure this works and I haven’t an OS X machine to check it.
Moreover, I’ve never try it under Max 6 but I see no reasons why.

Cheers

antoine


March 5, 2013 | 6:20 pm

Hello Antoine,
thanks for your reply,
I tried your suggestion but i got the same error
I tried also on iMac OSX 10.7 an got the same
also tried with max 5 and get the same error
can you point me to a tested version of this external?
this is my email studio[at]rajancraveri.it
Thanks


March 5, 2013 | 9:59 pm

@micron: I would suggest you try putting that bundle in /Library/Frameworks.

@antoine: It sounds like the external is not properly loading the framework from within the .mxo bundle, which is a complete pain to set up in XCode, actually. You might want to do the dynamic loading, or copy to the application package frameworks bundle (not the .mxo bundle) we discussed in the following thread:

http://cycling74.com/forums/topic.php?id=25840

Another relevant thread for this sort of thing, esp when considering standalones:

http://cycling74.com/forums/topic.php?id=29994

Good luck!


March 5, 2013 | 11:39 pm

Hi,

josh, you were quicker than me !
I was just about to reply.

And yes, the key is to put the dc1394.framework in /Library/Frameworks.
I’ve just check it.
I think it’s possible to include it the .mxo in the building step but I can’t manage Xcode to link with for now, and I’ve no time for that now.

And sorry I forgot my own post…

Does anybody know if someone manage to build av.jit.iidc (or an equivalent) on Windows ?
I saw of release of libiidc a while ago.

Cheers

Antoine


March 6, 2013 | 10:55 am

Thanks Joshua and thanks Antoine,
yes copy dc1394.framework in Library/Frameworks seems to change something but now on Max 6.0.8
every time I try to create a new object av.jit.iidc Max crash with this message

Process: Max [284]
Path: /Applications/Max6/Max.app/Contents/MacOS/Max
Identifier: com.cycling74.Max
Version: 6.0.8 [a0c1b20] (6.0.8)
Code Type: X86 (Native)
Parent Process: launchd [265]
User ID: 501

Date/Time: 2013-03-06 11:41:23.788 +0100
OS Version: Mac OS X 10.8.2 (12C60)
Report Version: 10

Interval Since Last Report: 25494 sec
Crashes Since Last Report: 11
Per-App Interval Since Last Report: 21763 sec
Per-App Crashes Since Last Report: 9
Anonymous UUID: 52268152-294D-828A-FFFB-0138E669D2B9

Crashed Thread: 0 Java: AWT-AppKit Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000003ae7a830

VM Regions Near 0x3ae7a830:
MALLOC_TINY 000000003ad00000-000000003ae00000 [ 1024K] rw-/rwx SM=COW
–>
IOKit 000000003af11000-000000003af21000 [ 64K] rw-/rw- SM=ALI

Application Specific Information:
Java information:
Exception type: Bus Error (0xa) at pc=000000000f461845

Java VM: Java HotSpot(TM) Client VM (20.12-b01-434 mixed mode macosx-x86)

Current thread (000000001f0f5c00): JavaThread "AWT-AppKit" [_thread_in_native, id=-1398838744, stack(00000000bf800000,00000000c0000000)]
Stack: [00000000bf800000,00000000c0000000]

Java Threads: ( => current thread )
0000000036163800 JavaThread "AWT-Shutdown" [_thread_blocked, id=-1313009664, stack(00000000b1ad1000,00000000b1bd1000)]
000000001f216c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=-1315655680, stack(00000000b184b000,00000000b194b000)]
000000001f215c00 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=-1316712448, stack(00000000b1749000,00000000b1849000)]
000000001f214c00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=-1317769216, stack(00000000b1647000,00000000b1747000)]
000000001f213c00 JavaThread "Surrogate Locker Thread (Concurrent GC)" daemon [_thread_blocked, id=-1318825984, stack(00000000b1545000,00000000b1645000)]
000000001f207800 JavaThread "Finalizer" daemon [_thread_blocked, id=-1319882752, stack(00000000b1443000,00000000b1543000)]
000000001f206800 JavaThread "Reference Handler" daemon [_thread_blocked, id=-1320939520, stack(00000000b1341000,00000000b1441000)]
=>000000001f0f5c00 JavaThread "AWT-AppKit" [_thread_in_native, id=-1398838744, stack(00000000bf800000,00000000c0000000)]
Other Threads:
000000001f204000 VMThread [stack: 00000000b123f000,00000000b133f000] [id=-1321996288]
000000001f220400 WatcherThread [stack: 00000000b194d000,00000000b1a4d000] [id=-1314598912]

VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None

Heap
par new generation total 14784K, used 7730K [0000000021810000, 0000000022810000, 0000000023810000)
eden space 13184K, 58% used [0000000021810000, 0000000021f9ca20, 00000000224f0000)
from space 1600K, 0% used [00000000224f0000, 00000000224f0000, 0000000022680000)
to space 1600K, 0% used [0000000022680000, 0000000022680000, 0000000022810000)
concurrent mark-sweep generation total 49152K, used 0K [0000000023810000, 0000000026810000, 0000000031810000)
concurrent-mark-sweep perm gen total 12288K, used 4281K [0000000031810000, 0000000032410000, 0000000035810000)

Code Cache [000000001f801000, 000000001f89a000, 0000000021801000)
total_blobs=204 nmethods=70 adapters=78 free_code_cache=32955584 largest_free_block=0

Virtual Machine Arguments:
JVM Args: -Xincgc -Xms64m -Xmx256m
Java Command:
Launcher Type: generic
Physical Memory: Page Size = 4k, Total = 3968M, Free = 1695M

Thread 0 Crashed:: Java: AWT-AppKit Dispatch queue: com.apple.main-thread
0 av.jit.iidc 0x0f461845 jit_iidc_table_init + 2251
1 av.jit.iidc 0x0f45db66 jit_iidc_new + 190
2 com.cycling74.Max 0x000b9ef4 object_new + 133
3 com.cycling74.MaxAPI 0x04aa615b object_new + 139
4 com.cycling74.JitterAPI 0x0fb5642d jit_object_new + 206
5 av.jit.iidc 0x0f4627e9 max_jit_iidc_new + 86
6 com.cycling74.Max 0x000261a2 typedmess_fun + 1008
7 com.cycling74.Max 0x000ba5b6 object_new_typed_flags + 332
8 com.cycling74.Max 0x000ba5f0 object_new_typed + 46
9 com.cycling74.Max 0x000183f5 auxtable_search + 114
10 com.cycling74.Max 0x0001988a newload_internal + 83


March 6, 2013 | 11:45 am

hum,

I dunno what it means exactly, it seems that Java crashed but av.jit.iidc doesn’t use Java at all…

is it the same with Max 5 ?

cheers
a


March 6, 2013 | 4:09 pm

The java portion of the crash log is likely a red herring. Looks like invalid memory access in jit_iidc_table_init. Maybe uninitialized memory, or running off the end of an array you’ve allocated (easy mistake if you allocate number of bytes rather than number of whatever typesize the array is), etc.

0 av.jit.iidc 0x0f461845 jit_iidc_table_init + 2251
1 av.jit.iidc 0x0f45db66 jit_iidc_new + 190
2 com.cycling74.Max 0x000b9ef4 object_new + 133
3 com.cycling74.MaxAPI 0x04aa615b object_new + 139
4 com.cycling74.JitterAPI 0x0fb5642d jit_object_new + 206
5 av.jit.iidc 0x0f4627e9 max_jit_iidc_new + 86
6 com.cycling74.Max 0x000261a2 typedmess_fun + 1008
7 com.cycling74.Max 0x000ba5b6 object_new_typed_flags + 332
8 com.cycling74.Max 0x000ba5f0 object_new_typed + 46
9 com.cycling74.Max 0x000183f5 auxtable_search + 114
10 com.cycling74.Max 0x0001988a newload_internal + 83


March 6, 2013 | 7:12 pm

Hi Antoine, crash also with max 5
here the log

Process: MaxMSP [21413]
Path: /Applications/Max5/MaxMSP.app/Contents/MacOS/MaxMSP
Identifier: com.cycling74.MaxMSP
Version: 5.1.9 [48561] (5.1.9)
Code Type: X86 (Native)
Parent Process: launchd [265]
User ID: 501

Date/Time: 2013-03-06 20:00:13.825 +0100
OS Version: Mac OS X 10.8.2 (12C60)
Report Version: 10

Interval Since Last Report: 40583 sec
Crashes Since Last Report: 13
Per-App Interval Since Last Report: 920 sec
Per-App Crashes Since Last Report: 3
Anonymous UUID: 52268152-294D-828A-FFFB-0138E669D2B9

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000110464f0

VM Regions Near 0x110464f0:
__LINKEDIT 000000000f91f000-000000000f932000 [ 76K] r–/rwx SM=COW /Library/Frameworks/dc1394.framework/Versions/A/dc1394
–>
__TEXT 000000008fe98000-000000008fecb000 [ 204K] r-x/rwx SM=COW /usr/lib/dyld

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 av.jit.iidc 0x0f8a8845 jit_iidc_table_init + 2251
1 av.jit.iidc 0x0f8a4b66 jit_iidc_new + 190
2 com.cycling74.MaxMSP 0x000b800a object_new + 250
3 com.cycling74.MaxAPI 0x045a0f25 object_new + 156
4 com.cycling74.JitterAPI 0x0dbef33e jit_object_new + 235
5 av.jit.iidc 0x0f8a97e9 max_jit_iidc_new + 86
6 com.cycling74.MaxMSP 0x0001caef typedmess_fun + 1973
7 com.cycling74.MaxMSP 0x000bc3d3 object_new_typed_flags + 637
8 com.cycling74.MaxMSP 0x000bc412 object_new_typed + 46
9 com.cycling74.MaxMSP 0x000114ed newload_internal + 165
10 com.cycling74.MaxMSP 0x000117f2 newload + 40
11 com.cycling74.MaxMSP 0x0001caef typedmess_fun + 1973
12 com.cycling74.MaxMSP 0x0001cb79 typedmess + 83
13 com.cycling74.MaxMSP 0x0001d1f9 aeval + 899
14 com.cycling74.MaxMSP 0x000083e0 atombuf_eval + 152
15 com.cycling74.MaxMSP 0x0016311b jnewobj_new + 2283
16 com.cycling74.MaxMSP 0x0001caef typedmess_fun + 1973
17 com.cycling74.MaxMSP 0x000bc398 object_new_typed_flags + 578
18 com.cycling74.MaxMSP 0x000bc412 object_new_typed + 46
19 com.cycling74.MaxMSP 0x00170c1e jpatcher_newobject + 380
20 com.cycling74.MaxMSP 0×00171240 jpatcher_pastefromdictionary + 670


March 11, 2013 | 3:25 pm

hello,

I made few changes according to JKC advices.
This is pushed to my github : https://github.com/avilleret/av.jit but it’s crapy, I don’t know if someone else could build it just after pulling.
The binary is attached.
The object still load on my old macbook pro but I’ve no camera to test it yet.
So please check it and let me now.

Cheers


March 11, 2013 | 11:40 pm

macbook pro 10.6.8

max 6.08

2013-03-12 10:26:35.094 Max[267:207] Error loading /Users/tel/Documents/Max Docs/av.jit.iidc.mxo/Contents/MacOS/av.jit.iidc: dlopen(/Users/tel/Documents/Max Docs/av.jit.iidc.mxo/Contents/MacOS/av.jit.iidc, 262): Library not loaded: @executable_path/../Fr
ameworks/dc1394.framework/Versions/A/dc1394
Referenced from: /Users/tel/Documents/Max Docs/av.jit.iidc.mxo/Contents/MacOS/av.jit.iidc
Reason: image not found


March 11, 2013 | 11:52 pm

did you put the dc1394.framework in /Library/Framework ?


March 12, 2013 | 1:19 am

OK, sorry about that! I have now and it’s loaded, and I found the help file on github, but it’s not initialising the camera (unibrain fire-i). These are the sort of messages I get in the max window:

dc1394: getcameraguid
av.jit.iidc: Camera not initialized
dumpout: cameraguid
dc1394: close
dc1394: open
av.jit.iidc: opening a device
av.jit.iidc: enumerating cameras
av.jit.iidc: Failed to initialize camera with guid 0814436102632150
dc1394: getisospeed
dumpout: isospeed 0
dc1394: getcameraguidlist
Camera with GUID 0814436102632150
dumpout: cameraguidlist 0814436102632150
dc1394: cameraguid 0814436102632150
av.jit.iidc: Failed to initialize camera with guid 0814436102632150
dc1394: getisospeed
dumpout: isospeed 0
dc1394: isospeed 0
dc1394: getvideomode
av.jit.iidc: Camera not initialized
dumpout: videomode
dc1394: getvideomodelist
av.jit.iidc: open a camera before trying to get its video mode

this is the help file I used:

– Pasted Max Patch, click to expand. –

March 12, 2013 | 9:05 am

hi,

does your camera work with another IIDC software on your Mac ?
do you have another IIDC camera to test with ?
As I remember, I had some issue with Unibrain Fire-i a while ago.

Did you try to force to legacy mode ?
try [isospeed 2( before [open(

Cheers

a


March 12, 2013 | 11:02 am

I’ve never tried the camera on this mac before, just had it in my desk drawer and thought I’d try it out in your wrapper. I managed to get it working, but when I pointed it at myself I was an attractive purple colour– tried a different video mode, which caused max to crash.
Anyway, it probably would work if I knew what I was doing…;-)


March 15, 2013 | 4:08 pm

Hi Antoine,
I tested your external,
now it loads well and I’m able to open and get information from camera but
when i try to bang it or if I turn on the metro of help patch Max locks itself
it doesn’t crash but i have to force quit it because it freeze
here my test patch.
(I tried also isospeed 2)
(the camera works with jit.qt.grab only if I set 640 480)
(the camera works with message and Skype)
If you want I can test your external
thanks

– Pasted Max Patch, click to expand. –

March 15, 2013 | 4:18 pm

Hi,

thanks for this feedback
unfortunately I haven’t a camera here so I’m a blind debugger for now !
I can just check if it’s loading properly…
I will try to manage a setup here with the machine I used 3 years ago to write code and a camera as soon as possible.
But if you have time and you want to help, feel free to clone my github !

i’ll let you know when i can do some test

cheers

a


March 15, 2013 | 4:41 pm

sorry I want help you in this project but I’m not able to write jitter external in Xcode
I’m here if you need a test on Firefly MV Point Grey camera
thanks for your work


March 16, 2013 | 1:10 pm

@micron : your patch is working here with a macbook pro 5,5 under OS X 10.6.8 with a Sony XCD-V60 and Max 5.1.9
so I may need a more recent machine and a newer version of Max to find out why it’s not working for you…

but I can say that the external I send in this thread 4 days ago is working, at least if the dc1394.framework is put in the right place and with Max 5.1.9 under OS X 10.6.8

Maybe there are some differences between Max 5 and Max 6 SDK that lead to the hang

cheers

antoine


March 16, 2013 | 3:37 pm

Hi Antoine,
I tested the patch with the new external in max 5 and I got the same behavior Max freeze and I have to force quit it.
OS X 10.8.2

maybe could be the camera?


March 19, 2013 | 11:33 am

hi,

i sucessfully tested the external on Mac OS 10.7.4 x86_64 with both max 5.1.9 and Max 6.1.1 (f7fb88c) 32 bit
tested with an AVT Guppy F-033B

i made few changes to your test patch here my version (with comments) :

– Pasted Max Patch, click to expand. –

I don’t have a Mac OS 10.8 here (and it’s a shame) so I can’t test it
But i’ll try to find one

cheers

antoine


May 22, 2014 | 10:20 pm

I was able to compile a dc1394.framework for the latest 1394 (2.2) by adapting a Xcode project I found on the web. I then linked that to the code above and eventually I got it to compile! Mavericks 10.9.2, Xcode 5.1.1, latest Max SDK 6.1.4.

Unfortunately, as soon as I load it up in Max, the whole thing crashes. I had to make substantial changes to the code above as I could not have it load nicely in a Xcode project. I am not a C expert, much less a Max C external, so I may have screwed up..

My main interest to recompile the framework and the mxo was that I was trying to use a flea3 USB3 that I borrowed, so I will need to compile with libusb.

At this point, I am back to my old dragonexpress. Is there a point grey that works well with latest macs? Is there a firewire camera that just plugs and works? Supporting c-mount would be nice.


May 23, 2014 | 1:44 am

hi,

Quitcktime used to support IIDC over Firewire since the very first i-sight camera was IIDC compliant.
But it was something like 10 years ago…
I hope Quicktime still support IIDC camera, but don’t know if it supports IIDC over USB.
I wrote this external because I need to access advanced camera features such as camera mode.
But I no longer use it because I switched to open source software.

So in short, firewire IIDC camera should work with Quicktime but I don’t know anything about USB IIDC support.

Cheers
a


Viewing 30 posts - 1 through 30 (of 30 total)