CDEmu client
v.1.4.1
~~~~~~~~~~~~~

This is cdemu-client, a simple command-line client for controlling CDEmu daemon.
It is part of the userspace-cdemu suite, a free, GPL CD/DVD-ROM device emulator
for linux.

It provides a way to perform the key tasks related to controlling the CDEmu
daemon, such as loading and unloading devices, displaying devices' status and
retrieving/setting devices' debug masks.

Requirements:
~~~~~~~~~~~~~
 - python 2.4 or newer
 - D-BUS python bindings
 - intltool


Installation:
~~~~~~~~~~~~~

Installation process is generic ./configure, make, make install as described in
INSTALL file.


Note that if during make, you get the following error:
    make[1]: Entering directory `/tmp/cdemu-client-1.1.0/po'
    file=`echo sl | sed 's,.*/,,'`.gmo \
    && rm -f $file && -o $file sl.po
    /bin/sh: -o: not found
    make[1]: *** [sl.gmo] Error 127
it means you don't have intltool installed.


Usage examples:
~~~~~~~~~~~~~~~

Read cdemu-client's man page or run 'cdemu -h' for more information on commands
and their syntax.


Loading a single image to first device:
 cdemu load 0 ~/image.mds

Loading multiple-file image to first device:
 cdemu load 0 ~/session1.toc ~/session2.toc ~/session3.toc

Loading a text-based image in non-ASCII/non-Unicode encoding:
 cdemu load 0 ~/image.cue --encoding=windows-1250

Loading an encrypted image with password provided as an argument:
 cdemu load 0 ~/image.daa --password=seeninplain
 cdemu load 0 ~/image.daa
(in the latter case, if image is actually encrypted, the client will prompt for
the password using standard input without echo)

Loading a raw image of a CSS-encrypted DVD created by 'dd', so it can be played by mplayer:
 cdemu load 0 ~/image.iso --dvd-report-css=true

Unloading first device:
 cdemu unload 0

Displaying device status:
 cdemu status

Displaying device mapping information:
 cdemu device-mapping

Enumerating supported daemon debug masks:
 cdemu enum-daemon-debug-masks

Enumerating supported library debug masks:
 cdemu enum-library-debug-masks

Setting daemon debug mask for the first device:
 cdemu daemon-debug-mask 0 0x01

Obtaining library debug mask for the first device:
 cdemu library-debug-mask 0

Disabling DPM emulation on all devices:
 cdemu dpm-emulation all 0

Enabling transfer rate emulation on first device:
 cdemu tr-emulation 0 1

Changing device ID of first device:
 cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"

Enumerating supported parsers:
 cdemu enum-supported-parsers

Enumerating supported fragments:
 cdemu enum-supported-fragments

Displaying daemon and library version:
 cdemu version

System vs. session bus:
~~~~~~~~~~~~~~~~~~~~~~~
When connecting to daemon, cdemu client can use either session or system bus. By
hard-coded default, it uses system bus. The default bus to be used can be specified
via /etc/cdemu-client.conf or ~/.cdemu-client file, in following format:

# This is example cdemu client config file.
# Save it as /etc/cdemu-client.conf or ~/.cdemu-client

[defaults]
#bus=system
bus=session

# End of config file

The default can be overriden by using --bus option. E.g.:
 cdemu --bus=session status
or
 cdemu --bus=system status

A note on encrypted images and password supplying:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As of version 1.2.0, CDEmu daemon offers support for encrypted images. When password
is required to load an image (and it hasn't been provided via commandline using
--password), cdemu-client will prompt for it and then send it to daemon.

NOTE, HOWEVER, THAT THE PASSWORD IS SENT OVER D-BUS IN A PLAIN STRING FORM, WITHOUT
ANY PROTECTION. DEPENDING ON YOUR PRIVACY CONCERNS YOU MIGHT WISH TO AVOID LOADING
SUCH IMAGES.


Contact information:
~~~~~~~~~~~~~~~~~~~~

CDEmu project's web page: http://cdemu.sourceforge.net
CDEmu project's mailing list: cdemu-devel@lists.sourceforge.net

Author can be directly contacted via e-mail address listed in AUTHORS file.
