xmrm (X Multi Resoultion image Metamorphosis) is an easy-to-use

morphing/warping program akin to xmorph, with some nice features,
like MPEG video creation.

PR:		14379
Submitted by:	Tobias Reifenberger <treif@mayn.de>
This commit is contained in:
Ade Lovett 2000-03-28 22:44:14 +00:00
parent 5fe1f019d3
commit 18c6805255
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=27109
13 changed files with 190 additions and 0 deletions

View File

@ -174,6 +174,7 @@
SUBDIR += xmorph
SUBDIR += xmountains
SUBDIR += xmovie
SUBDIR += xmrm
SUBDIR += xpaint
SUBDIR += xpdf
SUBDIR += xpm

29
graphics/xmrm/Makefile Normal file
View File

@ -0,0 +1,29 @@
# New ports collection makefile for: xmrm
# Version required: 2.0
# Date created: Sa 01 May 1999 15:00:00 MET
# Whom: Tobias Reifenberger <treif@mayn.de>
#
# $FreeBSD$
#
DISTNAME= xmrm20_sources
PKGNAME= xmrm-2.0
CATEGORIES= graphics
MASTER_SITES= ftp://ftp.cg.tuwien.ac.at/pub/linux/xmrm/ \
ftp://ftp.uni-passau.de/mount/common.lib.archive.unix/Graphic/xmrm/
EXTRACT_SUFX= .tgz
MAINTAINER= treif@mayn.de
RUN_DEPENDS= mpeg:${PORTSDIR}/graphics/mpeg
LIB_DEPENDS= xforms.0:${PORTSDIR}/x11-toolkits/xforms \
Xpm.4:${PORTSDIR}/graphics/xpm \
tiff.4:${PORTSDIR}/graphics/tiff
WRKSRC= ${WRKDIR}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/xmrm ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/xmrm_mpeg ${PREFIX}/bin
.include <bsd.port.mk>

1
graphics/xmrm/distinfo Normal file
View File

@ -0,0 +1 @@
MD5 (xmrm20_sources.tgz) = 9deddfdf42a016edd36a9c0b7c1d94b3

View File

@ -0,0 +1,32 @@
--- Makefile.orig Mon Mar 9 17:00:00 1998
+++ Makefile Tue Mar 28 15:23:34 2000
@@ -16,8 +16,8 @@
#
##############################################################################
-CPP = g++
-CC = gcc
+CPP = c++
+CC = cc
# -c: don't link yet
# -g: produce debugging-information, don't use together with link_flag -s
@@ -29,14 +29,14 @@
#COMPILE_FLAGS = -O3 -m486 -c
# -O: normal optimization level -c: don't link yet
-COMPILE_FLAGS = -O -c
+COMPILE_FLAGS = ${CFLAGS} -I${PREFIX}/include -I${X11BASE}/include -c
# -s: DESTROYS symbol-table
-LINK_FLAGS = -s
+#LINK_FLAGS = -s
-SYSLIB = -L/usr/X11R6/lib -lX11 -lm
-LIBS = -L/usr/lib -ltiff -ljpeg -lgz -lforms -lXpm $(SYSLIB)
+SYSLIB = -L${X11BASE}/lib -lX11 -lm
+LIBS = -L${PREFIX}/lib -ltiff -ljpeg -lz -lxforms -lXpm $(SYSLIB)
OBJECTS = xmrm.o xmrm_cb.o io.o morphvec.o init.o wavemorph.o wave_rts.o wave.o\
areas.o xmrm_main.o

View File

@ -0,0 +1,11 @@
--- const.h.orig Mon Mar 9 17:00:00 1998
+++ const.h Tue Mar 28 15:23:34 2000
@@ -3,7 +3,7 @@
// Programming: Gerhard Waldhör, Andreas Artmann
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <errno.h>
#include <math.h>

View File

