-----------------------------------------------------------------
Quick start
-----------------------------------------------------------------
If you're new to using the plugin some, here are some common things
that will probably trip you up. 

First, this plugin doesn't *replace* the old existing Video CD plugin
called "VCD" Rather it comes *in addition* to it. Perhaps someday this
will change. But for now if you were used to giving MRL's that started
"vcd" change that to "vcdx". For example, use "xine vcdx:/" instead
of "xine vcd://" And use buttons labelled "VCDX" not "VCD" if you want
this plugin instead of the older plugin.

If you don't understand what I'm talking with this MRL stuff see the
section below on MRL.  Even if you do understand what a MRL for xine
is you probably want to look at the MRL section. By and large VCDX
handles an upward-compatible selection of MRLs. However there are a
lot more kinds of things you can specify in an MRL than you could with
the old plugin. In fact there may be more things you can specify in a
VCDX MRL than in a DVD.

Another thing that may to trip you up is figuring out how to give a
menu selection entry. By default, the values bound to the number keys
will probably trip you up. This is I think a historical artifact of
xine. If things were to be resdesigned today my guess is that a better
set of keyboard bindings would be used. If there's enough groundswell
perhaps the defaults will change. Until then see the section "Key
Bindings" which describes how to set number keys to act as numbers for
numeric selection.

---

If you are *not* new to using this plugin but have an earlier version...

The defaults in configuration file ~/.xine/config (or ~/.xine/config2)
occasionally change. Look in this file for strings that start with 
"vcdx" and compare with the current default listed in the line above 
of the configuration file. For example, you might have:

  # default type to use on VCD autoplay
  # { track  entry  segment  playlist }, default: 3
  vcdx.autoplay:entry

That last line "vcdx.autoplay:entry" was the default in before release
1-beta9. The current default however would be:

  # default type to use on VCD autoplay 
  # { track entry segment playlist }, default: 3
  vcdx.autoplay:playlist

Here is another example of something that has changed:

  # format string for display banner
  # string, default: %F - %I %N%L%S, disk %c of %C - %v %A
  vcdx.title_format:%F - %I %N, disk %c of %C - %V %A

Note that the default format string listed in after the comment (#)
doesn't match the line that begins "vcdx.title_format:" because in
this example the value listed above is an old "default" value.

In neither case is anything *broken*, but the behavior might not be
optimal for the current capabilities of the plugin.

-----------------------------------------------------------------
About VCDs, SVCDs, and XVCDs.
-----------------------------------------------------------------
From: http://www.vcdhelp.com/vcd

 VCD stands for 'Video Compact Disc' and basically it is a CD that
 contains moving pictures and sound. If you're familiar with regular
 audio/music CDs, then you will know what a Video CD looks like. A VCD
 has the capacity to hold up to 74/80 minutes on 650MB/700MB CDs
 respectively of full-motion video along with quality stereo
 sound. VCDs use a compression standard called MPEG to store the video
 and audio. A VCD can be played on almost all standalone DVD Players
 and of course on all computers with a DVD-ROM or CD-ROM drive with
 the help of a software based decoder / player. It is also possible to
 use menus and chapters, similiar to DVDs, on a VCD and also simple
 photo album/slide shows with background audio. The quality of a very
 good VCD is about the same as a VHS tape based movie but VCD is
 usually a bit more blurry. If you want better quality checkout
 SVCD,CVD or DVD.

From: http://www.vcdhelp.com/svcd.htm

 SVCD stands for "Super VideoCD". A SVCD is very similiar to a VCD, it
 has the capacity to hold about 35-60 minutes on 74/80 min CDs of very
 good quality full-motion video along with up to 2 stereo audio tracks
 and also 4 selectable subtitles. A SVCD can be played on many
 standalone DVD Players and of course on all computers with a DVD-ROM
 or CD-ROM drive with the help of a software based decoder / player. It
 is also possible to use menus and chapters, similiar to DVDs, on a
 SVCD and also simple photo album/slide shows with background
 audio. The quality of a SVCD is much better than a VCD, especially
 much more sharpen picture than a VCD because of the higher
 resolution. But the quality depends how many minutes you choose to
 store on a CD, less minutes/CD generally means higher quality.

From: http://www.vcdhelp.com/xvcd.htm

 XVCD stands for eXtendedVCD. XVCD has same features as VCD but it is
 possible to use higher bitrates and higher resolution to get higher
 video quality. XVCD is basicly everything that uses MPEG1 video, is
 not within the VCD standard and burnt in "VCD"-Mode.

 XSVCD stands for eXtendedSVCD. XSVCD has same features as SVCD but it
 is possible to use higher bitrates and higher resolution to get
 higher video quality. XSVCD is basicly everything that uses MPEG2
 video, is not within the SVCD standard and burnt in "SVCD"-Mode.


-----------------------------------------------------------------
Concepts used by this plugin.
-----------------------------------------------------------------

"Tracks" correspond to contiguous non-overlapping regions of the CD
disk, and the sum of the tracks forms the entire CD.  The CD
specifications standarads say that between tracks there is to be a
150-sector gap.

In the MRL list described below, we generally don't list the first
track which we would call call "Track 0", but other tools like
VCDimager, cdinfo, and the CD-reading world in the general call this
"Track 1".  This first track usually contains an ISO 9660-format
filesystem with metadata describing what's on the CD. It may also
contain "segments" or small MPEGs that generally make up still frames
and menus.  Aside from the segments which are merely only parts of
track 0, it doesn't make sense to try to "play" track 0 (or track 1
depending on how you want to count), which is why we don't list it.
It seems natural to call the first thing you would want to play "track
1" (which in fact is track 2 to everyone else).

