From jylefort@brutele.be  Wed Jun 23 14:22:22 2004
Return-Path: <jylefort@brutele.be>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 9F27116A4D1
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 23 Jun 2004 14:22:22 +0000 (GMT)
Received: from gateway.lefort.net (212.68.242.203.brutele.be [212.68.242.203])
	by mx1.FreeBSD.org (Postfix) with ESMTP id DE90F43D4C
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 23 Jun 2004 14:21:49 +0000 (GMT)
	(envelope-from jylefort@brutele.be)
Received: from jsite.lefort.net (jsite.lefort.net [192.168.1.2])
	by gateway.lefort.net (Postfix) with ESMTP id 856E85510
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 23 Jun 2004 16:21:48 +0200 (CEST)
Received: by jsite.lefort.net (Postfix, from userid 1000)
	id 4154D22E28; Wed, 23 Jun 2004 16:21:48 +0200 (CEST)
Message-Id: <20040623142148.4154D22E28@jsite.lefort.net>
Date: Wed, 23 Jun 2004 16:21:48 +0200 (CEST)
From: Jean-Yves Lefort <jylefort@brutele.be>
Reply-To: Jean-Yves Lefort <jylefort@brutele.be>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: New port: audio/hydrogen, an advanced drum machine
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         68242
>Category:       ports
>Synopsis:       New port: audio/hydrogen, an advanced drum machine
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    krion
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 23 14:30:24 GMT 2004
>Closed-Date:    Fri Jun 25 07:27:12 GMT 2004
>Last-Modified:  Fri Jun 25 07:27:12 GMT 2004
>Originator:     Jean-Yves Lefort
>Release:        FreeBSD 4.10-RELEASE i386
>Organization:
>Environment:
System: FreeBSD jsite.lefort.net 4.10-RELEASE FreeBSD 4.10-RELEASE #0: Thu May 27 14:42:30 CEST 2004 jylefort@jsite.lefort.net:/usr/obj/usr/src/sys/JSITE i386
>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:
#
#	hydrogen
#	hydrogen/files
#	hydrogen/files/patch-lib::Hydrogen.cpp
#	hydrogen/files/patch-lib::Object.h
#	hydrogen/files/patch-tools::Makefile.in
#	hydrogen/pkg-plist
#	hydrogen/pkg-descr
#	hydrogen/distinfo
#	hydrogen/Makefile
#
echo c - hydrogen
mkdir -p hydrogen > /dev/null 2>&1
echo c - hydrogen/files
mkdir -p hydrogen/files > /dev/null 2>&1
echo x - hydrogen/files/patch-lib::Hydrogen.cpp
sed 's/^X//' >hydrogen/files/patch-lib::Hydrogen.cpp << 'END-of-hydrogen/files/patch-lib::Hydrogen.cpp'
X--- lib/Hydrogen.cpp.orig	Tue Jun 22 18:26:12 2004
X+++ lib/Hydrogen.cpp	Wed Jun 23 00:46:14 2004
X@@ -44,6 +44,275 @@
X #include "AlsaMidiDriver.h"
X 
X 
X+/*
X+ * ====================================================
X+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
X+ *
X+ * Developed at SunPro, a Sun Microsystems, Inc. business.
X+ * Permission to use, copy, modify, and distribute this
X+ * software is freely granted, provided that this notice
X+ * is preserved.
X+ * ====================================================
X+ *
X+ * Copyright (c) 2003, Steven G. Kargl
X+ * Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
X+ * Copyright (c) 2002, 2003 David Schultz <dschultz@uclink.Berkeley.EDU>
X+ * All rights reserved.
X+ *
X+ * Redistribution and use in source and binary forms, with or without
X+ * modification, are permitted provided that the following conditions
X+ * are met:
X+ * 1. Redistributions of source code must retain the above copyright
X+ *    notice unmodified, this list of conditions, and the following
X+ *    disclaimer.
X+ * 2. Redistributions in binary form must reproduce the above copyright
X+ *    notice, this list of conditions and the following disclaimer in the
X+ *    documentation and/or other materials provided with the distribution.
X+ *
X+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
X+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
X+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
X+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
X+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
X+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
X+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
X+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
X+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
X+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
X+ */
X+#include <math.h>
X+
X+/* Symbolic constants to classify floating point numbers. */
X+#ifndef FP_INFINITE
X+#define	FP_INFINITE	0x01
X+#endif
X+#ifndef FP_NAN
X+#define	FP_NAN		0x02
X+#endif
X+#ifndef FP_NORMAL
X+#define	FP_NORMAL	0x04
X+#endif
X+#ifndef FP_SUBNORMAL
X+#define	FP_SUBNORMAL	0x08
X+#endif
X+#ifndef FP_ZERO
X+#define	FP_ZERO		0x10
X+#endif
X+
X+#ifndef fpclassify
X+#include <sys/endian.h>
X+#define	fpclassify(x) \
X+    ((sizeof (x) == sizeof (float)) ? __fpclassifyf(x) \
X+    : (sizeof (x) == sizeof (double)) ? __fpclassifyd(x) \
X+    : __fpclassifyl(x))
X+
X+union IEEEf2bits {
X+	float	f;
X+	struct {
X+#if _BYTE_ORDER == _LITTLE_ENDIAN
X+		unsigned int	man	:23;
X+		unsigned int	exp	:8;
X+		unsigned int	sign	:1;
X+#else /* _BIG_ENDIAN */
X+		unsigned int	sign	:1;
X+		unsigned int	exp	:8;
X+		unsigned int	man	:23;
X+#endif
X+	} bits;
X+};
X+
X+union IEEEd2bits {
X+	double	d;
X+	struct {
X+#if _BYTE_ORDER == _LITTLE_ENDIAN
X+		unsigned int	manl	:32;
X+		unsigned int	manh	:20;
X+		unsigned int	exp	:11;
X+		unsigned int	sign	:1;
X+#else /* _BIG_ENDIAN */
X+		unsigned int	sign	:1;
X+		unsigned int	exp	:11;
X+		unsigned int	manh	:20;
X+		unsigned int	manl	:32;
X+#endif
X+	} bits;
X+};
X+
X+#ifdef __alpha__
X+union IEEEl2bits {
X+	long double	e;
X+	struct {
X+		unsigned int	manl	:32;
X+		unsigned int	manh	:20;
X+		unsigned int	exp	:11;
X+		unsigned int	sign	:1;
X+	} bits;
X+};
X+#define	mask_nbit_l(u)	((void)0)
X+#elif __amd64__
X+union IEEEl2bits {
X+	long double	e;
X+	struct {
X+		unsigned int	manl	:32;
X+		unsigned int	manh	:32;
X+		unsigned int	exp	:15;
X+		unsigned int	sign	:1;
X+		unsigned int	junkl	:16;
X+		unsigned int	junkh	:32;
X+	} bits;
X+};
X+#define	mask_nbit_l(u)	((u).bits.manh &= 0x7fffffff)
X+#elif __arm__
X+union IEEEl2bits {
X+	long double	e;
X+	struct {
X+		unsigned int	manl	:32;
X+		unsigned int	manh	:32;
X+		unsigned int	exp	:15;
X+		unsigned int	sign	:1;
X+		unsigned int	junk	:16;
X+	} bits;
X+};
X+#define	mask_nbit_l(u)	((u).bits.manh &= 0x7fffffff)
X+#elif __i386__
X+union IEEEl2bits {
X+	long double	e;
X+	struct {
X+		unsigned int	manl	:32;
X+		unsigned int	manh	:32;
X+		unsigned int	exp	:15;
X+		unsigned int	sign	:1;
X+		unsigned int	junk	:16;
X+	} bits;
X+};
X+#define	mask_nbit_l(u)	((u).bits.manh &= 0x7fffffff)
X+#elif __ia64__
X+union IEEEl2bits {
X+	long double	e;
X+	struct {
X+#if _BYTE_ORDER == _LITTLE_ENDIAN
X+		unsigned int	manl	:32;
X+		unsigned int	manh	:32;
X+		unsigned int	exp	:15;
X+		unsigned int	sign	:1;
X+		unsigned long	junk	:48;
X+#else /* _BIG_ENDIAN */
X+		unsigned long	junk	:48;
X+		unsigned int	sign	:1;
X+		unsigned int	exp	:15;
X+		unsigned int	manh	:32;
X+		unsigned int	manl	:32;
X+#endif
X+	} bits;
X+};
X+#define	mask_nbit_l(u)	((u).bits.manh &= 0x7fffffff)
X+#elif __powerpc__
X+union IEEEl2bits {
X+	long double	e;
X+	struct {
X+		unsigned int		sign	:1;
X+		unsigned int		exp	:15;
X+		unsigned long long	manh	:48;
X+		unsigned long long	manl	:64;
X+	} bits;
X+};
X+#define	mask_nbit_l(u)	((void)0)
X+#elif __sparc64__
X+union IEEEl2bits {
X+	long double	e;
X+	struct {
X+		unsigned int	sign	:1;
X+		unsigned int	exp	:15;
X+		unsigned long	manh	:48;
X+		unsigned long	manl	:64;
X+	} bits;
X+};
X+#define	mask_nbit_l(u)	((void)0)
X+#endif
X+
X+static int
X+__fpclassifyf(float f)
X+{
X+	union IEEEf2bits u;
X+
X+	u.f = f;
X+	if (u.bits.exp == 0) {
X+		if (u.bits.man == 0)
X+			return (FP_ZERO);
X+		return (FP_SUBNORMAL);
X+	}
X+	if (u.bits.exp == 255) {
X+		if (u.bits.man == 0)
X+			return (FP_INFINITE);
X+		return (FP_NAN);
X+	}
X+	return (FP_NORMAL);
X+}
X+
X+static int
X+__fpclassifyd(double d)
X+{
X+	union IEEEd2bits u;
X+
X+	u.d = d;
X+	if (u.bits.exp == 0) {
X+		if ((u.bits.manl | u.bits.manh) == 0)
X+			return (FP_ZERO);
X+		return (FP_SUBNORMAL);
X+	}
X+	if (u.bits.exp == 2047) {
X+		if ((u.bits.manl | u.bits.manh) == 0)
X+			return (FP_INFINITE);
X+		return (FP_NAN);
X+	}
X+	return (FP_NORMAL);
X+}
X+
X+static int
X+__fpclassifyl(long double e)
X+{
X+	union IEEEl2bits u;
X+
X+	u.e = e;
X+	if (u.bits.exp == 0) {
X+		if ((u.bits.manl | u.bits.manh) == 0)
X+			return (FP_ZERO);
X+		return (FP_SUBNORMAL);
X+	}
X+	mask_nbit_l(u);		/* Mask normalization bit if applicable. */
X+	if (u.bits.exp == 32767) {
X+		if ((u.bits.manl | u.bits.manh) == 0)
X+			return (FP_INFINITE);
X+		return (FP_NAN);
X+	}
X+	return (FP_NORMAL);
X+}
X+#endif /* fp_classify */
X+
X+static double
X+round(double x)
X+{
X+	double t;
X+	int i;
X+
X+	i = fpclassify(x);
X+	if (i == FP_INFINITE || i == FP_NAN)
X+		return (x);
X+
X+	if (x >= 0.0) {
X+		t = ceil(x);
X+		if (t - x > 0.5)
X+			t -= 1.0;
X+		return (t);
X+	} else {
X+		t = ceil(-x);
X+		if (t + x > 0.5)
X+			t -= 1.0;
X+		return (-t);
X+	}
X+}
X+
X+
X // GLOBALS
X 
X pthread_mutex_t m_engineLock_mutex;	/// Mutex for syncronized access to the song object
END-of-hydrogen/files/patch-lib::Hydrogen.cpp
echo x - hydrogen/files/patch-lib::Object.h
sed 's/^X//' >hydrogen/files/patch-lib::Object.h << 'END-of-hydrogen/files/patch-lib::Object.h'
X--- lib/Object.h.orig	Wed Jun 23 01:10:55 2004
X+++ lib/Object.h	Wed Jun 23 01:11:45 2004
X@@ -31,6 +31,7 @@
X #include <string>
X using std::string;
X using std::map;
X+#include <qglobal.h>
X 
X 
X class Object;
END-of-hydrogen/files/patch-lib::Object.h
echo x - hydrogen/files/patch-tools::Makefile.in
sed 's/^X//' >hydrogen/files/patch-tools::Makefile.in << 'END-of-hydrogen/files/patch-tools::Makefile.in'
X--- tools/Makefile.in.orig	Tue Jun 22 18:51:15 2004
X+++ tools/Makefile.in	Tue Jun 22 18:51:24 2004
X@@ -243,7 +243,7 @@
X 
X hydrogenPlayer_SOURCES = hydrogenPlayer.cpp
X hydrogenPlayer_LDADD = ../lib/libhydrogen.a
X-hydrogenPlayer_LDFLAGS = -ldl $(all_libraries)
X+hydrogenPlayer_LDFLAGS = $(all_libraries)
X subdir = tools
X mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
X CONFIG_HEADER = $(top_builddir)/config.h
END-of-hydrogen/files/patch-tools::Makefile.in
echo x - hydrogen/pkg-plist
sed 's/^X//' >hydrogen/pkg-plist << 'END-of-hydrogen/pkg-plist'
Xbin/hydrogen
Xbin/hydrogenPlayer
Xshare/hydrogen/data/DefaultSong.h2song
Xshare/hydrogen/data/click.wav
Xshare/hydrogen/data/demo_songs/GM_kit_Diddley.h2song
Xshare/hydrogen/data/demo_songs/GM_kit_Jazzy.h2song
Xshare/hydrogen/data/demo_songs/GM_kit_demo1.h2song
Xshare/hydrogen/data/demo_songs/GM_kit_demo2.h2song
Xshare/hydrogen/data/demo_songs/GM_kit_demo3.h2song
Xshare/hydrogen/data/drumkits/GMkit/clap_Dry_c.wav
Xshare/hydrogen/data/drumkits/GMkit/cra_Jazz.wav
Xshare/hydrogen/data/drumkits/GMkit/cra_Rock_a.wav
Xshare/hydrogen/data/drumkits/GMkit/cym_Jazz.wav
Xshare/hydrogen/data/drumkits/GMkit/cym_Rock_b.wav
Xshare/hydrogen/data/drumkits/GMkit/drumkit.xml
Xshare/hydrogen/data/drumkits/GMkit/emptySample.wav
Xshare/hydrogen/data/drumkits/GMkit/hhc_Dry_a.wav
Xshare/hydrogen/data/drumkits/GMkit/hhc_Rock_b.wav
Xshare/hydrogen/data/drumkits/GMkit/hhp_Dry_a.wav
Xshare/hydrogen/data/drumkits/GMkit/kick_Dry_b.wav
Xshare/hydrogen/data/drumkits/GMkit/misc_Cowbell.wav
Xshare/hydrogen/data/drumkits/GMkit/sn_Jazz_c.wav
Xshare/hydrogen/data/drumkits/GMkit/sn_Wet_b.wav
Xshare/hydrogen/data/drumkits/GMkit/stick_Woody.wav
Xshare/hydrogen/data/drumkits/GMkit/tom_Rock_hi.wav
Xshare/hydrogen/data/drumkits/GMkit/tom_Rock_lo.wav
Xshare/hydrogen/data/drumkits/GMkit/tom_Rock_mid.wav
Xshare/hydrogen/data/emptySample.wav
Xshare/hydrogen/i18n/hydrogen.es.qm
Xshare/hydrogen/i18n/hydrogen.fr.qm
Xshare/hydrogen/i18n/hydrogen.it.qm
Xshare/hydrogen/i18n/hydrogen.ru.qm
Xshare/hydrogen/img/about/aboutLogo.png
Xshare/hydrogen/img/icon16.png
Xshare/hydrogen/img/icon32.png
Xshare/hydrogen/img/icon64.png
Xshare/hydrogen/img/mdiBackground.png
Xshare/hydrogen/img/mixerPanel/btn_edit_off.png
Xshare/hydrogen/img/mixerPanel/btn_edit_on.png
Xshare/hydrogen/img/mixerPanel/btn_edit_over.png
Xshare/hydrogen/img/mixerPanel/btn_load_off.png
Xshare/hydrogen/img/mixerPanel/btn_load_over.png
Xshare/hydrogen/img/mixerPanel/btn_mute_off.png
Xshare/hydrogen/img/mixerPanel/btn_mute_on.png
Xshare/hydrogen/img/mixerPanel/btn_mute_over.png
Xshare/hydrogen/img/mixerPanel/btn_on_off.png
Xshare/hydrogen/img/mixerPanel/btn_on_on.png
Xshare/hydrogen/img/mixerPanel/btn_on_over.png
Xshare/hydrogen/img/mixerPanel/btn_play_off.png
Xshare/hydrogen/img/mixerPanel/btn_play_on.png
Xshare/hydrogen/img/mixerPanel/btn_play_over.png
Xshare/hydrogen/img/mixerPanel/btn_solo_off.png
Xshare/hydrogen/img/mixerPanel/btn_solo_on.png
Xshare/hydrogen/img/mixerPanel/btn_solo_over.png
Xshare/hydrogen/img/mixerPanel/fader_background.png
Xshare/hydrogen/img/mixerPanel/fader_knob.png
Xshare/hydrogen/img/mixerPanel/fader_leds.png
Xshare/hydrogen/img/mixerPanel/knob_images.png
Xshare/hydrogen/img/mixerPanel/masterMixerline_background.png
Xshare/hydrogen/img/mixerPanel/mixer_background.png
Xshare/hydrogen/img/mixerPanel/mixerline_background.png
Xshare/hydrogen/img/mixerPanel/mixerline_background_on.png
Xshare/hydrogen/img/mixerPanel/mixerline_label_background.png
Xshare/hydrogen/img/mixerPanel/mixerline_text_background.png
Xshare/hydrogen/img/mixerPanel/panFader_background.png
Xshare/hydrogen/img/mixerPanel/showFX_off.png
Xshare/hydrogen/img/mixerPanel/showFX_on.png
Xshare/hydrogen/img/mixerPanel/showFX_over.png
Xshare/hydrogen/img/mixerPanel/showMixer_off.png
Xshare/hydrogen/img/mixerPanel/showMixer_on.png
Xshare/hydrogen/img/mixerPanel/showMixer_over.png
Xshare/hydrogen/img/mixerPanel/showPeaks_off.png
Xshare/hydrogen/img/mixerPanel/showPeaks_on.png
Xshare/hydrogen/img/mixerPanel/showPeaks_over.png
Xshare/hydrogen/img/patternEditor/editor_background.png
Xshare/hydrogen/img/patternEditor/hearBtn_off.png
Xshare/hydrogen/img/patternEditor/hearBtn_on.png
Xshare/hydrogen/img/patternEditor/hearBtn_over.png
Xshare/hydrogen/img/patternEditor/patternEditor_background.png
Xshare/hydrogen/img/patternEditor/quantBtn_off.png
Xshare/hydrogen/img/patternEditor/quantBtn_on.png
Xshare/hydrogen/img/patternEditor/quantBtn_over.png
Xshare/hydrogen/img/patternEditor/recBtn_off.png
Xshare/hydrogen/img/patternEditor/recBtn_on.png
Xshare/hydrogen/img/patternEditor/recBtn_over.png
Xshare/hydrogen/img/patternEditor/tickPosition.png
Xshare/hydrogen/img/playerControlPanel/background.png
Xshare/hydrogen/img/playerControlPanel/btn_live_off.png
Xshare/hydrogen/img/playerControlPanel/btn_live_on.png
Xshare/hydrogen/img/playerControlPanel/btn_live_over.png
Xshare/hydrogen/img/playerControlPanel/btn_loop_off.png
Xshare/hydrogen/img/playerControlPanel/btn_loop_on.png
Xshare/hydrogen/img/playerControlPanel/btn_loop_over.png
Xshare/hydrogen/img/playerControlPanel/btn_play_off.png
Xshare/hydrogen/img/playerControlPanel/btn_play_on.png
Xshare/hydrogen/img/playerControlPanel/btn_play_over.png
Xshare/hydrogen/img/playerControlPanel/btn_song_off.png
Xshare/hydrogen/img/playerControlPanel/btn_song_on.png
Xshare/hydrogen/img/playerControlPanel/btn_song_over.png
Xshare/hydrogen/img/playerControlPanel/btn_stop_off.png
Xshare/hydrogen/img/playerControlPanel/btn_stop_on.png
Xshare/hydrogen/img/playerControlPanel/btn_stop_over.png
Xshare/hydrogen/img/playerControlPanel/cpuLoad_back.png
Xshare/hydrogen/img/playerControlPanel/cpuLoad_leds.png
Xshare/hydrogen/img/playerControlPanel/jackTransportBtn_off.png
Xshare/hydrogen/img/playerControlPanel/jackTransportBtn_on.png
Xshare/hydrogen/img/playerControlPanel/jackTransportBtn_over.png
Xshare/hydrogen/img/playerControlPanel/midiActivity_back.png
Xshare/hydrogen/img/playerControlPanel/midiActivity_on.png
Xshare/hydrogen/img/songEditor/downBtn_off.png
Xshare/hydrogen/img/songEditor/downBtn_on.png
Xshare/hydrogen/img/songEditor/downBtn_over.png
Xshare/hydrogen/img/songEditor/newPatternBtn_off.png
Xshare/hydrogen/img/songEditor/newPatternBtn_on.png
Xshare/hydrogen/img/songEditor/newPatternBtn_over.png
Xshare/hydrogen/img/songEditor/patternIcon.png
Xshare/hydrogen/img/songEditor/patternListIcon.png
Xshare/hydrogen/img/songEditor/patternSequenceIcon.png
Xshare/hydrogen/img/songEditor/playingIcon.png
Xshare/hydrogen/img/songEditor/songFuncBtn_off.png
Xshare/hydrogen/img/songEditor/songFuncBtn_on.png
Xshare/hydrogen/img/songEditor/songFuncBtn_over.png
Xshare/hydrogen/img/songEditor/songIcon.png
Xshare/hydrogen/img/songEditor/upBtn_off.png
Xshare/hydrogen/img/songEditor/upBtn_on.png
Xshare/hydrogen/img/songEditor/upBtn_over.png
Xshare/hydrogen/img/splash/splash.png
Xshare/hydrogen/manual/img/AudioEngineInfoDialog.png
Xshare/hydrogen/manual/img/CreateNewPattern.png
Xshare/hydrogen/manual/img/DrumkitExport.png
Xshare/hydrogen/manual/img/DrumkitImport.png
Xshare/hydrogen/manual/img/DrumkitLoad.png
Xshare/hydrogen/manual/img/DrumkitSave.png
Xshare/hydrogen/manual/img/HearNewNotes.png
Xshare/hydrogen/manual/img/MainModePattern.png
Xshare/hydrogen/manual/img/MainModeSong.png
Xshare/hydrogen/manual/img/MainPlay.png
Xshare/hydrogen/manual/img/MainRecord.png
Xshare/hydrogen/manual/img/MainStop.png
Xshare/hydrogen/manual/img/MainToolbar.png
Xshare/hydrogen/manual/img/Mixer.png
Xshare/hydrogen/manual/img/MixerDelay.png
Xshare/hydrogen/manual/img/MixerFXEdit.png
Xshare/hydrogen/manual/img/MixerFXSelect.png
Xshare/hydrogen/manual/img/MixerLoadSample.png
Xshare/hydrogen/manual/img/MixerMute.png
Xshare/hydrogen/manual/img/MixerPan.png
Xshare/hydrogen/manual/img/MixerPlayTest.png
Xshare/hydrogen/manual/img/MixerSolo.png
Xshare/hydrogen/manual/img/MovePatternDown.png
Xshare/hydrogen/manual/img/MovePatternUp.png
Xshare/hydrogen/manual/img/PatternEditor.png
Xshare/hydrogen/manual/img/PreferencesAppearance.png
Xshare/hydrogen/manual/img/PreferencesAudioSystem.png
Xshare/hydrogen/manual/img/PreferencesGeneral.png
Xshare/hydrogen/manual/img/PreferencesMidiSystem.png
Xshare/hydrogen/manual/img/SongEditor.png
Xshare/hydrogen/manual/img/SongLoop.png
Xshare/hydrogen/manual/img/SongOperations.png
Xshare/hydrogen/manual/img/TutorialEnd.png
Xshare/hydrogen/manual/img/TutorialStart.png
Xshare/hydrogen/manual/img/bpm.png
Xshare/hydrogen/manual/img/btn_edit_on.png
Xshare/hydrogen/manual/img/btn_on_on.png
Xshare/hydrogen/manual/img/cpuload.png
Xshare/hydrogen/manual/img/jack_transport.png
Xshare/hydrogen/manual/img/midi_in.png
Xshare/hydrogen/manual/img/quantBtn_off.png
Xshare/hydrogen/manual/img/recBtn_on.png
Xshare/hydrogen/manual/img/showFX_on.png
Xshare/hydrogen/manual/img/showPeaks_on.png
Xshare/hydrogen/manual/img/tastiera.png
Xshare/hydrogen/manual/manual.html
Xshare/hydrogen/manual/manual_de.html
Xshare/hydrogen/manual/manual_en.html
Xshare/hydrogen/manual/manual_es.html
Xshare/hydrogen/manual/manual_it.html
X@dirrm share/hydrogen/data/demo_songs
X@dirrm share/hydrogen/data/drumkits/GMkit
X@dirrm share/hydrogen/data/drumkits
X@dirrm share/hydrogen/data
X@dirrm share/hydrogen/i18n
X@dirrm share/hydrogen/img/about
X@dirrm share/hydrogen/img/mixerPanel
X@dirrm share/hydrogen/img/patternEditor
X@dirrm share/hydrogen/img/playerControlPanel
X@dirrm share/hydrogen/img/songEditor
X@dirrm share/hydrogen/img/splash
X@dirrm share/hydrogen/img
X@dirrm share/hydrogen/manual/img
X@dirrm share/hydrogen/manual
X@dirrm share/hydrogen
END-of-hydrogen/pkg-plist
echo x - hydrogen/pkg-descr
sed 's/^X//' >hydrogen/pkg-descr << 'END-of-hydrogen/pkg-descr'
XHydrogen is an advanced drum machine. Its main goal is to bring
Xprofessional yet simple and intuitive pattern-based drum programming.
X
XWWW: http://hydrogen.sourceforge.net/
X
X- Jean-Yves Lefort
Xjylefort@brutele.be
END-of-hydrogen/pkg-descr
echo x - hydrogen/distinfo
sed 's/^X//' >hydrogen/distinfo << 'END-of-hydrogen/distinfo'
XMD5 (hydrogen-0.8.2.tar.gz) = 65e16cabfaa414dabdd0039cad5eee94
XSIZE (hydrogen-0.8.2.tar.gz) = 2066644
END-of-hydrogen/distinfo
echo x - hydrogen/Makefile
sed 's/^X//' >hydrogen/Makefile << 'END-of-hydrogen/Makefile'
X# New ports collection makefile for:	Hydrogen
X# Date created:			23 Jun 2004
X# Whom:				Jean-Yves Lefort <jylefort@brutele.be>
X#
X# $FreeBSD$
X#
X
XPORTNAME=		hydrogen
XPORTVERSION=		0.8.2
XCATEGORIES=		audio
XMASTER_SITES=		${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=	${PORTNAME}
X
XMAINTAINER=		jylefort@brutele.be
XCOMMENT=		An advanced drum machine
X
XLIB_DEPENDS=		audiofile:${PORTSDIR}/audio/libaudiofile
X
XUSE_X_PREFIX=		yes
XGNU_CONFIGURE=		yes
XUSE_GMAKE=		yes
XUSE_REINPLACE=		yes
XUSE_GETOPT_LONG=	yes
XUSE_QT_VER=		3
XCPPFLAGS=		-I${LOCALBASE}/include -I${X11BASE}/include
XLDFLAGS=		-L${LOCALBASE}/lib -L${X11BASE}/lib
XCONFIGURE_ENV=		CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
XCONFIGURE_ARGS=		--program-prefix="" --disable-alsa-seq
XALL_TARGET=		clean all
X
XMAN1=			hydrogen.1
X
XOPTIONS=		JACK "JACK support" off \
X			OSS "OSS support" on \
X			LRDF "LRDF support" off
X
X.include <bsd.port.pre.mk>
X
X.if defined(WITH_JACK)
XLIB_DEPENDS+=		jack:${PORTSDIR}/audio/jack
X.else
XCONFIGURE_ARGS+=	--disable-jack-support
X.endif
X
X.if defined(WITHOUT_OSS)
XCONFIGURE_ARGS+=	--disable-oss-support
X.endif
X
X.if defined(WITH_LRDF)
XLIB_DEPENDS+=		lrdf:${PORTSDIR}/textproc/liblrdf
X.else
XCONFIGURE_ARGS+=	--disable-lrdf-support
X.endif
X
Xpost-patch:
X	@${REINPLACE_CMD} \
X		-e 's|-O2||g' \
X		-e 's|CXXFLAGS="-O3"||' \
X		-e 's|-pthread|${PTHREAD_LIBS}|g' \
X		${WRKSRC}/${CONFIGURE_SCRIPT}
X	@${REINPLACE_CMD} -e 's|/usr|${LOCALBASE}|' \
X		${WRKSRC}/lib/LadspaFX.cpp \
X		${WRKSRC}/lib/PreferencesMng.cpp
X	@${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' \
X		${WRKSRC}/data/demo_songs/*.h2song
X
X.include <bsd.port.post.mk>
END-of-hydrogen/Makefile
exit

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->krion 
Responsible-Changed-By: krion 
Responsible-Changed-When: Wed Jun 23 14:31:57 GMT 2004 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=68242 
State-Changed-From-To: open->feedback  
State-Changed-By: krion 
State-Changed-When: Thu Jun 24 08:08:11 GMT 2004 
State-Changed-Why:  
It doesn't build on 5-x: 

Hydrogen.cpp: In function `int __fpclassifyf(float)': 
Hydrogen.cpp:235: error: `int __fpclassifyf(float)' was declared `extern' and 
later `static' 
/usr/include/math.h:167: error: previous declaration of `int 
__fpclassifyf(float)' 
Hydrogen.cpp: In function `int __fpclassifyd(double)': 
Hydrogen.cpp:254: error: `int __fpclassifyd(double)' was declared `extern' and 
later `static' 
/usr/include/math.h:166: error: previous declaration of `int 
__fpclassifyd(double)' 
Hydrogen.cpp: In function `int __fpclassifyl(long double)': 
Hydrogen.cpp:273: error: `int __fpclassifyl(long double)' was declared `extern' 
and later `static' 
/usr/include/math.h:168: error: previous declaration of `int __fpclassifyl(long 
double)' 

http://www.freebsd.org/cgi/query-pr.cgi?pr=68242 

From: Jean-Yves Lefort <jylefort@brutele.be>
To: freebsd-gnats-submit@FreeBSD.org
Cc: Kirill Ponomarew <krion@FreeBSD.org>
Subject: Re: ports/68242: New port: audio/hydrogen, an advanced drum machine
Date: Thu, 24 Jun 2004 17:19:29 +0200

 Here's the fixed port:
 
 # 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:
 #
 #	hydrogen
 #	hydrogen/files
 #	hydrogen/files/patch-lib::Hydrogen.cpp
 #	hydrogen/files/patch-lib::Object.h
 #	hydrogen/files/patch-tools::Makefile.in
 #	hydrogen/pkg-plist
 #	hydrogen/pkg-descr
 #	hydrogen/distinfo
 #	hydrogen/Makefile
 #
 echo c - hydrogen
 mkdir -p hydrogen > /dev/null 2>&1
 echo c - hydrogen/files
 mkdir -p hydrogen/files > /dev/null 2>&1
 echo x - hydrogen/files/patch-lib::Hydrogen.cpp
 sed 's/^X//' >hydrogen/files/patch-lib::Hydrogen.cpp << 'END-of-hydrogen/files/patch-lib::Hydrogen.cpp'
 X--- lib/Hydrogen.cpp.orig	Tue Mar  9 11:31:37 2004
 X+++ lib/Hydrogen.cpp	Thu Jun 24 17:05:13 2004
 X@@ -44,6 +44,263 @@
 X #include "AlsaMidiDriver.h"
 X 
 X 
 X+/*
 X+ * ====================================================
 X+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 X+ *
 X+ * Developed at SunPro, a Sun Microsystems, Inc. business.
 X+ * Permission to use, copy, modify, and distribute this
 X+ * software is freely granted, provided that this notice
 X+ * is preserved.
 X+ * ====================================================
 X+ *
 X+ * Copyright (c) 2003, Steven G. Kargl
 X+ * Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
 X+ * Copyright (c) 2002, 2003 David Schultz <dschultz@uclink.Berkeley.EDU>
 X+ * All rights reserved.
 X+ *
 X+ * Redistribution and use in source and binary forms, with or without
 X+ * modification, are permitted provided that the following conditions
 X+ * are met:
 X+ * 1. Redistributions of source code must retain the above copyright
 X+ *    notice unmodified, this list of conditions, and the following
 X+ *    disclaimer.
 X+ * 2. Redistributions in binary form must reproduce the above copyright
 X+ *    notice, this list of conditions and the following disclaimer in the
 X+ *    documentation and/or other materials provided with the distribution.
 X+ *
 X+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 X+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 X+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 X+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 X+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 X+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 X+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 X+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 X+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 X+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 X+ */
 X+#include <math.h>
 X+
 X+/* Symbolic constants to classify floating point numbers. */
 X+#define	COMPAT_FP_INFINITE	0x01
 X+#define	COMPAT_FP_NAN		0x02
 X+#define	COMPAT_FP_NORMAL	0x04
 X+#define	COMPAT_FP_SUBNORMAL	0x08
 X+#define	COMPAT_FP_ZERO		0x10
 X+
 X+#include <sys/endian.h>
 X+#define	compat_fpclassify(x) \
 X+    ((sizeof (x) == sizeof (float)) ? compat___fpclassifyf(x) \
 X+    : (sizeof (x) == sizeof (double)) ? compat___fpclassifyd(x) \
 X+    : compat___fpclassifyl(x))
 X+
 X+union compat_IEEEf2bits {
 X+	float	f;
 X+	struct {
 X+#if _BYTE_ORDER == _LITTLE_ENDIAN
 X+		unsigned int	man	:23;
 X+		unsigned int	exp	:8;
 X+		unsigned int	sign	:1;
 X+#else /* _BIG_ENDIAN */
 X+		unsigned int	sign	:1;
 X+		unsigned int	exp	:8;
 X+		unsigned int	man	:23;
 X+#endif
 X+	} bits;
 X+};
 X+
 X+union compat_IEEEd2bits {
 X+	double	d;
 X+	struct {
 X+#if _BYTE_ORDER == _LITTLE_ENDIAN
 X+		unsigned int	manl	:32;
 X+		unsigned int	manh	:20;
 X+		unsigned int	exp	:11;
 X+		unsigned int	sign	:1;
 X+#else /* _BIG_ENDIAN */
 X+		unsigned int	sign	:1;
 X+		unsigned int	exp	:11;
 X+		unsigned int	manh	:20;
 X+		unsigned int	manl	:32;
 X+#endif
 X+	} bits;
 X+};
 X+
 X+#ifdef __alpha__
 X+union compat_IEEEl2bits {
 X+	long double	e;
 X+	struct {
 X+		unsigned int	manl	:32;
 X+		unsigned int	manh	:20;
 X+		unsigned int	exp	:11;
 X+		unsigned int	sign	:1;
 X+	} bits;
 X+};
 X+#define	compat_mask_nbit_l(u)	((void)0)
 X+#elif __amd64__
 X+union compat_IEEEl2bits {
 X+	long double	e;
 X+	struct {
 X+		unsigned int	manl	:32;
 X+		unsigned int	manh	:32;
 X+		unsigned int	exp	:15;
 X+		unsigned int	sign	:1;
 X+		unsigned int	junkl	:16;
 X+		unsigned int	junkh	:32;
 X+	} bits;
 X+};
 X+#define	compat_mask_nbit_l(u)	((u).bits.manh &= 0x7fffffff)
 X+#elif __arm__
 X+union compat_IEEEl2bits {
 X+	long double	e;
 X+	struct {
 X+		unsigned int	manl	:32;
 X+		unsigned int	manh	:32;
 X+		unsigned int	exp	:15;
 X+		unsigned int	sign	:1;
 X+		unsigned int	junk	:16;
 X+	} bits;
 X+};
 X+#define	compat_mask_nbit_l(u)	((u).bits.manh &= 0x7fffffff)
 X+#elif __i386__
 X+union compat_IEEEl2bits {
 X+	long double	e;
 X+	struct {
 X+		unsigned int	manl	:32;
 X+		unsigned int	manh	:32;
 X+		unsigned int	exp	:15;
 X+		unsigned int	sign	:1;
 X+		unsigned int	junk	:16;
 X+	} bits;
 X+};
 X+#define	compat_mask_nbit_l(u)	((u).bits.manh &= 0x7fffffff)
 X+#elif __ia64__
 X+union compat_IEEEl2bits {
 X+	long double	e;
 X+	struct {
 X+#if _BYTE_ORDER == _LITTLE_ENDIAN
 X+		unsigned int	manl	:32;
 X+		unsigned int	manh	:32;
 X+		unsigned int	exp	:15;
 X+		unsigned int	sign	:1;
 X+		unsigned long	junk	:48;
 X+#else /* _BIG_ENDIAN */
 X+		unsigned long	junk	:48;
 X+		unsigned int	sign	:1;
 X+		unsigned int	exp	:15;
 X+		unsigned int	manh	:32;
 X+		unsigned int	manl	:32;
 X+#endif
 X+	} bits;
 X+};
 X+#define	compat_mask_nbit_l(u)	((u).bits.manh &= 0x7fffffff)
 X+#elif __powerpc__
 X+union compat_IEEEl2bits {
 X+	long double	e;
 X+	struct {
 X+		unsigned int		sign	:1;
 X+		unsigned int		exp	:15;
 X+		unsigned long long	manh	:48;
 X+		unsigned long long	manl	:64;
 X+	} bits;
 X+};
 X+#define	compat_mask_nbit_l(u)	((void)0)
 X+#elif __sparc64__
 X+union compat_IEEEl2bits {
 X+	long double	e;
 X+	struct {
 X+		unsigned int	sign	:1;
 X+		unsigned int	exp	:15;
 X+		unsigned long	manh	:48;
 X+		unsigned long	manl	:64;
 X+	} bits;
 X+};
 X+#define	compat_mask_nbit_l(u)	((void)0)
 X+#endif
 X+
 X+static int
 X+compat___fpclassifyf(float f)
 X+{
 X+	union compat_IEEEf2bits u;
 X+
 X+	u.f = f;
 X+	if (u.bits.exp == 0) {
 X+		if (u.bits.man == 0)
 X+			return (COMPAT_FP_ZERO);
 X+		return (COMPAT_FP_SUBNORMAL);
 X+	}
 X+	if (u.bits.exp == 255) {
 X+		if (u.bits.man == 0)
 X+			return (COMPAT_FP_INFINITE);
 X+		return (COMPAT_FP_NAN);
 X+	}
 X+	return (COMPAT_FP_NORMAL);
 X+}
 X+
 X+static int
 X+compat___fpclassifyd(double d)
 X+{
 X+	union compat_IEEEd2bits u;
 X+
 X+	u.d = d;
 X+	if (u.bits.exp == 0) {
 X+		if ((u.bits.manl | u.bits.manh) == 0)
 X+			return (COMPAT_FP_ZERO);
 X+		return (COMPAT_FP_SUBNORMAL);
 X+	}
 X+	if (u.bits.exp == 2047) {
 X+		if ((u.bits.manl | u.bits.manh) == 0)
 X+			return (COMPAT_FP_INFINITE);
 X+		return (COMPAT_FP_NAN);
 X+	}
 X+	return (COMPAT_FP_NORMAL);
 X+}
 X+
 X+static int
 X+compat___fpclassifyl(long double e)
 X+{
 X+	union compat_IEEEl2bits u;
 X+
 X+	u.e = e;
 X+	if (u.bits.exp == 0) {
 X+		if ((u.bits.manl | u.bits.manh) == 0)
 X+			return (COMPAT_FP_ZERO);
 X+		return (COMPAT_FP_SUBNORMAL);
 X+	}
 X+	compat_mask_nbit_l(u);		/* Mask normalization bit if applicable. */
 X+	if (u.bits.exp == 32767) {
 X+		if ((u.bits.manl | u.bits.manh) == 0)
 X+			return (COMPAT_FP_INFINITE);
 X+		return (COMPAT_FP_NAN);
 X+	}
 X+	return (COMPAT_FP_NORMAL);
 X+}
 X+
 X+static double
 X+compat_round(double x)
 X+{
 X+	double t;
 X+	int i;
 X+
 X+	i = compat_fpclassify(x);
 X+	if (i == COMPAT_FP_INFINITE || i == COMPAT_FP_NAN)
 X+		return (x);
 X+
 X+	if (x >= 0.0) {
 X+		t = ceil(x);
 X+		if (t - x > 0.5)
 X+			t -= 1.0;
 X+		return (t);
 X+	} else {
 X+		t = ceil(-x);
 X+		if (t + x > 0.5)
 X+			t -= 1.0;
 X+		return (-t);
 X+	}
 X+}
 X+
 X+
 X // GLOBALS
 X 
 X pthread_mutex_t m_engineLock_mutex;	/// Mutex for syncronized access to the song object
 X@@ -1919,7 +2176,7 @@
 X 	uint res = pref->getPatternEditorGridResolution();
 X 	int nBase = pref->isPatternEditorUsingTriplets() ? 3 : 4;
 X 	int scalar = (4 * MAX_NOTES) / (res*nBase);
 X-	int qcolumn = (int)::round(column / (double)scalar) * scalar;
 X+	int qcolumn = (int)::compat_round(column / (double)scalar) * scalar;
 X 	if (qcolumn == MAX_NOTES) qcolumn = 0;
 X 
 X 	//printf ("column=%d  qcol=%d\n", column, qcolumn);
 END-of-hydrogen/files/patch-lib::Hydrogen.cpp
 echo x - hydrogen/files/patch-lib::Object.h
 sed 's/^X//' >hydrogen/files/patch-lib::Object.h << 'END-of-hydrogen/files/patch-lib::Object.h'
 X--- lib/Object.h.orig	Wed Jun 23 01:10:55 2004
 X+++ lib/Object.h	Wed Jun 23 01:11:45 2004
 X@@ -31,6 +31,7 @@
 X #include <string>
 X using std::string;
 X using std::map;
 X+#include <qglobal.h>
 X 
 X 
 X class Object;
 END-of-hydrogen/files/patch-lib::Object.h
 echo x - hydrogen/files/patch-tools::Makefile.in
 sed 's/^X//' >hydrogen/files/patch-tools::Makefile.in << 'END-of-hydrogen/files/patch-tools::Makefile.in'
 X--- tools/Makefile.in.orig	Tue Jun 22 18:51:15 2004
 X+++ tools/Makefile.in	Tue Jun 22 18:51:24 2004
 X@@ -243,7 +243,7 @@
 X 
 X hydrogenPlayer_SOURCES = hydrogenPlayer.cpp
 X hydrogenPlayer_LDADD = ../lib/libhydrogen.a
 X-hydrogenPlayer_LDFLAGS = -ldl $(all_libraries)
 X+hydrogenPlayer_LDFLAGS = $(all_libraries)
 X subdir = tools
 X mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
 X CONFIG_HEADER = $(top_builddir)/config.h
 END-of-hydrogen/files/patch-tools::Makefile.in
 echo x - hydrogen/pkg-plist
 sed 's/^X//' >hydrogen/pkg-plist << 'END-of-hydrogen/pkg-plist'
 Xbin/hydrogen
 Xbin/hydrogenPlayer
 Xshare/hydrogen/data/DefaultSong.h2song
 Xshare/hydrogen/data/click.wav
 Xshare/hydrogen/data/demo_songs/GM_kit_Diddley.h2song
 Xshare/hydrogen/data/demo_songs/GM_kit_Jazzy.h2song
 Xshare/hydrogen/data/demo_songs/GM_kit_demo1.h2song
 Xshare/hydrogen/data/demo_songs/GM_kit_demo2.h2song
 Xshare/hydrogen/data/demo_songs/GM_kit_demo3.h2song
 Xshare/hydrogen/data/drumkits/GMkit/clap_Dry_c.wav
 Xshare/hydrogen/data/drumkits/GMkit/cra_Jazz.wav
 Xshare/hydrogen/data/drumkits/GMkit/cra_Rock_a.wav
 Xshare/hydrogen/data/drumkits/GMkit/cym_Jazz.wav
 Xshare/hydrogen/data/drumkits/GMkit/cym_Rock_b.wav
 Xshare/hydrogen/data/drumkits/GMkit/drumkit.xml
 Xshare/hydrogen/data/drumkits/GMkit/emptySample.wav
 Xshare/hydrogen/data/drumkits/GMkit/hhc_Dry_a.wav
 Xshare/hydrogen/data/drumkits/GMkit/hhc_Rock_b.wav
 Xshare/hydrogen/data/drumkits/GMkit/hhp_Dry_a.wav
 Xshare/hydrogen/data/drumkits/GMkit/kick_Dry_b.wav
 Xshare/hydrogen/data/drumkits/GMkit/misc_Cowbell.wav
 Xshare/hydrogen/data/drumkits/GMkit/sn_Jazz_c.wav
 Xshare/hydrogen/data/drumkits/GMkit/sn_Wet_b.wav
 Xshare/hydrogen/data/drumkits/GMkit/stick_Woody.wav
 Xshare/hydrogen/data/drumkits/GMkit/tom_Rock_hi.wav
 Xshare/hydrogen/data/drumkits/GMkit/tom_Rock_lo.wav
 Xshare/hydrogen/data/drumkits/GMkit/tom_Rock_mid.wav
 Xshare/hydrogen/data/emptySample.wav
 Xshare/hydrogen/i18n/hydrogen.es.qm
 Xshare/hydrogen/i18n/hydrogen.fr.qm
 Xshare/hydrogen/i18n/hydrogen.it.qm
 Xshare/hydrogen/i18n/hydrogen.ru.qm
 Xshare/hydrogen/img/about/aboutLogo.png
 Xshare/hydrogen/img/icon16.png
 Xshare/hydrogen/img/icon32.png
 Xshare/hydrogen/img/icon64.png
 Xshare/hydrogen/img/mdiBackground.png
 Xshare/hydrogen/img/mixerPanel/btn_edit_off.png
 Xshare/hydrogen/img/mixerPanel/btn_edit_on.png
 Xshare/hydrogen/img/mixerPanel/btn_edit_over.png
 Xshare/hydrogen/img/mixerPanel/btn_load_off.png
 Xshare/hydrogen/img/mixerPanel/btn_load_over.png
 Xshare/hydrogen/img/mixerPanel/btn_mute_off.png
 Xshare/hydrogen/img/mixerPanel/btn_mute_on.png
 Xshare/hydrogen/img/mixerPanel/btn_mute_over.png
 Xshare/hydrogen/img/mixerPanel/btn_on_off.png
 Xshare/hydrogen/img/mixerPanel/btn_on_on.png
 Xshare/hydrogen/img/mixerPanel/btn_on_over.png
 Xshare/hydrogen/img/mixerPanel/btn_play_off.png
 Xshare/hydrogen/img/mixerPanel/btn_play_on.png
 Xshare/hydrogen/img/mixerPanel/btn_play_over.png
 Xshare/hydrogen/img/mixerPanel/btn_solo_off.png
 Xshare/hydrogen/img/mixerPanel/btn_solo_on.png
 Xshare/hydrogen/img/mixerPanel/btn_solo_over.png
 Xshare/hydrogen/img/mixerPanel/fader_background.png
 Xshare/hydrogen/img/mixerPanel/fader_knob.png
 Xshare/hydrogen/img/mixerPanel/fader_leds.png
 Xshare/hydrogen/img/mixerPanel/knob_images.png
 Xshare/hydrogen/img/mixerPanel/masterMixerline_background.png
 Xshare/hydrogen/img/mixerPanel/mixer_background.png
 Xshare/hydrogen/img/mixerPanel/mixerline_background.png
 Xshare/hydrogen/img/mixerPanel/mixerline_background_on.png
 Xshare/hydrogen/img/mixerPanel/mixerline_label_background.png
 Xshare/hydrogen/img/mixerPanel/mixerline_text_background.png
 Xshare/hydrogen/img/mixerPanel/panFader_background.png
 Xshare/hydrogen/img/mixerPanel/showFX_off.png
 Xshare/hydrogen/img/mixerPanel/showFX_on.png
 Xshare/hydrogen/img/mixerPanel/showFX_over.png
 Xshare/hydrogen/img/mixerPanel/showMixer_off.png
 Xshare/hydrogen/img/mixerPanel/showMixer_on.png
 Xshare/hydrogen/img/mixerPanel/showMixer_over.png
 Xshare/hydrogen/img/mixerPanel/showPeaks_off.png
 Xshare/hydrogen/img/mixerPanel/showPeaks_on.png
 Xshare/hydrogen/img/mixerPanel/showPeaks_over.png
 Xshare/hydrogen/img/patternEditor/editor_background.png
 Xshare/hydrogen/img/patternEditor/hearBtn_off.png
 Xshare/hydrogen/img/patternEditor/hearBtn_on.png
 Xshare/hydrogen/img/patternEditor/hearBtn_over.png
 Xshare/hydrogen/img/patternEditor/patternEditor_background.png
 Xshare/hydrogen/img/patternEditor/quantBtn_off.png
 Xshare/hydrogen/img/patternEditor/quantBtn_on.png
 Xshare/hydrogen/img/patternEditor/quantBtn_over.png
 Xshare/hydrogen/img/patternEditor/recBtn_off.png
 Xshare/hydrogen/img/patternEditor/recBtn_on.png
 Xshare/hydrogen/img/patternEditor/recBtn_over.png
 Xshare/hydrogen/img/patternEditor/tickPosition.png
 Xshare/hydrogen/img/playerControlPanel/background.png
 Xshare/hydrogen/img/playerControlPanel/btn_live_off.png
 Xshare/hydrogen/img/playerControlPanel/btn_live_on.png
 Xshare/hydrogen/img/playerControlPanel/btn_live_over.png
 Xshare/hydrogen/img/playerControlPanel/btn_loop_off.png
 Xshare/hydrogen/img/playerControlPanel/btn_loop_on.png
 Xshare/hydrogen/img/playerControlPanel/btn_loop_over.png
 Xshare/hydrogen/img/playerControlPanel/btn_play_off.png
 Xshare/hydrogen/img/playerControlPanel/btn_play_on.png
 Xshare/hydrogen/img/playerControlPanel/btn_play_over.png
 Xshare/hydrogen/img/playerControlPanel/btn_song_off.png
 Xshare/hydrogen/img/playerControlPanel/btn_song_on.png
 Xshare/hydrogen/img/playerControlPanel/btn_song_over.png
 Xshare/hydrogen/img/playerControlPanel/btn_stop_off.png
 Xshare/hydrogen/img/playerControlPanel/btn_stop_on.png
 Xshare/hydrogen/img/playerControlPanel/btn_stop_over.png
 Xshare/hydrogen/img/playerControlPanel/cpuLoad_back.png
 Xshare/hydrogen/img/playerControlPanel/cpuLoad_leds.png
 Xshare/hydrogen/img/playerControlPanel/jackTransportBtn_off.png
 Xshare/hydrogen/img/playerControlPanel/jackTransportBtn_on.png
 Xshare/hydrogen/img/playerControlPanel/jackTransportBtn_over.png
 Xshare/hydrogen/img/playerControlPanel/midiActivity_back.png
 Xshare/hydrogen/img/playerControlPanel/midiActivity_on.png
 Xshare/hydrogen/img/songEditor/downBtn_off.png
 Xshare/hydrogen/img/songEditor/downBtn_on.png
 Xshare/hydrogen/img/songEditor/downBtn_over.png
 Xshare/hydrogen/img/songEditor/newPatternBtn_off.png
 Xshare/hydrogen/img/songEditor/newPatternBtn_on.png
 Xshare/hydrogen/img/songEditor/newPatternBtn_over.png
 Xshare/hydrogen/img/songEditor/patternIcon.png
 Xshare/hydrogen/img/songEditor/patternListIcon.png
 Xshare/hydrogen/img/songEditor/patternSequenceIcon.png
 Xshare/hydrogen/img/songEditor/playingIcon.png
 Xshare/hydrogen/img/songEditor/songFuncBtn_off.png
 Xshare/hydrogen/img/songEditor/songFuncBtn_on.png
 Xshare/hydrogen/img/songEditor/songFuncBtn_over.png
 Xshare/hydrogen/img/songEditor/songIcon.png
 Xshare/hydrogen/img/songEditor/upBtn_off.png
 Xshare/hydrogen/img/songEditor/upBtn_on.png
 Xshare/hydrogen/img/songEditor/upBtn_over.png
 Xshare/hydrogen/img/splash/splash.png
 Xshare/hydrogen/manual/img/AudioEngineInfoDialog.png
 Xshare/hydrogen/manual/img/CreateNewPattern.png
 Xshare/hydrogen/manual/img/DrumkitExport.png
 Xshare/hydrogen/manual/img/DrumkitImport.png
 Xshare/hydrogen/manual/img/DrumkitLoad.png
 Xshare/hydrogen/manual/img/DrumkitSave.png
 Xshare/hydrogen/manual/img/HearNewNotes.png
 Xshare/hydrogen/manual/img/MainModePattern.png
 Xshare/hydrogen/manual/img/MainModeSong.png
 Xshare/hydrogen/manual/img/MainPlay.png
 Xshare/hydrogen/manual/img/MainRecord.png
 Xshare/hydrogen/manual/img/MainStop.png
 Xshare/hydrogen/manual/img/MainToolbar.png
 Xshare/hydrogen/manual/img/Mixer.png
 Xshare/hydrogen/manual/img/MixerDelay.png
 Xshare/hydrogen/manual/img/MixerFXEdit.png
 Xshare/hydrogen/manual/img/MixerFXSelect.png
 Xshare/hydrogen/manual/img/MixerLoadSample.png
 Xshare/hydrogen/manual/img/MixerMute.png
 Xshare/hydrogen/manual/img/MixerPan.png
 Xshare/hydrogen/manual/img/MixerPlayTest.png
 Xshare/hydrogen/manual/img/MixerSolo.png
 Xshare/hydrogen/manual/img/MovePatternDown.png
 Xshare/hydrogen/manual/img/MovePatternUp.png
 Xshare/hydrogen/manual/img/PatternEditor.png
 Xshare/hydrogen/manual/img/PreferencesAppearance.png
 Xshare/hydrogen/manual/img/PreferencesAudioSystem.png
 Xshare/hydrogen/manual/img/PreferencesGeneral.png
 Xshare/hydrogen/manual/img/PreferencesMidiSystem.png
 Xshare/hydrogen/manual/img/SongEditor.png
 Xshare/hydrogen/manual/img/SongLoop.png
 Xshare/hydrogen/manual/img/SongOperations.png
 Xshare/hydrogen/manual/img/TutorialEnd.png
 Xshare/hydrogen/manual/img/TutorialStart.png
 Xshare/hydrogen/manual/img/bpm.png
 Xshare/hydrogen/manual/img/btn_edit_on.png
 Xshare/hydrogen/manual/img/btn_on_on.png
 Xshare/hydrogen/manual/img/cpuload.png
 Xshare/hydrogen/manual/img/jack_transport.png
 Xshare/hydrogen/manual/img/midi_in.png
 Xshare/hydrogen/manual/img/quantBtn_off.png
 Xshare/hydrogen/manual/img/recBtn_on.png
 Xshare/hydrogen/manual/img/showFX_on.png
 Xshare/hydrogen/manual/img/showPeaks_on.png
 Xshare/hydrogen/manual/img/tastiera.png
 Xshare/hydrogen/manual/manual.html
 Xshare/hydrogen/manual/manual_de.html
 Xshare/hydrogen/manual/manual_en.html
 Xshare/hydrogen/manual/manual_es.html
 Xshare/hydrogen/manual/manual_it.html
 X@dirrm share/hydrogen/data/demo_songs
 X@dirrm share/hydrogen/data/drumkits/GMkit
 X@dirrm share/hydrogen/data/drumkits
 X@dirrm share/hydrogen/data
 X@dirrm share/hydrogen/i18n
 X@dirrm share/hydrogen/img/about
 X@dirrm share/hydrogen/img/mixerPanel
 X@dirrm share/hydrogen/img/patternEditor
 X@dirrm share/hydrogen/img/playerControlPanel
 X@dirrm share/hydrogen/img/songEditor
 X@dirrm share/hydrogen/img/splash
 X@dirrm share/hydrogen/img
 X@dirrm share/hydrogen/manual/img
 X@dirrm share/hydrogen/manual
 X@dirrm share/hydrogen
 END-of-hydrogen/pkg-plist
 echo x - hydrogen/pkg-descr
 sed 's/^X//' >hydrogen/pkg-descr << 'END-of-hydrogen/pkg-descr'
 XHydrogen is an advanced drum machine. Its main goal is to bring
 Xprofessional yet simple and intuitive pattern-based drum programming.
 X
 XWWW: http://hydrogen.sourceforge.net/
 X
 X- Jean-Yves Lefort
 Xjylefort@brutele.be
 END-of-hydrogen/pkg-descr
 echo x - hydrogen/distinfo
 sed 's/^X//' >hydrogen/distinfo << 'END-of-hydrogen/distinfo'
 XMD5 (hydrogen-0.8.2.tar.gz) = 65e16cabfaa414dabdd0039cad5eee94
 XSIZE (hydrogen-0.8.2.tar.gz) = 2066644
 END-of-hydrogen/distinfo
 echo x - hydrogen/Makefile
 sed 's/^X//' >hydrogen/Makefile << 'END-of-hydrogen/Makefile'
 X# New ports collection makefile for:	Hydrogen
 X# Date created:			23 Jun 2004
 X# Whom:				Jean-Yves Lefort <jylefort@brutele.be>
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=		hydrogen
 XPORTVERSION=		0.8.2
 XCATEGORIES=		audio
 XMASTER_SITES=		${MASTER_SITE_SOURCEFORGE}
 XMASTER_SITE_SUBDIR=	${PORTNAME}
 X
 XMAINTAINER=		jylefort@brutele.be
 XCOMMENT=		An advanced drum machine
 X
 XLIB_DEPENDS=		audiofile:${PORTSDIR}/audio/libaudiofile
 X
 XUSE_X_PREFIX=		yes
 XGNU_CONFIGURE=		yes
 XUSE_GMAKE=		yes
 XUSE_REINPLACE=		yes
 XUSE_GETOPT_LONG=	yes
 XUSE_QT_VER=		3
 XCPPFLAGS=		-I${LOCALBASE}/include -I${X11BASE}/include
 XLDFLAGS=		-L${LOCALBASE}/lib -L${X11BASE}/lib
 XCONFIGURE_ENV=		CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
 XCONFIGURE_ARGS=		--program-prefix="" --disable-alsa-seq
 XALL_TARGET=		clean all
 X
 XMAN1=			hydrogen.1
 X
 XOPTIONS=		JACK "JACK support" off \
 X			OSS "OSS support" on \
 X			LRDF "LRDF support" off
 X
 X.include <bsd.port.pre.mk>
 X
 X.if defined(WITH_JACK)
 XLIB_DEPENDS+=		jack:${PORTSDIR}/audio/jack
 X.else
 XCONFIGURE_ARGS+=	--disable-jack-support
 X.endif
 X
 X.if defined(WITHOUT_OSS)
 XCONFIGURE_ARGS+=	--disable-oss-support
 X.endif
 X
 X.if defined(WITH_LRDF)
 XLIB_DEPENDS+=		lrdf:${PORTSDIR}/textproc/liblrdf
 X.else
 XCONFIGURE_ARGS+=	--disable-lrdf-support
 X.endif
 X
 Xpost-patch:
 X	@${REINPLACE_CMD} \
 X		-e 's|-O2||g' \
 X		-e 's|CXXFLAGS="-O3"||' \
 X		-e 's|-pthread|${PTHREAD_LIBS}|g' \
 X		${WRKSRC}/${CONFIGURE_SCRIPT}
 X	@${REINPLACE_CMD} -e 's|/usr|${LOCALBASE}|' \
 X		${WRKSRC}/lib/LadspaFX.cpp \
 X		${WRKSRC}/lib/PreferencesMng.cpp
 X	@${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' \
 X		${WRKSRC}/data/demo_songs/*.h2song
 X
 X.include <bsd.port.post.mk>
 END-of-hydrogen/Makefile
 exit
 
State-Changed-From-To: feedback->closed 
State-Changed-By: krion 
State-Changed-When: Fri Jun 25 07:27:06 GMT 2004 
State-Changed-Why:  
New port added, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=68242 
>Unformatted:
