Compare commits
35 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37baf63356 | ||
|
|
b58298d723 | ||
|
|
0f3976d950 | ||
|
|
25e728f0b0 | ||
|
|
4ddbcc014f | ||
|
|
ca677954c1 | ||
|
|
0a791b67cc | ||
|
|
1854bec339 | ||
|
|
ae0523e6f1 | ||
|
|
c480a2f613 | ||
|
|
1f065e995e | ||
|
|
df863486fb | ||
|
|
e57c880fcf | ||
|
|
19355a805f | ||
|
|
84116ed29c | ||
|
|
f06001562e | ||
|
|
492d513eee | ||
|
|
a7bf132d1f | ||
|
|
22b38fa57f | ||
|
|
024ccb26ff | ||
|
|
26f9b06b51 | ||
|
|
b4863ae67e | ||
|
|
94728ea66a | ||
|
|
e07f0a2871 | ||
|
|
5660b489fb | ||
|
|
e3e42ad807 | ||
|
|
a5c4981a5f | ||
|
|
42f9915507 | ||
|
|
aaaea84a13 | ||
|
|
1072874265 | ||
|
|
cb16b88d99 | ||
|
|
39e761e8e2 | ||
|
|
20be54d239 | ||
|
|
f3a26b9261 | ||
|
|
127b4cd2c2 |
9 changed files with 1 additions and 719 deletions
|
|
@ -1 +0,0 @@
|
|||
amsn-0.97.2.tar.bz2
|
||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: amsn
|
||||
# $Id$
|
||||
NAME := amsn
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
Common subdirectories: amsn~/autopackage and amsn/autopackage
|
||||
diff -u amsn~/autoupdate.tcl amsn/autoupdate.tcl
|
||||
--- amsn~/autoupdate.tcl 2006-05-30 18:08:07.000000000 +0200
|
||||
+++ amsn/autoupdate.tcl 2006-05-30 18:10:55.000000000 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-package require AMSN_BWidget
|
||||
+package require BWidget
|
||||
|
||||
namespace eval ::autoupdate {
|
||||
|
||||
Common subdirectories: amsn~/debian and amsn/debian
|
||||
Common subdirectories: amsn~/docs and amsn/docs
|
||||
diff -u amsn~/gui.tcl amsn/gui.tcl
|
||||
--- amsn~/gui.tcl 2006-05-30 18:09:00.000000000 +0200
|
||||
+++ amsn/gui.tcl 2006-05-30 08:29:00.000000000 +0200
|
||||
@@ -12,11 +12,30 @@
|
||||
tk_messageBox -default ok -message "You need TCL/TK 8.4 or better to run aMSN. Please upgrade." -icon warning
|
||||
exit
|
||||
}
|
||||
-package require AMSN_BWidget
|
||||
+package require BWidget
|
||||
if {[catch {package require tkdnd}] } {
|
||||
proc dnd { args } {}
|
||||
proc shape { args } {}
|
||||
}
|
||||
+
|
||||
+################################################
|
||||
+# 'Missing' BWidget commands #
|
||||
+################################################
|
||||
+ScrollableFrame .tmp
|
||||
+destroy .tmp
|
||||
+proc ::ScrollableFrame::compute_width { path } {
|
||||
+ $path configure -width [winfo reqwidth [$path getframe]]
|
||||
+}
|
||||
+
|
||||
+proc ::ScrollableFrame::compute_height { path } {
|
||||
+ $path configure -height [winfo reqheight [$path getframe]]
|
||||
+}
|
||||
+
|
||||
+proc ::ScrollableFrame::compute_size { path } {
|
||||
+ $path compute_width
|
||||
+ $path compute_height
|
||||
+}
|
||||
+
|
||||
#package require pixmapbutton
|
||||
if {![catch {tk windowingsystem} wsystem] && $wsystem == "aqua"} {
|
||||
#Use tclCarbonHICommand for window utilities
|
||||
Only in amsn~: gui.tcl~
|
||||
Common subdirectories: amsn~/icons and amsn/icons
|
||||
Common subdirectories: amsn~/lang and amsn/lang
|
||||
Common subdirectories: amsn~/plugins and amsn/plugins
|
||||
diff -u amsn~/preferences.tcl amsn/preferences.tcl
|
||||
--- amsn~/preferences.tcl 2006-05-30 18:08:12.000000000 +0200
|
||||
+++ amsn/preferences.tcl 2006-05-30 18:11:16.000000000 +0200
|
||||
@@ -1,5 +1,4 @@
|
||||
-
|
||||
-package require AMSN_BWidget
|
||||
+package require BWidget
|
||||
|
||||
#TODO:
|
||||
#Put items frame and listbox in scrollbars!!
|
||||
Binary files amsn~/.preferences.tcl.swp and amsn/.preferences.tcl.swp differ
|
||||
Common subdirectories: amsn~/skins and amsn/skins
|
||||
Common subdirectories: amsn~/.svn and amsn/.svn
|
||||
Common subdirectories: amsn~/utils and amsn/utils
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
diff -ur amsn-0.97.orig/utils/linux/capture/libng/plugins/drv0-v4l2.c amsn-0.97/utils/linux/capture/libng/plugins/drv0-v4l2.c
|
||||
--- amsn-0.97.orig/utils/linux/capture/libng/plugins/drv0-v4l2.c 2007-12-24 19:07:23.000000000 +0100
|
||||
+++ amsn-0.97/utils/linux/capture/libng/plugins/drv0-v4l2.c 2008-10-22 11:24:17.000000000 +0200
|
||||
@@ -206,7 +206,7 @@
|
||||
int rc;
|
||||
|
||||
rc = ioctl(fd,cmd,arg);
|
||||
- if (0 == rc && ng_debug < 2)
|
||||
+ if (rc >= 0 && ng_debug < 2)
|
||||
return rc;
|
||||
if (mayfail && errno == mayfail && ng_debug < 2)
|
||||
return rc;
|
||||
@@ -1014,6 +1014,10 @@
|
||||
h->queue = 0;
|
||||
h->waiton = 0;
|
||||
|
||||
+ /* unrequest buffers (only needed for some drivers) */
|
||||
+ h->reqbufs.count = 0;
|
||||
+ xioctl(h->fd, VIDIOC_REQBUFS, &h->reqbufs, EINVAL);
|
||||
+
|
||||
/* turn on preview (if needed) */
|
||||
if (h->ov_on != h->ov_enabled) {
|
||||
h->ov_on = h->ov_enabled;
|
||||
@@ -1051,6 +1055,17 @@
|
||||
fmt->width = h->fmt_v4l2.fmt.pix.width;
|
||||
fmt->height = h->fmt_v4l2.fmt.pix.height;
|
||||
fmt->bytesperline = h->fmt_v4l2.fmt.pix.bytesperline;
|
||||
+ /* struct v4l2_format.fmt.pix.bytesperline is bytesperline for the
|
||||
+ main plane for planar formats, where as we want it to be the total
|
||||
+ bytesperline for all planes */
|
||||
+ switch (fmt->fmtid) {
|
||||
+ case VIDEO_YUV422P:
|
||||
+ fmt->bytesperline *= 2;
|
||||
+ break;
|
||||
+ case VIDEO_YUV420P:
|
||||
+ fmt->bytesperline = fmt->bytesperline * 3 / 2;
|
||||
+ break;
|
||||
+ }
|
||||
if (0 == fmt->bytesperline)
|
||||
fmt->bytesperline = fmt->width * ng_vfmt_to_depth[fmt->fmtid] / 8;
|
||||
h->fmt_me = *fmt;
|
||||
Only in amsn-0.97/utils/linux/capture/libng/plugins: drv0-v4l2.c.orig
|
||||
Only in amsn-0.97/utils/linux/capture/libng/plugins: drv0-v4l2.c.rej
|
||||
Only in amsn-0.97/utils/linux/capture/libng/plugins: drv0-v4l2.c~
|
||||
|
|
@ -1,225 +0,0 @@
|
|||
diff -ur amsn-0.97.orig/utils/linux/capture/libng/plugins/Rules.mk amsn-0.97/utils/linux/capture/libng/plugins/Rules.mk
|
||||
--- amsn-0.97.orig/utils/linux/capture/libng/plugins/Rules.mk 2007-12-24 19:07:23.000000000 +0100
|
||||
+++ amsn-0.97/utils/linux/capture/libng/plugins/Rules.mk 2008-10-22 16:21:09.000000000 +0200
|
||||
@@ -33,6 +33,8 @@
|
||||
$(capture_dir)/libng/plugins/drv0-v4l2.o \
|
||||
$(capture_dir)/libng/plugins/struct-v4l2.o \
|
||||
$(capture_dir)/libng/plugins/struct-dump.o
|
||||
+ @$(echo_link_so) -lv4l2
|
||||
+ @$(link_so) -lv4l2
|
||||
|
||||
$(capture_dir)/libng/plugins/drv1-v4l.so: \
|
||||
$(capture_dir)/libng/plugins/drv1-v4l.o \
|
||||
Only in amsn-0.97/utils/linux/capture/libng/plugins: Rules.mk~
|
||||
diff -ur amsn-0.97.orig/utils/linux/capture/libng/plugins/drv0-v4l2.c amsn-0.97/utils/linux/capture/libng/plugins/drv0-v4l2.c
|
||||
--- amsn-0.97.orig/utils/linux/capture/libng/plugins/drv0-v4l2.c 2008-10-22 14:55:50.000000000 +0200
|
||||
+++ amsn-0.97/utils/linux/capture/libng/plugins/drv0-v4l2.c 2008-10-22 16:33:39.000000000 +0200
|
||||
@@ -36,12 +36,27 @@
|
||||
#include "struct-dump.h"
|
||||
#include "struct-v4l2.h"
|
||||
|
||||
+/* FIXME replace with autoconf detection */
|
||||
+#define HAVE_LIBV4L
|
||||
+
|
||||
+#ifdef HAVE_LIBV4L
|
||||
+#include <libv4l2.h>
|
||||
+#else
|
||||
+#define v4l2_fd_open(fd, flags) (fd)
|
||||
+#define v4l2_close close
|
||||
+#define v4l2_dup dup
|
||||
+#define v4l2_ioctl ioctl
|
||||
+#define v4l2_read read
|
||||
+#define v4l2_mmap mmap
|
||||
+#define v4l2_munmap munmap
|
||||
+#endif
|
||||
+
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
/* open+close */
|
||||
static void* v4l2_init(char *device);
|
||||
-static int v4l2_open(void *handle);
|
||||
-static int v4l2_close(void *handle);
|
||||
+static int v4l2_open_handle(void *handle);
|
||||
+static int v4l2_close_handle(void *handle);
|
||||
static int v4l2_fini(void *handle);
|
||||
static struct ng_devinfo* v4l2_probe(int verbose);
|
||||
|
||||
@@ -134,8 +149,8 @@
|
||||
.priority = 1,
|
||||
|
||||
.init = v4l2_init,
|
||||
- .open = v4l2_open,
|
||||
- .close = v4l2_close,
|
||||
+ .open = v4l2_open_handle,
|
||||
+ .close = v4l2_close_handle,
|
||||
.fini = v4l2_fini,
|
||||
.devname = v4l2_devname,
|
||||
.busname = v4l2_busname,
|
||||
@@ -205,7 +220,7 @@
|
||||
{
|
||||
int rc;
|
||||
|
||||
- rc = ioctl(fd,cmd,arg);
|
||||
+ rc = v4l2_ioctl(fd,cmd,arg);
|
||||
if (rc >= 0 && ng_debug < 2)
|
||||
return rc;
|
||||
if (mayfail && errno == mayfail && ng_debug < 2)
|
||||
@@ -262,7 +277,7 @@
|
||||
}
|
||||
|
||||
h->streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
||||
- ioctl(h->fd,VIDIOC_G_PARM,&h->streamparm);
|
||||
+ v4l2_ioctl(h->fd,VIDIOC_G_PARM,&h->streamparm);
|
||||
|
||||
/* controls */
|
||||
for (i = 0; i < MAX_CTRL; i++) {
|
||||
@@ -487,9 +502,10 @@
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
static int
|
||||
-v4l2_open(void *handle)
|
||||
+v4l2_open_handle(void *handle)
|
||||
{
|
||||
struct v4l2_handle *h = handle;
|
||||
+ int libv4l2_fd;
|
||||
|
||||
if (ng_debug)
|
||||
fprintf(stderr, "v4l2: open\n");
|
||||
@@ -497,22 +513,32 @@
|
||||
h->fd = ng_chardev_open(h->device, O_RDWR, MAJOR_NUM, 1);
|
||||
if (-1 == h->fd)
|
||||
return -1;
|
||||
+ /* Note the v4l2_xxx functions are designed so that if they get passed an
|
||||
+ unknown fd, the will behave exactly as their regular xxx counterparts,
|
||||
+ so if v4l2_fd_open fails, we continue as normal (missing the libv4l2
|
||||
+ custom cam format to normal formats conversion). Chances are big we will
|
||||
+ still fail then though, as normally v4l2_fd_open only fails if the
|
||||
+ device is not a v4l2 device. */
|
||||
+ libv4l2_fd = v4l2_fd_open(h->fd, 0);
|
||||
+ if (libv4l2_fd != -1)
|
||||
+ h->fd = libv4l2_fd;
|
||||
+
|
||||
if (-1 == xioctl(h->fd,VIDIOC_QUERYCAP,&h->cap,EINVAL)) {
|
||||
- close(h->fd);
|
||||
+ v4l2_close(h->fd);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
-v4l2_close(void *handle)
|
||||
+v4l2_close_handle(void *handle)
|
||||
{
|
||||
struct v4l2_handle *h = handle;
|
||||
|
||||
if (ng_debug)
|
||||
fprintf(stderr, "v4l2: close\n");
|
||||
BUG_ON(h->fd == -1,"device not open");
|
||||
- close(h->fd);
|
||||
+ v4l2_close(h->fd);
|
||||
h->fd = -1;
|
||||
return 0;
|
||||
}
|
||||
@@ -532,7 +558,7 @@
|
||||
|
||||
h->fd = -1;
|
||||
h->device = strdup(device ? device : ng_dev.video);
|
||||
- if (0 != v4l2_open(h))
|
||||
+ if (0 != v4l2_open_handle(h))
|
||||
goto err;
|
||||
|
||||
if (ng_debug)
|
||||
@@ -575,12 +601,12 @@
|
||||
/* check for MPEG capabilities */
|
||||
v4l2_probe_mpeg(h);
|
||||
|
||||
- v4l2_close(h);
|
||||
+ v4l2_close_handle(h);
|
||||
return h;
|
||||
|
||||
err:
|
||||
if (h->fd != -1)
|
||||
- close(h->fd);
|
||||
+ v4l2_close(h->fd);
|
||||
if (h)
|
||||
free(h);
|
||||
return NULL;
|
||||
@@ -958,7 +984,7 @@
|
||||
h->buf_me[i].fmt = h->fmt_me;
|
||||
h->buf_me[i].size = h->buf_me[i].fmt.bytesperline *
|
||||
h->buf_me[i].fmt.height;
|
||||
- h->buf_me[i].data = mmap(NULL, h->buf_v4l2[i].length,
|
||||
+ h->buf_me[i].data = v4l2_mmap(NULL, h->buf_v4l2[i].length,
|
||||
PROT_READ | PROT_WRITE, MAP_SHARED,
|
||||
h->fd, h->buf_v4l2[i].m.offset);
|
||||
if (MAP_FAILED == h->buf_me[i].data) {
|
||||
@@ -999,7 +1025,7 @@
|
||||
unsigned int i;
|
||||
|
||||
/* stop capture */
|
||||
- if (-1 == ioctl(h->fd,VIDIOC_STREAMOFF,&h->fmt_v4l2.type))
|
||||
+ if (-1 == v4l2_ioctl(h->fd,VIDIOC_STREAMOFF,&h->fmt_v4l2.type))
|
||||
perror("ioctl VIDIOC_STREAMOFF");
|
||||
|
||||
/* free buffers */
|
||||
@@ -1008,7 +1034,7 @@
|
||||
ng_waiton_video_buf(&h->buf_me[i]);
|
||||
if (ng_debug)
|
||||
print_bufinfo(&h->buf_v4l2[i]);
|
||||
- if (-1 == munmap(h->buf_me[i].data,h->buf_v4l2[i].length))
|
||||
+ if (-1 == v4l2_munmap(h->buf_me[i].data,h->buf_v4l2[i].length))
|
||||
perror("munmap");
|
||||
}
|
||||
h->queue = 0;
|
||||
@@ -1133,7 +1159,7 @@
|
||||
buf->info.ts = ng_tofday_to_timestamp(&h->buf_v4l2[frame].timestamp);
|
||||
} else {
|
||||
buf = ng_malloc_video_buf(NULL, &h->fmt_me);
|
||||
- rc = read(h->fd,buf->data,buf->size);
|
||||
+ rc = v4l2_read(h->fd,buf->data,buf->size);
|
||||
if (rc < 0) {
|
||||
perror("v4l2: read");
|
||||
ng_release_video_buf(buf);
|
||||
@@ -1163,11 +1189,11 @@
|
||||
BUG_ON(h->fd == -1,"device not open");
|
||||
buf = ng_malloc_video_buf(NULL, &h->fmt_me);
|
||||
if (h->cap.capabilities & V4L2_CAP_READWRITE) {
|
||||
- rc = read(h->fd,buf->data,buf->size);
|
||||
+ rc = v4l2_read(h->fd,buf->data,buf->size);
|
||||
if (-1 == rc && EBUSY == errno && h->ov_on) {
|
||||
h->ov_on = 0;
|
||||
xioctl(h->fd, VIDIOC_OVERLAY, &h->ov_on, 0);
|
||||
- rc = read(h->fd,buf->data,buf->size);
|
||||
+ rc = v4l2_read(h->fd,buf->data,buf->size);
|
||||
h->ov_on = 1;
|
||||
xioctl(h->fd, VIDIOC_OVERLAY, &h->ov_on, 0);
|
||||
}
|
||||
@@ -1245,7 +1271,7 @@
|
||||
goto done;
|
||||
|
||||
/* check for ivtv driver */
|
||||
- if (0 == ioctl(h->fd, IVTV_IOC_G_CODEC, &codec)) {
|
||||
+ if (0 == v4l2_ioctl(h->fd, IVTV_IOC_G_CODEC, &codec)) {
|
||||
h->flags |= CAN_MPEG_PS;
|
||||
h->flags |= CAN_MPEG_TS;
|
||||
h->mpeg = MPEG_TYPE_IVTV;
|
||||
@@ -1284,13 +1310,13 @@
|
||||
{
|
||||
struct ivtv_ioctl_codec codec;
|
||||
|
||||
- if (0 != ioctl(h->fd, IVTV_IOC_G_CODEC, &codec))
|
||||
+ if (0 != v4l2_ioctl(h->fd, IVTV_IOC_G_CODEC, &codec))
|
||||
return NULL;
|
||||
if (flags & MPEG_FLAGS_PS)
|
||||
codec.stream_type = IVTV_STREAM_PS;
|
||||
if (flags & MPEG_FLAGS_TS)
|
||||
codec.stream_type = IVTV_STREAM_TS;
|
||||
- if (0 != ioctl(h->fd, IVTV_IOC_S_CODEC, &codec))
|
||||
+ if (0 != v4l2_ioctl(h->fd, IVTV_IOC_S_CODEC, &codec))
|
||||
return NULL;
|
||||
return h->device;
|
||||
}
|
||||
Only in amsn-0.97/utils/linux/capture/libng/plugins: drv0-v4l2.c.orig
|
||||
Only in amsn-0.97/utils/linux/capture/libng/plugins: drv0-v4l2.c.rej
|
||||
Only in amsn-0.97/utils/linux/capture/libng/plugins: drv0-v4l2.c~
|
||||
|
|
@ -1,113 +0,0 @@
|
|||
--- trunk/amsn/utils/TkCximage/src/TkCximage.cpp 2008/12/26 16:39:41 10817
|
||||
+++ trunk/amsn/utils/TkCximage/src/TkCximage.cpp 2008/12/28 21:50:08 10818
|
||||
@@ -26,6 +26,65 @@
|
||||
char currenttime[30];
|
||||
FILE * logfile;
|
||||
|
||||
+#define AVAILABLE_FORMATS 6
|
||||
+Tk_PhotoImageFormat cximageFormats[] = {
|
||||
+ {
|
||||
+ "cximage",
|
||||
+ (Tk_ImageFileMatchProc *) ChanMatch,
|
||||
+ (Tk_ImageStringMatchProc *) ObjMatch,
|
||||
+ (Tk_ImageFileReadProc *) ChanRead,
|
||||
+ (Tk_ImageStringReadProc *) ObjRead,
|
||||
+ (Tk_ImageFileWriteProc *) ChanWrite,
|
||||
+ (Tk_ImageStringWriteProc *) StringWrite
|
||||
+ },
|
||||
+ {
|
||||
+ "cxgif",
|
||||
+ (Tk_ImageFileMatchProc *) ChanMatch,
|
||||
+ (Tk_ImageStringMatchProc *) ObjMatch,
|
||||
+ (Tk_ImageFileReadProc *) ChanRead,
|
||||
+ (Tk_ImageStringReadProc *) ObjRead,
|
||||
+ (Tk_ImageFileWriteProc *) ChanWrite,
|
||||
+ (Tk_ImageStringWriteProc *) StringWrite
|
||||
+ },
|
||||
+ {
|
||||
+ "cxpng",
|
||||
+ (Tk_ImageFileMatchProc *) ChanMatch,
|
||||
+ (Tk_ImageStringMatchProc *) ObjMatch,
|
||||
+ (Tk_ImageFileReadProc *) ChanRead,
|
||||
+ (Tk_ImageStringReadProc *) ObjRead,
|
||||
+ (Tk_ImageFileWriteProc *) ChanWrite,
|
||||
+ (Tk_ImageStringWriteProc *) StringWrite
|
||||
+ },
|
||||
+ {
|
||||
+ "cxjpg",
|
||||
+ (Tk_ImageFileMatchProc *) ChanMatch,
|
||||
+ (Tk_ImageStringMatchProc *) ObjMatch,
|
||||
+ (Tk_ImageFileReadProc *) ChanRead,
|
||||
+ (Tk_ImageStringReadProc *) ObjRead,
|
||||
+ (Tk_ImageFileWriteProc *) ChanWrite,
|
||||
+ (Tk_ImageStringWriteProc *) StringWrite
|
||||
+ },
|
||||
+ {
|
||||
+ "cxtga",
|
||||
+ (Tk_ImageFileMatchProc *) ChanMatch,
|
||||
+ (Tk_ImageStringMatchProc *) ObjMatch,
|
||||
+ (Tk_ImageFileReadProc *) ChanRead,
|
||||
+ (Tk_ImageStringReadProc *) ObjRead,
|
||||
+ (Tk_ImageFileWriteProc *) ChanWrite,
|
||||
+ (Tk_ImageStringWriteProc *) StringWrite
|
||||
+ },
|
||||
+ {
|
||||
+ "cxbmp",
|
||||
+ (Tk_ImageFileMatchProc *) ChanMatch,
|
||||
+ (Tk_ImageStringMatchProc *) ObjMatch,
|
||||
+ (Tk_ImageFileReadProc *) ChanRead,
|
||||
+ (Tk_ImageStringReadProc *) ObjRead,
|
||||
+ (Tk_ImageFileWriteProc *) ChanWrite,
|
||||
+ (Tk_ImageStringWriteProc *) StringWrite
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+
|
||||
int RGB2BGR(Tk_PhotoImageBlock *data, BYTE * pixelPtr) {
|
||||
int i;
|
||||
int size = data->height * data->width * data->pixelSize;
|
||||
@@ -267,10 +326,6 @@
|
||||
INITLOGS(); //
|
||||
LOG("---------------------------------"); //
|
||||
|
||||
-
|
||||
- int AvailableFromats = 6;
|
||||
- const char *KnownFormats[] = {"cximage", "cxgif", "cxpng", "cxjpg", "cxtga", "cxbmp"};
|
||||
-
|
||||
//Check Tcl version is 8.3 or higher
|
||||
if (Tcl_InitStubs(interp, TCL_VERSION, 1) == NULL) {
|
||||
return TCL_ERROR;
|
||||
@@ -285,15 +340,6 @@
|
||||
|
||||
LOG("Tk stub initialized"); //
|
||||
|
||||
- Tk_PhotoImageFormat cximageFormats = {
|
||||
- NULL,
|
||||
- (Tk_ImageFileMatchProc *) ChanMatch,
|
||||
- (Tk_ImageStringMatchProc *) ObjMatch,
|
||||
- (Tk_ImageFileReadProc *) ChanRead,
|
||||
- (Tk_ImageStringReadProc *) ObjRead,
|
||||
- (Tk_ImageFileWriteProc *) ChanWrite,
|
||||
- (Tk_ImageStringWriteProc *) StringWrite
|
||||
- };
|
||||
|
||||
LOG("Creating commands"); //
|
||||
|
||||
@@ -323,14 +369,9 @@
|
||||
#endif
|
||||
|
||||
LOG("Adding format : "); //
|
||||
- for (i = 0; i < AvailableFromats; i++) {
|
||||
- delete cximageFormats.name;
|
||||
- cximageFormats.name = new char[strlen(KnownFormats[i]) + 1];
|
||||
- strcpy(cximageFormats.name, KnownFormats[i]);
|
||||
- Tk_CreatePhotoImageFormat(&cximageFormats);
|
||||
- APPENDLOG(cximageFormats.name); //
|
||||
- delete cximageFormats.name;
|
||||
- cximageFormats.name = NULL;
|
||||
+ for (i = 0; i < AVAILABLE_FORMATS; i++) {
|
||||
+ Tk_CreatePhotoImageFormat(&cximageFormats[i]);
|
||||
+ APPENDLOG(cximageFormats[i].name); //
|
||||
}
|
||||
|
||||
// end of Initialisation
|
||||
249
amsn.spec
249
amsn.spec
|
|
@ -1,249 +0,0 @@
|
|||
%{!?tcl_version: %define tcl_version 8.5}
|
||||
%{!?tcl_sitearch: %define tcl_sitearch %{_libdir}/tcl%{tcl_version}}
|
||||
|
||||
Name: amsn
|
||||
Version: 0.97.2
|
||||
Release: 5%{?dist}
|
||||
Summary: MSN Messenger clone for Linux, Mac and Windows
|
||||
|
||||
Group: Applications/Internet
|
||||
License: GPLv2
|
||||
URL: http://www.amsn-project.net/
|
||||
Source0: http://dl.sourceforge.net/amsn/%{name}-%{version}.tar.bz2
|
||||
Patch0: amsn-0.97-libng-fixes.patch
|
||||
Patch1: amsn-0.97-libng-libv4l2.patch
|
||||
Patch2: amsn-0.97-tkcximage.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: desktop-file-utils, tk-devel, which, libpng-devel, libjpeg-devel
|
||||
BuildRequires: libv4l-devel
|
||||
BuildRequires: tcl(abi) = %{tcl_version}
|
||||
Requires: tcl(abi) = %{tcl_version}
|
||||
Requires: tcltls, tclsoap, tcllib, bwidget, tkdnd, xdg-utils, alsa-utils
|
||||
|
||||
%description
|
||||
This is an MSN Messenger clone for Unix, Windows, and Macintosh.
|
||||
It is written in tcl/tk and supports filetransfers, webcam, etc.
|
||||
|
||||
%package plugins
|
||||
Summary: Plugins for aMSN
|
||||
Group: Applications/Internet
|
||||
URL: http://amsn.sourceforge.net/plugins.php
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description plugins
|
||||
Extra plugins for amsn to enable drawing Ink, send and receive Nudges,
|
||||
view the last lines of a recent chat when opening a new one and create
|
||||
snapshots with your webcam to use as your display picture.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p2
|
||||
|
||||
rm -r utils/bwidget1.8.0
|
||||
rm -r skins/default/winicons
|
||||
|
||||
# for webcam to work these paths need to be added because we move libs around
|
||||
%{__sed} -i 's#\.\./libng/plugins#%{tcl_sitearch}/capture/libng/plugins#' utils/linux/capture/libng/grab-ng.c
|
||||
%{__sed} -i 's#\.\./libng/contrib-plugins#%{tcl_sitearch}/capture/libng/contrib-plugins#' utils/linux/capture/libng/grab-ng.c
|
||||
|
||||
%{__sed} -i 's# utils/bwidget1.8.0##' Makefile.in
|
||||
%{__sed} -i 's#mozilla#xdg-open#' config.tcl
|
||||
%{__sed} -i 's#my_filemanager open#xdg-open#' config.tcl
|
||||
%{__sed} -i 's#openfilecommand ""#openfilecommand "xdg-open \\$file"#' config.tcl
|
||||
%{__sed} -i 's#soundcommand "play \\$sound"#soundcommand "aplay -q \\$sound"#' config.tcl
|
||||
%{__sed} -i 's#set program_dir \[file dirname \[info script\]\]#set program_dir "%{_datadir}/amsn/"#' amsn amsn-remote amsn-remote-CLI
|
||||
%{__sed} -i 's#Info=AMSN#X-Info=AMSN#' amsn.desktop
|
||||
|
||||
%build
|
||||
%configure --enable-debug
|
||||
make %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
make install DESTDIR=${RPM_BUILD_ROOT}
|
||||
mv ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/amsn ${RPM_BUILD_ROOT}/%{_bindir}/amsn
|
||||
mv ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/amsn-remote ${RPM_BUILD_ROOT}/%{_bindir}/amsn-remote
|
||||
mv ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/amsn-remote-CLI ${RPM_BUILD_ROOT}/%{_bindir}/amsn-remote-CLI
|
||||
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/base64
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/http2.4
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/log
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/sha1
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/snit
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/tcldom
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/tclsoap1.6.7
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/Tclxml
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/uri
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/docs
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/{AGREEMENT,FAQ,GNUGPL,INSTALL,remote.help,TODO}
|
||||
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/lang/{*.*,LANG-HOWTO,sortlang}
|
||||
|
||||
mkdir -p ${RPM_BUILD_ROOT}/%{tcl_sitearch}
|
||||
mv ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/linux/* ${RPM_BUILD_ROOT}/%{tcl_sitearch}/
|
||||
mv ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/TkCximage ${RPM_BUILD_ROOT}/%{tcl_sitearch}/
|
||||
mv ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/webcamsn ${RPM_BUILD_ROOT}/%{tcl_sitearch}/
|
||||
mv ${RPM_BUILD_ROOT}/%{_datadir}/%{name}/utils/tcl_siren ${RPM_BUILD_ROOT}/%{tcl_sitearch}/
|
||||
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/icons/
|
||||
mv ${RPM_BUILD_ROOT}%{_datadir}/amsn/desktop-icons/ ${RPM_BUILD_ROOT}%{_datadir}/icons/hicolor/
|
||||
rm ${RPM_BUILD_ROOT}%{_datadir}/pixmaps/%{name}.png
|
||||
|
||||
desktop-file-install --vendor="fedora" \
|
||||
--dir="${RPM_BUILD_ROOT}%{_datadir}/applications" \
|
||||
--delete-original \
|
||||
${RPM_BUILD_ROOT}%{_datadir}/applications/amsn.desktop
|
||||
|
||||
%clean
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc AGREEMENT CREDITS docs/ FAQ FAQ.html GNUGPL HELP INSTALL README remote.help TODO lang/LANG-HOWTO
|
||||
%{_bindir}/amsn
|
||||
%{_bindir}/amsn-remote
|
||||
%{_bindir}/amsn-remote-CLI
|
||||
%{_datadir}/%{name}/
|
||||
%{_datadir}/applications/fedora-amsn.desktop
|
||||
%{_datadir}/icons/hicolor/*
|
||||
%{tcl_sitearch}/*
|
||||
%exclude %{_datadir}/%{name}/plugins/*
|
||||
|
||||
%files plugins
|
||||
%defattr(-,root,root,-)
|
||||
%{_datadir}/%{name}/plugins/*
|
||||
|
||||
%post
|
||||
touch --no-create %{_datadir}/icons/hicolor || :
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
|
||||
%postun
|
||||
touch --no-create %{_datadir}/icons/hicolor || :
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.97.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.97.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Tue Feb 17 2009 Sander Hoentjen <sander@hoentjen.eu> - 0.97.2-3
|
||||
- now add a patch to really make it work
|
||||
|
||||
* Tue Feb 17 2009 Sander Hoentjen <sander@hoentjen.eu> - 0.97.2-2
|
||||
- rebuild for TkCxImage to build against newer tcl/tk
|
||||
|
||||
* Mon Oct 27 2008 Sander Hoentjen <sander@hoentjen.eu> - 0.97.2-1
|
||||
- Update to latest release
|
||||
|
||||
* Wed Oct 22 2008 Hans de Goede <hdegoede@redhat.com> - 0.97-4
|
||||
- Patch the webcam part to use libv4l so that it will work with the new gspca
|
||||
driver in F-10
|
||||
|
||||
* Thu Feb 12 2008 Sander Hoentjen <sander@hoentjen.eu> - 0.97-3
|
||||
- Rebuilt for gcc-4.3
|
||||
|
||||
* Thu Jan 03 2008 Sander Hoentjen <sander@hoentjen.eu> - 0.97-2
|
||||
- update to build against tcl/tk 8.5
|
||||
|
||||
* Wed Dec 24 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.97-1
|
||||
- Update to 0.97
|
||||
|
||||
* Wed Nov 21 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.96-11
|
||||
- Fix undefined tcl_version
|
||||
|
||||
* Sun Nov 11 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.96-10
|
||||
- change htmlview to xdg-open (bug #365381)
|
||||
- use alsa by default for playing sounds
|
||||
- undo rev 8 and 9 changes until it is supported
|
||||
|
||||
* Thu Mar 31 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.96-8
|
||||
- require specific tcl major version (abi) which it is built on
|
||||
|
||||
* Thu Mar 8 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.96-7
|
||||
- Don't own tcl_sitearch
|
||||
|
||||
* Sun Mar 4 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.96-6
|
||||
- No versioned requires on tk anymore since it doesn't work with the epoch
|
||||
- bump for rebuild against reverted 8.4
|
||||
- added tcl macros from tcl guidelines draft
|
||||
- moved private extensions to sitelib
|
||||
|
||||
* Fri Feb 2 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.96-5
|
||||
- Bump because i messed up tagging
|
||||
|
||||
* Fri Feb 2 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.96-4
|
||||
- updated requires to tcl/tk 8.5 since it will segfault with 8.4 if it is built against 8.5 and vice versa
|
||||
- fixed previous changelog entry date
|
||||
|
||||
* Fri Feb 2 2007 Sander Hoentjen <sander@hoentjen.eu> - 0.96-3
|
||||
- rebuilt against tcl/tk 8.5
|
||||
|
||||
* Thu Sep 4 2006 Sander Hoentjen <sander@hoentjen.eu> - 0.96-2
|
||||
- webcam now works (bug #206674)
|
||||
|
||||
* Thu Sep 2 2006 Sander Hoentjen <sander@hoentjen.eu> - 0.96-1
|
||||
- updated to 0.96 final
|
||||
- drop nolocate and locallibs patch because they were accepted upstream
|
||||
- changed URL because they moved the website
|
||||
|
||||
* Tue Aug 28 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.13.rc1
|
||||
- Tag error, so bumping the release
|
||||
|
||||
* Tue Aug 28 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.12.rc1
|
||||
- FC6 mass rebuild
|
||||
|
||||
* Tue Jun 20 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.11.rc1
|
||||
- requires sox, htmlview and tkdnd now
|
||||
- moved amsn, amsn-remote and amsn-remote-CLI to bindir
|
||||
- removed extra " from amsn.desktop
|
||||
|
||||
* Mon Jun 19 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.10.rc1
|
||||
- requires tk >= 8.4.13 because of bug #193853
|
||||
|
||||
* Mon Jun 19 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.9.rc1
|
||||
- fixed lots of stuff pointed out in comment #25 on bug #185951
|
||||
|
||||
* Sat Jun 17 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.8.rc1
|
||||
- updated to 0.96rc1
|
||||
|
||||
* Thu Jun 8 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.7.20060608svn
|
||||
- updated to current 0.96 branch of svn
|
||||
- use systemwide bwidget install
|
||||
|
||||
* Tue May 18 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.6.20060517svn
|
||||
- TkCximage now uses system libs instead own included ( bugzilla #185951#c13 )
|
||||
|
||||
* Tue May 17 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.5.20060517svn
|
||||
- update to current svn (upstream switched from cvs to svn)
|
||||
- removed file permission fixes since they are fixed upstream
|
||||
- removed BuildRequires: tcl-devel since that is required by tk-devel anyway
|
||||
- require tclsoap and remove it from the amsn package
|
||||
- require tcllib and remove all files from amsn that are packaged in tcllib
|
||||
|
||||
* Tue Apr 25 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.4.20060425cvs
|
||||
- updated to new cvs snapshot
|
||||
- added enable-debug to configure
|
||||
|
||||
* Mon Mar 27 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.3.20060327cvs
|
||||
- split into amsn, amsn-plugins
|
||||
|
||||
* Mon Mar 27 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.2.20060327cvs
|
||||
- linflash added upstream
|
||||
- icon for desktop entry
|
||||
- docfiles
|
||||
- no locate needed during configure
|
||||
- no explicit requires for tcl and tk
|
||||
|
||||
* Wed Mar 22 2006 Sander Hoentjen <tjikkun@xs4all.nl> - 0.96-0.1.20060322cvs
|
||||
- created
|
||||
1
dead.package
Normal file
1
dead.package
Normal file
|
|
@ -0,0 +1 @@
|
|||
MSN network shutting down, so package is no longer usefull
|
||||
1
sources
1
sources
|
|
@ -1 +0,0 @@
|
|||
6c494d97b5ab810f1b265ef19bf652b0 amsn-0.97.2.tar.bz2
|
||||
Reference in a new issue