There are two other units that this plugin lists and are used
internally. One we call an "entry". This is a starting point of a
track which can include the beginning of the track, and when an entry
points to the beginning of a track, it is equivalent to listing the
track. However Video CD's often have multiple entry points into a
track. Logically this corresponds to a "Chapter" or "Scene" of a
larger uninterruptable unit. One might think a CD "track" could serve
this purpose with a collection of tracks making up a work or
movie. Alas, there is "track pregap" space between tracks which appear
as a time gaps when hardware players go between tracks - something
that doesn't have to happen switching between entries because there in
fact is no gap.

Another unit we use is a called a "segment." These are used in menus
an still frames. A menu doesn't have to have a still-frame associated
with it; A menu might be implimented as a short looped movie clip.
However Video CD specifications allow still frames to have higher
resolution than motion clips. And several segments can reside in track
0.

A "playback list item" (also called a "list id or LID) combines
"entries" and "segments" and "tracks" together with some navigation
logic. "Playback Control" is simply starting playback at a particular
playback list item, and unless otherwise specified you'd start with
the first playback item which we call P1.

Below we will refer to an "item" as combination of a unit name (track,
entry, segment, playback) and a whole number.

-----------------------------------------------------------------
MRLS:
-----------------------------------------------------------------

This xine Video CD plugin, identifies itself in the xine GUI as VCDX. It
also registers itelf to handle a class of MRL's that start with
vcdx:/.

The VCDX MRL takes the following form:

  vcdx:/[path to file or vcd device][:[letter]number]]

A simple vcdx:/ runs the default item (e.g. perhaps track 1 or entry
0) using the default VCD device (perhaps /dev/cdrom). Both the default
item and default device are user-configurable.

It is however also possible to specify both Video CD device/filename
and item explicitly in the MRL.

