ports/118839: [new port] audio/musica a GTK midi player
Pietro Cerutti
gahr at gahr.ch
Tue Dec 18 19:20:00 UTC 2007
>Number: 118839
>Category: ports
>Synopsis: [new port] audio/musica a GTK midi player
>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 Dec 18 19:20:00 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Pietro Cerutti
>Release: FreeBSD 8.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD 8.0-CURRENT #18: Tue Dec 18 12:48:22 CET 2007
root at gahrtop.localhost:/usr/obj/usr/src/sys/MSI1034
>Description:
This is a port of musica, a GTK based audio player.
More information here:
http://ict.ewi.tudelft.nl/~erik/open-source/musica/
>How-To-Repeat:
>Fix:
--- musica.shar begins here ---
# 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:
#
# musica
# musica/distinfo
# musica/files
# musica/files/patch-src_events.cc
# musica/files/patch-src_gui.cc
# musica/files/patch-src_channel2device.cc
# musica/files/patch-src_dnd.cc
# musica/files/patch-src_help.cc
# musica/files/patch-src_main.cc
# musica/files/patch-src_ossmidi.cc
# musica/files/patch-src_program2device.cc
# musica/files/patch-src_readmidi.cc
# musica/files/patch-src_sequence.cc
# musica/Makefile
# musica/pkg-descr
#
echo c - musica
mkdir -p musica > /dev/null 2>&1
echo x - musica/distinfo
sed 's/^X//' >musica/distinfo << 'END-of-musica/distinfo'
XMD5 (musica-1.1.4.tar.gz) = c235cf2e5075f85e419bfb4c9f378b26
XSHA256 (musica-1.1.4.tar.gz) = fc5ed92942a97d16c68168ed4e25c297a581f15d976c112bd160f5a8d41cf621
XSIZE (musica-1.1.4.tar.gz) = 135754
END-of-musica/distinfo
echo c - musica/files
mkdir -p musica/files > /dev/null 2>&1
echo x - musica/files/patch-src_events.cc
sed 's/^X//' >musica/files/patch-src_events.cc << 'END-of-musica/files/patch-src_events.cc'
X--- src/events.cc.orig 1999-06-09 12:14:04.000000000 +0200
X+++ src/events.cc 2007-12-18 19:09:20.000000000 +0100
X@@ -30,7 +30,8 @@
X # include <config.h>
X #endif
X
X-#include <iostream.h>
X+#include <iostream>
X+using namespace std;
X
X #ifdef STDC_HEADERS
X # include <string.h>
X@@ -267,8 +268,7 @@
X //
X //-------------------------------------------------------------------------
X
X-midiMetaTextEvent::midiMetaTextEvent(long int dT = 0L, midiEvent *n = 0,
X- char *t = 0) :
X+midiMetaTextEvent::midiMetaTextEvent(long int dT, midiEvent *n, char *t) :
X midiEvent(dT, n)
X {
X if(t == 0)
X@@ -602,10 +602,10 @@
X //
X //-------------------------------------------------------------------------
X
X-midiSequencerSpecificEvent::midiSequencerSpecificEvent(long int dT = 0L,
X- midiEvent *n = 0,
X- unsigned char *d = 0,
X- int l = 0) :
X+midiSequencerSpecificEvent::midiSequencerSpecificEvent(long int dT,
X+ midiEvent *n,
X+ unsigned char *d,
X+ int l) :
X midiEvent(dT, n)
X {
X if(d == 0)
END-of-musica/files/patch-src_events.cc
echo x - musica/files/patch-src_gui.cc
sed 's/^X//' >musica/files/patch-src_gui.cc << 'END-of-musica/files/patch-src_gui.cc'
X--- src/gui.cc.orig 1999-06-09 12:14:04.000000000 +0200
X+++ src/gui.cc 2007-12-18 19:55:33.000000000 +0100
X@@ -31,7 +31,9 @@
X #endif
X
X #include <stdio.h>
X-#include <iostream.h>
X+#include <iostream>
X+using namespace std;
X+
X #include <ctype.h>
X #include <assert.h>
X
X@@ -101,79 +103,59 @@
X static GTimer *midiTimer;
X static gulong currentTime = 0;
X
X+static gchar fileEntry[] = "/_File";
X+static gchar fileOpenEntry[] = "/File/_Open...";
X+static gchar fileSep1Entry[] = "/File/sep1";
X+static gchar fileQuitEntry[] = "/File/_Quit";
X+static gchar editEntry[] = "/_Edit";
X+static gchar editPlayEntry[] = "/Edit/_Play options...";
X+static gchar editDevEntry[] = "/Edit/_Device options...";
X+static gchar midiEntry[] = "/_Midi";
X+static gchar midiNotesOffEntry[] = "/Midi/All notes off";
X+static gchar midiResetEntry[] = "/Midi/Reset";
X+static gchar helpEntry[] = "/_Help";
X+static gchar helpAboutEntry[] = "/Help/_About ...";
X+static gchar helpSep1Entry[] = "/Help/sep1";
X+static gchar helpCopyEntry[] = "/Help/_Copying ...";
X+static gchar branchEntry[] = "<Branch>";
X+static gchar lastBranchEntry[] = "<LastBranch>";
X+static gchar controlDEntry[] = "<control>D";
X+static gchar controlOEntry[] = "<control>O";
X+static gchar controlPEntry[] = "<control>P";
X+static gchar controlQEntry[] = "<control>Q";
X+static gchar separatorEntry[] = "<Separator>";
X+
X static GtkItemFactoryEntry menu_items[] =
X {
X- {"/_File", 0,
X- 0, 0,
X- "<Branch>"},
X-
X- {"/File/_Open...", "<control>O",
X- GTK_SIGNAL_FUNC(fileOpenCallback), 0,
X- 0},
X-
X- {"/File/sep1", 0,
X- 0, 0,
X- "<Separator>"},
X-
X- {"/File/_Quit", "<control>Q",
X- GTK_SIGNAL_FUNC(gtk_main_quit), 0,
X- 0},
X-
X-
X- {"/_Edit", 0,
X- 0, 0,
X- "<Branch>"},
X-
X- {"/Edit/_Play options...", "<control>P",
X- GTK_SIGNAL_FUNC(optionsPlayCallback), 0,
X- 0},
X-
X- {"/Edit/_Device options...", "<control>D",
X- GTK_SIGNAL_FUNC(optionsDeviceCallback), 0,
X- 0},
X-
X-
X- {"/_Midi", 0,
X- 0, 0,
X- "<Branch>"},
X-
X- {"/Midi/All notes off", 0,
X- 0, 0,
X- 0},
X-
X- {"/Midi/Reset", 0,
X- 0, 0,
X- 0},
X-
X-
X- {"/_Help", 0,
X- 0, 0,
X- "<LastBranch>"},
X-
X- {"/Help/_About ...", 0,
X- GTK_SIGNAL_FUNC(helpAboutCallback), 0,
X- 0},
X-
X- {"/Help/sep1", 0,
X- 0, 0,
X- "<Separator>"},
X-
X- {"/Help/_Copying ...", 0,
X- GTK_SIGNAL_FUNC(helpCopyingCallback), 0,
X- 0}
X+ {fileEntry, NULL, NULL, NULL, branchEntry},
X+ {fileOpenEntry, controlOEntry, GTK_SIGNAL_FUNC(fileOpenCallback), 0, NULL},
X+ {fileSep1Entry, NULL, NULL, 0, separatorEntry},
X+ {fileQuitEntry, controlQEntry, GTK_SIGNAL_FUNC(gtk_main_quit), 0, NULL},
X+ {editEntry, NULL, NULL, 0, branchEntry},
X+ {editPlayEntry, controlPEntry, GTK_SIGNAL_FUNC(optionsPlayCallback), 0, NULL},
X+ {editDevEntry, controlDEntry, GTK_SIGNAL_FUNC(optionsDeviceCallback), 0, NULL},
X+ {midiEntry, NULL, NULL, NULL, branchEntry},
X+ {midiNotesOffEntry, NULL, NULL, 0, NULL},
X+ {midiResetEntry, NULL, NULL, 0, NULL},
X+ {helpEntry, NULL, NULL, 0, lastBranchEntry},
X+ {helpAboutEntry, NULL, GTK_SIGNAL_FUNC(helpAboutCallback), 0, NULL},
X+ {helpSep1Entry, NULL, NULL, 0, separatorEntry},
X+ {helpCopyEntry, NULL, GTK_SIGNAL_FUNC(helpCopyingCallback), 0, NULL}
X };
X
X+static gchar stringEntry[] = "STRING";
X+static gchar textplainEntry[] = "text/plain";
X
X static GtkTargetEntry target_table[] =
X {
X- { "STRING", 0, 0 },
X- { "text/plain", 0, 0 }
X+ { stringEntry, 0, 0 },
X+ { textplainEntry, 0, 0 }
X };
X
X
X typedef struct
X {
X- char **pixmap;
X+ const char **pixmap;
X char *text;
X char *tooltip_text;
X GtkSignalFunc callback;
X@@ -181,15 +163,24 @@
X GtkWidget *widget;
X } toolbarEntry;
X
X+static char rewindEntry[] = "Rewind";
X+static char rewindEntryDescr[] = "Rewind MIDI file";
X+static char stopEntry[] = "Stop";
X+static char stopEntryDescr[] = "Stop playing and shut off all MIDI controllers";
X+static char playEntry[] = "Play";
X+static char playEntryDescr[] = "Play MIDI file";
X+static char pauseEntry[] = "Pause";
X+static char pauseEntryDescr[] = "Pause playing";
X+static char ffwdEntry[] = "Ffwd";
X+static char ffwdEntryDescr[] = "Fast forward";
X
X static toolbarEntry toolbar_items[] =
X {
X- { rewind_xpm, "Rewind", "Rewind MIDI file", GTK_SIGNAL_FUNC(rewindCallback), 0, 0},
X- { stop_xpm, "Stop",
X- "Stop playing and shut off all MIDI controllers", GTK_SIGNAL_FUNC(stopCallback), 0, 0},
X- { play_xpm, "Play", "Play MIDI file", GTK_SIGNAL_FUNC(playCallback), 0, 0},
X- { pause_xpm, "Pause", "Pause playing", GTK_SIGNAL_FUNC(pauseCallback), 0, 0},
X- { fastforward_xpm, "Ffwd", "Fast forward", 0, 0, 0}
X+ { rewind_xpm, rewindEntry, rewindEntryDescr, GTK_SIGNAL_FUNC(rewindCallback), NULL, NULL},
X+ { stop_xpm, stopEntry, stopEntryDescr, GTK_SIGNAL_FUNC(stopCallback), NULL, NULL},
X+ { play_xpm, playEntry, playEntryDescr, GTK_SIGNAL_FUNC(playCallback), NULL, NULL},
X+ { pause_xpm, pauseEntry, pauseEntryDescr, GTK_SIGNAL_FUNC(pauseCallback), NULL, NULL},
X+ { fastforward_xpm, ffwdEntry, ffwdEntryDescr, NULL, NULL, NULL}
X };
X
X
X@@ -212,7 +203,7 @@
X
X
X
X-GtkWidget *createMainWindow(char *filename = 0)
X+GtkWidget *createMainWindow(char *filename)
X {
X GtkWidget *mainVbox;
X GtkWidget *hbox;
X@@ -509,7 +500,7 @@
X {
X pmap = gdk_pixmap_create_from_xpm_d(window->window, &mask,
X &style->bg[GTK_STATE_NORMAL],
X- toolbar_items[i].pixmap);
X+ (gchar **)toolbar_items[i].pixmap);
X pixmap = gtk_pixmap_new(pmap, mask);
X // FIXME: is this enough to destroy pmap and mask?
X gdk_pixmap_unref(pmap);
END-of-musica/files/patch-src_gui.cc
echo x - musica/files/patch-src_channel2device.cc
sed 's/^X//' >musica/files/patch-src_channel2device.cc << 'END-of-musica/files/patch-src_channel2device.cc'
X--- src/channel2device.cc.orig 2007-12-18 19:44:10.000000000 +0100
X+++ src/channel2device.cc 2007-12-18 19:44:31.000000000 +0100
X@@ -45,7 +45,7 @@
X
X
X
X-static char *deviceType = "channel-to-device";
X+static char deviceType[] = "channel-to-device";
X
X
X
END-of-musica/files/patch-src_channel2device.cc
echo x - musica/files/patch-src_dnd.cc
sed 's/^X//' >musica/files/patch-src_dnd.cc << 'END-of-musica/files/patch-src_dnd.cc'
X--- src/dnd.cc.orig 2007-12-18 19:45:04.000000000 +0100
X+++ src/dnd.cc 2007-12-18 19:45:56.000000000 +0100
X@@ -221,7 +221,7 @@
X
X static void makeDropStyles(void)
X {
X- GdkColor color;
X+ GdkColor color = { 0,0,0,0 };
X int i;
X
X if(eventBoxDefaultStyle == 0)
END-of-musica/files/patch-src_dnd.cc
echo x - musica/files/patch-src_help.cc
sed 's/^X//' >musica/files/patch-src_help.cc << 'END-of-musica/files/patch-src_help.cc'
X--- src/help.cc.orig 2007-12-18 19:46:20.000000000 +0100
X+++ src/help.cc 2007-12-18 19:46:34.000000000 +0100
X@@ -59,7 +59,7 @@
X
X
X
X-static char *copyingText =
X+static char copyingText[] =
X PACKAGE " " VERSION " - a MIDI player\n\n" \
X "Copyright (C) 1999, Erik Mouw (J.A.K.Mouw at its.tudelft.nl)\n\n" \
X "This program is free software; you can redistribute it and/or modify " \
END-of-musica/files/patch-src_help.cc
echo x - musica/files/patch-src_main.cc
sed 's/^X//' >musica/files/patch-src_main.cc << 'END-of-musica/files/patch-src_main.cc'
X--- src/main.cc.orig 2007-12-18 19:46:50.000000000 +0100
X+++ src/main.cc 2007-12-18 19:48:06.000000000 +0100
X@@ -59,7 +59,7 @@
X
X
X
X-
X+static char deviceName[] = "/dev/sequencer";
X
X int main(int argc, char *argv[])
X {
X@@ -79,7 +79,7 @@
X // create some MIDI devices
X // first a "real" device: the Roland HP330 on the external MIDI port
X rolandHp330 = new ossSequencer("External MIDI port");
X- rolandHp330->setDevice("/dev/sequencer", 0);
X+ rolandHp330->setDevice(deviceName, 0);
X rolandHp330->open();
X
X // map all channels on channel 0 (the default receive channel)
X@@ -98,7 +98,7 @@
X
X // another "real" device: the EMU 8000 synthesiser on the SB 64 AWE Gold
X sbAwe64 = new ossSequencer("SB AWE 64");
X- sbAwe64->setDevice("/dev/sequencer", 1);
X+ sbAwe64->setDevice(deviceName, 1);
X sbAwe64->open();
X
X
END-of-musica/files/patch-src_main.cc
echo x - musica/files/patch-src_ossmidi.cc
sed 's/^X//' >musica/files/patch-src_ossmidi.cc << 'END-of-musica/files/patch-src_ossmidi.cc'
X--- src/ossmidi.cc.orig 2007-12-18 19:48:23.000000000 +0100
X+++ src/ossmidi.cc 2007-12-18 19:50:01.000000000 +0100
X@@ -32,7 +32,8 @@
X
X #include <assert.h>
X
X-#include <iostream.h>
X+#include <iostream>
X+using namespace std;
X #include <stdio.h>
X #include <errno.h>
X
X@@ -63,6 +64,8 @@
X
X #ifdef HAVE_LINUX_SOUNDCARD_H
X # include <linux/soundcard.h>
X+#else
X+# include <sys/soundcard.h>
X #endif
X
X #ifdef HAVE_SYS_IOCTL_H
END-of-musica/files/patch-src_ossmidi.cc
echo x - musica/files/patch-src_program2device.cc
sed 's/^X//' >musica/files/patch-src_program2device.cc << 'END-of-musica/files/patch-src_program2device.cc'
X--- src/program2device.cc.orig 2007-12-18 19:56:19.000000000 +0100
X+++ src/program2device.cc 2007-12-18 19:56:34.000000000 +0100
X@@ -45,7 +45,7 @@
X
X
X
X-static char *deviceType = "program-to-device";
X+static char deviceType[] = "program-to-device";
X
X
X
END-of-musica/files/patch-src_program2device.cc
echo x - musica/files/patch-src_readmidi.cc
sed 's/^X//' >musica/files/patch-src_readmidi.cc << 'END-of-musica/files/patch-src_readmidi.cc'
X--- src/readmidi.cc.orig 2007-12-18 19:57:34.000000000 +0100
X+++ src/readmidi.cc 2007-12-18 19:57:44.000000000 +0100
X@@ -30,7 +30,8 @@
X # include "config.h"
X #endif
X
X-#include <iostream.h>
X+#include <iostream>
X+using namespace std;
X #include <stdio.h>
X #include <errno.h>
X
END-of-musica/files/patch-src_readmidi.cc
echo x - musica/files/patch-src_sequence.cc
sed 's/^X//' >musica/files/patch-src_sequence.cc << 'END-of-musica/files/patch-src_sequence.cc'
X--- src/sequence.cc.orig 2007-12-18 19:57:14.000000000 +0100
X+++ src/sequence.cc 2007-12-18 19:59:18.000000000 +0100
X@@ -52,8 +52,10 @@
X
X
X
X+#ifdef TIMING_DEBUG
X static long int lastNextTime = 0L;
X static int lastNextTrack = 0;
X+#endif
X
X
X
END-of-musica/files/patch-src_sequence.cc
echo x - musica/Makefile
sed 's/^X//' >musica/Makefile << 'END-of-musica/Makefile'
X# New ports collection makefile for: musica
X# Date created: 18 December 2007
X# Whom: Pietro Cerutti <gahr at gahr.ch>
X#
X# $FreeBSD$
X
XPORTNAME= musica
XPORTVERSION= 1.1.4
XCATEGORIES= audio
XMASTER_SITES= http://www-ict.its.tudelft.nl/~erik/open-source/musica/ \
X http://www.gahr.ch/FreeBSD/musica/
X
XMAINTAINER= gahr at gahr.ch
XCOMMENT= GTK based midi player
X
XUSE_GNOME= gtk12
XPLIST_FILES= bin/musica
X
Xpost-patch:
X ${REINPLACE_CMD} -e 's|char|const char|g' \
X ${WRKSRC}/src/*.xpm ${WRKSRC}/include/pixmaps.hh
X
Xdo-configure:
X cd ${WRKSRC} && ./configure
X
Xdo-install:
X ${INSTALL_PROGRAM} ${WRKSRC}/src/musica ${PREFIX}/bin/
X
Xpost-install:
X ${STRIP_CMD} ${PREFIX}/bin/musica
X
X.include <bsd.port.mk>
END-of-musica/Makefile
echo x - musica/pkg-descr
sed 's/^X//' >musica/pkg-descr << 'END-of-musica/pkg-descr'
XMusica is a GTK based MIDI player.
X
X- Plays MIDI files on Linux machines with an OSS sound card interface.
X- GTK based user interface supporting drag-and-drop for easy file
X selection. Drag a MIDI file from the GNOME-ified Midnight Commander
X to Musica's drop pocket and it automatically loads the file.
X- Tempo adjustment, Play a MIDI file up to four times faster or slower.
X- Fast forward. Skip those dull passages in a MIDI file.
X
XWWW: http://www-ict.its.tudelft.nl/~erik/open-source/musica
END-of-musica/pkg-descr
exit
--- musica.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list