News

News items

Bugfix release - CDEmu daemon & libMirage 3.0.1!

July 25th, 2014

libMirage 3.0.1:

  • added missing installation rules for GBI and XMD MIME types (Bug #81)

cdemu-daemon 3.0.1:

  • fixed CD-R and DVD+R SAO recording with cdrecord from cdrtools (Bug #80)

New release! CDEmu 3.0.0!

June 29th, 2014

This is the first release of new 3.0.0 series, which marks the addition of support for image writing across whole CDEmu suite. The file access and filter stream layer in libMirage were revised to allow implementation of filters for both reading and writing, and an infrastructure for implementing image writers was added, along with reference implementations for ISO and TOC writers. CDEmu daemon now has experimental emulation of CD-R and DVD+R disc recording, and daemon/client protocol was extended to allow transmission of image writer parameters descriptions from daemon to client and parameters' values back from client to daemon. Both cdemu-client and gCDEmu client thus now allow user to create a "blank" disc on CDEmu device and write to it using CD/DVD burning software. And as a side effect, the image analyzer application also gained support for image conversion.

In other news, image analyzer has been converted into a fully-fledged gtk3 application, and gCDEmu now prefers appindicator mode over gtk trayicon mode whenever AppIndicator(3) is available, as it offers better support for new systray protocol than gtk3. Client translations have been brought up to date for Norwegian and Slovenian language, and Swedish translation was updated for gCDEmu and added for cdemu-client (courtesy of Anders Jonsson).

Several reported bugs have also been fixed, while hopefully none were introduced, and most of the code has been through rather extensive clean-up - for a complete list of changes, consult our repository's change log. As always, the source packages can be obtained from project site; if you encounter any issues, report them via appropriate tracker, and/or send your comments/concerns/suggestions to our mailing list.

CDEmu 2.1.1 is out!

September 19th, 2013

This fall brings a maintenance update to CDEmu userspace components, which have been versioned 2.1.1. This release mostly brings improvements to build system, addresses issues that have been reported during summer and introduces some optimizations to error detection code computation and debugging facilities. Please note that in order to maximize the virtual device's throughput, bad block emulation and DPM emulation are now turned off by default.

As per usual, you can grab source packages from the project site, post bug reports, support requests, etc. on our trackers, or voice your concerns/suggestions on our mailing list.

libMirage v.2.1.1:

  • introspection typelib is now properly versioned (major.minor)
  • stopped using G_DISABLE_DEPRECATED
  • sector's EDC is now computed using fast slice-by-8 CRC32 algorithm
  • optimized mirage_contextual_debug_messagev()
  • removed use of anonymous unions, which are not allowed in C99. Fixes compilation on older compilers (e.g., gcc 4.5) and bug #68.
  • added function for ISRC validation to be used by image parsers
  • load plugins in non-lazy manner, i.e., resolve all symbols immediately. Prevents the sort of behavior described in Support Request #17.
  • reorganized the build system:
    • gtk-doc and gobject-introspection are fully optional now
    • each file filter and image parser plugin is optional, built only if its dependencies are met
    • configuration summary is printed at the end
    • library's soversion will be from now on properly semantically versioned, and will reflect backward-compatibility

cdemu-daemon v.2.1.1:

  • stopped using G_DISABLE_DEPRECATED
  • documentation: updated references from autoconf to cmake
  • moved shared typedefs to a separate include file, in order to remove their duplication. Fixes compilation on older compilers (e.g., gcc 4.5) and closes bug #69.
  • allow bad sector verification to be turned off (which is now default) in order to increase device throughput
  • DPM emulation is now turned off by default as well
  • make sure that EDC and subchannel verification is never performed for generated data
  • added #ifdefs to handle deprecation of GLib type system initialization in GLib 2.36 and GThread API changes in 2.32
  • reorganized the build system:
    • properly set link directories
    • use C99 for all files, but define _POSIX_C_SOURCE for signal handling
    • print configuration summary

cdemu-client v.2.1.1:

  • added handling of bad sector verification option
  • reorganized the build system:
    • removed ENABLE_NLS option
    • print configuration summary

gCDEmu v.2.1.1:

  • added handling of bad sector verification option
  • added check for issue that happens when librsvg2 isn't installed (bug #70)
  • reorganized the build system:
    • removed ENABLE_NLS option
    • print configuration summary

Image analyzer v.2.1.1:

  • stopped using G_DISABLE_DEPRECATED
  • added #ifdefs to handle deprecation of GLib type system initialization in GLib 2.36
  • reorganized the build system:
    • properly set link directories
    • removed GnuPlot dependency, since it is a run-time one
    • print configuration summary

Pre-summer release! CDEmu 2.1.0 is out!

June 7th, 2013

Only half a year after previous release, we bring you new release of CDEmu - 2.1.0. Release highlights for all components are listed below; for full list of changes, see git changelog. As always, source packages are available from the project site. Please post bug reports, support requests, etc. on our trackers, or voice your concerns/suggestions on our mailing list.

libMirage v.2.1.0:

Overall:
  • Do not include GtkDoc and GObjectIntrospection unconditionally (patch by Alexandre Rostovtsev).
  • Fixed compilation on compilers that do not allow multiple typedef definitions.
  • Added MIRAGE_DEBUG_IMAGE_ID debug channel, which is used in image parser's image identification code. This should make it easier to debug image identification problems.
  • Updated FSF address in GPL notices; updated COPYING to latest revision of GPLv2+ (patch by Joakim Sindholt).
  • Cleanup of MCN, EDC/ECC and CD-TEXT functions by using generic CRC functions.
New parsers/filters:
  • MacBinary/NDIF file-filter
  • "Harddisk" parser for handling (Apple) hard-disk images
Fixes to existing parsers/filters:
  • CIF Parser: fixed MIME info to avoid false positives with other RIFF-based files
  • CCD Parser: added support for CD-TEXT
  • DMG filter: implemented full resource-fork parser
  • MDS Parser: updated fields in track block descriptor, thanks to info provided by Martin Korth
  • READCD Parser: handle files created by readcd from cdrtools
  • SNDFILE filter: improve caching (fix for bug #60)
  • SNDFILE filter: implemented sample-rate conversion; libsamplerate is now a dependency
  • XZ Filter: properly set error when bailing out for max_block_size being over the hard-coded limit; prevents a segfault

VHBA 20130607:

  • Added support for non-blocking I/O.
  • Allow longer commands to be issues on VHBA (patch by Frediano Ziglio).
  • Explicitly distinguish between device addition and device removal change, and resolve cases when both occur before rescan is done.
  • Updated FSF address in GPL notices; updated COPYING to latest revision of GPLv2+ (patch by Joakim Sindholt).

cdemu-daemon v.2.1.0:

  • Use non-blocking I/O on VHBA control device, implemented device restart on kernel/userspace I/O errors (e.g., command timeout due to heavy-load-induced processing stall).
  • Added support for device addition/removal. To preserve device numbering, devices can only be appended, and only the last device can be removed.
  • Auto-started daemon now creates only a single device by default.
  • Fixed device ID reported by INQUIRY, where last letters were missing (Bug #58).
  • Session autostart script now uses 'default' instead of 'pulse' for audio driver.
  • If audio device initialization fails, fallback to 'null' instead of just stopping the playback thread.
  • Updated FSF address in GPL notices; updated COPYING to latest revision of GPLv2+ (patch by Joakim Sindholt).

cdemu-client v.2.1.0:

  • Added support for device addition/removal.
  • Updated FSF address in GPL notices; updated COPYING to latest revision of GPLv2+ (patch by Joakim Sindholt).

gCDEmu v.2.1.0:

  • Added support for device addition/removal.
  • Made Ctrl+C work.
  • Made device dialogs non-modal.
  • Updated FSF address in GPL notices; updated COPYING to latest revision of GPLv2+ (patch by Joakim Sindholt).

Image analyzer v.2.1.0:

  • Updated FSF address in GPL notices; updated COPYING to latest revision of GPLv2+ (patch by Joakim Sindholt).

CDEmu 2.0.0 Released! Happy holidays!

December 24th, 2012

CDEmu logo

In this release we did a ton of refactoring, in particular due to using GIO streams in libMirage. Also a lot of clean-up work was done.

Some notable changes include:

  • Switched buildsystem from autotools to cmake which gives you "silent" out-of-tree builds among other things.
  • Added ISZ, CSO and DMG file-filters.
  • Converted DAA parser to file-filter and added support for related GBI format.
  • Converted audio fragment to file-filter.
  • Added file-filter machinery and converted existing code to use it.
  • Image analyzer displays disc structures.
  • Added contextual features.
  • Added support for gobject introspection.
  • Better caching.
  • Added support for GZIP and XZ compressed images.
  • Added support for ECM'ed files.
  • Improved CIF parser.
  • Mode setting fixes.
  • Partial support for (one track) MDX images.
  • gCDEmu can now act like a Unity indicator.
  • Improved GVFS support.
  • Using C99 features.
  • Tons of bugfixes.

As usual, source packages are available from the project site. Please post bug reports, support requests, etc. on our trackers, or voice your concerns/suggestions on our mailing list.

CDEmu 1.5.0 Released!

January 20th, 2012

CDEmu logo

Yup, new and shiny. Go grab the newest release of your favourite CD/DVD-emulator.

The most interesting stuff is under the hood. The DBus and GConf bindings have been switched out with newer GDBus and GSettings which is part of the new GIO framework in GObject. As a result some software dependencies have disappeared as well. The Gnome client was switched from GTK2 bindings to GTK3 using the new PyGObject introspective binding. The Analyzer was also switched to GTK3. There's been a major code cleanup as well.

And there's been some more minor stuff like partial CSS support, Bash completion, Parser fixes, Analyzer plotting rewrite and Desktop entry files was added.

As usual, source packages are available from the project site. Please post bug reports, support requests, etc. on our trackers, or voice your concerns/suggestions on our mailing list.

CDEmu 1.4.0 Released!

September 15th, 2011

Autumn illustration

Lo and behold! After a bit more than a year of (not-so-)active development, version 1.4.0 has been officially released.

In short, in addition to bugfixes and some cleanup, this release brings a major rewrite of both the daemon and the clients. The CDEmu daemon is not a traditional 'daemon' anymore (no more forking and PID files); instead, it is a regular application that utilizes D-Bus (auto)start facility for both session and system bus instances. Both cdemu-client and gCDEmu have been changed to single-file python scripts. Additionally, gCDEmu has been changed from a GNOME applet into a standalone Gtk application. For more detailed information, see the long-version highlights below or consult the subversion changelog.

As usual, source packages are available from the project site. Please post bug reports, support requests, etc. on our trackers, or voice your concerns/suggestions on our mailing list.

The long-version highlights:

cdemu-daemon v.1.4.0:

  • ripped out libdaemon's code. From now on, the CDEmu daemon is not a 'daemon' anymore (i.e. no forking, PID files, etc.); instead, we're going to use D-Bus' (auto)start facility for both session and system bus instances...
  • added --logfile option for logging into a file...
  • added --enable-system-bus-service and --enable-session-bus-service configure switches that install corresponding D-Bus .service file and wrapper script (and in case of system bus, the policy file)
  • libMirage and CDEmuDaemon errors are now registered over D-Bus
  • removed the "daemon-started" and "daemon-stopped" signals; the clients should determine when daemon is started/stopped by monitoring name ownership changes on the appropriate bus
  • fixed MODE SELECT parameter checking
  • fixed the bad sector emulation, so it does not cause problems with PSX images anymore (#3157686)

libMirage v.1.4.0:

  • cleaned up mime definitions. We don't provide mime definitions for formats that are already defined (CUE, ISO, TOC) anymore
  • added support for images created with 'readcd -clone' (READCD-Parser)
  • added Q-Subchannel CRC verification function, mirage_sector_verify_subchannel_crc()
  • CCD parser: ignore the mode indicated in [Track] block and always determine it manually. This should fix problem with some images that claim to have Mode 1 track, when the track is actually Mode 2...
  • CUE parser: fixed parsing of multi-track images with per-track data files (#3396488)
  • DAA parser: properly handle non-compressed chunks
  • MDS parser: added support for split data files (MDF, MD0, MD1, etc)
  • MDS parser: don't try loading the (new) DaemonTools MDS files, which we can't parse.

VHBA-20110915:

  • use scatterlist when performing data transfer to device. This fixes a broken transfer of MODE SELECT data to the device.

gCDEmu v.1.4.0:

  • rewritten as a standalone application (instead of being GNOME applet) and as a single-file script.
  • removed GNOME-specific parts, so now only gtk/gconf (along with dbus and libnotify) dependency remains.
  • added icon policy support (adapted patch #3288926 by Luca Mattiello)

cdemu-client v.1.4.0:

  • single-file script (the python site-package part is gone)

image-analyzer v.1.4.0:

  • made gtkextra an optional dependency; if not found, then image topology window is a dummy one and the menu item is disabled
  • changed source package name from 'mirage-image-analyzer' to 'image-analyzer'
  • added "Sector Analysis" window, which iterates over all sectors in the image and prints any encountered L-EC or Q Subchannel CRC errors

CDemu 1.3.0 Released!

August 24th, 2010

Autumn illustration

Today we released version 1.3.0 of our software stack. It contains over a year's worth of features and fixes. Hope you'll have as much fun using it as we had making it. Enjoy!

Some highlights:

  • New X-CD-Roast parser.
  • Improvements to existing parsers.
  • Improvements to code for handling EDC.
  • Misc. fixes and improvements.

Please post bug reports, support requests etc. on our trackers or join our mailing list if you want hear about everything related.

Sources & packages are available as always from our project page.

IMPORTANT: In this release, the default D-Bus bus used by the daemon and clients has been switched from system to session bus. If for whatever reasons you wish to continue using the system bus, you need to explicitly specify it via appropriate command line switches (if you're not doing it already). More information about the switch is available in the daemon's README file.

CDemu 1.2.0 Released! - Now with higher scoville rating! ^.^

July 26th, 2009

This is CDemu 1.2.0, a CD/DVD drive emulator for Linux.

Notable new features include:

  • Improvements to libmirage, including new parser framework and better sector handling.
  • Fixes for CIF, C2D, ISO and MDS parsers.
  • Brand new and improved CUE, TOC and CCD parsers.
  • DAA parser supports encryption and compression.
  • Better handling of device unload and eject.
  • Translation updates.
  • And many other small fixes...

Please post bug reports, support requests etc. on our trackers or join our mailing list if you want hear about everything related.

Sources & packages are available as always from our project page.

vhba-module 1.2.1 released! Happy New Year!

January 18th, 2009

Hi all! We just released an updated vhba-module. Changes are:

  • kernel locks fixed,
  • compiles on newer gcc,
  • KAT uses module's real build environment - should work on recent kernels.

As always we are very interrested to know if there are any bugs or regressions. Post them to the mailinglist or use the sourceforge trackers.

You can now compile it via make V=1 in order to receive more information during build.

libmirage 1.1.1 released!

September 13th, 2008

Hi all! We just released an updated libmirage. It contains cummulative improvements to a number of parsers including:

  • CIF and C2D - Roxio Easy CD/DVD Creator.
  • CCD - Clone CD.
  • CUE - CDRWin.

Get your tarballs while they are fresh. ;-)

As always we are very interrested to know if there are any bugs or regressions. Post them to the mailinglist or use the sourceforge trackers.

Happy Vacations! - a CDemu 1.1.0 Release!

June 30th, 2008

This is CDemu 1.1.0, a CD/DVD drive emulator for Linux.

Features:

  • Fixes for CUE, CCD, TOC, B6T, MDS, CDI, NRG parsers.
  • New CIF, C2D and DAA parsers.
  • Translation updates.
  • A simple kernel's features detector - vhba module should build on more kernel versions.
  • A very nice graphics from Rômulo Fernandes.
  • Many other small fixes...

Please post every bug report on tokugawa _AT_ users _DOT_ sf _DOT_ net. You could also join our mailing list if you want hear about everything related.

As a maintainer I would like to thank everyone who participated in this release - mainly Rok Mandeljc and Henrik Stokseth for the massive amount of work.

Sources & packages are available as always from our project page.

Merry Christmas and Happy New Year! - a CDemu 1.0.0 Release!

December 24th, 2007

CDemu xmas logo

This is CDemu 1.0.0, a CD/DVD drive emulator for Linux.

Features:

  • New design - pushed everything possible to userspace.
  • Thin kernel layer (should be more stable & maintainable).
  • .B6T, .CCD, .CDI, .CUE, .ISO, .MDS, .NRG, .TOC support.
  • Command line & GUI clients.

This release was brought mainly by Rok Mandeljc. We would like also introduce Chia-I Wu who contributed a new kernel module (vhba).

Why 1.0.0? Is it stable? Is it over?

CDemu 1.0.0 is based on completly new design (quite diffrent from 0.8.0), so it deserves major version number change. It's stable (of course we couldn't test everything - please post bug reports).

We have done a massive release initiated by Henrik Stokseth who among other things prepared packages for Ubuntu.

Current design should be far more friendly for both users & developers. Most of the project is in userspace now and a vhba module is thin and based on (more mature) SCSI driver. We hope that this means less hassle with constantly evolving Linux kernel.

Please, read about different parts of CDemu project to find more.

Sources & packages are available from our project page.

Tell me it ain't so...

December 8th, 2007

That's right, the web page has changed! The layout has been shamelessly based on CSS/Edge.

The page is still being worked on, but at the end of it, it will hopefully include all the information you'll need to set up cdemu.

Speaking of which, you can expect an official release coming around before the end of this year...