For example vcdx:/dev/dvd specifies the default entry using device
/dev/dvd which might useful if this is your DVD which is different
than your CD-ROM device and your DVD drive can play CD's. And
vcd://test_svcd_ntsc.cue specifies the cue file for CD image on disk.
(test_svcd_ntsc.bin is the corresponding bin file, but using that
won't work.)

After the optional device name or file name, you can name the kind of
unit which preceded by a colon. An MRL which ends in a colon is like
not adding it at all: the default entry type and number is used. Items
come in 4 flavors: "Track," "Entry," "Playback," and "Segment." See
the preceding section for an explaination of these terms. These units
are indicated with the capital first letter of each type: T, E, P, S,
s. An uppercase S in the MRL display indicates a NTS segment while a
lowercase S indicates a PAL segment. However when you enter an MRL,
the case of these letters is insignificant.

Depending on the Video CD, you might not have any playable segments
(S,s) or playback control (P).  If you give a MRL that refers to a
playback control entry but there is no playback control, your playback
number will silently be converted into the corresponding entry number.

You can configure various things that affect MRLs are selected when
there is some ambiguity in the MRL name. vcdx.autoplay sets what kind
of unit to to use in a MRL is none is given.  Another configuration
setting, vcdx.device, determines what device to use if that part is
not given. When you hit the VCDX button, that is equivalent to
entering vcdx:/ and thus these two configuration settings are used to
expand the MRL.

Some examples of MRLS are given below. In the examples, we assume the
following configuration settings:

# Note: that the below line is no longer the default value. The
# default value is now vcdx.autoplay:playback
vcdx.autoplay:entry   
vcdx.device:/dev/cdrom

vcdx:/                    - Play (navigate) default item (in this
                            case Entry ID 0) from the default device (in this
                            case set to /dev/cdrom)
vcdx:/:                   - same as above
vcdx://dev/cdrom:         - same effect as above since the default device
                            is set to /dev/cdrom. 
vcdx://dev/cdrom:E0       - same as above. But note that this is
                            because we have autoplay:entry which is
                            no longer the default value
vcdx://dev/cdrom2:        - Play (navigate) the default item of /dev/cdrom2
vcdx://dev/cdrom2         - should be same as above but is currently broken?
vcdx://dev/cdrom2:T1      - Play Track 1 from /dev/cdrom2
vcdx://dev/cdrom:S1       - Play segment 1 from /dev/cdrom. This
                            assumes there *is* a segment 1. Check
                            the MRL list to see if that is the case.
vcdx:/:P1                 - Play Playlist item 1 from default device
                            If there is no playback control, MRL will
			    get converted into vcdx:/:E0. Again
                            check the MRL list to see if there is a P1.
vcdx:/:P1*                - probably same as above.
vcdx://dev/cdrom:E1       - Play Entry id 1 from default device
vcdx:/:S1                 - Play segment 1 from default device
vcdx:/:3                  - Play track 3 from default device
vcdx://dev/cdrom2:1       - Play track 1 from /dev/cdrom2
vcdx://tmp/ntsc.cue:      - Play default item (E0) of /tmp/ntsc.bin. Note
                            trailing :
vcdx://tmp/ntsc.cue/:E0   - Play entry 0 of /tmp/ntsc.bin
vcdx://tmp/ntsc.nrg/:E0   - Play entry 0 of /tmp/ntsc.nrg (Nero
                            file) Works for some simple Nero images.

-----------------------------------------------------------------
Configuration settings:
-----------------------------------------------------------------

Configuration settings in xine are generally put in ~/.xine/config. A
description of the ones specific to VCDX are listed below.

- -
vcdx.length_reporting.

This setting affects the range the stream playback position slider
takes during playing. The possible values are "entry", "track", "auto".

automatic. If you are playing a track the range specifies the range
of the track. If you are playing a segment or entry, the range of the
slider is just that part.

track always. The range always indicates the range of the current track
independent of the currently selected item.

entry always. The range always indicates the range of the current entry
independent of the currently selected item.

- -
vcdx.wrap_next_prev

This setting is takes a boolean value (false, true) and only has
meaning when playing by track, or entry - not by playback control
(PBC). If this setting is true and one enters "next" at the last
entry, xine will wrap to the first entry. Likewise if the setting is
true and enters "prev" at the first entry, xine will wrap to the last
entry. If false, no wrapping is done on next/previous. The default is
to wrap around. When PBC is in effect, next/prev do what PBC
indicates.

The default is on - turn wrapping on.

- - 
vcdx.autoplay

This specifies what do for the when the VCDX button is pressed or no
type is specified in a MRL, for example vcdx:/ or
vcdx://dev/dvd:. The values can be "track" to play the first track
(e.g. vcdx:/:T1), or "entry" to play the first entry (vcdx:/:E0), or
"segment" (vcdx:/:S1), or PBC (vcdx:/:P1).

