diff options
-rw-r--r-- | graphics/frameworks/DESCR | 14 | ||||
-rw-r--r-- | graphics/frameworks/Makefile | 21 | ||||
-rw-r--r-- | graphics/frameworks/PLIST | 3 | ||||
-rw-r--r-- | graphics/frameworks/distinfo | 7 | ||||
-rw-r--r-- | graphics/frameworks/patches/patch-aa | 16 | ||||
-rw-r--r-- | graphics/frameworks/patches/patch-ab | 110 |
6 files changed, 171 insertions, 0 deletions
diff --git a/graphics/frameworks/DESCR b/graphics/frameworks/DESCR new file mode 100644 index 00000000000..f91cfe3b0f7 --- /dev/null +++ b/graphics/frameworks/DESCR @@ -0,0 +1,14 @@ +Frameworks is stop-motion animation frame capture software primarily for +Linux. Frameworks captures images from a camera and strings them together into +an animation. These still images may then be combined into a single video file +using other software. Only video4linux webcams are currently supported; work +is being done to add other types of digital cameras including IEEE 1394 +camcorders, and USB still cameras. Frameworks is designed to be easily used +alongside the GIMP Animation Package (GAP). + +Frameworks provides an interface to camera brightness and other controls. It +captures images as frame_0001.png, frame_0002.png, and so on. Frameworks +provides animation assistance in the form of onion skinning: displaying ghost +images of previous frames, and continuous preview: continuous playback of the +most recent few seconds followed by the live view from the camera. No editing +features are provided. diff --git a/graphics/frameworks/Makefile b/graphics/frameworks/Makefile new file mode 100644 index 00000000000..e48dd0ed373 --- /dev/null +++ b/graphics/frameworks/Makefile @@ -0,0 +1,21 @@ +# $NetBSD: Makefile,v 1.1.1.1 2009/01/10 21:08:14 jmcneill Exp $ +# + +DISTNAME= frameworks-0.3.7 +CATEGORIES= graphics +MASTER_SITES= http://frameworks.polycrystal.org/release/ + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://frameworks.polycrystal.org/release/ +COMMENT= Stop-motion animation frame capture software + +GNU_CONFIGURE= yes +USE_TOOLS+= pkg-config gmake autoconf + +pre-configure: + cd ${WRKSRC} && autoconf + +.include "../../devel/libglade/buildlink3.mk" +.include "../../graphics/libv4l/buildlink3.mk" +.include "../../x11/gtk2/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/graphics/frameworks/PLIST b/graphics/frameworks/PLIST new file mode 100644 index 00000000000..c0021064da7 --- /dev/null +++ b/graphics/frameworks/PLIST @@ -0,0 +1,3 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2009/01/10 21:08:14 jmcneill Exp $ +bin/frameworks +share/frameworks.glade diff --git a/graphics/frameworks/distinfo b/graphics/frameworks/distinfo new file mode 100644 index 00000000000..527789ea873 --- /dev/null +++ b/graphics/frameworks/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1.1.1 2009/01/10 21:08:14 jmcneill Exp $ + +SHA1 (frameworks-0.3.7.tar.gz) = 0d7629355c47283497246ee5d7aefdca99d1e7b8 +RMD160 (frameworks-0.3.7.tar.gz) = b63a877a4e477ed23993beaeda80326bd2c7cf1c +Size (frameworks-0.3.7.tar.gz) = 116266 bytes +SHA1 (patch-aa) = 639cc8de7ecbda4f22d762af7f22dd6f63f23e32 +SHA1 (patch-ab) = f1ef0a5658062347925e367b80f95667c44a9a67 diff --git a/graphics/frameworks/patches/patch-aa b/graphics/frameworks/patches/patch-aa new file mode 100644 index 00000000000..d9d5a984d4c --- /dev/null +++ b/graphics/frameworks/patches/patch-aa @@ -0,0 +1,16 @@ +$NetBSD: patch-aa,v 1.1.1.1 2009/01/10 21:08:14 jmcneill Exp $ + +NetBSD doesn't provide v4l1 compatibility, so use libv4l1 until +frameworks is ported to v4l2. + +--- configure.in.orig 2007-02-27 22:18:10.000000000 -0500 ++++ configure.in +@@ -12,7 +12,7 @@ AC_PROG_CC + AC_PROG_INSTALL + + # Checks for libraries +-pkg_modules="gtk+-2.0 gthread-2.0 libglade-2.0" ++pkg_modules="gtk+-2.0 gthread-2.0 libglade-2.0 libv4l1" + PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) + AC_SUBST(PACKAGE_CFLAGS) + AC_SUBST(PACKAGE_LIBS) diff --git a/graphics/frameworks/patches/patch-ab b/graphics/frameworks/patches/patch-ab new file mode 100644 index 00000000000..fe0451b5191 --- /dev/null +++ b/graphics/frameworks/patches/patch-ab @@ -0,0 +1,110 @@ +$NetBSD: patch-ab,v 1.1.1.1 2009/01/10 21:08:14 jmcneill Exp $ + +NetBSD doesn't provide v4l1 compatibility, so use libv4l1 until +frameworks is ported to v4l2. + +--- src/camera.c.orig 2007-02-27 22:18:50.000000000 -0500 ++++ src/camera.c +@@ -1,5 +1,6 @@ + #include <math.h> + #include "common.h" ++#include <libv4l1.h> + + /* internal function prototypes */ + gpointer read_thread(gpointer data); +@@ -158,7 +159,7 @@ gint open_cam(struct Camera *camera, GSt + { + if (camera->device <= 0) { + camera->device_name = device_name; +- camera->device = open(device_name->str, O_RDWR); ++ camera->device = v4l1_open(device_name->str, O_RDWR); + if (camera->device < 0) { + /* frameworks_error(device_string) */ + camera->open = FALSE; +@@ -182,7 +183,7 @@ gint close_cam(struct Camera *camera) + { + if (camera->open == TRUE) { + mmap_teardown(camera); +- close(camera->device); ++ v4l1_close(camera->device); + g_string_free(camera->device_name, TRUE); + camera->device_name = NULL; + camera->device = 0; +@@ -201,12 +202,12 @@ void mmap_setup(struct Camera *camera) + mmap_teardown(camera); + if (camera->vid_caps.type & VID_TYPE_CAPTURE) { + /* mmap method is available */ +- ret = ioctl(camera->device, VIDIOCGMBUF, &camera->vmbuf); ++ ret = v4l1_ioctl(camera->device, VIDIOCGMBUF, &camera->vmbuf); + if (ret < 0) { + perror("ioctl(VIDIOCGMBUF)"); + camera->mmap = NULL; + } else { +- camera->mmap = mmap(0, ++ camera->mmap = v4l1_mmap(0, + camera->vmbuf.size, + PROT_READ | PROT_WRITE, + MAP_SHARED, camera->device, +@@ -224,7 +225,7 @@ void mmap_setup(struct Camera *camera) + void mmap_teardown(struct Camera *camera) + { + if (camera->mmap != NULL) { +- munmap(camera->mmap, camera->vmbuf.size); ++ v4l1_munmap(camera->mmap, camera->vmbuf.size); + camera->mmap = NULL; + } + } +@@ -259,12 +260,12 @@ void frameworks_camera_update_status(str + + void set_status(struct Camera *camera) + { +- if (ioctl(camera->device, VIDIOCSPICT, &camera->vid_pic) == -1) { ++ if (v4l1_ioctl(camera->device, VIDIOCSPICT, &camera->vid_pic) == -1) { + /* error */ + perror("ioctl(VIDIOCSPICT)"); + /* printf("error setting video_picture\n"); */ + } +- if (ioctl(camera->device, VIDIOCSWIN, &camera->vid_win) == -1) { ++ if (v4l1_ioctl(camera->device, VIDIOCSWIN, &camera->vid_win) == -1) { + perror("ioctl(VIDIOCSWIN)"); + /* printf("error setting video_window\n"); */ + } +@@ -272,9 +273,9 @@ void set_status(struct Camera *camera) + + void get_status(struct Camera *camera) + { +- ioctl(camera->device, VIDIOCGCAP, &camera->vid_caps); +- ioctl(camera->device, VIDIOCGWIN, &camera->vid_win); +- ioctl(camera->device, VIDIOCGPICT, &camera->vid_pic); ++ v4l1_ioctl(camera->device, VIDIOCGCAP, &camera->vid_caps); ++ v4l1_ioctl(camera->device, VIDIOCGWIN, &camera->vid_win); ++ v4l1_ioctl(camera->device, VIDIOCGPICT, &camera->vid_pic); + + /* apparently MONOCHORME means grey scale? this was in gqcam...*/ + if (camera->vid_caps.type & VID_TYPE_MONOCHROME) { +@@ -329,14 +330,14 @@ int read_into(struct Camera *camera, str + vmmap.width = buf->width; + vmmap.height = buf->height; + vmmap.format = camera->vid_pic.palette; +- if(ioctl(camera->device, VIDIOCMCAPTURE, &vmmap) < 0) { ++ if(v4l1_ioctl(camera->device, VIDIOCMCAPTURE, &vmmap) < 0) { + perror("ioctl(VIDIOCMCAPTURE)"); + mmap_teardown(camera); /* switch to read() */ + return -1; + } + n = 0; + for (i=0; i<3; i++) { +- if (ioctl(camera->device, VIDIOCSYNC, &n) == -1) /* failure */ ++ if (v4l1_ioctl(camera->device, VIDIOCSYNC, &n) == -1) /* failure */ + { + if (errno == EINTR) { + ; /* try again on EINTR */ +@@ -355,7 +356,7 @@ int read_into(struct Camera *camera, str + } + } else { /* use read method */ + for (i=0; i<3; i++) { /* give it 3 tries to get some data */ +- bytes_read = read(camera->device, buf->data, bytes_requested); ++ bytes_read = v4l1_read(camera->device, buf->data, bytes_requested); + if (bytes_read > 0) { + + /* more than zero isn't really success (should be "if |