artoolkit-commits Mailing List for ARToolKit (Page 23)
Optical marker tracking and overlay for augmented reality.
Brought to you by:
philip_lamb
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(65) |
Dec
(32) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(5) |
Mar
(15) |
Apr
(22) |
May
|
Jun
(9) |
Jul
(108) |
Aug
(42) |
Sep
(62) |
Oct
(5) |
Nov
|
Dec
(4) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
(38) |
May
(27) |
Jun
(58) |
Jul
(8) |
Aug
(11) |
Sep
(51) |
Oct
(15) |
Nov
(12) |
Dec
(3) |
2007 |
Jan
(25) |
Feb
(6) |
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
|
2008 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(20) |
Sep
(5) |
Oct
|
Nov
|
Dec
(2) |
2009 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Philip L. <phi...@us...> - 2005-04-13 06:15:02
|
Update of /cvsroot/artoolkit/artoolkit/examples/paddleInteraction In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30618 Modified Files: paddleInteractionTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: paddleInteractionTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/paddleInteraction/paddleInteractionTest.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** paddleInteractionTest.c 2 Dec 2004 00:47:30 -0000 1.2 --- paddleInteractionTest.c 13 Apr 2005 06:14:35 -0000 1.3 *************** *** 76,82 **** ! int main() { //initialize applications init(); --- 76,85 ---- ! int main(int argc, char **argv) { //initialize applications + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:15:00
|
Update of /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30895 Modified Files: video.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: video.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX/video.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** video.c 24 Mar 2005 00:34:30 -0000 1.7 --- video.c 13 Apr 2005 06:14:48 -0000 1.8 *************** *** 1271,1275 **** } ! // If there are no active grabbers, init the QuickTime access mutex. if (gVidCount == 0) { --- 1271,1275 ---- } ! // If there are no active grabbers, init QuickTime. if (gVidCount == 0) { *************** *** 1298,1302 **** #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME ! // If there are no active grabbers, init the QuickTime access mutex. if ((err_i = pthread_mutex_init(&gVidQuickTimeMutex, NULL)) != 0) { fprintf(stderr, "ar2VideoOpen(): Error %d creating mutex (for QuickTime).\n", err_i); --- 1298,1302 ---- #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME ! // Init the QuickTime access mutex. if ((err_i = pthread_mutex_init(&gVidQuickTimeMutex, NULL)) != 0) { fprintf(stderr, "ar2VideoOpen(): Error %d creating mutex (for QuickTime).\n", err_i); |
From: Philip L. <phi...@us...> - 2005-04-13 06:14:40
|
Update of /cvsroot/artoolkit/artoolkit/util/calib_distortion In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30381 Modified Files: calib_dist.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: calib_dist.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/util/calib_distortion/calib_dist.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** calib_dist.c 4 Nov 2004 08:52:12 -0000 1.1.1.1 --- calib_dist.c 13 Apr 2005 06:14:28 -0000 1.2 *************** *** 98,101 **** --- 98,104 ---- int main(int argc, char *argv[]) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(argc, argv); |
From: Philip L. <phi...@us...> - 2005-04-13 06:14:33
|
Update of /cvsroot/artoolkit/artoolkit/examples/paddle In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30252 Modified Files: paddleTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: paddleTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/paddle/paddleTest.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** paddleTest.c 2 Dec 2004 00:47:36 -0000 1.2 --- paddleTest.c 13 Apr 2005 06:14:07 -0000 1.3 *************** *** 53,59 **** static void draw( double trans1[3][4], double trans2[3][4], int mode ); ! int main() { //initialize application init(); --- 53,62 ---- static void draw( double trans1[3][4], double trans2[3][4], int mode ); ! int main(int argc, char **argv) { //initialize application + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:14:20
|
Update of /cvsroot/artoolkit/artoolkit/examples/collide In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29884 Modified Files: collideTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: collideTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/collide/collideTest.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** collideTest.c 2 Dec 2004 00:48:13 -0000 1.2 --- collideTest.c 13 Apr 2005 06:13:53 -0000 1.3 *************** *** 49,55 **** static int draw_object( int obj_id, double gl_para[16], int collide_flag ); ! int main() { //initialize applications init(); --- 49,58 ---- static int draw_object( int obj_id, double gl_para[16], int collide_flag ); ! int main(int argc, char **argv) { //initialize applications + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:14:10
|
Update of /cvsroot/artoolkit/artoolkit/examples/exview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30087 Modified Files: exview.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: exview.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/exview/exview.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** exview.c 22 Nov 2004 03:37:26 -0000 1.2 --- exview.c 13 Apr 2005 06:14:00 -0000 1.3 *************** *** 62,65 **** --- 62,68 ---- int main(int argc, char **argv) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif if( init() < 0 ) exit(0); |
From: Philip L. <phi...@us...> - 2005-04-13 06:14:08
|
Update of /cvsroot/artoolkit/artoolkit/examples/paddleDemo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29677 Modified Files: paddleDemo.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: paddleDemo.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/paddleDemo/paddleDemo.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** paddleDemo.c 2 Dec 2004 00:47:43 -0000 1.2 --- paddleDemo.c 13 Apr 2005 06:13:38 -0000 1.3 *************** *** 71,77 **** static void drawItems(double trans[3][4],ItemList* list); ! int main() { //initialize applications init(); --- 71,80 ---- static void drawItems(double trans[3][4],ItemList* list); ! int main(int argc, char **argv) { //initialize applications + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:13:55
|
Update of /cvsroot/artoolkit/artoolkit/examples/loadMultiple In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29776 Modified Files: loadMultiple.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: loadMultiple.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/loadMultiple/loadMultiple.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** loadMultiple.c 2 Dec 2004 00:48:07 -0000 1.2 --- loadMultiple.c 13 Apr 2005 06:13:46 -0000 1.3 *************** *** 51,57 **** static int draw_object( int obj_id, double gl_para[16] ); ! int main() { //initialize applications init(); --- 51,60 ---- static int draw_object( int obj_id, double gl_para[16] ); ! int main(int argc, char **argv) { //initialize applications + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:13:45
|
Update of /cvsroot/artoolkit/artoolkit/examples/optical In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29445 Modified Files: optical.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: optical.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/optical/optical.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** optical.c 4 Nov 2004 08:50:59 -0000 1.1.1.1 --- optical.c 13 Apr 2005 06:13:19 -0000 1.2 *************** *** 70,73 **** --- 70,76 ---- int main(int argc, char **argv) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif if( init( argc, argv ) < 0 ) exit(0); |
From: Philip L. <phi...@us...> - 2005-04-13 06:13:42
|
Update of /cvsroot/artoolkit/artoolkit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29550 Modified Files: README.txt Log Message: Fix for glutInit bug in OSX libARgsub. Index: README.txt =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/README.txt,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** README.txt 16 Mar 2005 04:42:15 -0000 1.13 --- README.txt 13 Apr 2005 06:13:26 -0000 1.14 *************** *** 127,130 **** --- 127,131 ---- ------------------------ - Mac OS X video driver: QuickTime 6.4 is now required by default. (Support for earlier versions can be enabled at compile-time). + - Mac OS X libARgsub and binaries which call it: fix for bug "GLUT Warning: glutInit being called a second time" by moving glutInit to main so that it is called before calling arVideoOpen. Changes in earlier releases. |
From: Philip L. <phi...@us...> - 2005-04-13 06:13:22
|
Update of /cvsroot/artoolkit/artoolkit/examples/simple2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29127 Modified Files: simpleTest2.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: simpleTest2.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/simple2/simpleTest2.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** simpleTest2.c 4 Nov 2004 08:51:08 -0000 1.1.1.1 --- simpleTest2.c 13 Apr 2005 06:12:54 -0000 1.2 *************** *** 48,51 **** --- 48,54 ---- int main(int argc, char **argv) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:13:22
|
Update of /cvsroot/artoolkit/artoolkit/examples/relation In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29266 Modified Files: relationTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: relationTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/relation/relationTest.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** relationTest.c 2 Dec 2004 00:44:20 -0000 1.2 --- relationTest.c 13 Apr 2005 06:13:12 -0000 1.3 *************** *** 62,65 **** --- 62,68 ---- int main(int argc, char *argv[]) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:13:12
|
Update of /cvsroot/artoolkit/artoolkit/util/videoTest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29190 Modified Files: videoTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: videoTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/util/videoTest/videoTest.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** videoTest.c 25 Nov 2004 22:44:54 -0000 1.2 --- videoTest.c 13 Apr 2005 06:13:02 -0000 1.3 *************** *** 1,116 **** ! #ifdef _WIN32 ! # include <windows.h> ! #endif ! #include <stdio.h> ! #include <stdlib.h> ! #ifndef __APPLE__ ! # include <GL/gl.h> ! # include <GL/glut.h> ! #else ! # include <OpenGL/gl.h> ! # include <GLUT/glut.h> ! #endif ! #include <AR/gsub.h> ! #include <AR/video.h> ! #include <AR/param.h> ! #include <AR/ar.h> ! ! /*****************************************************************************/ ! // modified by Thomas Pintaric, Vienna University of Technology ! ! #ifdef _WIN32 ! char *vconf = "flipV"; // see video.h for a list of supported parameters ! #else ! char *vconf = ""; ! #endif ! /*****************************************************************************/ ! ! int xsize, ysize; ! int count = 0; ! ! char *cparam_name = "Data/camera_para.dat"; ! ARParam cparam; ! ! ! static void init(void); ! static void cleanup(void); ! static void keyEvent( unsigned char key, int x, int y); ! static void mainLoop(void); ! ! ! int main(int argc, char **argv) ! { ! //initialize applications ! init(); ! ! //start video capture ! arVideoCapStart(); ! ! //start the main event loop ! argMainLoop( NULL, keyEvent, mainLoop ); ! ! return 0; ! } ! ! static void keyEvent( unsigned char key, int x, int y) ! { ! /* quit if the ESC key is pressed */ ! if( key == 0x1b ) { ! printf("*** %f (frame/sec)\n", (double)count/arUtilTimer()); ! cleanup(); ! exit(0); ! } ! } ! ! /* main loop */ ! static void mainLoop(void) ! { ! ARUint8 *dataPtr; ! ! /* grab a video frame */ ! if( (dataPtr = (ARUint8 *)arVideoGetImage()) == NULL ) { ! arUtilSleep(2); ! return; ! } ! if( count == 0 ) arUtilTimerReset(); ! count++; ! ! /*draw the video*/ ! argDrawMode2D(); ! argDispImage( dataPtr, 0,0 ); ! ! /* capture the next video frame */ ! arVideoCapNext(); ! ! /*swap the graphics buffers*/ ! argSwapBuffers(); ! } ! ! static void init( void ) ! { ! ARParam wparam; ! ! /* open the video path */ ! if( arVideoOpen( vconf ) < 0 ) exit(0); ! /* find the size of the window */ ! if( arVideoInqSize(&xsize, &ysize) < 0 ) exit(0); ! printf("Image size (x,y) = (%d,%d)\n", xsize, ysize); ! ! /* set the initial camera parameters */ ! if( arParamLoad(cparam_name, 1, &wparam) < 0 ) { ! printf("Camera parameter load error !!\n"); ! exit(0); ! } ! arParamChangeSize( &wparam, xsize, ysize, &cparam ); ! ! /* open the graphics window */ ! argInit( &cparam, 1.0, 0, 0, 0, 0 ); ! } ! ! /* cleanup function called when program exits */ ! static void cleanup(void) ! { ! arVideoCapStop(); ! arVideoClose(); ! argCleanup(); ! } --- 1,119 ---- ! #ifdef _WIN32 ! # include <windows.h> ! #endif ! #include <stdio.h> ! #include <stdlib.h> ! #ifndef __APPLE__ ! # include <GL/gl.h> ! # include <GL/glut.h> ! #else ! # include <OpenGL/gl.h> ! # include <GLUT/glut.h> ! #endif ! #include <AR/gsub.h> ! #include <AR/video.h> ! #include <AR/param.h> ! #include <AR/ar.h> ! ! /*****************************************************************************/ ! // modified by Thomas Pintaric, Vienna University of Technology ! ! #ifdef _WIN32 ! char *vconf = "flipV"; // see video.h for a list of supported parameters ! #else ! char *vconf = ""; ! #endif ! /*****************************************************************************/ ! ! int xsize, ysize; ! int count = 0; ! ! char *cparam_name = "Data/camera_para.dat"; ! ARParam cparam; ! ! ! static void init(void); ! static void cleanup(void); ! static void keyEvent( unsigned char key, int x, int y); ! static void mainLoop(void); ! ! ! int main(int argc, char **argv) ! { ! //initialize applications ! #ifdef __APPLE__ ! glutInit(&argc, argv); ! #endif ! init(); ! ! //start video capture ! arVideoCapStart(); ! ! //start the main event loop ! argMainLoop( NULL, keyEvent, mainLoop ); ! ! return 0; ! } ! ! static void keyEvent( unsigned char key, int x, int y) ! { ! /* quit if the ESC key is pressed */ ! if( key == 0x1b ) { ! printf("*** %f (frame/sec)\n", (double)count/arUtilTimer()); ! cleanup(); ! exit(0); ! } ! } ! ! /* main loop */ ! static void mainLoop(void) ! { ! ARUint8 *dataPtr; ! ! /* grab a video frame */ ! if( (dataPtr = (ARUint8 *)arVideoGetImage()) == NULL ) { ! arUtilSleep(2); ! return; ! } ! if( count == 0 ) arUtilTimerReset(); ! count++; ! ! /*draw the video*/ ! argDrawMode2D(); ! argDispImage( dataPtr, 0,0 ); ! ! /* capture the next video frame */ ! arVideoCapNext(); ! ! /*swap the graphics buffers*/ ! argSwapBuffers(); ! } ! ! static void init( void ) ! { ! ARParam wparam; ! ! /* open the video path */ ! if( arVideoOpen( vconf ) < 0 ) exit(0); ! /* find the size of the window */ ! if( arVideoInqSize(&xsize, &ysize) < 0 ) exit(0); ! printf("Image size (x,y) = (%d,%d)\n", xsize, ysize); ! ! /* set the initial camera parameters */ ! if( arParamLoad(cparam_name, 1, &wparam) < 0 ) { ! printf("Camera parameter load error !!\n"); ! exit(0); ! } ! arParamChangeSize( &wparam, xsize, ysize, &cparam ); ! ! /* open the graphics window */ ! argInit( &cparam, 1.0, 0, 0, 0, 0 ); ! } ! ! /* cleanup function called when program exits */ ! static void cleanup(void) ! { ! arVideoCapStop(); ! arVideoClose(); ! argCleanup(); ! } |
From: Philip L. <phi...@us...> - 2005-04-13 06:12:57
|
Update of /cvsroot/artoolkit/artoolkit/ARToolKit.xcode In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29082 Modified Files: project.pbxproj Log Message: Fix for glutInit bug in OSX libARgsub. Index: project.pbxproj =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/ARToolKit.xcode/project.pbxproj,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** project.pbxproj 10 Mar 2005 04:00:47 -0000 1.10 --- project.pbxproj 13 Apr 2005 06:12:47 -0000 1.11 *************** *** 58,61 **** --- 58,62 ---- 4A3F1465064A09F80042B0D7, 4A3F149E064A0AAB0042B0D7, + 4A6AE876080CD29800149122, 4A5F9D84064B556E00525EC0, 4A5BFDCD075E856100E59760, *************** *** 206,209 **** --- 207,211 ---- 4A1309FA075C26F900D62ACD, 4A130A0E075C270F00D62ACD, + 4A6AE8A4080CE1F300149122, ); isa = PBXNativeTarget; *************** *** 451,454 **** --- 453,457 ---- 4A1F9DE20756897100DEC369, 4A1F9DE30756897100DEC369, + 4A6AE898080CE1D700149122, ); isa = PBXNativeTarget; *************** *** 609,612 **** --- 612,616 ---- 4A1F9E0B07568A0100DEC369, 4A1F9E0D07568A0100DEC369, + 4A6AE89A080CE1DA00149122, ); isa = PBXNativeTarget; *************** *** 775,778 **** --- 779,783 ---- 4A2244E50659A2F40014DA8E, 4A2244FF0659A32C0014DA8E, + 4A6AE890080CE1C500149122, ); isa = PBXNativeTarget; *************** *** 1274,1277 **** --- 1279,1283 ---- 4AF49830066FFED200EEDF04, 4AF49844066FFEE800EEDF04, + 4AB1552407EA4D9300770B93, ); isa = PBXHeadersBuildPhase; *************** *** 1283,1286 **** --- 1289,1293 ---- 4A3F130F064A02940042B0D7, 4A83CED207DFE2D100A10282, + 4AB1552307EA4D9300770B93, ); isa = PBXSourcesBuildPhase; *************** *** 1764,1767 **** --- 1771,1775 ---- 4A3F162E064A0D990042B0D7, 4A3F1630064A0D990042B0D7, + 4A6AE880080CE19D00149122, ); isa = PBXNativeTarget; *************** *** 3263,3266 **** --- 3271,3276 ---- 4A427D700484329900B56093 = { children = ( + 4AB1552207EA4D9300770B93, + 4AB1552107EA4D9300770B93, 4AFEA85207DEB00000483D33, 4AFEA7E407DE94E100483D33, *************** *** 3499,3503 **** HEADER_SEARCH_PATHS = include; INSTALL_PATH = "$(SRCROOT)/bin"; ! LIBRARY_SEARCH_PATHS = "lib /Users/phil/Documents/Development/Projects/ARToolKit/artoolkit/lib"; PRODUCT_NAME = rangeTest; WARNING_CFLAGS = "-Wmost"; --- 3509,3513 ---- HEADER_SEARCH_PATHS = include; INSTALL_PATH = "$(SRCROOT)/bin"; ! LIBRARY_SEARCH_PATHS = lib; PRODUCT_NAME = rangeTest; WARNING_CFLAGS = "-Wmost"; *************** *** 3507,3510 **** --- 3517,3521 ---- 4A488BAC0751CD59003D46BE, 4A488BAE0751CD59003D46BE, + 4A6AE88C080CE1BB00149122, ); isa = PBXNativeTarget; *************** *** 3655,3658 **** --- 3666,3670 ---- 4A5BFD19075E7F1200E59760, 4A5BFD1A075E7F1200E59760, + 4A6AE87E080CE19700149122, ); isa = PBXNativeTarget; *************** *** 3798,3801 **** --- 3810,3814 ---- 4A5BFD39075E801000E59760, 4A5BFD3A075E801000E59760, + 4A6AE886080CE1AD00149122, ); isa = PBXNativeTarget; *************** *** 3953,3956 **** --- 3966,3970 ---- 4A5BFD4E075E801700E59760, 4A5BFD4F075E801700E59760, + 4A6AE888080CE1B200149122, ); isa = PBXNativeTarget; *************** *** 4158,4161 **** --- 4172,4176 ---- 4A5BFDA4075E835B00E59760, 4A5BFDA5075E835B00E59760, + 4A6AE88A080CE1B700149122, ); isa = PBXNativeTarget; *************** *** 4324,4327 **** --- 4339,4343 ---- 4A5BFDCF075E856100E59760, 4A5BFDD0075E856100E59760, + 4A6AE87A080CE18400149122, ); isa = PBXNativeTarget; *************** *** 4577,4580 **** --- 4593,4597 ---- 4A5F9A4F064B4F0600525EC0, 4A5F9A51064B4F0600525EC0, + 4A6AE892080CE1CA00149122, ); isa = PBXNativeTarget; *************** *** 4719,4722 **** --- 4736,4740 ---- 4A5F9B77064B501E00525EC0, 4A5F9B79064B501E00525EC0, + 4A6AE894080CE1CD00149122, ); isa = PBXNativeTarget; *************** *** 4858,4861 **** --- 4876,4880 ---- 4A5F9BDF064B51FB00525EC0, 4A5F9BE0064B51FB00525EC0, + 4A6AE88E080CE1C000149122, ); isa = PBXNativeTarget; *************** *** 4998,5001 **** --- 5017,5021 ---- 4A5F9C39064B52E700525EC0, 4A2245E00659A6BF0014DA8E, + 4A6AE882080CE1A300149122, ); isa = PBXNativeTarget; *************** *** 5144,5147 **** --- 5164,5168 ---- 4A5F9C87064B538700525EC0, 4AF54FDE069E5F8000E96B52, + 4A6AE884080CE1A800149122, ); isa = PBXNativeTarget; *************** *** 5305,5308 **** --- 5326,5330 ---- 4A5F9D41064B54D800525EC0, 4A5F9D42064B54D800525EC0, + 4A6AE87C080CE19200149122, ); isa = PBXNativeTarget; *************** *** 5582,5585 **** --- 5604,5905 ---- targetProxy = 4A6647D4065990EE0061DA76; }; + 4A6AE875080CD29800149122 = { + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + isa = PBXShellScriptBuildPhase; + outputPaths = ( + build/Data, + build/Wrl, + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/csh; + shellScript = "cd build\nif ($ACTION != clean) then\nif (! -e Data) then\nln -sf ../bin/Data Data\nendif\nif (! -e Wrl) then\nln -sf ../bin/Wrl Wrl\nendif\nelse\nif (-l Data) then\nrm -f Data\nendif\nif (-l Wrl) then\nrm -f Wrl\nendif\nendif"; + }; + 4A6AE876080CD29800149122 = { + buildPhases = ( + 4A6AE875080CD29800149122, + ); + buildSettings = { + OPTIMIZATION_CFLAGS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = "Fix XCode runtime cwd"; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + ); + isa = PBXAggregateTarget; + name = "XCode runtime cwd fix"; + productName = "Fix XCode runtime cwd"; + }; + 4A6AE879080CE18400149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE87A080CE18400149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE879080CE18400149122; + }; + 4A6AE87B080CE19200149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE87C080CE19200149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE87B080CE19200149122; + }; + 4A6AE87D080CE19700149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE87E080CE19700149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE87D080CE19700149122; + }; + 4A6AE87F080CE19D00149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE880080CE19D00149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE87F080CE19D00149122; + }; + 4A6AE881080CE1A300149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE882080CE1A300149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE881080CE1A300149122; + }; + 4A6AE883080CE1A800149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE884080CE1A800149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE883080CE1A800149122; + }; + 4A6AE885080CE1AD00149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE886080CE1AD00149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE885080CE1AD00149122; + }; + 4A6AE887080CE1B200149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE888080CE1B200149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE887080CE1B200149122; + }; + 4A6AE889080CE1B700149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE88A080CE1B700149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE889080CE1B700149122; + }; + 4A6AE88B080CE1BB00149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE88C080CE1BB00149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE88B080CE1BB00149122; + }; + 4A6AE88D080CE1C000149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE88E080CE1C000149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE88D080CE1C000149122; + }; + 4A6AE88F080CE1C500149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE890080CE1C500149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE88F080CE1C500149122; + }; + 4A6AE891080CE1CA00149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE892080CE1CA00149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE891080CE1CA00149122; + }; + 4A6AE893080CE1CD00149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE894080CE1CD00149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE893080CE1CD00149122; + }; + 4A6AE895080CE1D200149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE896080CE1D200149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE895080CE1D200149122; + }; + 4A6AE897080CE1D700149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE898080CE1D700149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE897080CE1D700149122; + }; + 4A6AE899080CE1DA00149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE89A080CE1DA00149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE899080CE1DA00149122; + }; + 4A6AE89B080CE1DF00149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE89C080CE1DF00149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE89B080CE1DF00149122; + }; + 4A6AE89D080CE1E500149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE89E080CE1E500149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE89D080CE1E500149122; + }; + 4A6AE89F080CE1E900149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE8A0080CE1E900149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE89F080CE1E900149122; + }; + 4A6AE8A1080CE1EE00149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE8A2080CE1EE00149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE8A1080CE1EE00149122; + }; + 4A6AE8A3080CE1F300149122 = { + containerPortal = 08FB7793FE84155DC02AAC07; + isa = PBXContainerItemProxy; + proxyType = 1; + remoteGlobalIDString = 4A6AE876080CD29800149122; + remoteInfo = "XCode runtime cwd fix"; + }; + 4A6AE8A4080CE1F300149122 = { + isa = PBXTargetDependency; + target = 4A6AE876080CD29800149122; + targetProxy = 4A6AE8A3080CE1F300149122; + }; 4A7EF6340677F2DE000C5A8F = { fileRef = 4A427D000484329800B56093; *************** *** 6301,6304 **** --- 6621,6625 ---- 4A94DD370756B1EB00D79CD1, 4A94DD380756B1EB00D79CD1, + 4A6AE896080CE1D200149122, ); isa = PBXNativeTarget; *************** *** 6729,6732 **** --- 7050,7081 ---- sourceTree = "<group>"; }; + 4AB1552107EA4D9300770B93 = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.c; + path = QTMovieFromURL.c; + refType = 4; + sourceTree = "<group>"; + }; + 4AB1552207EA4D9300770B93 = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = QTMovieFromURL.h; + refType = 4; + sourceTree = "<group>"; + }; + 4AB1552307EA4D9300770B93 = { + fileRef = 4AB1552107EA4D9300770B93; + isa = PBXBuildFile; + settings = { + }; + }; + 4AB1552407EA4D9300770B93 = { + fileRef = 4AB1552207EA4D9300770B93; + isa = PBXBuildFile; + settings = { + }; + }; 4AB5532706A4BA0C00FAEE19 = { fileEncoding = 30; *************** *** 6769,6772 **** --- 7118,7122 ---- 4AB9FDF50651CB83003B9097, 4AB9FDF60651CB83003B9097, + 4A6AE89C080CE1DF00149122, ); isa = PBXNativeTarget; *************** *** 6929,6932 **** --- 7279,7283 ---- 4AB9FE5B0651CC50003B9097, 4AB9FE5C0651CC50003B9097, + 4A6AE89E080CE1E500149122, ); isa = PBXNativeTarget; *************** *** 7082,7085 **** --- 7433,7437 ---- 4AB9FEFF0651CD1F003B9097, 4AB9FF000651CD1F003B9097, + 4A6AE8A0080CE1E900149122, ); isa = PBXNativeTarget; *************** *** 7235,7238 **** --- 7587,7591 ---- 4AB9FF460651CD8D003B9097, 4AB9FF470651CD8D003B9097, + 4A6AE8A2080CE1EE00149122, ); isa = PBXNativeTarget; |
From: Philip L. <phi...@us...> - 2005-04-13 06:12:55
|
Update of /cvsroot/artoolkit/artoolkit/util/mk_patt In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28999 Modified Files: mk_patt.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: mk_patt.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/util/mk_patt/mk_patt.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** mk_patt.c 4 Nov 2004 08:52:13 -0000 1.1.1.1 --- mk_patt.c 13 Apr 2005 06:12:29 -0000 1.2 *************** *** 57,60 **** --- 57,63 ---- int main(int argc, char *argv[]) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:12:50
|
Update of /cvsroot/artoolkit/artoolkit/examples/simple In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28971 Modified Files: simpleTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: simpleTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/simple/simpleTest.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** simpleTest.c 4 Nov 2004 08:51:06 -0000 1.1.1.1 --- simpleTest.c 13 Apr 2005 06:12:21 -0000 1.2 *************** *** 47,51 **** int main(int argc, char **argv) { ! init(); arVideoCapStart(); --- 47,54 ---- int main(int argc, char **argv) { ! #ifdef __APPLE__ ! glutInit(&argc, argv); ! #endif ! init(); arVideoCapStart(); *************** *** 115,119 **** { ARParam wparam; ! /* open the video path */ if( arVideoOpen( vconf ) < 0 ) exit(0); --- 118,122 ---- { ARParam wparam; ! /* open the video path */ if( arVideoOpen( vconf ) < 0 ) exit(0); |
From: Philip L. <phi...@us...> - 2005-04-13 06:12:49
|
Update of /cvsroot/artoolkit/artoolkit/util/graphicsTest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29052 Modified Files: graphicsTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: graphicsTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/util/graphicsTest/graphicsTest.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** graphicsTest.c 10 Mar 2005 03:58:40 -0000 1.3 --- graphicsTest.c 13 Apr 2005 06:12:35 -0000 1.4 *************** *** 33,36 **** --- 33,39 ---- int main(int argc, char **argv) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:12:33
|
Update of /cvsroot/artoolkit/artoolkit/examples/multi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28894 Modified Files: multiTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: multiTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/multi/multiTest.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** multiTest.c 4 Nov 2004 08:50:58 -0000 1.1.1.1 --- multiTest.c 13 Apr 2005 06:12:07 -0000 1.2 *************** *** 45,48 **** --- 45,51 ---- int main(int argc, char **argv) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:12:27
|
Update of /cvsroot/artoolkit/artoolkit/util/calib_cparam In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28768 Modified Files: calib_cparam.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: calib_cparam.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/util/calib_cparam/calib_cparam.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** calib_cparam.c 4 Nov 2004 08:52:10 -0000 1.1.1.1 --- calib_cparam.c 13 Apr 2005 06:12:01 -0000 1.2 *************** *** 105,108 **** --- 105,111 ---- int main(int argc, char *argv[]) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init(); |
From: Philip L. <phi...@us...> - 2005-04-13 06:12:24
|
Update of /cvsroot/artoolkit/artoolkit/examples/modeTest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28929 Modified Files: modeTest.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: modeTest.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/examples/modeTest/modeTest.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** modeTest.c 4 Nov 2004 08:50:58 -0000 1.1.1.1 --- modeTest.c 13 Apr 2005 06:12:14 -0000 1.2 *************** *** 69,72 **** --- 69,75 ---- int main(int argc, char **argv) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif if( init( argc, argv ) < 0 ) exit(0); |
From: Philip L. <phi...@us...> - 2005-04-13 06:12:07
|
Update of /cvsroot/artoolkit/artoolkit/util/calib_camera2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28563 Modified Files: main.c Log Message: Fix for glutInit bug in OSX libARgsub. Index: main.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/util/calib_camera2/main.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** main.c 4 Nov 2004 08:52:06 -0000 1.1.1.1 --- main.c 13 Apr 2005 06:11:53 -0000 1.2 *************** *** 126,129 **** --- 126,132 ---- int main(int argc, char *argv[]) { + #ifdef __APPLE__ + glutInit(&argc, argv); + #endif init( argc, argv ); *************** *** 173,179 **** printf("Image size (x,y) = (%d,%d)\n", xsize, ysize); - #ifdef __APPLE__ - glutInit(&argc, argv); - #endif glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); glutInitWindowSize(xsize, ysize); --- 176,179 ---- |
From: Philip L. <phi...@us...> - 2005-03-24 00:34:52
|
Update of /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7420 Modified Files: video.c Log Message: Tidy up error some error handling. Index: video.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX/video.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** video.c 16 Mar 2005 04:42:06 -0000 1.6 --- video.c 24 Mar 2005 00:34:30 -0000 1.7 *************** *** 210,226 **** } if (!seqGrab) { ! fprintf(stderr, "Failed to open the sequence grabber.\n"); goto endFunc; } // initialize the default sequence grabber component ! if(err = SGInitialize(seqGrab)) { ! fprintf(stderr, "SGInitialize err=%ld\n", err); goto endFunc; } // This should be defaulted to the current port according to QT doco ! if (err = SGSetGWorld(seqGrab, GetWindowPort(pWindow), NULL)) { ! fprintf(stderr, "SGSetGWorld err=%ld\n", err); goto endFunc; } --- 210,226 ---- } if (!seqGrab) { ! fprintf(stderr, "MakeSequenceGrabber(): Failed to open a sequence grabber component.\n"); goto endFunc; } // initialize the default sequence grabber component ! if ((err = SGInitialize(seqGrab))) { ! fprintf(stderr, "MakeSequenceGrabber(): SGInitialize err=%ld\n", err); goto endFunc; } // This should be defaulted to the current port according to QT doco ! if ((err = SGSetGWorld(seqGrab, GetWindowPort(pWindow), NULL))) { ! fprintf(stderr, "MakeSequenceGrabber(): SGSetGWorld err=%ld\n", err); goto endFunc; } *************** *** 231,250 **** // your data function, but does not write any data to the movie file // writeType will always be set to seqGrabWriteAppend ! if (err = SGSetDataRef(seqGrab, ! 0, ! 0, ! seqGrabDontMakeMovie)) ! { ! fprintf(stderr, "SGSetGWorld err=%ld\n", err); goto endFunc; } endFunc: ! if (err && (seqGrab != NULL)) { // clean up on failure ! CloseComponent(seqGrab); ! seqGrab = NULL; ! } ! return seqGrab; } --- 231,246 ---- // your data function, but does not write any data to the movie file // writeType will always be set to seqGrabWriteAppend ! if ((err = SGSetDataRef(seqGrab, 0, 0, seqGrabDontMakeMovie))) { ! fprintf(stderr, "MakeSequenceGrabber(): SGSetDataRef err=%ld\n", err); goto endFunc; } endFunc: ! if (err && (seqGrab != NULL)) { // clean up on failure ! CloseComponent(seqGrab); ! seqGrab = NULL; ! } ! return (seqGrab); } *************** *** 258,280 **** ComponentResult err = noErr; ! if (err = SGNewChannel(seqGrab, VideoMediaType, psgchanVideo)) { ! fprintf(stderr, "SGNewChannel err=%ld\n", err); goto endFunc; } ! // err = SGSetChannelBounds(*sgchanVideo, rect); // set usage for new video channel to avoid playthrough // note we don't set seqGrabPlayDuringRecord ! if (err = SGSetChannelUsage(*psgchanVideo, flags | seqGrabRecord)) { ! fprintf(stderr, "SGSetChannelUsage err=%ld\n", err); goto endFunc; } endFunc: ! if ((err != noErr) && psgchanVideo) { ! // clean up on failure ! SGDisposeChannel(seqGrab, *psgchanVideo); ! *psgchanVideo = NULL; ! } return err; --- 254,276 ---- ComponentResult err = noErr; ! if ((err = SGNewChannel(seqGrab, VideoMediaType, psgchanVideo))) { ! fprintf(stderr, "MakeSequenceGrabChannel(): SGNewChannel err=%ld\n", err); goto endFunc; } ! //err = SGSetChannelBounds(*sgchanVideo, rect); // set usage for new video channel to avoid playthrough // note we don't set seqGrabPlayDuringRecord ! if ((err = SGSetChannelUsage(*psgchanVideo, flags | seqGrabRecord))) { ! fprintf(stderr, "MakeSequenceGrabChannel(): SGSetChannelUsage err=%ld\n", err); goto endFunc; } endFunc: ! if ((err != noErr) && psgchanVideo) { ! // clean up on failure ! SGDisposeChannel(seqGrab, *psgchanVideo); ! *psgchanVideo = NULL; ! } return err; *************** *** 286,302 **** // Extract information from the SG ! if (err = SGGetVideoCompressor ( pVdg->sgchanVideo, ! &pVdg->cpDepth, ! &pVdg->cpCompressor, ! &pVdg->cpSpatialQuality, ! &pVdg->cpTemporalQuality, ! &pVdg->cpKeyFrameRate )) ! { fprintf(stderr, "SGGetVideoCompressor err=%ld\n", err); goto endFunc; } ! if (err = SGGetFrameRate(pVdg->sgchanVideo, &pVdg->cpFrameRate)) ! { fprintf(stderr, "SGGetFrameRate err=%ld\n", err); goto endFunc; --- 282,296 ---- // Extract information from the SG ! if (err = SGGetVideoCompressor (pVdg->sgchanVideo, ! &pVdg->cpDepth, ! &pVdg->cpCompressor, ! &pVdg->cpSpatialQuality, ! &pVdg->cpTemporalQuality, ! &pVdg->cpKeyFrameRate)) { fprintf(stderr, "SGGetVideoCompressor err=%ld\n", err); goto endFunc; } ! if (err = SGGetFrameRate(pVdg->sgchanVideo, &pVdg->cpFrameRate)) { fprintf(stderr, "SGGetFrameRate err=%ld\n", err); goto endFunc; *************** *** 304,309 **** // Get the selected vdig from the SG ! if (!(pVdg->vdCompInst = SGGetVideoDigitizerComponent(pVdg->sgchanVideo))) ! { fprintf(stderr, "SGGetVideoDigitizerComponent error\n"); goto endFunc; --- 298,302 ---- // Get the selected vdig from the SG ! if (!(pVdg->vdCompInst = SGGetVideoDigitizerComponent(pVdg->sgchanVideo))) { fprintf(stderr, "SGGetVideoDigitizerComponent error\n"); goto endFunc; *************** *** 311,315 **** endFunc: ! return err; } --- 304,308 ---- endFunc: ! return (err); } *************** *** 331,335 **** } ! if (err = MakeSequenceGrabChannel(pVdg->seqGrab, &pVdg->sgchanVideo)) { fprintf(stderr, "MakeSequenceGrabChannel err=%d.\n", err); free(pVdg); --- 324,328 ---- } ! if ((err = MakeSequenceGrabChannel(pVdg->seqGrab, &pVdg->sgchanVideo))) { fprintf(stderr, "MakeSequenceGrabChannel err=%d.\n", err); free(pVdg); *************** *** 426,430 **** VDSetCompressionOnOff(false) */ ! OSErr err; Rect maxRect; --- 419,423 ---- VDSetCompressionOnOff(false) */ ! VideoDigitizerError err; Rect maxRect; *************** *** 432,457 **** // make sure this is a compressed source only ! if (err = VDGetDigitizerInfo(pVdg->vdCompInst, &info)) ! { ! if (!(info.outputCapabilityFlags & digiOutDoesCompress)) ! { ! fprintf(stderr, "VDGetDigitizerInfo: not a compressed source device.\n"); goto endFunc; } ! } // VDGetCompressTypes() // tells you the supported types ! // Apple's SoftVDig doesn't seem to like these calls ! if (err = VDCaptureStateChanging( pVdg->vdCompInst, vdFlagCaptureSetSettingsBegin)) ! { ! if (err != digiUnimpErr) fprintf(stderr, "VDCaptureStateChanging err=%d\n", err); ! // goto endFunc; } ! if (err = VDGetMaxSrcRect( pVdg->vdCompInst, currentIn, &maxRect)) ! { ! fprintf(stderr, "VDGetMaxSrcRect err=%d\n", err); ! // goto endFunc; } --- 425,451 ---- // make sure this is a compressed source only ! if ((err = VDGetDigitizerInfo(pVdg->vdCompInst, &info))) { ! fprintf(stderr, "vdgPreflightGrabbing(): VDGetDigitizerInfo err=%ld\n", err); ! goto endFunc; ! } else { ! if (!(info.outputCapabilityFlags & digiOutDoesCompress)) { ! fprintf(stderr, "vdgPreflightGrabbing(): VDGetDigitizerInfo reports device is not a compressed source.\n"); ! err = digiUnimpErr; // We don't support non-compressed sources. goto endFunc; } ! } // VDGetCompressTypes() // tells you the supported types ! // Tell the vDig we're starting to change several settings. ! // Apple's SoftVDig doesn't seem to like these calls. ! if ((err = VDCaptureStateChanging(pVdg->vdCompInst, vdFlagCaptureSetSettingsBegin))) { ! if (err != digiUnimpErr) fprintf(stderr, "vdgPreflightGrabbing(): VDCaptureStateChanging err=%ld (Ignored.)\n", err); ! //goto endFunc; } ! if ((err = VDGetMaxSrcRect(pVdg->vdCompInst, currentIn, &maxRect))) { ! fprintf(stderr, "vdgPreflightGrabbing(): VDGetMaxSrcRect err=%ld (Ignored.)\n", err); ! //goto endFunc; } *************** *** 460,480 **** // we're setting digitization size rather than compression size here... // Apple vdigs don't like this call ! if (err = VDSetDigitizerRect( pVdg->vdCompInst, &maxRect)) ! { ! if (err != digiUnimpErr) fprintf(stderr, "VDSetDigitizerRect err=%d\n", err); ! // goto endFunc; } ! if (err = VDSetCompressionOnOff( pVdg->vdCompInst, 1)) ! { ! if (err != digiUnimpErr) fprintf(stderr, "VDSetCompressionOnOff err=%d\n", err); ! // goto endFunc; } // We could try to force the frame rate here... necessary for ASC softvdig ! if (err = VDSetFrameRate( pVdg->vdCompInst, 0)) ! { ! if (err != digiUnimpErr) fprintf(stderr, "VDSetFrameRate err=%d\n", err); ! // goto endFunc; } --- 454,471 ---- // we're setting digitization size rather than compression size here... // Apple vdigs don't like this call ! if (err = VDSetDigitizerRect( pVdg->vdCompInst, &maxRect)) { ! if (err != digiUnimpErr) fprintf(stderr, "vdgPreflightGrabbing(): VDSetDigitizerRect err=%ld (Ignored.)\n", err); ! //goto endFunc; } ! if (err = VDSetCompressionOnOff( pVdg->vdCompInst, 1)) { ! if (err != digiUnimpErr) fprintf(stderr, "vdgPreflightGrabbing(): VDSetCompressionOnOff err=%ld (Ignored.)\n", err); ! //goto endFunc; } // We could try to force the frame rate here... necessary for ASC softvdig ! if (err = VDSetFrameRate(pVdg->vdCompInst, 0)) { ! if (err != digiUnimpErr) fprintf(stderr, "vdgPreflightGrabbing(): VDSetFrameRate err=%ld (Ignored.)\n", err); ! //goto endFunc; } *************** *** 486,533 **** // we'll get 640x480 frames returned instead (which use 4:1:1 encoding on // the wire rather than 4:2:2) ! if (err = VDSetCompression( pVdg->vdCompInst, ! 0, //'yuv2' ! 0, ! &maxRect, ! 0, //codecNormalQuality, ! 0, //codecNormalQuality, ! 0)) ! { ! if (err != digiUnimpErr) fprintf(stderr, "VDSetCompression err=%d\n", err); ! // goto endFunc; } ! if (err = VDCaptureStateChanging(pVdg->vdCompInst, ! vdFlagCaptureLowLatency)) ! { ! if (err != digiUnimpErr) fprintf(stderr, "VDCaptureStateChanging err=%d\n", err); ! // goto endFunc; } ! ! if (err = VDCaptureStateChanging(pVdg->vdCompInst, vdFlagCaptureSetSettingsEnd)) ! { ! if (err != digiUnimpErr) fprintf(stderr, "VDCaptureStateChanging err=%d\n", err); ! // goto endFunc; } ! if (err = VDResetCompressSequence( pVdg->vdCompInst )) ! { ! if (err != digiUnimpErr) fprintf(stderr, "VDResetCompressSequence err=%d\n", err); ! // goto endFunc; } pVdg->vdImageDesc = (ImageDescriptionHandle)NewHandle(0); ! if (err = VDGetImageDescription( pVdg->vdCompInst, pVdg->vdImageDesc)) ! { ! fprintf(stderr, "VDGetImageDescription err=%d\n", err); ! // goto endFunc; } // From Steve Sisak: find out if Digitizer is cropping for you. ! if (err = VDGetDigitizerRect( pVdg->vdCompInst, &pVdg->vdDigitizerRect)) ! { ! fprintf(stderr, "VDGetDigitizerRect err=%d\n", err); ! // goto endFunc; } --- 477,517 ---- // we'll get 640x480 frames returned instead (which use 4:1:1 encoding on // the wire rather than 4:2:2) ! if (err = VDSetCompression(pVdg->vdCompInst, ! 0, //'yuv2' ! 0, ! &maxRect, ! 0, //codecNormalQuality, ! 0, //codecNormalQuality, ! 0)) { ! if (err != digiUnimpErr) fprintf(stderr, "vdgPreflightGrabbing(): VDSetCompression err=%ld (Ignored.)\n", err); ! //goto endFunc; } ! if (err = VDCaptureStateChanging(pVdg->vdCompInst, vdFlagCaptureLowLatency)) { ! if (err != digiUnimpErr) fprintf(stderr, "vdgPreflightGrabbing(): VDCaptureStateChanging err=%ld (Ignored.)\n", err); ! //goto endFunc; } ! // Tell the vDig we've finished changing settings. ! if ((err = VDCaptureStateChanging(pVdg->vdCompInst, vdFlagCaptureSetSettingsEnd))) { ! if (err != digiUnimpErr) fprintf(stderr, "vdgPreflightGrabbing(): VDCaptureStateChanging err=%ld (Ignored.)\n", err); ! //goto endFunc; } ! if ((err = VDResetCompressSequence( pVdg->vdCompInst))) { ! if (err != digiUnimpErr) fprintf(stderr, "vdgPreflightGrabbing(): VDResetCompressSequence err=%ld (Ignored.)\n", err); ! //goto endFunc; } pVdg->vdImageDesc = (ImageDescriptionHandle)NewHandle(0); ! if ((err = VDGetImageDescription(pVdg->vdCompInst, pVdg->vdImageDesc))) { ! fprintf(stderr, "vdgPreflightGrabbing(): VDGetImageDescription err=%ld (Ignored.)\n", err); ! //goto endFunc; } // From Steve Sisak: find out if Digitizer is cropping for you. ! if ((err = VDGetDigitizerRect(pVdg->vdCompInst, &pVdg->vdDigitizerRect))) { ! fprintf(stderr, "vdgPreflightGrabbing(): VDGetDigitizerRect err=%ld (Ignored.)\n", err); ! //goto endFunc; } *************** *** 535,539 **** endFunc: ! return err; } --- 519,523 ---- endFunc: ! return (err); } *************** *** 548,559 **** pMilliSecPerFrame, pFramesPerSecond, ! pBytesPerSecond)) ! { ! fprintf(stderr, "VDGetDataRate err=%ld\n", err); goto endFunc; } endFunc: ! return err; } --- 532,542 ---- pMilliSecPerFrame, pFramesPerSecond, ! pBytesPerSecond)) { ! fprintf(stderr, "vdgGetDataRate(): VDGetDataRate err=%ld\n", err); goto endFunc; } endFunc: ! return (err); } *************** *** 1348,1362 **** if(!(vid->pVdg = vdgAllocAndInit(grabber))) { ! fprintf(stderr, "vdgAllocAndInit err=%ld\n", err); goto out1; } if (err = vdgRequestSettings(vid->pVdg, showDialog, gVidCount)) { ! fprintf(stderr, "vdgRequestSettings err=%ld\n", err); goto out2; } if (err = vdgPreflightGrabbing(vid->pVdg)) { ! fprintf(stderr, "vdgPreflightGrabbing err=%ld\n", err); goto out2; } --- 1331,1345 ---- if(!(vid->pVdg = vdgAllocAndInit(grabber))) { ! fprintf(stderr, "ar2VideoOpen(): vdgAllocAndInit err=%ld\n", err); goto out1; } if (err = vdgRequestSettings(vid->pVdg, showDialog, gVidCount)) { ! fprintf(stderr, "ar2VideoOpen(): vdgRequestSettings err=%ld\n", err); goto out2; } if (err = vdgPreflightGrabbing(vid->pVdg)) { ! fprintf(stderr, "ar2VideoOpen(): vdgPreflightGrabbing err=%ld\n", err); goto out2; } *************** *** 1368,1372 **** &vid->frameRate, &vid->bytesPerSecond)) { ! fprintf(stderr, "vdgGetDataRate err=%ld\n", err); //goto out2; } --- 1351,1355 ---- &vid->frameRate, &vid->bytesPerSecond)) { ! fprintf(stderr, "ar2VideoOpen(): vdgGetDataRate err=%ld\n", err); //goto out2; } *************** *** 1393,1397 **** vid->vdImageDesc = (ImageDescriptionHandle)NewHandle(0); if (err = vdgGetImageDescription(vid->pVdg, vid->vdImageDesc)) { ! fprintf(stderr, "vdgGetImageDescription err=%ld\n", err); goto out3; } --- 1376,1380 ---- vid->vdImageDesc = (ImageDescriptionHandle)NewHandle(0); if (err = vdgGetImageDescription(vid->pVdg, vid->vdImageDesc)) { ! fprintf(stderr, "ar2VideoOpen(): vdgGetImageDescription err=%ld\n", err); goto out3; } *************** *** 1468,1472 **** // Set the decompression destination to the offscreen GWorld. if (err_s = vdgSetDestination(vid->pVdg, vid->pGWorld)) { ! fprintf(stderr, "vdgGetImageDescription err=%d\n", err_s); goto out6; } --- 1451,1455 ---- // Set the decompression destination to the offscreen GWorld. if (err_s = vdgSetDestination(vid->pVdg, vid->pGWorld)) { ! fprintf(stderr, "ar2VideoOpen(): vdgSetDestination err=%d\n", err_s); goto out6; } |
From: Philip L. <phi...@us...> - 2005-03-16 04:42:24
|
Update of /cvsroot/artoolkit/artoolkit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31899 Modified Files: ChangeLog.txt README.txt Log Message: Mac OS X video driver: Check QuickTime version. Index: ChangeLog.txt =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/ChangeLog.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ChangeLog.txt 7 Dec 2004 04:46:53 -0000 1.2 --- ChangeLog.txt 16 Mar 2005 04:42:15 -0000 1.3 *************** *** 2,5 **** --- 2,13 ---- ==================== + + Changes in version 2.70.1 (2005-03-14). + --------------------------------------- + - Mac OS X video driver: support added for runtime specification of pixel format. + - Mac OS X video driver: video input settings are now saved to and restored from preferences. + - Linux 1394cam video driver: Patch by Henrik Erkkonen to support version 11 of libdc1394. + + Changes in version 2.70 (2004-12-02). ------------------------------------- Index: README.txt =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/README.txt,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** README.txt 14 Mar 2005 02:07:58 -0000 1.12 --- README.txt 16 Mar 2005 04:42:15 -0000 1.13 *************** *** 126,132 **** Changes in this release. ------------------------ ! - Mac OS X video driver: support added for runtime specification of pixel format. ! - Mac OS X video driver: video input settings are now saved to and restored from preferences. ! - Linux 1394cam video driver: Patch by Henrik Erkkonen to support version 11 of libdc1394. Changes in earlier releases. --- 126,130 ---- Changes in this release. ------------------------ ! - Mac OS X video driver: QuickTime 6.4 is now required by default. (Support for earlier versions can be enabled at compile-time). Changes in earlier releases. |
From: Philip L. <phi...@us...> - 2005-03-16 04:42:16
|
Update of /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31869 Modified Files: video.c Log Message: Mac OS X video driver: Check QuickTime version. Index: video.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX/video.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** video.c 10 Mar 2005 04:00:38 -0000 1.5 --- video.c 16 Mar 2005 04:42:06 -0000 1.6 *************** *** 15,21 **** * Returns aligned data in ARGB pixel format. * 1.2.0 2004-04-28 PRL Now one thread per video source. Versions of QuickTime ! * prior to 6.4 are NOT thread safe, and if using a non-thread ! * safe version, you should comment out AR_VIDEO_HAVE_THREADSAFE_QUICKTIME ! * so serialise access when there is more than one thread. * 1.2.1 2004-06-28 PRL Support for 2vuy and yuvs pixel formats. * 1.3.0 2004-07-13 PRL Code from Daniel Heckenberg to directly access vDig. --- 15,20 ---- * Returns aligned data in ARGB pixel format. * 1.2.0 2004-04-28 PRL Now one thread per video source. Versions of QuickTime ! * prior to 6.4 are NOT thread safe, and with these earlier ! * versions, QuickTime toolbox access will be serialised. * 1.2.1 2004-06-28 PRL Support for 2vuy and yuvs pixel formats. * 1.3.0 2004-07-13 PRL Code from Daniel Heckenberg to directly access vDig. *************** *** 23,28 **** * specification at runtime, with default determined at compile time. * 1.4.0 2005-03-08 PRL Video input settings now saved and restored. * - * TODO: Check version of Quicktime available at runtime. */ /* --- 22,29 ---- * specification at runtime, with default determined at compile time. * 1.4.0 2005-03-08 PRL Video input settings now saved and restored. + * 1.4.1 2005-03-15 PRL QuickTime 6.4 or newer is now required by default. In order + * to allow earlier versions, AR_VIDEO_SUPPORT_OLD_QUICKTIME must + * be uncommented at compile time. * */ /* *************** *** 91,95 **** #define AR_VIDEO_DEBUG_BUFFERCOPY // Uncomment to have ar2VideoGetImage() return a copy of video pixel data. ! #define AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Uncomment to trust QuickTime's thread-safety, QuickTime 6.4 and later are thread-safe. #define AR_VIDEO_IDLE_INTERVAL_MILLISECONDS_MIN 20L --- 92,96 ---- #define AR_VIDEO_DEBUG_BUFFERCOPY // Uncomment to have ar2VideoGetImage() return a copy of video pixel data. ! //#define AR_VIDEO_SUPPORT_OLD_QUICKTIME // Uncomment to allow use of non-thread safe QuickTime (pre-6.4). #define AR_VIDEO_IDLE_INTERVAL_MILLISECONDS_MIN 20L *************** *** 172,178 **** static AR2VideoParamT *gVid = NULL; static unsigned int gVidCount = 0; ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME static pthread_mutex_t gVidQuickTimeMutex; ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME #pragma mark - --- 173,179 ---- static AR2VideoParamT *gVid = NULL; static unsigned int gVidCount = 0; ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME static pthread_mutex_t gVidQuickTimeMutex; ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME #pragma mark - *************** *** 974,982 **** vid = (AR2VideoParamT *)arg; ar2VideoInternalUnlock(&(vid->bufMutex)); // A cancelled thread shouldn't leave mutexes locked. ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME ! ar2VideoInternalUnlock(&gVidQuickTimeMutex); ! #else ExitMoviesOnThread(); ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME } --- 975,983 ---- vid = (AR2VideoParamT *)arg; ar2VideoInternalUnlock(&(vid->bufMutex)); // A cancelled thread shouldn't leave mutexes locked. ! #ifndef AR_VIDEO_SUPPORT_OLD_QUICKTIME ExitMoviesOnThread(); ! #else ! ar2VideoInternalUnlock(&gVidQuickTimeMutex); ! #endif // !AR_VIDEO_SUPPORT_OLD_QUICKTIME } *************** *** 988,996 **** static void *ar2VideoInternalThread(void *arg) { ! #ifdef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME OSErr err_o; #else int weLocked = 0; ! #endif // AR_VIDEO_HAVE_THREADSAFE_QUICKTIME AR2VideoParamT *vid; int keepAlive = 1; --- 989,997 ---- static void *ar2VideoInternalThread(void *arg) { ! #ifndef AR_VIDEO_SUPPORT_OLD_QUICKTIME OSErr err_o; #else int weLocked = 0; ! #endif // !AR_VIDEO_SUPPORT_OLD_QUICKTIME AR2VideoParamT *vid; int keepAlive = 1; *************** *** 1010,1014 **** ! #ifdef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Signal to QuickTime that this is a separate thread. if ((err_o = EnterMoviesOnThread(0)) != noErr) { --- 1011,1015 ---- ! #ifndef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Signal to QuickTime that this is a separate thread. if ((err_o = EnterMoviesOnThread(0)) != noErr) { *************** *** 1016,1020 **** return (NULL); } ! #endif // AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Register our cleanup function, with arg as arg. --- 1017,1021 ---- return (NULL); } ! #endif // !AR_VIDEO_SUPPORT_OLD_QUICKTIME // Register our cleanup function, with arg as arg. *************** *** 1041,1045 **** ts.tv_sec += 1; } ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Get a lock to access QuickTime (for SGIdle()), but only if more than one thread is running. if (gVidCount > 1) { --- 1042,1046 ---- ts.tv_sec += 1; } ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a lock to access QuickTime (for SGIdle()), but only if more than one thread is running. if (gVidCount > 1) { *************** *** 1051,1055 **** weLocked = 1; } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME if ((err = vdgIdle(vid->pVdg, &isUpdated)) != noErr) { --- 1052,1056 ---- weLocked = 1; } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME if ((err = vdgIdle(vid->pVdg, &isUpdated)) != noErr) { *************** *** 1069,1073 **** } ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // vdgIdle() is done, unlock our hold on QuickTime if we locked it. if (weLocked) { --- 1070,1074 ---- } ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // vdgIdle() is done, unlock our hold on QuickTime if we locked it. if (weLocked) { *************** *** 1079,1083 **** weLocked = 0; } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME if (isUpdated) { --- 1080,1084 ---- weLocked = 0; } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME if (isUpdated) { *************** *** 1170,1173 **** --- 1171,1175 ---- { static int initF = 0; + long qtVersion = 0L; int width = 0; int height = 0; *************** *** 1180,1186 **** AR2VideoParamT *vid = NULL; char *a, line[256]; ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME int weLocked = 0; ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME OSType pixFormat = (OSType)0; long bytesPerPixel; --- 1182,1188 ---- AR2VideoParamT *vid = NULL; char *a, line[256]; ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME int weLocked = 0; ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME OSType pixFormat = (OSType)0; long bytesPerPixel; *************** *** 1288,1291 **** --- 1290,1310 ---- // If there are no active grabbers, init the QuickTime access mutex. if (gVidCount == 0) { + + if ((err_s = Gestalt(gestaltQuickTimeVersion, &qtVersion)) != noErr) { + fprintf(stderr,"ar2VideoOpen(): QuickTime not installed (%d).\n", err_s); + return (NULL); + } + + #ifndef AR_VIDEO_SUPPORT_OLD_QUICKTIME + if ((qtVersion >> 16) < 0x640) { + fprintf(stderr,"ar2VideoOpen(): QuickTime version 6.4 or newer is required by this program.\n");; + return (NULL); + } + #else + if ((qtVersion >> 16) < 0x400) { + fprintf(stderr,"ar2VideoOpen(): QuickTime version 4.0 or newer is required by this program.\n");; + return (NULL); + } + #endif // !AR_VIDEO_SUPPORT_OLD_QUICKTIME // Initialise QuickTime (a.k.a. Movie Toolbox). *************** *** 1295,1299 **** } ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // If there are no active grabbers, init the QuickTime access mutex. if ((err_i = pthread_mutex_init(&gVidQuickTimeMutex, NULL)) != 0) { --- 1314,1318 ---- } ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // If there are no active grabbers, init the QuickTime access mutex. if ((err_i = pthread_mutex_init(&gVidQuickTimeMutex, NULL)) != 0) { *************** *** 1301,1308 **** return (NULL); } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME } ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Get a hold on the QuickTime toolbox. // Need to unlock this mutex before returning, so any errors should goto bail; --- 1320,1327 ---- return (NULL); } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME } ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a hold on the QuickTime toolbox. // Need to unlock this mutex before returning, so any errors should goto bail; *************** *** 1314,1318 **** weLocked = 1; } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME gVidCount++; --- 1333,1337 ---- weLocked = 1; } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME gVidCount++; *************** *** 1490,1494 **** gVidCount--; out: ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Release our hold on the QuickTime toolbox. if (weLocked) { --- 1509,1513 ---- gVidCount--; out: ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Release our hold on the QuickTime toolbox. if (weLocked) { *************** *** 1498,1502 **** } } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME return (vid); --- 1517,1521 ---- } } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME return (vid); *************** *** 1506,1514 **** { int err_i; ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME int weLocked = 0; ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Get a hold on the QuickTime toolbox. if (gVidCount > 1) { --- 1525,1533 ---- { int err_i; ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME int weLocked = 0; ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a hold on the QuickTime toolbox. if (gVidCount > 1) { *************** *** 1518,1522 **** weLocked = 1; } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Destroy the condition variable. --- 1537,1541 ---- weLocked = 1; } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME // Destroy the condition variable. *************** *** 1562,1566 **** vdgReleaseAndDealloc(vid->pVdg); ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Release our hold on the QuickTime toolbox. if (weLocked) { --- 1581,1585 ---- vdgReleaseAndDealloc(vid->pVdg); ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Release our hold on the QuickTime toolbox. if (weLocked) { *************** *** 1569,1573 **** } } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Count one less grabber running. --- 1588,1592 ---- } } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME // Count one less grabber running. *************** *** 1577,1586 **** // If we're the last to close, clean up after everybody. if (!gVidCount) { ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Destroy the mutex. if ((err_i = pthread_mutex_destroy(&gVidQuickTimeMutex)) != 0) { fprintf(stderr, "ar2VideoClose(): Error %d destroying mutex (for QuickTime).\n", err_i); } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Probably a good idea to close down QuickTime. --- 1596,1605 ---- // If we're the last to close, clean up after everybody. if (!gVidCount) { ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Destroy the mutex. if ((err_i = pthread_mutex_destroy(&gVidQuickTimeMutex)) != 0) { fprintf(stderr, "ar2VideoClose(): Error %d destroying mutex (for QuickTime).\n", err_i); } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME // Probably a good idea to close down QuickTime. *************** *** 1595,1603 **** ComponentResult err; int err_i = 0; ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME int weLocked = 0; ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Get a hold on the QuickTime toolbox. if (gVidCount > 1) { --- 1614,1622 ---- ComponentResult err; int err_i = 0; ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME int weLocked = 0; ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a hold on the QuickTime toolbox. if (gVidCount > 1) { *************** *** 1608,1612 **** weLocked = 1; } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME vid->status = 0; --- 1627,1631 ---- weLocked = 1; } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME vid->status = 0; *************** *** 1617,1621 **** } ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Release our hold on the QuickTime toolbox. if (weLocked) { --- 1636,1640 ---- } ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Release our hold on the QuickTime toolbox. if (weLocked) { *************** *** 1625,1629 **** } } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME if (err_i == 0) { --- 1644,1648 ---- } } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME if (err_i == 0) { *************** *** 1647,1653 **** { int err_i = 0; ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME int weLocked = 0; ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME void *exit_status_p; // Pointer to return value from thread, will be filled in by pthread_join(). ComponentResult err = noErr; --- 1666,1672 ---- { int err_i = 0; ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME int weLocked = 0; ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME void *exit_status_p; // Pointer to return value from thread, will be filled in by pthread_join(). ComponentResult err = noErr; *************** *** 1672,1676 **** if (vid->pVdg) { ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Get a hold on the QuickTime toolbox. if (gVidCount > 1) { --- 1691,1695 ---- if (vid->pVdg) { ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a hold on the QuickTime toolbox. if (gVidCount > 1) { *************** *** 1681,1685 **** weLocked = 1; } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME if ((err = vdgStopGrabbing(vid->pVdg)) != noErr) { --- 1700,1704 ---- weLocked = 1; } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME if ((err = vdgStopGrabbing(vid->pVdg)) != noErr) { *************** *** 1688,1692 **** } ! #ifndef AR_VIDEO_HAVE_THREADSAFE_QUICKTIME // Release our hold on the QuickTime toolbox. if (weLocked) { --- 1707,1711 ---- } ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Release our hold on the QuickTime toolbox. if (weLocked) { *************** *** 1696,1700 **** } } ! #endif // !AR_VIDEO_HAVE_THREADSAFE_QUICKTIME } --- 1715,1719 ---- } } ! #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME } |
From: Philip L. <phi...@us...> - 2005-03-16 04:42:07
|
Update of /cvsroot/artoolkit/artoolkit/include/AR/sys In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31774 Modified Files: videoMacOSX.h Log Message: Mac OS X video driver: Check QuickTime version. Index: videoMacOSX.h =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/include/AR/sys/videoMacOSX.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** videoMacOSX.h 7 Dec 2004 04:46:10 -0000 1.3 --- videoMacOSX.h 16 Mar 2005 04:41:51 -0000 1.4 *************** *** 15,25 **** * Returns aligned data in ARGB pixel format. * 1.2.0 2004-04-28 PRL Now one thread per video source. Versions of QuickTime ! * prior to 6.4 are NOT thread safe, and if using a non-thread ! * safe version, you should comment out AR_VIDEO_HAVE_THREADSAFE_QUICKTIME ! * so serialise access when there is more than one thread. * 1.2.1 2004-06-28 PRL Support for 2vuy and yuvs pixel formats. * 1.3.0 2004-07-13 PRL Code from Daniel Heckenberg to directly access vDig. * 1.3.1 2004-12-07 PRL Added config option "-pixelformat=" to support pixel format * specification at runtime, with default determined at compile time. * */ --- 15,28 ---- * Returns aligned data in ARGB pixel format. * 1.2.0 2004-04-28 PRL Now one thread per video source. Versions of QuickTime ! * prior to 6.4 are NOT thread safe, and with these earlier ! * versions, QuickTime toolbox access will be serialised. * 1.2.1 2004-06-28 PRL Support for 2vuy and yuvs pixel formats. * 1.3.0 2004-07-13 PRL Code from Daniel Heckenberg to directly access vDig. * 1.3.1 2004-12-07 PRL Added config option "-pixelformat=" to support pixel format * specification at runtime, with default determined at compile time. + * 1.4.0 2005-03-08 PRL Video input settings now saved and restored. + * 1.4.1 2005-03-15 PRL QuickTime 6.4 or newer is now required by default. In order + * to allow earlier versions, AR_VIDEO_SUPPORT_OLD_QUICKTIME must + * be uncommented at compile time. * */ |