The default setting is PBC or playback control. A Video CD does not
have to be authored with playback control and on such a Video CD in
this case, this setting will default to "Entry".

- -
vcdx.device

The default device in a MRL when none is listed. The default is
determined by the appropriate name for the OS that you are running.

- - 
vcdx.title_format

This gives a format used in the GUI Title. Similar to the Unix date
command, there are format specifiers that start with a percent sign
for which various information is filled in dynamically. 
The control specifiers are given as below

%A : The album information 
%C : The VCD volume count - the number of CD's in the collection.
%c : The VCD volume num - the number of the CD in the collection. 
%F : The VCD Format, e.g. VCD 1.0, VCD 1.1, VCD 2.0, or SVCD
%I : The current entry/segment/playback type, e.g. ENTRY, TRACK, SEGMENT...
%L : The playlist ID prefixed with " LID" if it exists
%N : The current number of the above - a decimal number
%P : The publisher ID 
%p : The preparer ID
%S : If we are in a segment (menu), the kind of segment
%T : The track number being played.
%V : The volume set ID
%v : The volume ID
     A number between 1 and the volume count.
%% : a %

If you want a % to appear in the display, and the subsequent letter is
listed above use %%. For example to have '%Track 100% full' appear you
would write '%%Track 100% full'. You don't have to double the percent
sign in "100% full' since the letter after the percent sign is not
one of the letters listed above.

You are not required to use any of the above format specifiers in a
format string. For example a string 'Your Ad Here' is perfectly
legitimate, although probably not too helpful.

The default is:  %F - %I %N, disk %c of %C - %V %A

- - 
vcd.debug

An integer (interpreted as a bit mask) which shows additional
debugging information see the section below on debugging for more
information about the bits that can be set.

-----------------------------------------------------------------
Key bindings
-----------------------------------------------------------------

Video CD's have a "RETURN" key, but with it's historically myopic
"vision" xine doesn't have a such corresponding key event. But what
xine lacks in generality it often makes up with useless other things
that are not relevant to Video CD's. In particular we have "TitleMenu"
"RootMenu" and "SubpictureMenu" which may mean something for some
DVD's. So I've reassigned these. "TitleMenu" is what a Video CD would
call a "Return" key.  "RootMenu" with a numeric argument can be used
to set the debug value.  And "SubpicutureMenu" toggles whether
wrapping is in effect.

If you have better suggestions as to what these would be better bound
to or keys in general let me know.

VCDX understands numeric input and this can be used to select
entries, tracks, segments or play list selections. 

Older versions of xine befofore 1-beta10 have the number bound to other
functions. I recommend binding the numbers, to well, numbers.

Key bindings are usually stored in ~/.xine/keymap. Make sure the 
"Number" keys are bound to numbers like this:

# Enter the number 0.
Number0 {
	key = 0
	modifier = none
}

# Enter the number 1.
Number1 {
	key = 1
	modifier = none
}

# Enter the number 2.
Number2 {
	key = 2
	modifier = none
}

# Enter the number 3.
Number3 {
	key = 3
	modifier = none
}

# Enter the number 4.
Number4 {
	key = 4
	modifier = none
}

# Enter the number 5.
Number5 {
	key = 5
	modifier = none
}

# Enter the number 6.
Number6 {
	key = 6
	modifier = none
}

# Enter the number 7.
Number7 {
	key = 7
	modifier = none
}

# Enter the number 8.
Number8 {
	key = 8
	modifier = none
}

# Enter the number 9.
Number9 {
	key = 9
	modifier = none
}

# Add 10 to the next entered number.
Number10add {
	key = minus
	modifier = none
}

## To have the above rebound correctly you'll have to 
## Nuke the existing stupidly thought out number 
## bindings. Here's what I have...

# Set position to beginning of current stream.
SetPosition0% {
	key = 0
	modifier = mod3
}

# Set position to 10% of current stream.
SetPosition10% {
	key = 1
	modifier = mod3
}

