mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
Fix use of exceptions; new getstatus(); command line argument for trackno.
This commit is contained in:
parent
632d49274e
commit
67aad284dd
1 changed files with 19 additions and 9 deletions
|
@ -1,6 +1,7 @@
|
||||||
# Read CD audio data from the SCSI bus and play it back over the
|
# Read CD audio data from the SCSI bus and play it back over the
|
||||||
# built-in speaker or audio jack.
|
# built-in speaker or audio jack.
|
||||||
|
|
||||||
|
import sys
|
||||||
import al
|
import al
|
||||||
import AL
|
import AL
|
||||||
import cd
|
import cd
|
||||||
|
@ -15,27 +16,36 @@ callbacks = ['audio', 'pnum', 'index', 'ptime', 'atime', 'catalog', 'ident', 'co
|
||||||
def callback(port, type, data):
|
def callback(port, type, data):
|
||||||
print 'type', callbacks[type], 'data', `data`
|
print 'type', callbacks[type], 'data', `data`
|
||||||
|
|
||||||
|
Error = 'playcd.error'
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
player = cd.open()
|
player = cd.open()
|
||||||
parser = cd.createparser()
|
parser = cd.createparser()
|
||||||
|
|
||||||
state, track, min, sec, frame, abs_min, abs_sec, abs_frame, \
|
state, track, (min, sec, frame), (abs_min, abs_sec, abs_frame), \
|
||||||
total_min, total_sec, total_frame, first, last, scsi_audio, \
|
(total_min, total_sec, total_frame), \
|
||||||
cur_block, dum1, dum2, dum3 = player.getstatus()
|
first, last, scsi_audio, \
|
||||||
print `state, track, min, sec, frame, abs_min, abs_sec, abs_frame, \
|
cur_block, (dum1, dum2, dum3) = player.getstatus()
|
||||||
total_min, total_sec, total_frame, first, last, scsi_audio, \
|
print state, track, (min, sec, frame), \
|
||||||
cur_block, dum1, dum2, dum3`
|
(abs_min, abs_sec, abs_frame), \
|
||||||
|
(total_min, total_sec, total_frame), \
|
||||||
|
first, last, scsi_audio, \
|
||||||
|
cur_block, (dum1, dum2, dum3)
|
||||||
|
|
||||||
if state <> CD.READY:
|
if state <> CD.READY:
|
||||||
player.close()
|
player.close()
|
||||||
raise 'playcd.Error', 'CD not ready'
|
raise Error, 'CD not ready'
|
||||||
if not scsi_audio:
|
if not scsi_audio:
|
||||||
player.close()
|
player.close()
|
||||||
raise 'playcd.Error', 'not an audio-capable CD-ROM player'
|
raise Error, 'not an audio-capable CD-ROM player'
|
||||||
|
|
||||||
for i in range(first, last+1):
|
for i in range(first, last+1):
|
||||||
trackinfo = player.gettrackinfo(i)
|
trackinfo = player.gettrackinfo(i)
|
||||||
print `trackinfo`
|
print 'Track', i, trackinfo
|
||||||
|
|
||||||
|
if sys.argv[1:]:
|
||||||
|
print 'Start at track', sys.argv[1]
|
||||||
|
player.seektrack(eval(sys.argv[1]))
|
||||||
|
|
||||||
size = player.bestreadsize()
|
size = player.bestreadsize()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue