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