# Set position to 20% of current stream.
SetPosition20% {
	key = 2
	modifier = mod3
}

# Set position to 30% of current stream.
SetPosition30% {
	key = 3
	modifier = mod3
}

# Set position to 40% of current stream.
SetPosition40% {
	key = 4
	modifier = mod3
}

# Set position to 50% of current stream.
SetPosition50% {
	key = 5
	modifier = mod3
}

# Set position to 60% of current stream.
SetPosition60% {
	key = 6
	modifier = mod3
}

# Set position to 70% of current stream.
SetPosition70% {
	key = 7
	modifier = mod3
}

# Set position to 80% of current stream.
SetPosition80% {
	key = 8
	modifier = mod3
}

# Set position to 90% of current stream.
SetPosition90% {
	key = 9
	modifier = mod3
}

If this is done, you'll be able to change to that logical item
(track, segment, entry, play-list selection) by typing the number you
want and hitting the numeric pad "Enter" key. (The keyboard Enter key
is by default bound to something else - I suppose one could change
that too.)

To go to the next or previous item, the keypad PgUp (keypad 9) and
PgDn (keypad 3) keys can be used. If you have made the above numeric
input changes you can prefix these by a number and it will have the
same effect as hitting the function that many times. For example,
entering "2 PgDn" (that's the keyboard 2 key followed by the keypad
PgDn key) will have go forward 2 items.


Two keys that Video CD players use for navigation and selection that
don't appear in xine are "return" and "default selection."  Since the
keys Menu1 and Menu2 don't mean any thing in a Video CD player, I've
bound Menu1 to mean "return" and "Menu2" to mean "default selection".

Menu3 with a numeric entry can be used for setting a debug value.

-----------------------------------------------------------------
Troubleshooting Guide
-----------------------------------------------------------------

This gives higher-level troubleshooting. More detailed and
lower-level information is given in the next section DEBUGGING. 

Problem: I don't get anything playing. 
Determination: start at step 1.

Problem: Okay, something plays now. But I thought I'm supposed to see
a menu screen?
Determination: start at step 5.

Problem: Okay, I got a menu but why doesn't it play when I start up? 
Determination: start at step 6.

Problem: Okay, I see the menu now. But I can't figure out how to
select menu item x.
Determination: start at step 8.

Problem: xine vcdx:/ or hitting the VCDX button doesn't play anything
Determination: If all of the above work, start at step 9.

1. When you run the xine GUI, do you see a button somewhere below
   the H:M:S time indicator that is labeled "VCDX"? If so, skip on
   to step 2.

   a) If no "VCDX" button, the VCDX plugin isn't loaded. Does a shared
   object exist?  The plugin shared object is called
   "xineplug_inp_vcdx.so" (and has an assocated file called
   xineplug_inp_vcdx.la). It should be in the directory that has
   ...xine/plugins/1.0.0 where "1.0.0" is the release number of xine.
   If this isn't around you need to build and install VCDX. 

   b) if xineplug_inp_vcdx.so is in the fileystem that is appropriate
   for the current release of xine, you might be able check of there
   was an attempt to load it by tracking system calls. On Linux and
   other OS's) "strace" can be used to see if the file gets
   accessed. On Solaris use "truss".

   For example on Linux, amonst the many line of output when I run
   "strace -e trace=file xine" I see this amongst lots of other
   output:

   ...
   stat64("/usr/local/lib/xine/plugins/1.0.0/xineplug_inp_vcdx.so", 
  {st_mode=S_IFREG|0755, st_size=761430, ...}) = 0
   ...
   open("/usr/local/lib/xine/plugins/1.0.0/xineplug_ao_out_oss.so", O_RDONLY) = 6

   The parameters inside the calls may be different depending on where
   xine is installed and what release is installed. If the the file is
   found and "opened", then the most likely thing is that there is an
   API version mismatch. This can happen if you are using a CVS
   version and the API number changes.  It's also possible that you've
   installed a different VCDX plugin for a different release of
   xine-lib. If possible use a release number of xine-lib that
   matches xine-vcdx exactly.
  
   (There may also be a message may under "setup/logs", but I've found that
   there are so many plugins that it is anyone's guess where it will
   be in the volumous log, if this message is even around by the time
   all you have a chance to look at it.)

   API mismatches in xine are pretty common. In fact they are sort of
   engineered in. All plugins break whenever there is an API upgrade;
   the decision of what the API versions a plugin can handle is not up
   to the plugin. So this means you need to have a copy of a plugin
   for every API version of xine you might use and none of this code
   can be shared between API versions. 

