diff options
Diffstat (limited to 'Lib/plat-irix5/readcd.doc')
-rwxr-xr-x | Lib/plat-irix5/readcd.doc | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/Lib/plat-irix5/readcd.doc b/Lib/plat-irix5/readcd.doc new file mode 100755 index 0000000..b827ccc --- /dev/null +++ b/Lib/plat-irix5/readcd.doc @@ -0,0 +1,104 @@ +Interface to CD-ROM player. + +This module implements an interface to the built-in cd module. The +intention is to provide a more user-friendly interface than the +built-in module. + +The module defines a class Readcd with several methods. The +initialization of the class will try to open the CD player. This +means that initialization will fail if the CD player is already in +use. A RuntimeError will be raised by the cd module in that case. + +The way to work with this module is as follows. The user specifies +the parts of the CD that are to be read and he specifies callback +functions which are to be called by the system. At some point he can +tell the system to play. The specified parts of the CD will then be +read and the callbacks will be called. + +Initialization. +=============== + +r = readcd.Readcd().init([cd-player [, mode]]) + +The optional arguments are the name of the CD device and the mode. +When "mode" is not specified, it defaults to 'r' (which is the only +possible value); when "cd-player" also isn't specified, it defaults +to "None" which indicates the default CD player. + +Methods. +======== + +eject() -- Eject the CD from the player. + +reset() -- Reset the list of data stretches to be played. + +appendtrack(track) -- Append the specified track to the list of music +stretches. + +appendstretch(first, last) -- Append the stretch from "first" to "last" +to the list of music stretches. Both "first" and "last" can be in one +of four forms. "None": for "first", the beginning of the CD, for +"last" the end of the CD; a single integer: a track number--playing +starts at the beginning of the track or ends at the end of the +specified track; a three-tuple: the absolute time from the start of +the CD in minutes, seconds, frames; a four-tuple: track number and +relative time within the track in minutes, seconds, frames. + +settracks(tracklist) -- The argument is a list of integers. The list +of stretches is set to argument list. The old list is discarded. + +setcallback(type, func, arg) -- Set a callback function for "type". +The function will be called as func(arg, type, data) where "arg" is +the third argument of setcallback, "type" is the type of callback, +"data" is type-dependent data. See the CDsetcallback(3) manual page +for more information. The possible "type" arguments are defined in +the CD module. + +removecallback(type) -- Remove the callback for "type". + +gettrackinfo([tracklist]) -- Return a list of tuples. Each tuple +consists of start and length information of a track. The start and +length information consist of three-tuples with minutes, seconds and +frames. The optional tracklist argument gives a list of interesting +track numbers. If no tracklist is specified, information about all +tracks is returned. + +getstatus() -- Return the status information of the CD. + +play() -- Play the preprogrammed stretches of music from the CD. When +nothing was programmed, the whole CD is played. + +Specifying stretches. +===================== + +There are three methods available to specify a stretch of music to be +played. The easiest way is to use "settracklist(tracklist)" with which +a list of tracks can be specified. "settracklist(tracklist)" is +equivalent to the sequence + reset() + for track in tracklist: + appendtrack(track) + +The next method is "appendtrack(track)" with which a whole track can be +added to the list of music to be played. "appendtrack(track)" is +equivalent to "appendstretch(track, track)". + +The most complete method is "appendstretch(first, last)". Using this +method, it is possible to specify any stretch of music. + +When two consecutive tracks are played, it is possible to choose +whether the pause that may be between the tracks is played as well or +whether the pause should be skipped. When the end of a stretch is +specified using a track number and the next stretch starts at the +beginning of the following track and that was also specified using the +track number (that is, both were specified as integers, not as tuples), +the pause is played. When either value was specified using absolute +time or track-relative time (that is, as three-tuple or as +four-tuple), the pause will not be played. + +Errors. +======= + +When an error occurs, an exception will be raised. Depending on where +the error occurs, the exception may either be "readcd.Error" or +"RuntimeError". |