ports/68242: New port: audio/hydrogen, an advanced drum machine

Jean-Yves Lefort jylefort at brutele.be
Wed Jun 23 14:30:25 UTC 2004


>Number:         68242
>Category:       ports
>Synopsis:       New port: audio/hydrogen, an advanced drum machine
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 23 14:30:24 GMT 2004
>Closed-Date:
>Last-Modified:
>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 at 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 at FreeBSD.org>
X+ * Copyright (c) 2002, 2003 David Schultz <dschultz at 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 at dirrm share/hydrogen/data/demo_songs
X at dirrm share/hydrogen/data/drumkits/GMkit
X at dirrm share/hydrogen/data/drumkits
X at dirrm share/hydrogen/data
X at dirrm share/hydrogen/i18n
X at dirrm share/hydrogen/img/about
X at dirrm share/hydrogen/img/mixerPanel
X at dirrm share/hydrogen/img/patternEditor
X at dirrm share/hydrogen/img/playerControlPanel
X at dirrm share/hydrogen/img/songEditor
X at dirrm share/hydrogen/img/splash
X at dirrm share/hydrogen/img
X at dirrm share/hydrogen/manual/img
X at dirrm share/hydrogen/manual
X at 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 at 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 at 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 at 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:
>Unformatted:



More information about the freebsd-ports-bugs mailing list