2. (There is a VCDX button displayed) When you hit "setup" you should
   see a "vcdx" tab in one of the tabs at the top of the setup window.
   When you select "vcdx" you should see the default settings. The
   most important ones are: "autoplay_devices" and "default_device" On
   GNU/Linux, this may be "/dev/cdrom" and on Solaris it may be
   "/vol/dev/aliases/cdrom0".  Make sure these are correct for your
   particular setup. For example, I generally play out of the DVD
   device and this is called /dev/dvd rather than /dev/cdrom.

3. (Video CD Setup devices seems correct and there is a CD in the
   drive).  Press the MRL button to bring up a MRL window. There
   should again be a VCDX button, perhaps on the side near a "file"
   button. If you press this button, you should see your CD disk light
   go on if you have one. And the CD should be read. You should get a
   list of what's on the Video CD.
   
   a. If not something's wrong like step 2. Another tack may be to try
   to read a disk image of a Video CD and thus elimate any problems
   with hardware. You can get a test Video CD disk image to test here:

   http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip
 
   After unzipping this run there should be files test_svcd_pal.cue 
   and test_svcd_pal.bin. Get out of xine and run from the directory
   that contains those files: 
     vcdx:/test_svcd_pal.cue:E0
   
   If you see something playing then this is a hardware problem. 

   If you see something you might also want to try starting
   playback-control on
     vcdx:/test_svcd_pal.cue:P1

4. (You have a list of entries describing the Video CD or disk-file of
   a Video CD image.)

   There should be at least one "track", and one "entry" listed for
   the Video CD and the names of these in the MRL list will end with
   "T1" and "E0" respectively. Often there are "playlist" items as
   well, and if you have menus or still frames there will be
   "segments" as well. The simplest things to check are probably
   "entries" and "tracks". If there are NO entries listed or NONE of
   the tracks or entries play, then there may be a problem with the
   that particular medium. So as in step 3 you can try a known good
   sample and perhaps burn a CD from that. More likely if you get this
   far, *some* of the items listed work and some don't. There are a
   number of debugging switches that you can dynamically turn on and
   off that may be able to help in isolating more specific problems.

5. (No Menu). Well, first is there *supposed* to be a menu? In step 4,
   getting the MRL list, you should see what's on the Video CD. Still
   frames are always "segments" so see if you can find one in the MRL
   list and select that. 

   If there are no segments listed, there aren't any still-frame
   menus. It's also possible to have menus in looping MPEG's. Use
   vcddump to find loops. (An enhanced version is temporarily included
   the in the xine-vcdx). vcddump is also part of VCDImager. Another
   program that can help you examine the contents of a Video CD is
   vcdxrip.

   To troubleshoot, start out with the known SVCD example that has a
   still-frame menu at the beginning:

   http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip

   Inside this is a largish file called test_svcd_pal.bin and another
   short text file called test_svcd_ntsc.cue. These are CD disk
   images; that is, something that could be burned to a CD drive such
   as with cdrdao. However you don't have to create a CD to view these
   with the VCDX plugin. If you are in the directory that contains
   these files than you should be able to play the Video CD by
   running:

   xine vcdx:/test_svcd_pal.cue

   If you see a still frame on startup. Great! If instead you see what
   looks like the beginning of a movie (Blue Streak with Martin
   Lawrence) then go to step 6.
   

