Date: Sat, 3 Jul 1999 20:28:00 +0200 (CEST) From: espensk@stud.cs.uit.no To: FreeBSD-gnats-submit@freebsd.org Subject: ports/12498: Port of Xmms (X Multimedia System) Message-ID: <199907031828.UAA98538@hstudb.cs.uit.no>
next in thread | raw e-mail | index | archive | help
>Number: 12498 >Category: ports >Synopsis: Port of Xmms (X Multimedia System) >Confidential: yes >Severity: serious >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Jul 3 11:30:00 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Espen Skoglund >Release: FreeBSD 3.1-STABLE i386 >Organization: University of Tromsų, Norway >Environment: >Description: >How-To-Repeat: >Fix: # 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/xmms # audio/xmms/Makefile # audio/xmms/pkg # audio/xmms/pkg/COMMENT # audio/xmms/pkg/DESCR # audio/xmms/pkg/PLIST # audio/xmms/files # audio/xmms/files/md5 # audio/xmms/patches # audio/xmms/patches/patch-ab # audio/xmms/patches/patch-ac # audio/xmms/patches/patch-aa # echo c - audio/xmms mkdir -p audio/xmms > /dev/null 2>&1 echo x - audio/xmms/Makefile sed 's/^X//' >audio/xmms/Makefile << 'END-of-audio/xmms/Makefile' X# New ports collection makefile for: xmms X# Version required: 0.9.1 X# Date created: 3 July 1999 X# Whom: Espen Skoglund <espensk@stud.cs.uit.no> X# X# $Id:$ X# X XDISTNAME= xmms-0.9.1 XCATEGORIES= audio XMASTER_SITES= ftp://ftp.xmms.org/xmms/0.9/ X XMAINTAINER= espensk@stud.cs.uit.no X XLIB_DEPENDS= gtk12.2:${PORTSDIR}/x11-toolkits/gtk12 \ X glib12.2:${PORTSDIR}/devel/glib12 X XGNU_CONFIGURE= yes X#CONFIGURE_ARGS= "--no-recursion" XCONFIGURE_ENV= GTK_CONFIG=${X11BASE}/bin/gtk12-config \ X GLIB_CONFIG=${LOCALBASE}/bin/glib12-config X Xpost-configure: X X X.include <bsd.port.mk> END-of-audio/xmms/Makefile echo c - audio/xmms/pkg mkdir -p audio/xmms/pkg > /dev/null 2>&1 echo x - audio/xmms/pkg/COMMENT sed 's/^X//' >audio/xmms/pkg/COMMENT << 'END-of-audio/xmms/pkg/COMMENT' XX Multimedia System --- An audio player with a Winamp GUI END-of-audio/xmms/pkg/COMMENT echo x - audio/xmms/pkg/DESCR sed 's/^X//' >audio/xmms/pkg/DESCR << 'END-of-audio/xmms/pkg/DESCR' XXMMS --- X Multimedia System. XMMS is a multimedia player based on Xthe look of Winamp. Currently it plays mpeg layer 1/2/3, wav, au, and Xall formats supported by libmikmod. It also plays CD audio. X XHomepage is located on <URL:http://www.xmms.org/>. X X eSk END-of-audio/xmms/pkg/DESCR echo x - audio/xmms/pkg/PLIST sed 's/^X//' >audio/xmms/pkg/PLIST << 'END-of-audio/xmms/pkg/PLIST' Xbin/wmxmms Xbin/xmms Xinclude/xmms/configfile.h Xinclude/xmms/dirbrowser.h Xinclude/xmms/plugin.h Xinclude/xmms/xmmsctrl.h Xlib/libxmms.a Xlib/libxmms.la Xlib/libxmms.so.9 X@exec ln -fs %D/%F %B/libxmms.so X@unexec rm -f %B/libxmms.so Xlib/xmms/Effect/libecho.la Xlib/xmms/Effect/libecho.so Xlib/xmms/Effect/libsrndecho.la Xlib/xmms/Effect/libsrndecho.so Xlib/xmms/Effect/libstereo.la Xlib/xmms/Effect/libstereo.so Xlib/xmms/Effect/libvoice.la Xlib/xmms/Effect/libvoice.so Xlib/xmms/General/libir.la Xlib/xmms/General/libir.so Xlib/xmms/General/libsong_change.la Xlib/xmms/General/libsong_change.so Xlib/xmms/Input/libcdaudio.la Xlib/xmms/Input/libcdaudio.so Xlib/xmms/Input/libmpg123.la Xlib/xmms/Input/libmpg123.so Xlib/xmms/Input/libwav.la Xlib/xmms/Input/libwav.so Xlib/xmms/Output/libOSS.la Xlib/xmms/Output/libOSS.so Xlib/xmms/Output/libdisk_writer.la Xlib/xmms/Output/libdisk_writer.so Xshare/xmms/wmxmms.xpm X@dirrm include/xmms X@dirrm lib/xmms/Effect X@dirrm lib/xmms/General X@dirrm lib/xmms/Input X@dirrm lib/xmms/Output X@dirrm lib/xmms X@dirrm share/xmms END-of-audio/xmms/pkg/PLIST echo c - audio/xmms/files mkdir -p audio/xmms/files > /dev/null 2>&1 echo x - audio/xmms/files/md5 sed 's/^X//' >audio/xmms/files/md5 << 'END-of-audio/xmms/files/md5' XMD5 (xmms-0.9.1.tar.gz) = 57a3ff0102ece7583c4ed2af876404fb END-of-audio/xmms/files/md5 echo c - audio/xmms/patches mkdir -p audio/xmms/patches > /dev/null 2>&1 echo x - audio/xmms/patches/patch-ab sed 's/^X//' >audio/xmms/patches/patch-ab << 'END-of-audio/xmms/patches/patch-ab' X*** configure.orig Sat Jul 3 19:47:22 1999 X--- configure Sat Jul 3 19:46:47 1999 X*************** X*** 637,642 **** X--- 637,643 ---- X fi X fi X echo "$ac_t""$INSTALL" 1>&6 X+ ac_cv_path_install="$INSTALL" X X # Use test -z because SunOS4 sh mishandles braces in ${var-val}. X # It thinks the first close brace ends the variable substitution. END-of-audio/xmms/patches/patch-ab echo x - audio/xmms/patches/patch-ac sed 's/^X//' >audio/xmms/patches/patch-ac << 'END-of-audio/xmms/patches/patch-ac' X*** libxmms/configure.orig Sat Jul 3 19:47:39 1999 X--- libxmms/configure Sat Jul 3 19:46:37 1999 X*************** X*** 579,585 **** X # ./install, which can be erroneously created by make from ./install.sh. X echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 X echo "configure:582: checking for a BSD compatible install" >&5 X! if test -z "$INSTALL"; then X if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then X echo $ac_n "(cached) $ac_c" 1>&6 X else X--- 579,585 ---- X # ./install, which can be erroneously created by make from ./install.sh. X echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 X echo "configure:582: checking for a BSD compatible install" >&5 X! if test -z "$NO___INSTALL"; then X if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then X echo $ac_n "(cached) $ac_c" 1>&6 X else END-of-audio/xmms/patches/patch-ac echo x - audio/xmms/patches/patch-aa sed 's/^X//' >audio/xmms/patches/patch-aa << 'END-of-audio/xmms/patches/patch-aa' X*** Output/OSS/audio.c.orig Wed Jun 16 21:51:12 1999 X--- Output/OSS/audio.c Sat Jul 3 17:32:16 1999 X*************** X*** 89,95 **** X else X bytes = 0; X X! if (!oss_used() && bytes <= 0) X return FALSE; X X return TRUE; X--- 89,95 ---- X else X bytes = 0; X X! if (!oss_used() /*&& bytes <= 0*/) X return FALSE; X X return TRUE; X*************** X*** 185,198 **** X X void oss_write(void *ptr, gint length) X { X! gint cnt, off = 0, w; X X if (!realtime) X { X- while (oss_free() < length) X- xmms_usleep(10000); X- X remove_prebuffer = FALSE; X written += length; X while (length > 0) X { X--- 185,197 ---- X X void oss_write(void *ptr, gint length) X { X! gint cnt, off = 0; X! audio_buf_info abuf_info; X X if (!realtime) X { X remove_prebuffer = FALSE; X+ X written += length; X while (length > 0) X { X*************** X*** 200,206 **** X memcpy(buffer + wr_index, ptr + off, cnt); X wr_index = (wr_index + cnt) % buffer_size; X length -= cnt; X! off = cnt; X X } X } X--- 199,205 ---- X memcpy(buffer + wr_index, ptr + off, cnt); X wr_index = (wr_index + cnt) % buffer_size; X length -= cnt; X! off += cnt; X X } X } X*************** X*** 208,231 **** X { X if (paused) X return; X! X! if (frequency == efrequency) X! w = write(fd, ptr, length); X! else X! w = oss_downsample(ptr, length, frequency, efrequency); X! X! if (w == -1 && errno == EIO) X { X! close(fd); X! fd = open(device_name, O_WRONLY); X! oss_set_audio_params(); X! if (frequency == efrequency) X! w = write(fd, ptr, length); X! else X! w = oss_downsample(ptr, length, frequency, efrequency); X } X written += length; X- output_bytes += w; X } X X } X--- 207,223 ---- X { X if (paused) X return; X! ioctl(fd,SNDCTL_DSP_GETOSPACE,&abuf_info); X! while(abuf_info.bytes < length) X { X! xmms_usleep(10000); X! ioctl(fd,SNDCTL_DSP_GETOSPACE,&abuf_info); X } X+ if(frequency==efrequency) X+ output_bytes += write(fd,ptr,length); X+ else X+ output_bytes += oss_downsample(ptr,length,frequency,efrequency); X written += length; X } X X } X*************** X*** 281,323 **** X void *oss_loop(void *arg) X { X gint length, cnt, w; X- audio_buf_info abuf_info; X fd_set set; X struct timeval tv; X X while (going) X { X if (oss_used() > prebuffer_size) X- { X prebuffer = FALSE; X- } X if (oss_used() > 0 && !paused && !prebuffer) X { X length = min(blk_size, oss_used()); X while (length > 0) X { X cnt = min(length, buffer_size - rd_index); X! X! if (frequency == efrequency) X! w = write(fd, buffer + rd_index, cnt); X! else X! w = oss_downsample(buffer + rd_index, cnt, frequency, efrequency); X! if (w == -1 && errno == EIO) X { X! close(fd); X! fd = open(device_name, O_WRONLY); X! oss_set_audio_params(); X! if (frequency == efrequency) X! w = write(fd, buffer + rd_index, cnt); X! else X! w = oss_downsample(buffer + rd_index, cnt, frequency, efrequency); X } X! output_bytes += w; X! rd_index = (rd_index + cnt) % buffer_size; X! length -= cnt; X } X! /* if (!oss_used()) X! ioctl(fd, SNDCTL_DSP_POST, 0);*/ X } X else X xmms_usleep(10000); X--- 273,312 ---- X void *oss_loop(void *arg) X { X gint length, cnt, w; X fd_set set; X struct timeval tv; X+ audio_buf_info abuf_info; X X while (going) X { X if (oss_used() > prebuffer_size) X prebuffer = FALSE; X if (oss_used() > 0 && !paused && !prebuffer) X { X length = min(blk_size, oss_used()); X while (length > 0) X { X cnt = min(length, buffer_size - rd_index); X! ioctl(fd,SNDCTL_DSP_GETOSPACE,&abuf_info); X! if(abuf_info.bytes >= length) X { X! while(length > 0) X! { X! cnt = min(length,buffer_size-rd_index); X! if(frequency==efrequency) X! output_bytes += write(fd,buffer+rd_index,cnt); X! else X! output_bytes += oss_downsample(buffer+rd_index,cnt,frequency,efrequency); X! rd_index=(rd_index+cnt)%buffer_size; X! length-=cnt; X! } X } X! else X! xmms_usleep(10000); X! X } X! if (!oss_used()) X! ioctl(fd, SNDCTL_DSP_POST, 0); X } X else X xmms_usleep(10000); X*************** X*** 450,466 **** X X channels = nch; X frequency = rate; X! buffer_size = (oss_cfg.buffer_size * bps) / 1000; X! if (buffer_size < 8192) X! buffer_size = 8192; X! prebuffer_size = (buffer_size * oss_cfg.prebuffer) / 100; X! if (buffer_size - prebuffer_size < 4096) X! prebuffer_size = buffer_size - 4096; X! X! buffer_size += device_buffer_size; X! buffer = g_malloc0(buffer_size); X! mlock(buffer, buffer_size); X! X going = 1; X flush = -1; X prebuffer = 1; X--- 439,457 ---- X X channels = nch; X frequency = rate; X! if(!realtime) X! { X! buffer_size = (oss_cfg.buffer_size * bps) / 1000; X! if (buffer_size < 8192) X! buffer_size = 8192; X! prebuffer_size = (buffer_size * oss_cfg.prebuffer) / 100; X! if (buffer_size - prebuffer_size < 4096) X! prebuffer_size = buffer_size - 4096; X! X! buffer_size += device_buffer_size; X! buffer = g_malloc0(buffer_size); X! mlock(buffer, buffer_size); X! } X going = 1; X flush = -1; X prebuffer = 1; END-of-audio/xmms/patches/patch-aa exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907031828.UAA98538>