Commit c85d0c2c authored by Bastien Nocera's avatar Bastien Nocera

Remove badly tagged tree

svn path=/tags/git-migration-tagsV_2_24_2; revision=249
parent a0e212b0
Bastien Nocera <hadess@hadess.net>
This diff is collapsed.
This diff is collapsed.
Bastien Nocera
Email: hadess@hadess.net
Userid: hadess
SUBDIRS = lib plparse po docs
EXTRA_DIST = \
COPYING.LIB \
autogen.sh \
AUTHORS NEWS \
gtk-doc.make \
totem-plparser.pc.in \
totem-plparser-mini.pc \
totem-pl-parser.spec
CLEANFILES = totem-plparser.pc
DISTCLEANFILES = intltool-extract intltool-merge intltool-update \
gnome-doc-utils.make gtk-doc.make
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = totem-plparser.pc totem-plparser-mini.pc
DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper --enable-gtk-doc
New features and significant updates in version...
2.24.2:
* Fix parsing of M3U files
* Export missing symbol, fixes the Python bindings
2.24.1:
* Fix DVB channels parsing in Totem
* Fix parsing of DOS M3U files that don't finish with a line feed
* Always write '#EXTM3U" at the start of M3U playlists
2.24.0:
* Updated translations
2.23.91:
* Add support for parsing Zune and ZENCast URLs
* Fix parsing broken podcasts with HTML comments in them
* Better detection of Podcasts
* Fix parsing of QuickTime metalinks masquerading as MPEG-4 files
* Fix a few memleaks from GIO porting
* Fixes for the Python bindings
* Use a nice title for the developer documentation
2.23.3:
* Fix a possible crasher when detecting the media type of an optical
media, and an error occurs (such the device not being an audio CD)
* Fix compilation with some setups
2.23.2:
* Remove lingering gnome-vfs requirements
* Ignore pnm:// URLs that are passed to us
* Fix block device detection code
* Fix bad detection of itms feeds
* Work-around problems with filenames when passed .php or .asp files
by the web browser
2.23.1:
* Port to GIO/GVFS, and remove gnome-vfs dependency
* Fix handling of XML-ish files with linefeeds after the document head
* Add support for parsing remote DVDs (ISOs and directories)
* Check mime-type by hand when we get application/octect-stream as a mime-type
* Remove trailing linefeeds from titles
2.22.0:
* Sort filenames like nautilus does when adding directories
2.21.92:
* Add support for more metadata when parsing XSPF files, as used on last.fm
* Better detection of files that aren't recognised as Podcast feeds
* Detect some additional ASX files
* Fix parsing of RTSPtext playlist from http://mediathek.zdf.de/
* Fix parsing of VLC-specific playlists from Freebox
2.21.91:
* Fix HAL test in the configure script, which could lead to HAL support not
being built in
* Add API documentation, using gtk-doc
* Fix memmem() replacement for non-glibc versions
* Fix DVD ISOs bigger than 4GB not being recognised as such on 32-bit systems
* Fix memmem usage so that Podcasts, ASX files and QuickTime links
are recognised again
2.21.90:
* Depend on Camel and newer glibs to parse dates from Atom and RSS feeds
* Handle Byte-Order-Marks in Podcasts
* Fix for redirections on Apple's trailer pages
* Fix relative links when two paths have the same prefix
* Don't copy buffers when checking for file types
2.21.6:
* Fix the library not detecting HAL
* Fix contents of totem-pl-parser-mini.pc
2.21.5:
* Fix a double-free crasher
2.21.4:
* Split out from the main Totem module
_|_ __|_ _ ._ _
|_(_)|_(/_| | |
playlist parser
totem-pl-parser is a simple GObject-based library to parse a host of
playlist formats, as well as save those
News
====
See NEWS file
Dependencies
============
gnome-vfs and glib to a recent level
BUGS
====
Bugs should be filed in GNOME's Bugzilla:
http://bugzilla.gnome.org/enter_bug.cgi?product=totem&component=playlist%20parser
To get a better debug output, run:
# test-parser --debug
Contact
=======
Bastien Nocera <hadess@hadess.net>
http://www.gnome.org/projects/totem/
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="totem-pl-parser"
(test -f $srcdir/configure.in) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
}
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME SVN"
exit 1
}
REQUIRED_PKG_CONFIG_VERSION=0.17.1 REQUIRED_AUTOMAKE_VERSION=1.9 USE_GNOME2_MACROS=1 . gnome-autogen.sh --enable-gtk-doc "$@"
AC_PREREQ(2.52)
m4_define(totem_version_major, 2)
m4_define(totem_version_minor, 24)
m4_define(totem_version_micro, 2)
AC_INIT([totem-pl-parser],
[totem_version_major.totem_version_minor.totem_version_micro],
[http://bugzilla.gnome.org/enter_bug.cgi?product=totem&component=playlist%20parser])
AC_CONFIG_SRCDIR([plparse/totem-pl-parser.c])
AC_CONFIG_HEADERS([config.h])
AC_GNU_SOURCE
AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-dist-gzip check-news subdir-objects])
dnl Add the languages which your application supports to po/LINGUAS
GETTEXT_PACKAGE=totem-pl-parser
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"], [Define to the Gettext package name])
AC_SUBST(GETTEXT_PACKAGE)
AM_GLIB_GNU_GETTEXT
IT_PROG_INTLTOOL([0.40.0])
AC_PROG_CXX
AM_PROG_CC_C_O
AC_PROG_LIBTOOL()
PKG_PROG_PKG_CONFIG
dnl Use local version of asprintf when not on the current system.
AC_CHECK_FUNCS(asprintf)
AC_CONFIG_LIBOBJ_DIR([lib])
AC_REPLACE_FUNCS([asprintf])
AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal])
AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
# Requirements
GLIB_REQS=2.16.3
DBUS_REQS=0.61
# Before making a release, the PLPARSER_LT_VERSION string should be modified.
# The string is of the form C:R:A.
# - If interfaces have been changed or added, but binary compatibility has
# been preserved, change to C+1:0:A+1
# - If binary compatibility has been broken (eg removed or changed interfaces)
# change to C+1:0:0
# - If the interface is the same as the previous version, change to C:R+1:A
PLPARSER_LT_VERSION=12:3:0
AC_SUBST(PLPARSER_LT_VERSION)
TOTEM_PL_PARSER_VERSION_MAJOR=totem_version_major
TOTEM_PL_PARSER_VERSION_MINOR=totem_version_minor
TOTEM_PL_PARSER_VERSION_MICRO=totem_version_micro
AC_SUBST(TOTEM_PL_PARSER_VERSION_MAJOR)
AC_SUBST(TOTEM_PL_PARSER_VERSION_MINOR)
AC_SUBST(TOTEM_PL_PARSER_VERSION_MICRO)
dnl ***
dnl HAL
dnl ***
AC_ARG_WITH(hal,
AC_HELP_STRING([--without-hal],
[Disable HAL support]))
if test "x$with_hal" != "xno"; then
PKG_CHECK_MODULES(HAL, hal >= 0.5 hal < 0.6 dbus-1 >= $DBUS_REQS, enable_hal05=yes, enable_hal05=no)
if test x$enable_hal05 = xyes; then
with_hal=yes
AC_DEFINE(HAVE_HAL, 1, [Define if you HAL support])
else
if test "x$with_hal" = "xyes"; then
AC_MSG_ERROR([HAL support explicitly requested but HAL couldn't be found])
fi
fi
fi
AM_CONDITIONAL(HAVE_HAL, test x"$with_hal" = xyes)
dnl Check for packages for building libtotem-plparser.la
PKG_CHECK_MODULES(TOTEM_PLPARSER, [glib-2.0 >= $GLIB_REQS gtk+-2.0 libxml-2.0 camel-1.2 gio-2.0])
PKG_CHECK_MODULES([TOTEM_PLPARSER_MINI], [gio-2.0])
GNOME_COMMON_INIT
GNOME_DEBUG_CHECK
GNOME_COMPILE_WARNINGS([maximum])
GNOME_CXX_WARNINGS
GNOME_MAINTAINER_MODE_DEFINES
if test "$GCC" = "yes" ; then
CFLAGS="\
-Wall \
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
-Wnested-externs -Wpointer-arith \
-Wcast-align -Wsign-compare \
-fno-strict-aliasing \
$CFLAGS"
fi
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_LDFLAGS])
GTK_DOC_CHECK(1.0)
AC_OUTPUT([
Makefile
totem-plparser.pc
totem-plparser-uninstalled.pc
totem-plparser-mini.pc
totem-plparser-mini-uninstalled.pc
totem-pl-parser.spec
lib/Makefile
plparse/Makefile
plparse/totem-pl-parser-features.h
po/Makefile.in
docs/Makefile
docs/reference/Makefile
docs/reference/version.xml
])
AC_MSG_NOTICE([totem-pl-parser was configured with the following options:])
if test x$with_hal = xyes ; then
AC_MSG_NOTICE([** HAL support enabled])
else
AC_MSG_NOTICE([ HAL support disabled])
fi
SUBDIRS = reference
#include <totem-pl-parser.h>
totem_pl_parser_get_type
## Process this file with automake to produce Makefile.in
# We require automake 1.6 at least.
AUTOMAKE_OPTIONS = 1.6
# This is a blank Makefile.am for using gtk-doc.
# Copy this to your project's API docs directory and modify the variables to
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
# of using the various options.
# The name of the module, e.g. 'glib'.
DOC_MODULE=totem-pl-parser
# The top-level SGML file. You can change this if you want to.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
# The directory containing the source code. Relative to $(srcdir).
# gtk-doc will search all .c & .h files beneath here for inline comments
# documenting the functions and macros.
# e.g. DOC_SOURCE_DIR=../../../gtk
DOC_SOURCE_DIR=../../plparse
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=
# Extra options to supply to gtkdoc-mkdb.
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
MKTMPL_OPTIONS=
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
HFILE_GLOB=$(top_srcdir)/plparse/*.h
CFILE_GLOB=$(top_srcdir)/plparse/*.c
# Header files to ignore when scanning.
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
IGNORE_HFILES= \
bswap.h \
stamp-totem-pl-parser-builtins.h \
totem-pl-parser-builtins.h \
totem-pl-parser-features.h \
totem-pl-parser-lines.h \
totemplparser-marshal.h \
totem-pl-parser-media.h \
totem-pl-parser-mini.h \
totem-pl-parser-misc.h \
totem-pl-parser-pla.h \
totem-pl-parser-pls.h \
totem-pl-parser-podcast.h \
totem-pl-parser-private.h \
totem-pl-parser-qt.h \
totem-pl-parser-smil.h \
totem-pl-parser-wm.h \
totem-pl-parser-xspf.h \
xmllexer.h \
xmlparser.h
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES=
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files=version.xml
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
# These files must be listed here *and* in content_files
# e.g. expand_content_files=running.sgml
expand_content_files=
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(TOTEM_PLPARSER_CFLAGS)
GTKDOC_LIBS=$(top_builddir)/plparse/libtotem-plparser.la
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
EXTRA_DIST += version.xml.in
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY version SYSTEM "version.xml">
<!ENTITY slash "/">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>Totem Playlist Parser Reference Manual</title>
<releaseinfo>
for totem-pl-parser &version;
</releaseinfo>
</bookinfo>
<chapter>
<title>API Reference</title>
<xi:include href="xml/totem-pl-parser.xml"/>
<xi:include href="xml/totem-disc.xml"/>
</chapter>
</book>
<SECTION>
<FILE>totem-pl-parser</FILE>
TotemPlParser
TotemPlParserClass
TotemPlParserResult
TotemPlParserType
TotemPlParserError
TotemPlParserIterFunc
totem_pl_parser_new
totem_pl_parser_parse
totem_pl_parser_parse_with_base
totem_pl_parser_write
totem_pl_parser_write_with_title
totem_pl_parser_parse_duration
totem_pl_parser_parse_date
totem_pl_parser_resolve_url
totem_pl_parser_add_ignored_scheme
totem_pl_parser_add_ignored_mimetype
TOTEM_PL_PARSER_FIELD_URL
TOTEM_PL_PARSER_FIELD_GENRE
TOTEM_PL_PARSER_FIELD_TITLE
TOTEM_PL_PARSER_FIELD_AUTHOR
TOTEM_PL_PARSER_FIELD_BASE
TOTEM_PL_PARSER_FIELD_VOLUME
TOTEM_PL_PARSER_FIELD_AUTOPLAY
TOTEM_PL_PARSER_FIELD_DURATION
TOTEM_PL_PARSER_FIELD_STARTTIME
TOTEM_PL_PARSER_FIELD_ENDTIME
TOTEM_PL_PARSER_FIELD_COPYRIGHT
TOTEM_PL_PARSER_FIELD_ABSTRACT
TOTEM_PL_PARSER_FIELD_DESCRIPTION
TOTEM_PL_PARSER_FIELD_SUMMARY
TOTEM_PL_PARSER_FIELD_MOREINFO
TOTEM_PL_PARSER_FIELD_SCREENSIZE
TOTEM_PL_PARSER_FIELD_UI_MODE
TOTEM_PL_PARSER_FIELD_PUB_DATE
TOTEM_PL_PARSER_FIELD_FILESIZE
TOTEM_PL_PARSER_FIELD_LANGUAGE
TOTEM_PL_PARSER_FIELD_CONTACT
TOTEM_PL_PARSER_FIELD_IMAGE_URL
TOTEM_PL_PARSER_FIELD_IS_PLAYLIST
<SUBSECTION Standard>
TOTEM_PL_PARSER
TOTEM_IS_PL_PARSER
TOTEM_TYPE_PL_PARSER
totem_pl_parser_get_type
TOTEM_PL_PARSER_CLASS
TOTEM_IS_PL_PARSER_CLASS
totem_pl_parser_error_quark
TOTEM_PL_PARSER_ERROR
<SUBSECTION Private>
TotemPlParserPrivate
entry_parsed
playlist_ended
playlist_started
</SECTION>
<SECTION>
<FILE>totem-disc</FILE>
TotemDiscMediaType
totem_cd_detect_type
totem_cd_detect_type_with_url
totem_cd_detect_type_from_dir
totem_cd_get_human_readable_name
totem_cd_mrl_from_type
totem_cd_has_medium
<SUBSECTION Standard>
MediaType
</SECTION>
@TOTEM_PL_PARSER_VERSION_MAJOR@.@TOTEM_PL_PARSER_VERSION_MINOR@.@TOTEM_PL_PARSER_VERSION_MICRO@
noinst_LTLIBRARIES = \
libtotem_glibc.la
common_defines = \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-DDATADIR=\""$(datadir)"\" \
$(DISABLE_DEPRECATED)
noinst_HEADERS = totem_internal.h
libtotem_glibc_la_SOURCES =
libtotem_glibc_la_LIBADD = @LTLIBOBJS@
EXTRA_DIST = asprintf.c
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <sys/varargs.h>
int totem_private_asprintf(char **out, const char *fmt, ...)
{
va_list ap;
int ret_status = EOF;
char dir_name[2001];
char file_name[2000];
FILE *fp = NULL;
char *work = NULL;
va_start(ap, fmt);
/* Warning: tmpfile() does not work well on Windows (MinGW)
* if user does not have write access on the drive where
* working dir is? */
#ifdef __MINGW32__
/* file_name = G_tempfile(); */
GetTempPath ( 2000, dir_name );
GetTempFileName ( dir_name, "asprintf", 0, file_name );
fp = fopen ( file_name, "w+" );
#else
fp = tmpfile();
#endif /* __MINGW32__ */
if ( fp ) {
int count;
count = vfprintf(fp, fmt, ap);
if (count >= 0) {
work = calloc(count + 1, sizeof(char));
if (work != NULL) {
rewind(fp);
ret_status = fread(work, sizeof(char), count, fp);
if (ret_status != count) {
ret_status = EOF;
free(work);
work = NULL;
}
}
}
fclose(fp);
#ifdef __MINGW32__
unlink ( file_name );
#endif /* __MINGW32__ */
}
va_end(ap);
*out = work;
return ret_status;
}
#include "config.h"
/* replacement of asprintf & vasprintf */
#ifndef HAVE_ASPRINTF
#define HAVE_ASPRINTF
#ifdef __GNUC__
#define asprintf(STRINGPP, FORMAT, ARGS...) totem_private_asprintf((STRINGPP), FORMAT, ##ARGS)
#elif defined (_MSC_VER)
#define asprintf(STRINGPP, FORMATARGS) totem_private_asprintf((STRINGPP), FORMATARGS)
#else
#define asprintf(STRINGPP, FORMAT, ...) totem_private_asprintf((STRINGPP), FORMAT, __VA_ARGS__)
#endif
int totem_private_asprintf(char **string, const char *format, ...);
#endif