debian/0000755000000000000000000000000012207202476007170 5ustar debian/README.Debian0000644000000000000000000000410011730473500011222 0ustar imms for Debian --------------- See the bottom of this file for important information about upgrading from version 1.1 or older. All the documentation is on the imms web page: http://www.luminal.org/phpwiki/index.php/IMMS It is however a very simple plugin. Quoting from the web page: How? The basic idea is not new. We can guess how favored a certain song is by keeping track of how often it was skipped. The feature that sets IMMS apart from other adaptive playlist management systems is complete transparency to the user. After the installation, IMMS quietly collects information in the background and uses it to help player select songs with no user interaction whatsoever. This feature makes IMMS incredibly unobtrusive and easy to use. Huh? It's quite simple, really. When you skip a song its rating is decreased. The lower the song's rating the less likely it is to be played. Songs acquire positive ratings by not being skipped. If you skip a few songs, the next song that will get played fully gets an even higher rating. In short, you don't need to worry about it. Just enable the plugin and continue using player normally, and IMMS will magically do its thing. It does, however. take a while for IMMS to become familiar with your listening habbits, so be patient. Upgrading from imms 1.1 or older ________________________________ As of version 1.2 imms uses sqlite3 as its backend database. The new sqlite version is not backwards compatible with previous versions. As a result your imms database needs to be upgraded. This can be accomplished in two ways: - Install the sqlite and sqlite3 packages prior to running imms 2.0 for the first time. If both packages are installed, imms will convert your database automatically the first time you enable it. - Install the sqlite and sqlite3 packages, and convert the imms database by hand. Run the following command: sqlite ~/.imms/imms.db .dump | sqlite3 ~/.imms/imms2.db Once your database has been converted you may remove the sqlite and sqlite3 packages. -- Norbert Veber Tue Apr 12 21:47:14 EDT 2005 debian/control0000644000000000000000000000345312207170253010575 0ustar Source: imms Section: utils Priority: optional Maintainer: Artur R. Czechowski Standards-Version: 3.9.4 Homepage: http://imms.luminal.org/ Build-Depends: debhelper (>> 5.0.0), audacious-dev, libsqlite3-dev (>=3.2.2), libpcre3-dev (>=4.3), libtag1-dev, libvorbis-dev (>=1.0), libfftw3-dev, libglib2.0-dev, zlib1g-dev, libxss-dev, libtorch3-dev, libglade2-dev, autoconf, automake, xsltproc, docbook-xsl Package: imms-common Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, sox (>= 14.1.0), libsox-fmt-base, libsox-fmt-mp3 Recommends: sqlite, sqlite3, imms-plugin Description: Unobtrusive, automatic, and learning playlist manager IMMS is an intelligent playlist plug-in that tracks your listening patterns and dynamically adapts to your taste. . This package contains internal tools used by imms plugins for players. It is useless without any imms-plugin Package: imms-audacious Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, imms-common (= ${binary:Version}) Provides: imms-plugin Description: Unobtrusive, automatic, and learning audacious playlist manager IMMS is an intelligent playlist plug-in that tracks your listening patterns and dynamically adapts to your taste. . Major features include: . - Rating and playlist adjustment are done completely transparently to the user. IMMS is super easy to use! - Though IMMS will mostly play "good" songs, occasionally less popular ones are given a chance to earn your favor. - IMMS does a better job of shuffling than player It is able to recognize different versions of the same song (eg. remixes) and not play them too often. - IMMS uses smart file identification that allows files to keep their ratings even if they are moved and/or their tags change. . This package contains audacious plugin debian/docs0000644000000000000000000000000711730473500010036 0ustar README debian/source/0000755000000000000000000000000012036573015010470 5ustar debian/source/format0000644000000000000000000000001411730473500011674 0ustar 3.0 (quilt) debian/rules0000755000000000000000000000557112207201534010252 0ustar #!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) CFLAGS += -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALL_PROGRAM += -s endif export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) # FOR AUTOCONF 2.52 AND NEWER ONLY CONFFLAGS = ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) CONFFLAGS += --build $(DEB_HOST_GNU_TYPE) else CONFFLAGS += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) endif MANPAGES=analyzer immsd immstool configure: $(MAKE) configure configure-stamp: configure dh_testdir ./configure --disable-immsremote CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" touch configure-stamp build: build-arch build-indep build-indep: build-arch: build-stamp build-stamp: configure-stamp dh_testdir $(MAKE) all for p in $(MANPAGES); do \ xsltproc --nonet --param man.charmap.use.subset "0" \ --param make.year.ranges "1" \ --param make.single.year.ranges "1" \ -o debian/ \ /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \ debian/$$p.xml ; \ done touch build-stamp clean: clean1 clean1: configure dh_testdir dh_testroot rm -f build-stamp configure-stamp [ ! -f Makefile ] || $(MAKE) distclean for p in $(MANPAGES); do rm -f debian/$$p.1; done # rm -f config.log config.status vars.mk immsconf.h dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs # Add here commands to install the package into debian/imms. $(MAKE) programs_install prefix=$(CURDIR)/debian/imms-common/usr install -m 0644 -D build/libaudaciousimms.so $(CURDIR)/debian/imms-audacious`pkg-config --variable=general_plugin_dir audacious`/libaudaciousimms.so ln -sf imms-common debian/imms-audacious/usr/share/doc/imms-audacious # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installchangelogs -pimms-common dh_installdocs -pimms-common # dh_installexamples # dh_install # dh_installmenu # dh_installdebconf # dh_installlogrotate # dh_installemacsen # dh_installpam # dh_installmime # dh_installinit # dh_installcron # dh_installinfo dh_installman dh_link dh_strip dh_compress dh_fixperms # dh_perl # dh_python # dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install debian/compat0000644000000000000000000000000211730473500010364 0ustar 5 debian/imms-common.manpages0000644000000000000000000000006311730473500013135 0ustar debian/analyzer.1 debian/immsd.1 debian/immstool.1 debian/imms-audacious.dirs0000644000000000000000000000005011730473500012764 0ustar usr/lib/audacious/General usr/share/doc debian/imms-common.dirs0000644000000000000000000000001011730473500012273 0ustar usr/bin debian/immstool.xml0000644000000000000000000001071111730473500011553 0ustar .
will be generated. You may view the manual page with: nroff -man .
| less'. A typical entry in a Makefile or Makefile.am is: DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" manpage.1: manpage.xml $(XP) $(DB2MAN) $< The xsltproc binary is found in the xsltproc package. The XSL files are in docbook-xsl. A description of the parameters you can use can be found in the docbook-xsl-doc-* packages. Please remember that if you create the nroff version in one of the debian/rules file targets (such as build), you will need to include xsltproc and docbook-xsl in your Build-Depends control field. Alternatively use the xmlto command/package. That will also automatically pull in xsltproc and docbook-xsl. Notes for using docbook2x: docbook2x-man does not automatically create the AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as ... . To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be found in the docbook-xsl-doc-html package. Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` General documentation about man-pages and man-page-formatting: man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ --> ]> &dhtitle; &dhpackage; &dhfirstname; &dhsurname; Wrote this manpage for the Debian system.
&dhemail;
2009 &dhusername; This manual page was written for the Debian system (and may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
&dhucpackage; &dhsection; &dhpackage; debugging tool for imms DESCRIPTION &dhpackage; is mostly a debugging tool used by imms developer. However it has some functionality that advanced user would like to use. For details please see upstream homepage: . SEE ALSO analyzer 1 , immsd 1
debian/patches/0000755000000000000000000000000012207201514010607 5ustar debian/patches/configure-plugin-is-critical.patch0000644000000000000000000000155511731226024017320 0ustar Description: Lack of plugin during configure stage is critical error When configure found there is no possibility to build the audacious plugin we want to stop a compilation with error instead quietly just not building the plugin. Author: Artur R. Czechowski Origin: vendor Forwarded: not-needed Last-Update: 2012-03-17 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: b/configure.ac =================================================================== --- a/configure.ac 2012-03-18 01:28:02.959308299 +0100 +++ b/configure.ac 2012-03-18 01:28:03.787243341 +0100 @@ -383,7 +383,7 @@ if test "$with_audacious" != "no"; then fi if test "$with_audacious" = "no"; then - AC_MSG_WARN([Not building audacious plugin]) + AC_MSG_ERROR([Not building audacious plugin]) else AC_APPEND(PLUGINS, libaudaciousimms.so) fi debian/patches/hardening-flags.patch0000644000000000000000000000263512207201450014666 0ustar Description: pass hardening options to build processes Changes in autotools to pass LDFLAGS to linker Author: Artur R. Czechowski Origin: vendor Last-Update: 2013-08-27 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: b/configure.ac =================================================================== --- a/configure.ac 2013-08-27 21:40:49.994225394 +0200 +++ b/configure.ac 2013-08-27 21:41:12.624347513 +0200 @@ -263,7 +263,7 @@ if test "$enable_analyzer" != "no"; then fi if test "$with_screensaver" != "no"; then - LDFLAGS="-L/usr/X11R6/lib" + LDFLAGS="${LDFLAGS} -L/usr/X11R6/lib" AC_CHECK_LIB(X11, XFlush,, [with_screensaver=no]) AC_CHECK_LIB(Xext, XextFindDisplay,, [with_screensaver=no]) AC_CHECK_LIB(Xss, XScreenSaverQueryInfo,, [with_screensaver=no]) @@ -410,6 +410,7 @@ AC_SUBST(INSTALL) AC_SUBST(XCPPFLAGS) AC_SUBST(TAGCPPFLAGS) AC_SUBST(LIBS) +AC_SUBST(LDFLAGS) AC_SUBST(PLUGINS) AC_SUBST(OPTIONAL) Index: b/vars.mk.in =================================================================== --- a/vars.mk.in 2013-08-27 21:40:49.994225394 +0200 +++ b/vars.mk.in 2013-08-27 21:41:12.624347513 +0200 @@ -51,6 +51,6 @@ GLIB1LDFLAGS=`pkg-config glib --libs` AUDACIOUSCPPFLAGS=@audacious_CFLAGS@ @dbus_glib_CFLAGS@ -I../clients/xmms/ AUDACIOUSLDFLAGS=@audacious_LIBS@ @dbus_glib_LIBS@ -LDFLAGS=-L. @LIBS@ +LDFLAGS=-L. @LIBS@ @LDFLAGS@ default: all debian/patches/audacious-3.x.patch0000644000000000000000000002440611731226024014225 0ustar Description: audacious 3.x Imms can be compiled and used with audacious 3.x. Changes: * port IMMS to new audacious API * port IMMS to GTK3 Author: Artur R. Czechowski Origin: vendor Bug: http://code.google.com/p/imms/issues/detail?id=20 Bug-Debian: http://bugs.debian.org/661390 Last-Update: 2012-03-18 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: b/configure.ac =================================================================== --- a/configure.ac 2012-03-18 01:28:03.787243341 +0100 +++ b/configure.ac 2012-03-18 01:28:04.159214156 +0100 @@ -356,7 +356,7 @@ else fi fi -PKG_CHECK_MODULES(audacious, [audacious >= 2.4], [], [with_audacious=no]) +PKG_CHECK_MODULES(audacious, [audacious >= 2.4 gtk+-3.0], [], [with_audacious=no]) PKG_CHECK_MODULES(dbus_glib, [dbus-glib-1 >= 0.70], [], [with_audacious=no]) LIBS="$audacious_LIBS $dbus_glib_LIBS" @@ -366,14 +366,16 @@ AC_CHECK_HEADERS(audacious/plugin.h,, [w if test "$with_audacious" != "no"; then AC_LANG_PUSH(C) +dnl AC_CHECK_HEADERS(gtk/gtk.h,, [with_audacious=no]) AC_CHECK_HEADERS(audacious/drct.h,, [with_audacious=no]) - AC_MSG_CHECKING([for aud_drct_pq_add in -laudacious]) + AC_MSG_CHECKING([for aud_playlist_queue_insert in -laudcore]) AC_TRY_LINK([#include #include #include + #include - SIMPLE_GENERAL_PLUGIN(0, 0);], - [aud_drct_pq_add(0)], + AUD_GENERAL_PLUGIN();], + [aud_playlist_queue_insert(aud_playlist_get_active(),-1,0)], [AC_MSG_RESULT(yes)], [with_audacious="no" AC_MSG_RESULT(no)]); Index: b/clients/audacious/audplugindef.c =================================================================== --- a/clients/audacious/audplugindef.c 2012-03-18 01:28:02.619334971 +0100 +++ b/clients/audacious/audplugindef.c 2012-03-18 01:28:04.179212588 +0100 @@ -5,11 +5,12 @@ #include "immsconf.h" -void init(void); +bool_t init(void); void about(void); void configure(void); void cleanup(void); +/* static GeneralPlugin imms_gp = { PACKAGE_STRING, @@ -24,3 +25,11 @@ static GeneralPlugin imms_gp = GeneralPlugin *gp_plugin_list[] = { &imms_gp, NULL }; SIMPLE_GENERAL_PLUGIN(imms, gp_plugin_list); +*/ +AUD_GENERAL_PLUGIN( + .name = PACKAGE_NAME, + .init = init, + .cleanup = cleanup, + .about = about, + .configure = configure +) Index: b/clients/audacious/audplugin.cc =================================================================== --- a/clients/audacious/audplugin.cc 2012-03-18 01:28:02.619334971 +0100 +++ b/clients/audacious/audplugin.cc 2012-03-18 01:28:04.187211960 +0100 @@ -29,6 +29,8 @@ extern "C" { #include #include #include +#include +#include } #include "immsconf.h" @@ -55,9 +57,9 @@ string imms_get_playlist_item(int at) if (at > pl_length - 1) return ""; char* uri = 0; - while (!uri) uri = aud_drct_pl_get_file(at); + while (!uri) uri = aud_playlist_entry_get_filename(aud_playlist_get_active (), at); string result = uri; - free(uri); + if(uri) str_unref(uri); gchar* realfn = g_filename_from_uri(result.c_str(), NULL, NULL); char* decoded = g_filename_to_utf8(realfn ? realfn : result.c_str(), @@ -70,7 +72,8 @@ string imms_get_playlist_item(int at) static void player_reset_selection() { - aud_drct_pq_remove(next_plpos); + gint playlist = aud_playlist_get_active(); + aud_playlist_queue_delete (playlist, aud_playlist_queue_find_entry(playlist, next_plpos), 1); next_plpos = -1; } @@ -98,7 +101,7 @@ struct FilterOps static void set_next(int next) { next_plpos = next; - aud_drct_pq_add(next_plpos); + aud_playlist_queue_insert(aud_playlist_get_active (), -1, next_plpos); select_pending = false; just_enqueued = 2; } @@ -112,7 +115,7 @@ struct FilterOps } static int get_length() { - return aud_drct_pl_get_length(); + return aud_playlist_entry_count(aud_playlist_get_active()); } }; @@ -162,7 +165,7 @@ static void do_song_change() static void check_playlist() { // update playlist length - int new_pl_length = aud_drct_pl_get_length(); + int new_pl_length = aud_playlist_entry_count(aud_playlist_get_active()); if (new_pl_length != pl_length) { pl_length = new_pl_length; @@ -188,10 +191,10 @@ void do_checks() select_pending = false; imms->setup(xidle_val); imms->playlist_changed(pl_length = - aud_drct_pl_get_length()); + aud_playlist_entry_count(aud_playlist_get_active())); if (aud_drct_get_playing()) { - last_plpos = cur_plpos = aud_drct_pl_get_pos(); + last_plpos = cur_plpos = aud_playlist_get_position(aud_playlist_get_active()); last_path = cur_path = imms_get_playlist_item(cur_plpos); imms->start_song(cur_plpos, cur_path); } @@ -201,10 +204,10 @@ void do_checks() if (!aud_drct_get_playing()) return; - cur_plpos = aud_drct_pl_get_pos(); + cur_plpos = aud_playlist_get_position(aud_playlist_get_active()); // check if xmms is reporting the song length correctly - song_length = aud_drct_pl_get_time(cur_plpos); + song_length = aud_playlist_entry_get_length(aud_playlist_get_active(), cur_plpos, FALSE); if (song_length > 1000) good_length++; @@ -220,14 +223,15 @@ void do_checks() if (last_path != cur_path) { do_song_change(); - aud_drct_pq_remove(next_plpos); + gint playlist = aud_playlist_get_active(); + aud_playlist_queue_delete(playlist, aud_playlist_queue_find_entry(playlist, next_plpos), 1); return; } } check_time(); - bool newshuffle = aud_drct_pl_shuffle_is_enabled(); + bool newshuffle = aud_get_bool(NULL, "shuffle"); if (!newshuffle && shuffle) player_reset_selection(); shuffle = newshuffle; @@ -235,7 +239,7 @@ void do_checks() if (!shuffle) return; - int qlength = aud_drct_pq_get_length(); + int qlength = aud_playlist_queue_count(aud_playlist_get_active()); if (qlength > 1) player_reset_selection(); else if (!qlength) Index: b/clients/bmp/bmpinterface.c =================================================================== --- a/clients/bmp/bmpinterface.c 2012-03-18 01:28:02.619334971 +0100 +++ b/clients/bmp/bmpinterface.c 2012-03-18 01:28:04.203210705 +0100 @@ -28,8 +28,8 @@ #include #include #include -#include #include +#include #include #include #define PACKAGE PACKAGE_NAME @@ -53,6 +53,9 @@ gint poll_func(gpointer unused) void read_config(void) { +#if AUDACIOUS + use_xidle=PLAYER_PREFIX(get_int)("imms", "xidle"); +#else ConfigDb *cfgfile; if ((cfgfile = PLAYER_PREFIX(cfg_db_open)()) != NULL) @@ -60,6 +63,7 @@ void read_config(void) PLAYER_PREFIX(cfg_db_get_int)(cfgfile, "imms", "xidle", &use_xidle); PLAYER_PREFIX(cfg_db_close)(cfgfile); } +#endif } void init(void) @@ -67,7 +71,7 @@ void init(void) imms_init(); read_config(); imms_setup(use_xidle); - poll_tag = gtk_timeout_add(200, poll_func, NULL); + poll_tag = g_timeout_add(200, poll_func, NULL); } void cleanup(void) @@ -75,19 +79,23 @@ void cleanup(void) imms_cleanup(); if (poll_tag) - gtk_timeout_remove(poll_tag); + g_source_remove(poll_tag); poll_tag = 0; } void configure_ok_cb(gpointer data) { +#if AUDACIOUS + PLAYER_PREFIX(set_int)("imms", "xidle",use_xidle); +#else ConfigDb *cfgfile = PLAYER_PREFIX(cfg_db_open)(); use_xidle = !!GTK_TOGGLE_BUTTON(xidle_button)->active; PLAYER_PREFIX(cfg_db_set_int)(cfgfile, "imms", "xidle", use_xidle); PLAYER_PREFIX(cfg_db_close)(cfgfile); +#endif imms_setup(use_xidle); gtk_widget_destroy(configure_win); @@ -132,8 +140,8 @@ void configure(void) read_config(); configure_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_signal_connect(GTK_OBJECT(configure_win), "destroy", - GTK_SIGNAL_FUNC(gtk_widget_destroyed), &configure_win); + g_signal_connect(configure_win, "destroy", + G_CALLBACK(gtk_widget_destroyed), &configure_win); gtk_window_set_title(GTK_WINDOW(configure_win), "IMMS Configuration"); gtk_container_set_border_width(GTK_CONTAINER(configure_win), 10); @@ -152,21 +160,21 @@ void configure(void) /* Buttons */ configure_bbox = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(configure_bbox), GTK_BUTTONBOX_END); - gtk_button_box_set_spacing(GTK_BUTTON_BOX(configure_bbox), 5); + gtk_box_set_spacing(GTK_BUTTON_BOX(configure_bbox), 5); gtk_box_pack_start(GTK_BOX(configure_vbox), configure_bbox, FALSE, FALSE, 0); configure_ok = gtk_button_new_with_label("Ok"); - gtk_signal_connect(GTK_OBJECT(configure_ok), "clicked", - GTK_SIGNAL_FUNC(configure_ok_cb), NULL); - GTK_WIDGET_SET_FLAGS(configure_ok, GTK_CAN_DEFAULT); + g_signal_connect(configure_ok, "clicked", + G_CALLBACK(configure_ok_cb), NULL); + gtk_widget_set_can_default(configure_ok,TRUE); gtk_box_pack_start(GTK_BOX(configure_bbox), configure_ok, TRUE, TRUE, 0); gtk_widget_show(configure_ok); gtk_widget_grab_default(configure_ok); configure_cancel = gtk_button_new_with_label("Cancel"); - gtk_signal_connect_object(GTK_OBJECT(configure_cancel), "clicked", - GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(configure_win)); - GTK_WIDGET_SET_FLAGS(configure_cancel, GTK_CAN_DEFAULT); + g_signal_connect_swapped(configure_cancel, "clicked", + G_CALLBACK(gtk_widget_destroy), configure_win); + gtk_widget_set_can_default(configure_cancel,TRUE); gtk_box_pack_start(GTK_BOX(configure_bbox), configure_cancel, TRUE, TRUE, 0); gtk_widget_show(configure_cancel); gtk_widget_show(configure_bbox); debian/patches/sox-deprecated-options.patch0000644000000000000000000000177312207201260016236 0ustar Description: Don't use deprecated sox options Author: Artur R. Czechowski Origin: vendor Bug: http://code.google.com/p/imms/issues/detail?id=21 Last-Update: 2012-03-17 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: b/analyzer/soxprovider.h =================================================================== --- a/analyzer/soxprovider.h 2012-03-18 01:28:02.000000000 +0100 +++ b/analyzer/soxprovider.h 2012-03-18 01:28:05.000000000 +0100 @@ -36,8 +36,8 @@ FILE *run_sox(const string &path, int sa if (extension == "mp3" || extension == "ogg") command << "-t ." << extension << " "; command << "\'" << epath << "\' "; - command << "-t .raw -2 -c 1 -r " << samplerate - << (sign ? " -s" : " -u") << " -"; + command << "-t .raw -b 16 -c 1 -r " << samplerate + << (sign ? " -e signed-integer" : " -e unsigned-integer") << " -"; LOG(INFO) << "Executing: " << command.str() << endl; return popen(command.str().c_str(), "r"); } debian/patches/verbose-compilation.patch0000644000000000000000000000102411731226023015611 0ustar Description: makes compilation verbose Author: Artur R. Czechowski Origin: vendor Forwarded: not-needed Last-Update: 2012-03-17 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: b/Makefile =================================================================== --- a/Makefile 2012-03-18 01:28:03.063300139 +0100 +++ b/Makefile 2012-03-18 01:28:03.263284448 +0100 @@ -52,4 +52,4 @@ dist: immsconf.h distclean vars.mk:; %: - @$(MAKE) -C build --no-print-directory $@ + $(MAKE) -C build $@ debian/patches/local-version.patch0000644000000000000000000000201711731226025014412 0ustar Description: Generate number version from changelog Upstream uses svnversion to generate a version number, which always returns "exported". Generate number version using changelog. Author: Artur R. Czechowski Origin: vendor Bug: http://code.google.com/p/imms/issues/detail?id=22 Forwarded: not-needed Last-Update: 2012-03-17 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: b/configure.ac =================================================================== --- a/configure.ac 2012-03-18 01:28:04.159214156 +0100 +++ b/configure.ac 2012-03-18 01:28:04.699171794 +0100 @@ -16,7 +16,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # -define([svnversion], esyscmd([sh -c "svnversion -n"])) +define([svnversion], esyscmd([sh -c "echo -n $(dpkg-parsechangelog | grep ^Version | sed -e 's/^Version: //' -e 's/-.*$$//')"])) AC_INIT([IMMS],[svnversion],[mag@luminal.org]) AC_PREREQ([2.52g]) debian/patches/series0000644000000000000000000000023012207200335012017 0ustar verbose-compilation.patch configure-plugin-is-critical.patch audacious-3.x.patch local-version.patch sox-deprecated-options.patch hardening-flags.patch debian/analyzer.xml0000644000000000000000000001422011730473500011534 0ustar .
will be generated. You may view the manual page with: nroff -man .
| less'. A typical entry in a Makefile or Makefile.am is: DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" manpage.1: manpage.xml $(XP) $(DB2MAN) $< The xsltproc binary is found in the xsltproc package. The XSL files are in docbook-xsl. A description of the parameters you can use can be found in the docbook-xsl-doc-* packages. Please remember that if you create the nroff version in one of the debian/rules file targets (such as build), you will need to include xsltproc and docbook-xsl in your Build-Depends control field. Alternatively use the xmlto command/package. That will also automatically pull in xsltproc and docbook-xsl. Notes for using docbook2x: docbook2x-man does not automatically create the AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as ... . To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be found in the docbook-xsl-doc-html package. Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` General documentation about man-pages and man-page-formatting: man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ --> ]> &dhtitle; &dhpackage; &dhfirstname; &dhsurname; Wrote this manpage for the Debian system.
&dhemail;
2009 &dhusername; This manual page was written for the Debian system (and may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
&dhucpackage; &dhsection; &dhpackage; program to analyze the music file(s) and put the data into IMMS database &dhpackage; ... DESCRIPTION This manual page documents briefly the &dhpackage; command. This manual page was written for the Debian distribution because the original program does not have a manual page. &dhpackage; is a second most important piece of imms suite. It takes the list of filenames with songs (currently only mp3 and ogg formats are supported), makes acoustic analysis of them and put gethered data to the database. Analysis is rather slow - it has to decode the entire file - so it will take a while, but analyzer is smart enough to skip files that have already been analyzed. &dhpackage; is running automatically by imms plugin, but you can also run it manually to analyze your whole music collection at once to benefit from acoustic correlations immediately. You can run the analysis your whole archive using following command: find /mnt/mp3 -type f -exec analyzer {} \; For more sofisticated examples please see Tips and Tricks section of upstream homepage: . FILES Program stores it's data in $HOME/.imms/ directory. For more detailed documentation please see upstream homepage: . SEE ALSO immsd 1 , immstool 1
debian/copyright0000644000000000000000000000416511730473500011127 0ustar This package was debianized by Norbert Veber on Fri, 19 Sep 2003 12:23:40 -0400. The current maintainer is Artur R. Czechowski It was downloaded from http://www.luminal.org/phpwiki/index.php/IMMS Author: Michael Grigoriev Copyright (C) 2003-2005 Michael Grigoriev With the following exceptions: md5.{h,c} (added ability to restrict maximum size to process) from GNU textutils levenshtein.{h,c} (stripped down) python-Levenshtein library by David Necas (Yeti) regexx.{h,cc} (stripped down) Regexx - Regular Expressions C++ solution by Gustavo Niemeyer xidle.{h,cc} Borrows from xautolock 2.1 by Michel Eyckmans (MCE) normal.h by by Agner Fog Other acknowledgement: build system inspired by WvStreams by Avery Pennarun and Pierre Phaneuf The beat detection algorithm is inspired by SoundTouch Audio Processing Library by Olli Parviainen Special thank you to David Held for testing and ideas. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. On Debian systems, the complete text of the GNU General Public License, version 2, can be found in /usr/share/common-licenses/GPL-2. The Debian packaging is: (C) 2003, Norbert Veber (C) 2008, Artur R. Czechowski and is licensed under the GPL, see above. debian/immsd.xml0000644000000000000000000001204511730473500011023 0ustar .
will be generated. You may view the manual page with: nroff -man .
| less'. A typical entry in a Makefile or Makefile.am is: DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" manpage.1: manpage.xml $(XP) $(DB2MAN) $< The xsltproc binary is found in the xsltproc package. The XSL files are in docbook-xsl. A description of the parameters you can use can be found in the docbook-xsl-doc-* packages. Please remember that if you create the nroff version in one of the debian/rules file targets (such as build), you will need to include xsltproc and docbook-xsl in your Build-Depends control field. Alternatively use the xmlto command/package. That will also automatically pull in xsltproc and docbook-xsl. Notes for using docbook2x: docbook2x-man does not automatically create the AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as ... . To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be found in the docbook-xsl-doc-html package. Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` General documentation about man-pages and man-page-formatting: man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ --> ]> &dhtitle; &dhpackage; &dhfirstname; &dhsurname; Wrote this manpage for the Debian system.
&dhemail;
2009 &dhusername; This manual page was written for the Debian system (and may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
&dhucpackage; &dhsection; &dhpackage; core of imms functionality &dhpackage; DESCRIPTION immsd is the core of imms fuctionality. It is responsible for gathering events from music player, updating statistic, scheduling acoustic analysis and selecting new song to play. User shall never run this daemon manually. It is run automatically by plugin to your favourite music player. This manual page was written for the Debian distribution because the original program does not have a manual page. FILES Program stores it's data in $HOME/.imms/ directory. For more detailed documentation please see upstream homepage: . SEE ALSO analyzer 1 , immstool 1
debian/watch0000644000000000000000000000036711730767513010237 0ustar version=3 opts=\ dversionmangle=s/3.1.0~svn//,\ downloadurlmangle=s|.*[?]name=(.*?)&.*|http://imms.googlecode.com/files/$1|,\ filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ http://code.google.com/p/imms/downloads/detail[?]name=imms-r(.+).tar.bz2&.* debian/changelog0000644000000000000000000003125112207202476011044 0ustar imms (3.1.0~svn301-3) unstable; urgency=low * urgency high - testing has non-working version * force rebuild with new audacious (Closes: #719046) (LP: #1209123) * debian/control: removed DM-Upload-Allowed * debian/rules: add hardening flags - new patch hardening-flags.patch * debian/rules: remove unsupported configure options: --without-xmms --without-bmp * update Standard-Version to 3.9.4 - no changes required -- Artur R. Czechowski Tue, 27 Aug 2013 21:59:32 +0200 imms (3.1.0~svn301-2) unstable; urgency=high * urgency high - testing has non-working version * 3.1.0~svn301-1 also fixes Ubuntu bug (LP: #935183) * call the method to dereference a returned string, - updated audacious-3.x.patch * refresh all patches using quilt -p ab and diff -p * removed obsoleted Conflicts with really old package * debian/rules: provide build-arch and build-indep targets to make lintian happy * update Standard-Version to 3.9.3 - no changes required -- Artur R. Czechowski Sun, 18 Mar 2012 02:43:12 +0100 imms (3.1.0~svn301-1) unstable; urgency=low * new upstream release * rename patch: - 01verbose-compilation.patch -> verbose-compilation.patch * remove patches: - 02audacious-2.3.patch - 03audacious-2.4.patch - 04utf8-filename-conversion.patch * new patches: - audacious-3.x.patch (Closes: #661390) - configure-plugin-is-critical.patch - local-version.patch - sox-deprecated-options.patch * all patches are described in DEP3 format * update debian/watch to reflect layout changes on Google Code and changed upstream version numbering scheme -- Artur R. Czechowski Sat, 17 Mar 2012 03:15:34 +0000 imms (3.1.0~rc8-3) unstable; urgency=low * new patches already applied in Ubuntu (Closes: #610810, #620918): + 03audacious-2.4.patch: fix imms to work with audacious 2.4. Patch taken from upstream (http://code.google.com/p/imms/source/detail?r=257) + 04utf8-filename-conversion.patch: backport upstream fix to use g_filename_to_utf8 for filename conversion -- Artur R. Czechowski Sun, 11 Dec 2011 20:30:59 +0000 imms (3.1.0~rc8-2) unstable; urgency=low * switch to dpkg-source 3.0 (quilt) format + remove dpatch from build dependencies and debian/rules * build with audacious 2.3 + replace audacious-plugins-dev with audacious-dev in build dependencies + new patch 02audacious-2.3.patch by james.westby@ubuntu.com - slightly modified to remove glib references * update Standards-Version to 3.8.4 (no changes required) -- Artur R. Czechowski Mon, 24 May 2010 20:38:55 +0000 imms (3.1.0~rc8-1) unstable; urgency=low * new upstream release * removed patches - applied by upstream: + 02compile-with-gcc-4.3.dpatch + 03compile-with-bmp-names-fix-486989.dpatch + 04sox--w-is-obsoleted.dpatch * fixed typo in debian/changelog * build without immsremote - no documentation is provided, functionality is quizzical * debian/control: updated Homepage * debian/watch: update to new location * user manuals in man format are provided (Closes: #251085) + xsltproc and docbook-xsl added to Build-Depends + analyzer.xml, immsd.xml, immstool.xml appeared in debian/ + debian/rules takes care on maintaing files in man format -- Artur R. Czechowski Sat, 27 Jun 2009 18:26:17 +0000 imms (3.1.0~rc4-6) unstable; urgency=low * depends on libsox-fmt-base and libsox-fmt-mp3 to support (among others) ogg and mp3 format (Closes: #497811) -- Artur R. Czechowski Fri, 12 Sep 2008 22:50:16 +0200 imms (3.1.0~rc4-5) unstable; urgency=low * sox -w option is obsoleted, use -2 instead (Closes: #495378) * stronger dependency on sox, was: recommend, is: depends on * additionally, it's versioned dependency >= 14.1.0, because of change from -w to -2. * for debian-release team: it requires unfreezed sox to be useful in lenny -- Artur R. Czechowski Thu, 21 Aug 2008 23:23:02 +0200 imms (3.1.0~rc4-4) unstable; urgency=low * Some #defines to make imms compilable with new names in audacious code (Closes: #486989). * DM-Upload-Allowed: yes -- Artur R. Czechowski Sun, 29 Jun 2008 00:31:17 +0200 imms (3.1.0~rc4-3) unstable; urgency=low * Really add 02compile-with-gcc-4.3 (Closes: #476824) -- Artur R. Czechowski Sat, 19 Apr 2008 20:46:27 +0200 imms (3.1.0~rc4-2) unstable; urgency=low * Reworking the debian/copyright file as requested by Joerg Jaspert -- Artur R. Czechowski Mon, 07 Apr 2008 22:47:15 +0200 imms (3.1.0~rc4-1) unstable; urgency=low * The "Farewell XMMS" release * New upstream release + No longer uses EMD, files have been removed (Closes: #358991) * The copyright file copied from upstream AUTHORS file * Don't build xmms plugin anymore (Closes: #456686) + Removed build-dependency on xmms-dev + Run ./configure --without-xmms --without-bmp * Split the package for imms-${player} plugins and imms-common * Build plugin for audacious * Add to Build-Depends: audacious-plugins-dev, dpatch, autoconf, automake * Using dpatch to manage patches * New patches: + 01verbose-compilation + 02compile-with-gcc-4.3 -- Artur R. Czechowski Sun, 16 Mar 2008 01:34:24 +0100 imms (3.0.2-2) unstable; urgency=low * "Cleaning BTS" release * Take over the package with maintainer agreement (Closes: #463269), thanks to Norbert Veber for his previous work * There is no consensus about removing xmms from Lenny in discussion: http://lists.debian.org/debian-devel/2007/07/msg00026.html Additionally, I'll package imms plugin for audacious soon. The imms shall remain in Debian (Closes: #456686) * sox does not have -p option anymore (Closes: #414829) * Remove quilt, incorporate changes from no-fno-rtti patch (see #459028) * Add missing #includes for gcc 4.3 (Closes: #417233) * Updating build dependency fftw3-dev -> libfftw3-dev (Closes: #460981) * Don't ignore make clean error * Moving Homepage from extended description to separate field. * Update Standards-Version (nothing to change) to 3.7.3 -- Artur R. Czechowski Wed, 30 Jan 2008 20:01:00 +0100 imms (3.0.2-1.1) unstable; urgency=low * Non-maintainer upload to fix RC bug. * Build without -fno-rtti. (Closes: #459028) * Add quilt patching system to manage patch. -- Ana Beatriz Guerrero Lopez Sun, 13 Jan 2008 11:51:52 +0100 imms (3.0.2-1) unstable; urgency=low * New upstream release * Added a watch file (debian/watch) * Increased debhelper compatibility level to 5 * Removed executable bit from /usr/share/imms/immsremote.glade * Build depend on libsqllite3-dev >= 3.2.2 Closes: #342703 -- Norbert Veber Wed, 8 Mar 2006 13:35:48 -0500 imms (3.0.1-1) unstable; urgency=medium * New upstream release -- Norbert Veber Thu, 8 Dec 2005 15:04:33 -0500 imms (3.0-1) unstable; urgency=low * New upstream release Closes: #341335 -- Norbert Veber Wed, 7 Dec 2005 21:15:07 -0500 imms (2.1.1-3) unstable; urgency=low * Removed the -shared flag used by the configure script which was causing problems on amd64. Closes: #331270 -- Norbert Veber Mon, 3 Oct 2005 19:36:30 -0400 imms (2.1.1-2) unstable; urgency=low * Build depend on libxss-dev -- Norbert Veber Thu, 29 Sep 2005 10:41:45 -0400 imms (2.1.1-1) unstable; urgency=low * New upstream release Closes: #309455 * Recompile with libtag1c2 Closes: #321544 * Added workaround for libc bug 323811, thanks to Brad Sawatzky for the patch! Closes: #324220 * Build depend on zlib1g-dev Closes: #323317 * Random and repeat modes can now be turned off. However if random play is enabled, the playlist is still repeated. Closes: #322032, #253300 * The "0 msecs elapsed" mesages are no longer printed to the console Closes: #292442 -- Norbert Veber Wed, 28 Sep 2005 12:46:58 -0400 imms (2.0.3-2) unstable; urgency=high * Build depend on xmms-dev (>= 1.2.10+cvs20050209) -- Norbert Veber Wed, 13 Apr 2005 23:43:11 -0400 imms (2.0.3-1) unstable; urgency=high * New upstream release Closes: #301831 * Contains better fix for the command execution security problem described below (see changelog entry for version 2.0.1-3.1) Closes: #292777, #285828 * The XMMS queue now works properly Closes: #245928 * Now works with xmms-crossfade Closes: #223343 * Random song skips should no longer occur Closes: #245139 -- Norbert Veber Tue, 12 Apr 2005 17:29:27 -0400 imms (2.0.1-3.1) unstable; urgency=high * Non-maintainer upload. * High-urgency upload for sarge-targetted RC bugfix * Use pipe() and execlp() directly instead of popen() when calling sox, to avoid arbitrary command execution attacks when acting on files with untrusted names downloaded from the network. Closes: #292777. -- Steve Langasek Sat, 5 Feb 2005 04:58:12 -0800 imms (2.0.1-3) unstable; urgency=low * Applied patch from Andreas Jochens to fix a build problem on 64 bit architectures. Closes: #286432, #286509 -- Norbert Veber Tue, 21 Dec 2004 13:27:53 -0500 imms (2.0.1-2) unstable; urgency=low * Added build-dependancy on libglib2.0-dev Closes: #285268 * Added sox to the list of recommends. -- Norbert Veber Mon, 13 Dec 2004 15:56:34 -0500 imms (2.0.1-1) unstable; urgency=low * New upstream release Closes: #247309 -- Norbert Veber Fri, 10 Dec 2004 13:52:21 -0500 imms (2.0-1) unstable; urgency=low * New upstream release Closes: #278972, #270104 * Updated README.Debian with upgrade instructions, please read! -- Norbert Veber Thu, 9 Dec 2004 17:18:41 -0500 imms (1.1-1) unstable; urgency=low * New upstream release Closes: #244950 * Replaced libid3-dev, and libvorbis-dev build-deps with libtag1-dev * Include immstool in the package Closes: #242349 -- Norbert Veber Fri, 30 Apr 2004 16:45:57 -0400 imms (1.0.1-1) unstable; urgency=low * New upstream release * The XMMS Queue configuration option is now working Closes: #234426 * Added note into README.Debian about imms being listed under visualization plugins. -- Norbert Veber Fri, 12 Mar 2004 12:36:32 -0500 imms (1.0-1) unstable; urgency=low * New upstream release Closes: #230966 -- Norbert Veber Mon, 9 Feb 2004 16:35:40 -0500 imms (0.9.9-1) unstable; urgency=low * New upstream release Closes: #224009 -- Norbert Veber Wed, 7 Jan 2004 17:21:45 -0500 imms (0.9.8-1) unstable; urgency=low * New upstream release * Added patch to fix the ogg memory leak (songinfo.cc, songinfo.h) Closes: #220512 * Rebuilt with newer id3lib Closes: #22104 -- Norbert Veber Thu, 20 Nov 2003 15:59:22 -0500 imms (0.9.4-2) unstable; urgency=low * Added patch to configure.ac to check if libXss can be linked dynamically. Hopefully this fixes #216529. Closes: #216529 * Added patch for properly escaping filenames that contain quotes ('). Closes: #216276 -- Norbert Veber Wed, 29 Oct 2003 21:34:01 -0500 imms (0.9.4-1) unstable; urgency=low * New upstream release Closes: #213992, #212951 -- Norbert Veber Wed, 8 Oct 2003 21:08:50 -0400 imms (0.9.3-1) unstable; urgency=low * New upstream release - Doesn't crash anymore with -O2 now that -D_REENTRANT is also used. - The previous version was very broken. It gave ratings to the wrong songs. You may want to rm -rf ~/.imms, and start a new database. * Fixed some spelling mistakes in the description. -- Norbert Veber Fri, 26 Sep 2003 12:54:20 -0400 imms (0.9.2-3) unstable; urgency=low * Added -fPIC to CFLAGS.. Closes: #212596 -- Norbert Veber Wed, 24 Sep 2003 13:46:25 -0400 imms (0.9.2-2) unstable; urgency=low * Added execute permissions to configure script. Closes: #212527 -- Norbert Veber Wed, 24 Sep 2003 10:39:35 -0400 imms (0.9.2-1) unstable; urgency=low * Initial Release. (Closes: #211721) * Decreased optimization to -O0 instead of -O2. XMMS kept crashing when the plugin was compiled via -O2, and -O1. -- Norbert Veber Fri, 19 Sep 2003 19:53:42 -0400 debian/preinst0000644000000000000000000000070711730473500010601 0ustar #! /bin/sh set -e case "$1" in install) ;; upgrade) if [ "$2" \< "2.0-1" ]; then echo "NOTE: Please read the upgrade instructions in /usr/share/doc/imms/README.Debian" fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0