~~NOTOC~~
{{ :apps:xfburn.png?nolink|}}
====== Xfburn - a simple CD/DVD/Blu-ray burning tool======
* **[[#Introduction|Introduction]]**
* **[[#Functionality|Functionality]]**
* **[[#Audio CD support details|Audio CD support details]]**
* **[[#Required Packages|Required Packages]]**
* **[[#Debugging|Debugging]]**
* **[[#Future Plans|Future Plans]]**
* **[[#Authors|Authors]]**
* **[[#Latest Release|Latest Release]]**
* **[[#Source Code Repository|Source Code Repository]]**
* **[[#Reporting Bugs|Reporting Bugs]]**
----
===== Introduction =====
Xfburn is a simple CD/DVD/Blu-ray burning tool based on [[http://libburnia-project.org|libburnia]], which are set of libraries and CLI apps. It can blank/erase rewritable media (CD-RW/DVD-RW), compcreate and burn/write ISO images, create and burn audio CDs, as well as burn personal compositions of data to either CD or DVD.
For more detailed information, please have a look at the [[https://gitlab.xfce.org/apps/xfburn/-/blob/master/README.md|README]] or the [[https://gitlab.xfce.org/apps/xfburn/-/blob/master/NEWS|NEWS]] file.
----
----
===== Functionality =====
Xfburn is still a new program, and does not yet do all common burning related
tasks.
Currently implemented is:
* Create data compositions
* Burn to CD, DVD, or BluRay (BD)
* Create ISO images
* Burn ISO images
* Create and burn audio CDs
* Blank discs
* Format and deformat DVD-RW discs
Xfburn has 3 write modes, which are Auto, TAO (Track-at-Once) and SAO (Session-at-Once). TAO records with the laser stopping after each track is finished and SAO allows the recording over multiple sessions, which will all be read by a computer drive, but CD equipment will only read the first session. At this time there is no multi-session support. ([[https://gitlab.xfce.org/apps/xfburn/-/issues/25|#25]])
**BurnFree**, like BurnProof and similar technologies, is a feature designed to allow Xfburn to recover if at some point the drive is burning data faster than the application can send it, which decreases the risk of failures.
**Stream Recording** disables error management for BD only, which increases
the burning speed. Using it seems to be the best option since discs with
errors tend to fail even when stream recording is disabled.
----
===== Audio CD support details =====
Included are two transcoders: basic, which just passes through uncompressed
wav data, and gst (gstreamer), which can decode any audio file for which a
gstreamer plugin is present.
==== The basic transcoder ====
Only CD-quality, uncompressed (PCM) Wave files can be added to an audio
compilation. Use i.e. your favority audio player with a disc writer output
mode / plugin to decompress your existing audio files. If .wav files are added
to the compilation, their headers get checked to make sure they are of the
right format. Note that this check is not very well tested (in particular it's
not likely to work on big-endian machines like PowerPC). It does not require
any external libraries
==== The gst transcoder ====
Based on the gstreamer library, it can decode pretty much any audio content,
as long as you have the appropriate plugins installed. Note that by default
most distributions do _not_ install these plugins. But a simple search for
gstreamer plugins in your package manager should quickly allow you to install
them.
You can at startup switch between the transcoders, see the command line help
for more information.
[[|Back to Top]]
----
===== Required Packages =====
* libisofs version 0.6.2 or newer
* libburn version 0.4.2 or newer
* WARNING: libburn 0.4.2 - 0.5.4 are API compatible, but might trigger an error in libburn's fifo code.
RECOMMENDED is version 0.5.6 or newer, where the bug was fixed.
==== Optional, but highly recommended ====
* gstreamer (1.0+, required for burning audio CDs from compressed music files)
* gstreamer pbutils (they usually come with gstreamer as far as I know)
* gstreamer plugins (look for the good, the bad and the ugly plugin pack, most likely you want all of these)
Let the **highly recommended** part be highlighted once more. Of course
gstreamer will not matter if you do not plan on burning audio CDs, but the
other two libraries will come in handy in almost all situations.
==== Optional, for maintenance ====
* libxslt (for creating docs)
The author works with both hal and thunar-vfs enabled, so there might be the
occasional bug that breaks compilation without these components. Xfburn should
work without these optional components, but it is not well tested at all.
Should something not compile or work as expected, please report a bug, and it
will get fixed.
[[|Back to Top]]
----
===== Debugging =====
If xfburn crashes, freezes, or somehow makes no progress for you, then you can
help greatly in debugging the problem. It does require you to build xfburn from
the sources, and to install gdb. If you can handle that, here are the exact
instructions:
1. Rebuild xfburn with debugging support - grab the sources, and run (you can update
`-j4` to match your core count):
```
$ autoconf
$ ./configure && make clean all -j4
```
2. Enable core dumps, then run xfburn until it hangs, or crashes:
```
$ ulimit -c unlimited; xfburn/xfburn 2>&1 | tee xfburn.output
```
3. From another terminal, kill xfburn (only if it hasn't crashed already, of coures)
```
$ kill -SEGV `pidof xfburn`
```
4. Get a backtrace from the coredump:
```
$ gdb xfburn/xfburn core.32270 --batch -ex 'thread apply all bt' > xfburn.backtrace
```
(Note that sometimes the core.xxxxxx file is just called core, and that 32270 is
just an arbitrary number which was the process id - yours will be different)
5. Open up a bug report at our [[:apps:xfburn:bugs|issue tracker]] for xfburn, and add
both the xfburn.output and the xfburn.backtrace files to it. Done!
There is no need to attach the core dump, as it is heavily system dependent.
[[|Back to Top]]
----
===== Future Plans =====
Missing functionality that would be nice to have:
* Save and load compositions ([[https://gitlab.xfce.org/apps/xfburn/-/issues/18|#18]])
* Verification ([[https://gitlab.xfce.org/apps/xfburn/-/issues/7|#7]])
* Copy discs (needs backend support) ([[https://gitlab.xfce.org/apps/xfburn/-/issues/26|#26]])
* Automatic checksum creation
* Plugin support
* Multi-session support ([[https://gitlab.xfce.org/apps/xfburn/-/issues/25|#25]])
There is no, and never will be, a timeline for these. Let us know if you think
something is missing on this list. If you really need something implemented,
feel free to help us out :-).
At present development is in maintenance mode, as the author does not have a
lot of time.
----
===== Authors =====
* David Mohr [david at mcbf.net]
* Mario Đanić [mario.danic at gmail.com]
* (retired) Jean-François Wauthy [pollux at xfce.org]
* Rene Kjellerup [rk.katana.steel at gmail.com]
[[|Back to Top]]
----
===== Latest Release =====
{{rss>https://archive.xfce.org/feeds/project/xfburn 1 date 2h}}
[[https://gitlab.xfce.org/apps/xfburn/-/blob/master/NEWS|Read the CHANGELOG]]
* **[[https://archive.xfce.org/src/apps/xfburn/|Download current release]]** (older versions of this component are also available here)
We recommend to use a packaged version of Xfburn if it is available. Xfburn is packaged for several distributions, for example:
* [[http://packages.debian.org/search?keywords=xfburn|Debian]]
* Gentoo
* [[https://packages.ubuntu.com/search?keywords=xfburn|Ubuntu]]
* ArchLinux
* Foresight Linux
And probably many more...
[[|Back to Top]]
----
===== Source Code Repository =====
[[https://gitlab.xfce.org/apps/xfburn|]]
----
===== Reporting Bugs =====
* **[[:apps:xfburn:bugs|Reporting Bugs]]** -- List of currently open bugs and instructions on how to submit new bug reports
Any comments are welcome! We aim to make xfburn an easy to use program.
If you think something could be implemented differently, feel free to speak
up and it will be considered.
----
[[|Back To Top]]
----
[[:start|Return to Xfce Main Documentation Page]]