@ -0,0 +1,20 @@
--- io.cc.orig Mon Mar 9 17:00:00 1998
+++ io.cc Tue Mar 28 15:27:12 2000
@@ -87,7 +87,7 @@
extern ControlClass control;
/* Constructor: */
-ControlClass::ControlClass()
+void ControlClass::ControlClassInit()
{
int i;
@@ -1720,7 +1720,7 @@
// extension--;
i=0;
- number = ".000.";
+ strcpy(number, ".000.");
while ( !(extension = strstr(extension,number)) && i<=999 )
{
i++;

View File

@ -0,0 +1,11 @@
--- io.h.orig Mon Mar 9 17:00:00 1998
+++ io.h Tue Mar 28 15:24:54 2000
@@ -39,7 +39,7 @@
char *URL_CG_Home;
char *URL_TU_Vienna;
- ControlClass();
+ void ControlClassInit();
int GetDraw();
void SetDraw(int d);
void SetCursor(int Active, Window win);

View File

@ -0,0 +1,19 @@
--- xmrm_main.cc.orig Mon Mar 9 17:00:00 1998
+++ xmrm_main.cc Tue Mar 28 15:23:34 2000
@@ -6,7 +6,6 @@
#include <tiffio.h>
#include <stdlib.h>
#include <unistd.h>
-#include <malloc.h> //****************
#include "xmrm.h"
#include "io.h"
#include "const.h"
@@ -308,7 +307,7 @@
control.debug = 0;
/* Init control: */
- control.ControlClass(); // call constructor
+ control.ControlClassInit(); // call constructor
temp = control.URL_manual;
while( (c=getopt(argc, argv, "hdm:p:")) != -1)

View File

@ -0,0 +1,30 @@
--- morphvec.cc.orig Mon Mar 9 17:00:00 1998
+++ morphvec.cc Tue Mar 28 15:31:48 2000
@@ -9,6 +9,7 @@
#include "io.h"
#include "xmrm.h"
//#include "areas.h"
+#include <floatingpoint.h>
//static int oneliner = 1;
@@ -17,7 +18,7 @@
extern Display *disp;
-extern max_x,max_y;
+extern int max_x,max_y;
extern ControlClass control;
extern VisualInfoClass vis;
extern WindowClass *s_win, *d_win;
@@ -433,6 +434,10 @@
void MorphVecClass::DrawVectorScal(FL_OBJECT *obj, int item, int mode, FL_COLOR col)
{
double sc_x,sc_y;
+
+ /* don't exit on FPE */
+ fpsetmask(0);
+
sc_x = (double) obj->w / max_x; sc_y = (double) obj->h / max_y;
if (item > nr_vec)

View File

@ -0,0 +1,20 @@
--- xmrm_mpeg_main.cc.orig Mon Mar 9 17:00:00 1998
+++ xmrm_mpeg_main.cc Tue Mar 28 15:37:11 2000
@@ -68,7 +68,7 @@
{
int count = 0;
- backup_class->number_str = ".000.";
+ strcpy(backup_class->number_str, ".000.");
while ( !(*ext = strstr(fname_only,backup_class->number_str)) && (count <= MAX_PIC_NUM) )
{
@@ -417,7 +417,7 @@
// Check for even picture size
if ( (tif_w % 2) || (tif_h % 2) )
{
- work_class->even = ".even";
+ strcpy(work_class->even,".even");
if ( Even_Size( tif, tif_w, tif_h) )
return 1;
}

View File

@ -0,0 +1 @@
a image morphing/warping program

13
graphics/xmrm/pkg-descr Normal file
View File

@ -0,0 +1,13 @@
From the manual...
XMRM is an image morphing program written for XWindows. A special feature
of this program, which is not found in other morphing packages, is the
ability to control the morphing speed of details in relation to the
morphing speed of big features.
xmrm supports all Direct-Color-modes (Hi-Color, Real-Color: 15bpp,16bpp
and True-Color: 24bpp,32bpp), but it doesn't run with any Color-
LookUpTable-mode (8bpp modes) !
ONLINE-MANUAL: http://www.cg.tuwien.ac.at/~xmrm/
The XMRM-Homepage: http://www.cg.tuwien.ac.at/research/ca/mrm/xmrm.html

2
graphics/xmrm/pkg-plist Normal file
View File

@ -0,0 +1,2 @@
bin/xmrm
bin/xmrm_mpeg