6. (You have Video CD with menu and can see it. No menu on startup.)
   If you have the Video CD from step 5 and are still in the directory
   with containing test_svcd_pal.cue and test_svcd_pal.bin, then run:

   xine vcdx:/test_svcd_pal.cue:P1

   If this shows a still frame, but it just doesn't show when you 
   hit either the "VCDX" button or give a MRL *without* the P1 at
   the end then go to step 7.

   If you have another Video CD, from the MRL list of step 4, you
   should also see "playlist" entries. Try selecting the one that ends
   "P1." If you don't see an entry with P1, then your Video CD doesn't
   have playback control (PBC) and although there may be a still frame
   on the Video CD it may have been authored so it is not easily
   accessed.  Again vcddump or vcdxrip can help here.

  
7. (Have Video CD with menu at beginning and can see it using an MRL 
   with P1 at the end.)

   Check to see that you have this at in your ~/.xine/config or
   ~/.xine/config2 or in the "vcdx" tab under setup if using the GUI:

   # default type to use on VCD autoplay
   # { track  entry  segment  playlist }, default: 3
   vcdx.autoplay:playlist

   If you started using this plugin before the 1-beta9 release, the
   you may have "vcdx.autoplay:entry" instead. Before playback
   control was largely complete, "entry" was the default. 

   You may also want to compare the other vcdx entries with their
   defaults. Some of these have changed. In particular
   vcdx.title_format.

8. (Have a menu, but can't figure out how to select a number.)
   Are the number keys are not bound to numbers? See the section
   "Key bindings"

9. (Can play Video CD using some vcdx MRL, but just not by the short
   "xine vcdx:/" or by hitting the VCDX button)

   Check that the setting of vcdx.autoplay_devices correct for your
   computer. Where to find this setting described in step 7. 
 
-----------------------------------------------------------------
Debugging
-----------------------------------------------------------------

**General xine debugging...

Before delving to things specific to this plugin, some preparation may
be in order. If you are going to use a debugger to track down problems
as I do, you'll probably want to compile xine-lib, xine-ui and this
plugin with debug information. Instead of "make'ing" with "make", use
"make debug" and instead of installing using "make install" use "make
install-debug". 

I use gdb to debug. Debugging xine with the entire suite of plugins
under gdb is slow because it has to read in symbol tables from all the
plugins. There are two ways to make loading faster when debugging. The
simplest is just to go to the plugin directory and remove unused
plugins. Another approach is create a new directory and make
(symbolic) links into the complete plugin directory. Then set
XINE_PATH to refer to your new directory.

**vcdx debugging...

It's a fact of life that this plugin may be in an incomplete state
and/or will have bugs. So to facilitate tracking down problems we let
you see what's going on dynamically. Various debugging settings will
cause output to appear on xine's plugin log and/or "standard error"
(assuming you've run xine in a way that you can capture this).

You think of debug switches as a bit mask, that you specifiy as an
integers the various "bit" values (given in decimal) are listed below.

   name    value  description
---------- -----  -----------
   META        1  Meta information
   EVENT       2  Trace keyboard events
   MRL         4  Things involved getting lists of what's in the VCD
   XINECALL    8  Trace xine calls to the plugin routines
   CALL       16  Trace all calls
   LBA        32  Trace Logical block address changes
   PBC        64  Trace things involved with playback control
   CDIO      128  Turn on CDIO debugging
   SEEK_SET  256  Trace "seek set" calls
   SEEK_CUR  512 Trace "seek cur" calls
   STILL    1024  Trace Still-frames
   VCDINFO  2048  Turn on VCDINFO debugging 

**Video CD debugging...

The tool vcd-info from the cdio branch of vcdimager can be used to
show the entire contents of a Video CD or selected portions of
that. Until the cdio branch of vcdimager is completely merged with
vcdimager, the cd-info branch vresion has a few more
features. (However consult vcdimager for complete of the program).

vcdxrip can be used to extract portions of a Video CD and or create an
XML description file of the Video CD. This XML file and the extracted
files can be used by vcdxbuild to recreate another Video CD.

-----------------------------------------------------------------
Other references
-----------------------------------------------------------------
http://www.vcdhelp.com/
http://www.vcdimager.org/
http://www.vcdimager.org/guides/#guides

$Id: vcd-info.txt,v 1.1 2003/04/26 14:57:45 rockyb Exp $
