Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jun 2011 05:08:30 GMT
From:      RyoTa SimaMoto <liangtai.s4@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/158372: [request] add a port for audio/wildmidi
Message-ID:  <201106280508.p5S58UN8060618@red.freebsd.org>
Resent-Message-ID: <201106280510.p5S5A8Sj073031@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         158372
>Category:       ports
>Synopsis:       [request] add a port for audio/wildmidi
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 28 05:10:08 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     RyoTa SimaMoto
>Release:        8.2-STABLE
>Organization:
>Environment:
FreeBSD takiba.fakenet 8.2-STABLE FreeBSD 8.2-STABLE #14: Sun May 15 23:44:46 JST 2011     liangtai@takiba.fakenet:/usr/obj/usr/src/sys/VAIO  i386
>Description:
WildMIDI is a simple softwre midi player which has a core
softsynth library that can be used with other applications.

Unfortunately I can't run properly its 'wildmidi' player
executable but made it crash with core-dumped file, even
using a version from /usr/portage/media-sound/wildmidi in
the Gentoo/Linux platform under the chroot'ed environment
on /usr/compat/linux.

I tested the library libWildMidi.so through the latest version of
qmmp player (the future update of PORTS/multimedia/qmmp),
and it works well.

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	audio/wildmidi/
#	audio/wildmidi/Makefile
#	audio/wildmidi/distinfo
#	audio/wildmidi/pkg-descr
#	audio/wildmidi/files
#	audio/wildmidi/files/patch-wildmidi.c--typecasting
#
echo c - audio/wildmidi/
mkdir -p audio/wildmidi/ > /dev/null 2>&1
echo x - audio/wildmidi/Makefile
sed 's/^X//' >audio/wildmidi/Makefile << '2cd714559d84d693f80a6c649d367fa4'
X# New ports collection makefile for:	wildmidi
X# Date created:				02 Aug 2010
X# Whom:					SimaMoto,RyoTa <liangtai.s4@gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	wildmidi
XPORTVERSION=	0.2.3.4
XCATEGORIES=	audio
XMASTER_SITES=	SF/${PORTNAME}/${PORTNAME}
X
XMAINTAINER=	liangtai.s4@gmail.com
XCOMMENT=	A simple software midi player and a core softsynth library
X
X# player: GPLv3, library: LGPL3
XLICENSE_COMB=	multi
XLICENSE=	GPLv3 LGPL3
X
XUSE_GZIP=	yes
XUSE_GMAKE=	yes
XUSE_LDCONFIG=	yes
XGNU_CONFIGURE=	yes
X
XMAN1=		wildmidi.1
XMAN3=		WildMidi_GetString.3 WildMidi_Init.3 WildMidi_MasterVolume.3 \
X		WildMidi_Open.3 WildMidi_OpenBuffer.3 WildMidi_GetOutput.3 \
X		WildMidi_SetOption.3 WildMidi_GetInfo.3 WildMidi_FastSeek.3 \
X		WildMidi_Close.3 WildMidi_Shutdown.3
XMAN5=		wildmidi.cfg.5
XPLIST_FILES=	bin/wildmidi include/wildmidi_lib.h \
X		lib/libWildMidi.la lib/libWildMidi.so.1 lib/libWildMidi.so
X
Xpost-patch:
X		${REINPLACE_CMD} 's@/etc/@${DATADIR}/@' \
X			${WRKSRC}/docs/wildmidi.1 \
X			${WRKSRC}/docs/wildmidi.cfg.5
X		${REINPLACE_CMD} -e 's@/usr/local/share/wildmidi/@${DATADIR}/@' \
X			-e 's@default_timifityconf@default_wildmidiconf@' \
X			${WRKSRC}/configure
X
X.include <bsd.port.mk>
2cd714559d84d693f80a6c649d367fa4
echo x - audio/wildmidi/distinfo
sed 's/^X//' >audio/wildmidi/distinfo << 'b65327788b9448d8f2e64e88063b7fbe'
XSHA256 (wildmidi-0.2.3.4.tar.gz) = 3fd0b8e810d22af95ec785cde284aad078844db516b76873261052cf1c3e5c28
XSIZE (wildmidi-0.2.3.4.tar.gz) = 348971
b65327788b9448d8f2e64e88063b7fbe
echo x - audio/wildmidi/pkg-descr
sed 's/^X//' >audio/wildmidi/pkg-descr << 'f9dc6894b484c65b40009fb4c249cdff'
XWildMIDI is a simple software midi player which has a core softsynth library
Xthat can be used with other applications.
X
XThe WildMIDI library uses Gravis Ultrasound patch files to convert MIDI files
Xinto audio which is them passed back to the calling application for further
Xprocessing or output. The API of the library is designed so that it is easy to
Xinclude WildMIDI into applications that wish to include MIDI file playback.
XWith multiple MIDI file support you can develop applications to mix several
Xmidi files together at the same time and with the next release you will be
Xable to use a different patch set for each MIDI file.
X
XThe wildmidi player is a demonstration program to show the capabilities of
XlibWildMidi.
X
XWWW: http://wildmidi.sourceforge.net/
f9dc6894b484c65b40009fb4c249cdff
echo c - audio/wildmidi/files
mkdir -p audio/wildmidi/files > /dev/null 2>&1
echo x - audio/wildmidi/files/patch-wildmidi.c--typecasting
sed 's/^X//' >audio/wildmidi/files/patch-wildmidi.c--typecasting << '080999d339043f3201f1894bcd6fa33a'
X--- src/wildmidi.c.orig	2010-07-30 09:33:46.000000000 +0900
X+++ src/wildmidi.c	2011-05-28 23:13:47.000000000 +0900
X@@ -618,7 +618,7 @@
X 		return -1;
X 	}
X 
X-	buffer = (unsigned char *) mmap(NULL, max_buffer, mmmode, mmflags, audio_fd, 0);
X+	buffer = (char *) mmap(NULL, max_buffer, mmmode, mmflags, audio_fd, 0);
X 	if (buffer == MAP_FAILED) {
X 		printf("couldn't mmap %s\r\n",strerror(errno));
X 		shutdown_output();
X@@ -659,12 +659,13 @@
X 				shutdown_output();
X 				return -1;
X 			}
X-			if ((count.ptr < counter) || (count.ptr >= (counter+4))) {
X+			if (((unsigned long int)count.ptr < counter) ||
X+			    ((unsigned long int)count.ptr >= (counter+4))) {
X 				break;
X 			}
X 			usleep(500);
X 		}
X-		if (count.ptr < counter) {
X+		if ((unsigned long int)count.ptr < counter) {
X 			free_size = max_buffer - counter;
X 		} else {
X 			free_size = count.ptr - counter;
080999d339043f3201f1894bcd6fa33a
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106280508.p5S58UN8060618>