audio/easytag: Added (Tag editor for MP3 and Ogg Vorbis files)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
crocket 2010-07-21 02:10:04 -05:00 committed by Robby Workman
parent 7372dafdf5
commit 35be5d695a
6 changed files with 316 additions and 0 deletions

7
audio/easytag/README Normal file
View file

@ -0,0 +1,7 @@
EasyTAG - Tag editor for MP3, ogg vorbis and various other files.
EasyTAG is a utility for viewing and editing tags for MP3, MP2, FLAC
Ogg Vorbis, MP4/AAC, MusePack and Monkey's Audio files. Its simple
and nice GTK2 interface makes tagging easier under GNU/Linux.
This requires id3lib.

4
audio/easytag/doinst.sh Normal file
View file

@ -0,0 +1,4 @@
if [ -x usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
fi

View file

@ -0,0 +1,110 @@
#!/bin/sh
# Slackware build script for easytag
# Copyright 2006 Halim Issa <yallaone@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Updated and now maintained by crocket (crockabiscuit@yahoo.com)
PRGNAM=easytag
VERSION=2.1.6
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
DOCS="COPYING ChangeLog* INSTALL README TODO USERS-GUIDE THANKS \
doc/EasyTAG_Documentation.html doc/id3 doc/vorbis"
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Apply the patch downloaded by easytag.info
cat $CWD/patch_easytag_216_cddb_manual_search_fix.diff | patch -p1
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--mandir=/usr/man \
--enable-shared=yes \
--enable-static=no \
--disable-debug \
--build=$ARCH-slackware-linux
make
make install-strip DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/$PRGNAM.info > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.info
# We don't need this twice
rm $PKG/usr/share/easytag/ChangeLog
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $(find $PKG/usr/man -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,12 @@
PRGNAM="easytag"
VERSION="2.1.6"
HOMEPAGE="http://easytag.sourceforge.net/"
DOWNLOAD="http://downloads.sourceforge.net/easytag/easytag-2.1.6.tar.bz2 \
http://downloads.sourceforge.net/easytag/patch_easytag_216_cddb_manual_search_fix.diff"
DOWNLOAD_x86_64=""
MD5SUM="6c5b9dc2bf1f3b0a11bd4efc81aaa9ee \
3e968c6c990e931c1d6002437c8be5c5"
MD5SUM_x86_64=""
MAINTAINER="crocket"
EMAIL="crockabiscuit@yahoo.com"
APPROVED="rworkman"

View file

@ -0,0 +1,164 @@
diff -ruN easytag-2.1.6.orig/src/cddb.c easytag-2.1.6/src/cddb.c
--- easytag-2.1.6.orig/src/cddb.c 2008-03-22 22:57:29.000000000 +0100
+++ easytag-2.1.6/src/cddb.c 2009-08-25 23:16:35.000000000 +0200
@@ -2158,10 +2158,12 @@
*/
gboolean Cddb_Search_Album_List_From_String (void)
{
- if ( strstr(CDDB_SERVER_NAME_MANUAL_SEARCH,"freedb") != NULL )
- return Cddb_Search_Album_List_From_String_Freedb();
- else
+ if ( strstr(CDDB_SERVER_NAME_MANUAL_SEARCH,"gnudb") != NULL )
+ // Use of gnudb
return Cddb_Search_Album_List_From_String_Gnudb();
+ else
+ // Use of freedb
+ return Cddb_Search_Album_List_From_String_Freedb();
}
@@ -2255,7 +2257,7 @@
g_free(string);
g_free(tmp);
g_free(proxy_auth);
- //g_print("Request : '%s'\n", cddb_in);
+ //g_print("Request Cddb_Search_Album_List_From_String_Freedb : '%s'\n", cddb_in);
// Send the request
gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,_("Sending request ..."));
@@ -2574,7 +2576,7 @@
);
next_page_found = FALSE;
g_free(proxy_auth);
- //g_print("Request : '%s'\n", cddb_in);
+ //g_print("Request Cddb_Search_Album_List_From_String_Gnudb : '%s'\n", cddb_in);
// Send the request
gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,_("Sending request ..."));
@@ -3130,7 +3132,7 @@
(proxy_auth=Cddb_Format_Proxy_Authentification())
);
g_free(proxy_auth);
- //g_print("Request : '%s'\n", cddb_in);
+ //g_print("Request Cddb_Search_Album_From_Selected_Files : '%s'\n", cddb_in);
msg = g_strdup_printf(_("Sending request (CddbId: %s, #tracks: %d, Disc length: %d) ..."),
cddb_discid,num_tracks,disc_length);
@@ -3394,24 +3396,47 @@
CDDB_USE_PROXY?CDDB_PROXY_PORT:cddb_server_port)) <= 0 )
return FALSE;
- // CDDB Request (ex: GET /~cddb/cddb.cgi?cmd=cddb+read+jazz+0200a401&hello=noname+localhost+EasyTAG+0.31&proto=1 HTTP/1.1\r\nHost: freedb.freedb.org:80\r\nConnection: close)
- // Without proxy : "GET /~cddb/cddb.cgi?..." but doesn't work with a proxy.
- // With proxy : "GET http://freedb.freedb.org/~cddb/cddb.cgi?..."
- cddb_in = g_strdup_printf("GET %s%s%s?cmd=cddb+read+"
- "%s+%s"
- "&hello=noname+localhost+%s+%s"
- "&proto=6 HTTP/1.1\r\n"
- "Host: %s:%d\r\n"
- "%s"
- "Connection: close\r\n\r\n",
- CDDB_USE_PROXY?"http://":"",CDDB_USE_PROXY?cddb_server_name:"", cddb_server_cgi_path,
- cddbalbum->category,cddbalbum->id,
- APPNAME,VERSION,
- cddb_server_name,cddb_server_port,
- (proxy_auth=Cddb_Format_Proxy_Authentification())
- );
- g_free(proxy_auth);
- //g_print("Request : '%s'\n", cddb_in);
+ if ( strstr(cddb_server_name,"gnudb") != NULL )
+ {
+ // For gnudb
+ // New version of gnudb doesn't use a cddb request, but a http request
+ cddb_in = g_strdup_printf("GET %s%s/gnudb/"
+ "%s/%s"
+ " HTTP/1.1\r\n"
+ "Host: %s:%d\r\n"
+ "User-Agent: %s %s\r\n"
+ "%s"
+ "Connection: close\r\n"
+ "\r\n",
+ CDDB_USE_PROXY?"http://":"", CDDB_USE_PROXY?cddb_server_name:"", // Needed when using proxy
+ cddbalbum->category,cddbalbum->id,
+ cddb_server_name,cddb_server_port,
+ APPNAME,VERSION,
+ (proxy_auth=Cddb_Format_Proxy_Authentification())
+ );
+ }else
+ {
+ // CDDB Request (ex: GET /~cddb/cddb.cgi?cmd=cddb+read+jazz+0200a401&hello=noname+localhost+EasyTAG+0.31&proto=1 HTTP/1.1\r\nHost: freedb.freedb.org:80\r\nConnection: close)
+ // Without proxy : "GET /~cddb/cddb.cgi?..." but doesn't work with a proxy.
+ // With proxy : "GET http://freedb.freedb.org/~cddb/cddb.cgi?..."
+ cddb_in = g_strdup_printf("GET %s%s%s?cmd=cddb+read+"
+ "%s+%s"
+ "&hello=noname+localhost+%s+%s"
+ "&proto=6 HTTP/1.1\r\n"
+ "Host: %s:%d\r\n"
+ "%s"
+ "Connection: close\r\n\r\n",
+ CDDB_USE_PROXY?"http://":"",CDDB_USE_PROXY?cddb_server_name:"", cddb_server_cgi_path,
+ cddbalbum->category,cddbalbum->id,
+ APPNAME,VERSION,
+ cddb_server_name,cddb_server_port,
+ (proxy_auth=Cddb_Format_Proxy_Authentification())
+ );
+ }
+
+
+ g_free(proxy_auth);
+ //g_print("Request Cddb_Get_Album_Tracks_List : '%s'\n", cddb_in);
// Send the request
gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,_("Sending request ..."));
@@ -3444,20 +3469,38 @@
}
- // Parse server answer : Check HTTP Header and CDDB Header
+ // Parse server answer : Check HTTP Header (freedb or gnudb) and CDDB Header (freedb only)
file = NULL;
- if ( Cddb_Read_Http_Header(&file,&cddb_out) <= 0
- || Cddb_Read_Cddb_Header(&file,&cddb_out) <= 0 )
- {
- gchar *msg = g_strdup_printf(_("The server returned a wrong answer! (%s)"),cddb_out);
- gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,msg);
- Log_Print(LOG_ERROR,"%s",msg);
- g_free(msg);
- g_free(cddb_out);
- if (file)
- fclose(file);
- return FALSE;
- }
+ if ( strstr(cddb_server_name,"gnudb") != NULL )
+ {
+ // For gnudb (don't check CDDB header)
+ if ( Cddb_Read_Http_Header(&file,&cddb_out) <= 0 )
+ {
+ gchar *msg = g_strdup_printf(_("The server returned a wrong answer! (%s)"),cddb_out);
+ gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,msg);
+ Log_Print(LOG_ERROR,"%s",msg);
+ g_free(msg);
+ g_free(cddb_out);
+ if (file)
+ fclose(file);
+ return FALSE;
+ }
+ }else
+ {
+ // For freedb
+ if ( Cddb_Read_Http_Header(&file,&cddb_out) <= 0
+ || Cddb_Read_Cddb_Header(&file,&cddb_out) <= 0 )
+ {
+ gchar *msg = g_strdup_printf(_("The server returned a wrong answer! (%s)"),cddb_out);
+ gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,msg);
+ Log_Print(LOG_ERROR,"%s",msg);
+ g_free(msg);
+ g_free(cddb_out);
+ if (file)
+ fclose(file);
+ return FALSE;
+ }
+ }
g_free(cddb_out);
}

19
audio/easytag/slack-desc Normal file
View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
easytag: EasyTAG (Tag editor for MP3 and Ogg Vorbis files)
easytag:
easytag: EasyTAG is a utility for viewing and editing tags for MP3, MP2, FLAC
easytag: Ogg Vorbis, MP4/AAC, MusePack and Monkey's Audio files. Its simple
easytag: and nice GTK2 interface makes tagging easier under GNU/Linux.
easytag:
easytag: Homepage: http://easytag.sourceforge.net
easytag:
easytag:
easytag:
easytag: