|
|
BMP
Support
Community
Development
Miscellaneous
|
[edit] How to contributeIf you want to contribute to BMPx, may it be code or a translation, please file an enhancement request (RFE) on our bug tracking system. Attach your files to the RFE. If you have more profound changes that don't fit into a single patch, especially ideas for restructuring large portions of code for soundness, elegance or some other reason, discuss with us on IRC! Our channel is #bmp on irc.freenode.net. In any case, don't feel restricted. If you're unsure of what to do[1], or if you have any idea that can improve BMPx for everyone (well, most :), however vague, or simply want to laze around, just join us on IRC :) [1] Be sure to read the on-site documentation first [edit] Running with D-Bus[edit] Run a D-Bus session daemon within your X sessionPut this in your ~/.xinitrc file: #!/bin/sh COMMAND is the command you use to start your windowmanager/desktop with, e.g. gnome-session for GNOME, startkde for KDE, wmaker for WindowMaker, fluxbox, etc. This will make the D-BUS session available to the whole session and all apps once you have started X. Is D-BUS already running? On Linux distributions where this already happens in one way or another (the system starts a D-BUS session daemon for you after log-in), this isn't necessary. You can check for this by simply logging in without the above modifications and then running the command
echo $DBUS_SESSION_BUS_ADDRESSfrom a terminal. If this outputs nothing, you have to proceed as described above, otherwise you don't need to do anything. [edit] How do I use D-Bus from within the GNOME Desktop?Excerpt from FreeBSD documentation: http://www.freebsd.org/gnome/docs/faq2.html#q25 The GNOME Desktop must be started with D-Bus support. To do this, launch gnome-session from within dbus-launch. For example, if you start GNOME using ~/.xinitrc or ~/.xsession, change the line that execs gnome-session to the following: exec dbus-launch --exit-with-session gnome-session
If you use GDM to start GNOME, create a new GDM session with the following parameters: [Desktop Entry] Encoding=UTF-8 Name=GNOME with D-BUS Comment=GNOME Desktop with D-BUS support Exec=/usr/bin/dbus-launch --exit-with-session /usr/bin/gnome-session TryExec=/usr/bin/dbus-launch Icon= Type=Application Call this new GDM session gnome-dbus.desktop. [edit] Backwards compatibility with BMP[edit] Can I use BMP plugins with BMPx?Not at the moment. BMPx utilizes GStreamer for its audio backend. Unless someone develops GStreamer elements to adapt BMP plugins, this will not be possible. [edit] Where is the web site for classic BMP that came with my Linux/*BSD distro?It has been moved here: http://bmp.beep-media-player.org [edit] Playback[edit] Setting up GStreamer[edit] What is GStreamer?GStreamer is a multimedia framework used to drive BMP's audio backend. It has been chosen for its outstanding flexibility and extensibiliity so that we can focus on delivering you an easy-to-use application instead of having to care about the nitty-gritty details of audio codecs, playback sources and devices. Everything that is playable under GStreamer is automatically playable in BMPx as well (well, almost anyway). [edit] Building GStreamer from sourceYou can get the following components from the GStreamer Source Downloads. You should build all of them to have the maximum amount of file types to play back.
[edit] Using pre-packaged GStreamer packagesVarious OSes and/or Linux Distributions package GStreamer really differently. There is no common way to tell how the packages are split up. Gentoo users should be the most cautious ones probably as Gentoo has split up GStreamer 0.10 into a huge amount of sub-packages. The mad (mp3) plugin is normally part of gst-plugins-ugly, but Gentoo has made a separate ebuild for it, gst-plugins-mad, to cite just one example. Debian might not have the packages in your allowed repositories. On enabling third-party repositories, see Apt Pinning. To get musepack (.mpc files) support, you need to install musepack-decoder from the Rarewares repository; download gstreamer0.10-plugins-bad from Ubuntu Dapper or gstreamer0.10-plugins-bad-multiverse (for AMD64) if the mentioned packages are still unavailable natively; then sudo dpkg -i <package> (which will report broken dependencies) and sudo apt-get -f install (which will fix the dependencies). [edit] What can BMPx play?The simple answer is: almost everything your GStreamer installation can play back. More complicatedly, BMPx uses GStreamer as the playback backend and thus can play whatever GStreamer can play on your system. It can generally output [i]audio[/i] to whatever GStreamer can output to on your system. For the latter, there has to be explicit support added first, as we are taking care of every output possibility individually and want to have proper setup methods for it. Here is a general overview of what is supported, but they vary depending on your installation. [edit] Audio Output Systems
[edit] Stream Types
[edit] Container FormatsEach container format can contain audio files, as the name suggests. Even so-called "OGGs" are just Vorbis files inside the OGG container. MKA can also contain Vorbis or MP3 streams; the same goes for OGM and, possibly, for AVI. (We're listing AVI just for the sake of completeness, we're not sure nor aware of audio-only AVI files that exist.)
[edit] Additional Capabilities
[edit] Playlist Formats
[edit] Checking your installationRun each of those commands to test your GStreamer installation for a particular playback capability. If any of those returns "No such element", then you need to install the appropriate plugins if you want to play this kind of files.
gst-inspect id3demux gst-inspect mad
gst-inspect oggdemux gst-inspect vorbisdec
gst-inspect musepack
gst-inspect ffmpeg
gst-inspect faad
gst-inspect flac [edit] Testing for FilesRun the following command to test your GStreamer pipeline. If you can hear sound, and bmpx still doesn't play, please report the bug. gst-launch filesrc location=/filename/to/play ! decodebin ! audioconvert ! audioresample ! alsasink [edit] Testing for HTTP StreamsSince 0.30, http stream support will be included natively in BMPx [edit] Testing for Audio CDsgst-launch cdparanoiasrc track=1 ! audioconvert ! alsasink [edit] Checking with the GUIBMPx has status information in the Preferences window. Open "Preferences" and select the "Audio" category. Under the "Capabilities" tab, you will see the status indicators like this:
[edit] Debugging[edit] Crash at startupPlease dowload this script: check-libstdc++.sh, run "chmod +x check-libstdc++.sh", feel free to examine its contentents, and then run it; it's a check for libstdc++ (the standard C++ library runtime) consistency between BMP and all C++ libraries that BMP is linked against. The output should be, for example, like this: [mderezynski@core ~]$ ./check-libstdc++.sh If the following output does not show EXACTLY the same library for EACH line, then you have a problem. BMP..........: libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x047cc000) GLIBMM.......: libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x047cc000) GTKMM........: libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x047cc000) PANGOMM......: libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x047cc000) Taglib.......: libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x047cc000) MusicBrainz..: libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x047cc000) If the listed paths to libstdc++ are not the same, then you DO have a problem. It usually means that the set of libraries were compiled with ABI[1] incompatible versions of gcc (e.g. gcc 3.x and gcc 4.x). You have to recompile all of those libraries again with the same compiler you're compiling BMPx with right now. If you use Gentoo, it's likely a result of upgrading GCC incorrectly. Please read this for more information. [edit] Still having problems?If the previous script does not report an error and you still have a problem, you should try running check-deeper.sh. It searches deeper through the library dependencies and may reveal the problem. If you see user@hostname:~> ./check-deeper.sh No libstdc++ problems detected then your problem may lie elsewhere (it could still be a libstdc++ ABI issue). However, if you see something else, a problem was most certainly detected.
[edit] Reproduce the bugThe first step is to reproduce the bug and try to find the shortest way to catch it. Please note exactly what you've done. To get more details, run bmpx: ${PREFIX}/libexec/beep-media-player-2-bin --no-log
[edit] Generate backtraceIf this bug crashes the application, we need more information. Firstly, be sure you have built bmpx with debug symbols and without optimization. If you're not sure, re-run configure --enable-debug Now, you have to run bmpx in the GNU Debugger (gdb): gdb ${PREFIX}/libexec/beep-media-player-2-bin
where ${PREFIX} is the path you have installed bmpx. Than type run --g-fatal-warnings Follow the steps to reproduce the crash (as in, make it crash again), and once it crashes, type: bt [edit] File a bug report / Report to us on IRC
[edit] Checkpoints
|
| Log in / create account | ||||
|
|
||||
| This page has been accessed 48,983 times. | ||||

