Sunday 23-07-2006: Banshee Xine backend HowTo

Ever wanted to use libxine to play stuff in Banshee? I’ve coded up the Xine Backend for you and here is how to install and activate it. Be aware that Banshee version newer than 0.10.10 is required. If you want to compile from source and you are on SUSE Linux you will have to install the banshee-devel package.

Download XineEngine.dll in the directory reported by

pkg-config --variable=systemplugindir banshee | sed -e 's/Banshee.Plugins/Banshee.MediaEngine/'

Activate the engine with:

gconftool-2 --set /apps/Banshee/PlayerEngine "xine-engine" --type string

Done!

From Source

wget http://files.i-nz.net/projects/banshee/banshee-engine-xine/banshee-engine-xine.tar.gz
tar xfz banshee-engine-xine.tar.gz
cd banshee-engine-xine
./autogen.sh
make
make install

Changing the default engine in Banshee

Setting the default media engine in Banshee can be done by using gconftool:

gconftool-2 --get /apps/Banshee/PlayerEngine
gconftool-2 --set /apps/Banshee/PlayerEngine "engine-name" --type string

Viewing 13 Comments

    • ^
    • v
    i tried lot of times but in every time i have the same error
    could you help me please , i need that engine soooo much

    illusion:~/banshee-engine-xine # ./autogen.sh
    /opt/gnome/bin/gnome-autogen.sh
    checking for autoconf >= 2.53...
    testing autoconf2.50... not found.
    testing autoconf... found 2.60
    checking for automake >= 1.9...
    testing automake-1.9... found 1.9.6
    checking for pkg-config >= 0.14.0...
    testing pkg-config... found 0.20
    Checking for required M4 macros...
    Checking for forbidden M4 macros...
    **Warning**: I am going to run `configure' with no arguments.
    If you wish to pass any to it, please specify them on the
    `./autogen.sh' command line.

    Processing ./configure.ac
    Running aclocal-1.9...
    Running autoconf...
    Running automake-1.9...
    cp: cannot stat `INSTALL': No such file or directory
    configure.ac: installing `./install-sh'
    configure.ac: installing `./missing'
    configure.ac:2: installing `./config.guess'
    configure.ac:2: installing `./config.sub'
    Makefile.am: installing `./INSTALL'
    cmp: INSTALL.autogen_bak: No such file or directory
    cp: cannot stat `INSTALL.autogen_bak': No such file or directory
    Running ./configure --enable-maintainer-mode ...
    checking build system type... i686-suse-linux-gnu
    checking host system type... i686-suse-linux-gnu
    checking target system type... i686-suse-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether to enable maintainer-specific portions of Makefiles... yes
    checking for mono... /usr/bin/mono
    checking for gmcs... /usr/bin/gmcs
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for GLIB_SHARP... yes
    checking for BANSHEE... configure: error: Package requirements (banshee >= 0.10.10) were not met:

    No package 'banshee' found

    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.

    Alternatively, you may set the environment variables BANSHEE_CFLAGS
    and BANSHEE_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.

    so , What can i do please ?

    My Distro is openSUSE 10.2 GM

    thank you
    • ^
    • v
    my distro is the dvd one , it comes with helix-banshee 11.2

    i will waiting for you

    yhanks againe
    • ^
    • v
    Hey,

    If you want to compile from source and you are on SUSE Linux you will have to install the banshee-devel package. I forgot to add that to the tutorial and now it's there.

    Thanks. Hope it works well for you!

    P.S don't forget to enable it via gconftool –set /apps/Banshee/PlayerEngine –type=string xine-engine
    • ^
    • v
    thank you so much for your answer
    i passed the first problem but now i have another one :) " I'm so sorry for annoying you :( "

    this is my log

    illusion:~ # svn co svn://svn.banshee-project.org/trunk/banshee-engine-xine
    A banshee-engine-xine/configure.ac
    A banshee-engine-xine/AUTHORS
    A banshee-engine-xine/ChangeLog
    A banshee-engine-xine/src
    A banshee-engine-xine/src/Xine.cs
    A banshee-engine-xine/src/Makefile.am
    A banshee-engine-xine/src/XinePlayerEngine.cs
    A banshee-engine-xine/COPYING
    A banshee-engine-xine/Makefile.am
    A banshee-engine-xine/autogen.sh
    A banshee-engine-xine/NEWS
    A banshee-engine-xine/README
    Checked out revision 284.
    illusion:~ # cd banshee-engine-xine
    illusion:~/banshee-engine-xine # ./autogen.sh
    /opt/gnome/bin/gnome-autogen.sh
    checking for autoconf >= 2.53...
    testing autoconf2.50... not found.
    testing autoconf... found 2.60
    checking for automake >= 1.9...
    testing automake-1.9... found 1.9.6
    checking for pkg-config >= 0.14.0...
    testing pkg-config... found 0.20
    Checking for required M4 macros...
    Checking for forbidden M4 macros...
    **Warning**: I am going to run `configure' with no arguments.
    If you wish to pass any to it, please specify them on the
    `./autogen.sh' command line.

    Processing ./configure.ac
    Running aclocal-1.9...
    Running autoconf...
    Running automake-1.9...
    cp: cannot stat `INSTALL': No such file or directory
    configure.ac: installing `./install-sh'
    configure.ac: installing `./missing'
    configure.ac:2: installing `./config.guess'
    configure.ac:2: installing `./config.sub'
    Makefile.am: installing `./INSTALL'
    cmp: INSTALL.autogen_bak: No such file or directory
    cp: cannot stat `INSTALL.autogen_bak': No such file or directory
    Running ./configure --enable-maintainer-mode ...
    checking build system type... i686-suse-linux-gnu
    checking host system type... i686-suse-linux-gnu
    checking target system type... i686-suse-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether to enable maintainer-specific portions of Makefiles... yes
    checking for mono... /usr/bin/mono
    checking for gmcs... /usr/bin/gmcs
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for GLIB_SHARP... yes
    checking for BANSHEE... yes
    checking for LIBXINE... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating src/Makefile
    Now type `make' to compile banshee-engine-xine
    illusion:~/banshee-engine-xine # make
    Making all in src
    make[1]: Entering directory `/root/banshee-engine-xine/src'
    /usr/bin/gmcs -debug -out:XineEngine.dll -target:library -r:/usr/lib/banshee/Banshee.Base.dll -r:/usr/lib/banshee/Banshee.Widgets.dll -r:/usr/lib/banshee/TagLib.dll -r:/usr/lib/banshee/Hal.dll -r:/usr/lib/banshee/MusicBrainz.dll -r:Mono.Posix -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/pango-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/atk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gdk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gtk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gconf-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gconf-sharp-peditors.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/glib-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gnome-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/art-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gnome-vfs-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/glib-sharp.dll ./Xine.cs ./XinePlayerEngine.cs
    make[1]: Leaving directory `/root/banshee-engine-xine/src'
    make[1]: Entering directory `/root/banshee-engine-xine'
    make[1]: Nothing to be done for `all-am'.
    make[1]: Leaving directory `/root/banshee-engine-xine'
    illusion:~/banshee-engine-xine # make install
    Making install in src
    make[1]: Entering directory `/root/banshee-engine-xine/src'
    make[2]: Entering directory `/root/banshee-engine-xine/src'
    make[2]: Nothing to be done for `install-exec-am'.
    test -z "/usr/lib/banshee/Banshee.MediaEngine" || mkdir -p -- "/usr/lib/banshee/Banshee.MediaEngine"
    /usr/bin/install -c 'XineEngine.dll' '/usr/lib/banshee/Banshee.MediaEngine/XineEngine.dll'
    /usr/bin/install -c 'XineEngine.dll.mdb' '/usr/lib/banshee/Banshee.MediaEngine/XineEngine.dll.mdb'
    make[2]: Leaving directory `/root/banshee-engine-xine/src'
    make[1]: Leaving directory `/root/banshee-engine-xine/src'
    make[1]: Entering directory `/root/banshee-engine-xine'
    make[2]: Entering directory `/root/banshee-engine-xine'
    make[2]: Nothing to be done for `install-exec-am'.
    make[2]: Nothing to be done for `install-data-am'.
    make[2]: Leaving directory `/root/banshee-engine-xine'
    make[1]: Leaving directory `/root/banshee-engine-xine'
    illusion:~/banshee-engine-xine # gconftool-2 –get /apps/Banshee/PlayerEngine
    illusion:~/banshee-engine-xine # gconftool-2 –set /apps/Banshee/PlayerEngine –type=string engine-name
    illusion:~/banshee-engine-xine # banshee
    Debug: [12/08/2006 05:06:21] (Loading audio profiles) - /usr/share/banshee/audio-profiles
    Segmentation fault
    illusion:~/banshee-engine-xine #


    the problem is , the banshee doesn't work anymore

    am I made something wrong ?

    thank you
    • ^
    • v
    Hey,

    Sorry for the problems. I've just updated the engine to fix the problem. Please delete the old one and get the new one. Also change "engine-name" to xine-engine in the gconftool-2 line.
    • ^
    • v
    thank you so much

    but can i use realmedia file with banshee-xine like amarok-xine or kaffeine-xine ???

    thanks
    • ^
    • v
    Hey,

    I've updated the xine bindings once more. Initially it restricted playing only to "mp3", "ogg", "wma", "asf", "flac". Now I have updated the list to: "mp3", "ogg", "wma", "asf", "flac", "rm", "ac3", "snd", "au", "ram", "ra", "wav", "mpv", "mp2", "mpv2", "mp4", "aif", "aiff".

    Please get the newest version again :). Hope it works for you now. Thanks for your feedback.
    • ^
    • v
    hey man, how are you today
    thanks for that update , but it still doesn't want to open ra, rm and ram

    i tried to play it but it didn't want to work

    look please for the log :

    illusion:~ # banshee
    Debug: [12/09/2006 03:56:12] (Loading audio profiles) - /usr/share/banshee/audio-profiles
    Debug: [12/09/2006 03:56:13] (Default player engine) - Xine
    Debug: [12/09/2006 03:56:14] (Audio CD Core Initialized) -

    it looks great till now

    but when i add any ra , rm and ram

    it gives me the messege :

    in bash : Setting IO Backend to Banshee.IO.Unix.IOConfig (unix)

    in GUI of Banshee : A null was found where an opject instance was required.

    and it puts the file in " Import Errors " in Banshee

    my version of Banshee is 0.11.2.30


    thank you :)
    • ^
    • v
    hi againe
    this is new messege with banshee 0.1.13.28

    illusion:/usr/lib/banshee/Banshee.MediaEngine # banshee
    Debug: [12/10/2006 17:47:02] (Loading audio profiles) - /usr/share/banshee/audio-profiles
    Plugin module: /usr/lib/banshee/Banshee.MediaEngine/XineEngine.dll
    Does not implement PluginModuleEntry.GetTypes. For faster startup performance
    and to lower memory consumption, it is recommended that the following code
    be added to the plugin module:

    public static class PluginModuleEntry
    {
    public static Type [] GetTypes()
    {
    return new Type [] {
    typeof(Banshee.MediaEngine.Xine.XinePlayerEngine)
    };
    }
    }

    Debug: [12/10/2006 17:47:03] (Default player engine) - Xine
    Debug: [12/10/2006 17:47:03] (Audio CD Core Initialized) -
    Debug: [12/10/2006 17:47:03] (Testing device for DAP support) - /org/freedesktop/Hal/devices/volume_uuid_DE88016D8801458D
    Debug: [12/10/2006 17:47:03] (DAP has not been added) - /org/freedesktop/Hal/devices/volume_uuid_DE88016D8801458D
    Assembly.GetTypes() was called on assembly:
    /usr/lib/banshee/Banshee.MediaEngine/XineEngine.dll

    This assembly does not include any Banshee.Plugins.Plugin types
    and should probably be filtered from being passed to
    PluginFactory.LoadPluginsFromAssembly to prevent memory
    loss and performance issues.

    thank you
    • ^
    • v
    smart@smart-laptop:~$ banshee
    Debug: [8/31/2007 6:15:22 PM] (Loading audio profiles) - /usr/share/banshee/audio-profiles
    Plugin module: /usr/lib/banshee/Banshee.MediaEngine/XineEngine.dll
    Does not implement PluginModuleEntry.GetTypes. For faster startup performance
    and to lower memory consumption, it is recommended that the following code
    be added to the plugin module:

    public static class PluginModuleEntry
    {
    public static Type [] GetTypes()
    {
    return new Type [] {
    typeof(Banshee.MediaEngine.Xine.XinePlayerEngine)
    };
    }
    }
    -----

    same problem !!!
    did u solve it !!
    pot the sol. plz :d
    • ^
    • v
    S.X, what you pasted is not an error, but a suggestion by the Banshee developers for plugin developers. People tested the plugin against 0.11, 0.12, 0.13 and it works fine. What is your exact problem? If you can't play mp3 files then your distribution probably ships libxine compiled without mp3 support.
    • ^
    • v
    Hello Ivan..

    I am using your Xine Backend since openSUSE 10.2 till now, and as you know the first version of Banshee well be release soon. so I have two questions..

    Are this Xine Backend well works with a new version of Banshee?

    And is there any chance to make it official in Banshee project? or make it as an RPM Package (example: banshee-engine-xine)? Because I guess You have yours repository at openSUSE repositories :)

    Thank you for your hard work
    • ^
    • v
    74141,

    I will have to update the backend in order for it to work with the new features of Banshee, etc. I hope I will be able to do that in the near future. As for now you can install gstreamer packages from the pacman repository in order to get video and audio playback of the proprietary file formats.

    Cheers,
    Ivan.
close Reblog this comment
blog comments powered by Disqus
?>