`5,168,481
`1111 Patent Number:
`[191
`United States Patent
`
`Culbertson et al.
`[45] Date of Patent:
`Dec. 1, 1992
`
`||||l|lllllllllllllllllllllIlllllllllllllllllllllllllllllllllllllllllllllll
`U8005168481A
`
`[54] AUTOMATED DIGITAL BROADCAST
`SYSTEM
`'
`
`[76]
`
`Inventors Charles R. Culbertson. 11513
`Wiginton Dr., Austin, Tex. 78758;
`Arthur C. Holly, 6902 Bayridge Ten,
`AUSIin, TEX- 73759; DEVid 15118111,
`205555 Little Rock Way. Mallbu,
`Callf- 907-65
`[21] Appl. No.: 453,947
`
`[22] Filed:
`
`Dec. 29, 1989
`
`_
`Int. Cl.s ........................ H043 1/20, 61113 17/22
`[51]
`[52] US. Cl.
`........................................... 369/2; 369/6;
`369/30; 369/33
`[58] Field of Search ......................... 369/2, 3, 4, 6, 35,
`369/33’ 34’ 36’ 30’ 32; 360/12;805f,8/13;835811/213,
`’
`’
`’
`References Cited
`U. S. PATENT DOCUMENTS
`360/27
`3 896 490 7/1975 R
`t
`1
`ose e a .
`............................
`,
`,
`4,636,880
`1/1937 Debell ................................... 360/12
`
`4,706,233 11/1987 d‘Alayer dc Costemore
`d‘ArC .........
`369/36
`8/1988 Korn et a1.
`............................ 369/34
`
`4,766,581
`
`[56]
`
`
`4,792,934 12/ 1988 Masaki .................................. 369/36
`4,817,075
`3/1989 Kikuchi et al.
`.
`...... 369/33
`
`4,899,326 2/1990 Takega et a1.
`..
`...... 369/36
`4,969,135 11/1990 Tobe ................................... 369/2
`
`OTHER PUBLICATIONS
`NCD—6OO Programmable Compact Digital Disc
`Changer PTO received Oct. 24, 1986.
`Technics “SL—Pl6” Multi Compact Disc Player PTO
`Received Oct. 24, 1986.
`
`Primary Examiner—Stuart S. Levy
`Assistant Examiner—Tan Nguyen
`Attorney, Agent, or Firm—Pravel, Gambrell, Hewitt,
`Kimball & Kn'eger
`
`[57]
`ABSTRACT
`An automated digital broadcast system which is capable
`of reliable operation for long periods of time without
`human assistance. The system comprises a plurality of
`compact discplayers or other audio devices which are
`controlled by computer to sequentially play a predeter-
`-
`-
`-
`-
`-
`~
`_
`:“med .I‘St i’f mus‘cal ”lemons and commerml °r 1“
`“mam“ messages-
`
`2 Claims, 10 Drawing Sheets
`
`
`
`INTERFACE
`ARE
`”ARDW
`"B
`
`3215351an
`
`INTERFACE
`HARDWARE
`
`
`14A
`
`COMPACT
`
`DISC
`
`
`PLAYER 1
`SYSTEM
`
`
`CONTROL
`
`SOFTWARE
`
`COMPACT
`AUDIO
`
`
`
`
`
`DISC
`MULTIPLE
`24
`comnoL
`
`
`an
`
`
`SN”
`OUTPUT
`PLAYER 2
`COMPUTER
`PLAYLIST
`
`
`
`(AW)
`DATA
`
`
`COMPACT
`
`
`
`DISC
`
`PLAYER N
`
`
`(OFFLINE)
`
`PLAYLIST OF
`
`
`PRERECORDED
`
`SELECTIONS
`
` CUSTOM
`COMPACT DISC
`
`LIBRARY
`
`
`18
`
`
`
`
` DISPLAY
`
`28
`
`Page 1 of 15
`Page 1 of 15
`
`SONOS 1013
`SONOS 1013
`
`
`
`US. Patent
`
`Dec. 1, 1992
`
`Sheet 1 of 10
`
`5,168,481
`
`,:2:
`
`32$
`
`._.U<n=200
`
`.
`
`zmm><._n_
`
`Hum—D
`
`onmm<>>om<z
`
`5.56mmxN52....5:55.00
`H.252:$53555..6528
`
`
`
`O_DD<#052200
`
`Posh—5.00
`
`Oma
`
`_.mm><._n_
`
`<2.
`
`mO<me._.Z_
`
`mm<>>om<1
`
`
`
`S:E
`
`mm<>>am<z
`
`,mofimmhz.
`
`omE#052200
`
`>m<mm3
`
`2F@E
`
`aw
`
`NN
`
`Emhm>w
`
`JOE—.200
`
`mm<>>tom
`
`em
`
`mm
`
`.hm_._><.._n_
`
`<._.<D
`
`fizztov
`
`no5353a
`
`DmDEOOmmmm—n.
`
`sz_._.Um.._wm
`
`Page 2 of 15
`Page 2 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Dec. 1, 1992
`
`Sheet 2 of 10
`
`5,168,481
`
`100
`
`DISPLAY OPENING SCREEN
`
`120
`
`
`
`
`ARE SYSTEM DATE
`
`
`AND TIME?CORRECT
`
`YES
`
`130
`
`
`
`ARE CORRECT
`PLAYLIST
`FILES ON?DISKETTE
`
`
`
`
`
`
`125
`
`GET USER INPUT
`
`NO I
`
`USER INSERT
`PROPER
`DISKEI'I'E
`
`YES
`
`140
`
`READ STATUS FILES FOR STARTING
`DAY AND SELECTION NUMBER
`
`150
`
`INITIALIZE DISPLAY WINDOWS AND TEXT
`
`
`
`150
`
`
`
`
`INITIALIZE PROGRAMMABLE INPUT/OUTPUT CARDS
`
`
`
`
`
`Page 3 of 15
`Page 3 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`US. Patent
`
`Dec. 1, 1992
`
`Sheet 3 of 10
`
`5,168,481
`
`READ PLAYLIST DATA FILE; DISPLAY
`BEGINNING ENTRIES OF PLAYLIST
`
`170
`
`
`180
`
`
`
`
`
`
`INITIALIZE ERROR LOG FILE
`
`INSTALL INTERRUPT HANDLER
`
`
`
`CUE DISC PLAYERS 1, 2, AND 3
`
`190
`
`200
`
`210
`
`ISSUES COMMANDS TO START
`PLAYING FIRST SELECTION
`
`220
`
`START RUNTIME CLOCK
`
`230
`
`
`
`REISSUE COMMANDS
`
`
`DID DISC PLAYER
`UP TO 3 TIMES,
`
`
`ACKNOWLEDGE RECEIPT
`UNTIL DISC PLAYER
`
`
`OF COMMANDS?
`ACKNOWLEDGES;
`
`
`LOG ERRORS
`
`
`
`v $11321»
`
`Page 4 (1f 15
`Page 4 of 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`US. Patent
`
`Dec. 1, 1992
`
`Sheet 4 of 10
`
`5,168,481
`
`240
`
`CALL SUBROUTINE
`MOMITOR DISC PLAYER
`
`250
`
`STOP SELECTION
`
`
`ACTUAL RUNTIME <
`SCHEDULED
`
`260
`
`
`
`265
`
`ADJUST
`TIME
`
`RUNTIME? - GAP
`
`
`No
`
`ISSUE COMMANDS TO START NEXT SELECTION
`
`START RUNTIME CLOCK
`
`290
`
`Page 5 of 15
`Page 5 0f 15
`
`
`
`.
`
`DID DISC PLAYER
`No
`
`
`ACKNOWLEDGE RECEIPT OF
`
`
`COMMANDS?
`
`
`
`
`295
`
`REISSUE COMMANDS
`UP TO 3 TIMES,
`UNTIL DISC PLAYER
`ACKNOWLEDGES;
`
`LOG ERRORS
`
`Yes
`
`Ffigu 2©
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`US. Patent
`
`I
`
`Dec. 1, 1992
`
`Sheet 5 of 10,
`
`5,168,481
`
`
`
`
`WRITE CURRENT SELECTION
`NUMBER AND DAY NUMBER TO
`
`STATUS FILE
`
`a
`
`m
`
` MORE THAN 2
`
`
`seuscnous LEFI' TO
`PLAY?
`
`
`
`IS CURRENT
`SELECTION
`
`RUNTIME < 35
`
`
`SECONDS?
`
`
`
`
`
`YES
`
`CALL SUBROUTINE
`MONITOR SONG CUE
`
`3
`
`m
`
`360
`
`V
`
`CALL SUBROUTINE
`MONITOR DISC PLAYER
`
`
`
`STOP SELECTION
`
`fig}. @dl
`
`Page 6 of 15
`Page 6 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`US. Patent
`
`Dec. 1, 1992
`
`Sheet 6 of 10
`
`5,168,481"
`
`375
`370 V
`
`
`ACTUAL RUNTIME <
`YES
`SCHEDULE RUNTIME ?
`
`
`
`No
`
`ADJUST
`TIME GAP
`
`380
`
`ISSUE COMMANDS TO START PLAYING NEXT SELECTION
`
`390
`
`START RUNTIME CLOCK
`
`405
`
`
`REISSUE COMMANDS
`400
`mp
`UP To 3 TIMES,
`
`
`”NIELug'wSEEEéEE"
`
`
`;
`ACKNOWLEDGE RECEIPT
`
`OF COMMANDS ?
`LOG ERRORS
`
`
`
`
`YES
`
`410
`
`a
`
`warm CURRENT SELECTION NUMBER
`
`AND DAY NUMBER TO STATUS FILE
`
`42°
`
`
`NEXT
`
`
`
`
`TO LAST SELECTION
`OF THE DAY ?
`
`
`NO
`
`YES
`
`425
`
`CALL
`SUBROUTINE
`NEXT TO LAST
`
`SELECTION
`
`0
`
`fig}. 2C)
`
`Page 7 of 15
`Page 7 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`US. Patent
`
`Dec. 1, 1992
`
`Sheet 7 of 10
`
`5,168,481
`
`430
`
`
`
`LAST SELECTION OF DAY ?
`
`
`
`
`YES
`
`
`LAST DAY OF WEEK ?
`
`
`NO
`
`445
`
`
`DISPLAY MESSAGE
`FOR OPERATOR TO
`
`LOAD NEW DISKETTE
`
`AND CBS
`
`
`440
`
`450
`
`NO
`
`CALL SUBROUTINE
`MONITOR DISC PLAYER
`
`STOP SELECTION
`
`DISPLAY MESSAGE FOR
`END OF DAY OR END OF WEEK
`
`ISTIMEBETWEEN . DELAY250ms;
`
`DISPLAY TIME AND DATE
`
`480
`
`11PM ANDQMIDNIGHT
`
`
`"°
`
`490
`
`INCREMENT DAY NUMBER
`
`0
`
`499'
`
`Ffigo @fi
`
`Page 8 of 15
`Page 8 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`US. Patent
`
`Dec. 1, 1992
`
`Sheet 8 of 10
`
`5,168,481
`
`' 500
`
`START
`
`51 0
`
`545
`
`ENABLE INTERRUPT T0 MONITOR DISC PLAYER
`
`
`
`525
`
` IS RUNTIME LESS THAN
`"0
`PREDETERMINED LIMIT ?
`
`
`LOG ERROR; _
`SET EOT FLAG
`
`
`
`
`SET EOT FLAG
`
` END OF TRACK ?
`
`
`Is DISC PLAYING 7
`(HEAD 0 DATA)
`
`LOG ERROR;
`
`(EOT = TRUE '2 )
`
`YES
`
`DISABLE INTERRUPT
`
`550
`
`560
`
`@ F
`
`figu @g]
`
`Page 9 of 15
`Page 9 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`US. Patent
`
`' Dec. 1, 1992
`
`Sheet 9 of 10
`
`5,168,481
`
`soc
`
`610
`
`635
`
`ENABLE INTERRUPT FOR
`PLAYER BEING CUED
`
`
`
`YES
`
`
`HAS TABLE OF CONTENTS (T00)
`
`BEEN SUCCESSFULLY READ FOR
`DISC BEING CUED ?
`
`
`
`
`HAS 25 SECONDS ELAPSED
`ON RUNTIME CLOCK ?
`
`REISSUE COMMANDS T0 CUE DISC
`
`LOG ERROR TO DISKE1TE
`
`
`
`
`
`
`
`HAVE THERE BEEN MORE THAN
`3 ATTEMPTS TO CUE DISC ?
`
`YES
`
`“7°-
`fig}. 2%
`
`Page 10 of 15
`Page 10 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`US. Patent
`
`Dec. 1, 1992
`
`Sheet 10 of 10
`
`5,168,481
`
`79°-
`
`
`
`710
`
`
`
`
`715
`
`YES
`
`
`
`DISPLAY MESSAGE
`FOR OPERATOR T0
`LOAD NEW CDs
`
`AND DISKETTE
`
`LAST DAY OF WEEK ?
`
`
`
`720
`
`'
`
`CALL SUBROUTINE
`MONITOR DISC PLAYER
`
`730
`
`STOP SELECTION
`
`740
`
`ADJUST TIME GAP
`BETWEEN SELECTIONS
`
`AS REQUIRED
`
`750
`
`I
`START LAST SELECTION
`
`WRITE CURRENT SELECTION
`NUMBER AND DAY NUMBER
`
`TO STATUS FILE
`
`Page 11 of 15
`Page 11 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`1
`
`5,168,481
`
`AUTOMATED DIGITAL BROADCAST SYSTEM
`
`FIELD OF THE INVENTION
`
`invention relates generally to radio
`The present
`broadcast systems. More Specifically, the present inven-
`tion provides an automated digital broadcast system
`which is capable of reliable, unattended operation over
`very long periods of time.
`BACKGROUND
`
`10
`
`Radio broadcast stations are typically manned by
`human operators who control a plurality of audio sys-
`tem devices for playing music selections and prere-
`corded commercials and announcements. The various 15
`music selections and prerecorded materials have known
`durations or runtimes which can be used to compile a
`scheduled playlist. One of the tasks of the human opera-
`tor is to start and stop the various selections so that the
`predetermined schedule is maintained. Another task of 20
`the operator is to monitor the operation of the audio
`playback devices and take appropriate action if one of
`the devices fails to properly cue or play a given selec-
`tion.
`There are a number of applications where it would be 25
`desirable to have an automated broadcast system capa-
`ble of playing music and other prerecorded materials
`over extended periods of time without human assist-
`ance. Such a system must perform the same tasks that
`were described above; it must start and stop the various 30
`selections in a timely manner to maintain a predeter-
`mined schedule, and it must operate reliably, monitor-
`ing the operation of the audio playback devices and
`taking appropriate action if a device fails to cue or play
`a given selection.
`The prior art has heretofore lacked an automated
`broadcast system capable of operating reliably over
`long periods of time without human assistance. The
`automated digital broadcast system of the present in-
`vention, described in greater detail below, provides a '40
`system which meets this need.
`SUMMARY OF THE INVENTION
`
`35
`
`The present invention overcomes the shortcomings
`of the prior art by providing an automated digital 45
`broadcast system which is capable of reliable operation
`for long periods of time without human assistance. The
`system comprises a plurality of compact disc players or
`other audio devices which are controlled by computer
`to sequentially play a predetermined list of musical 50
`selections and commercial or informational messages.
`The system executes control software to perform the
`following functions. It reads from a data storage device
`into memory a compiled playlist of selections for a
`given period of time, such as 24 hours. It sends control 55
`signals, using appropriate interface hardware, to the
`audio playback devices to start and stop play of selec-
`tions according to the playlist schedule. The selections
`are cued prior to play so that their starting time can be
`accurately controlled. It receives signals from the audio 60
`playback devices and monitors their operation. In the
`event of failure to cue, start or stop a selection on sched-
`ule, the control software causes corrective action to
`occur. For example, if a compact disc player does not
`acknowledge receipt of a command to start play, the 65
`commands to start play are reissued. Messages describ-
`‘ ing errors in system operation are recorded to file so
`that the operator can determine if maintenance is re-
`
`2
`quired. For example, faulty compact discs can be identi-
`fied for replacement.
`The control software maintains the playlist schedule
`by monitoring the runtime of each selection, and com-
`paring actual runtime to scheduled runtime. If there is a
`difference in the two times, the time gap between selec-
`tions is adjusted to compensate for the deviation. At the
`conclusion of the playlist, the control software causes
`the playlist for the next 24 hour period to be read into
`memory, and procedures are repeated to play the selec-
`tions on that playlist. This process repeats itself indefi-
`nitely for the playlists stored in the system mass storage
`device.
`An audio switching device, under software control,
`routes the output of the audio playback device that is
`playing the current selection to the system audio output.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a system block diagram of the automated
`digital broadcast system of the present invention.
`FIGS. 20 through 21‘ are flowchart illustrations of the
`processing steps implemented by the system control
`software used in the automated digital broadcast system
`of the present invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`Referring to FIG. 1, schematic block diagram is
`shown of the automated digital broadcast system of the
`present invention. Operation of the system is controlled
`by a control computer 12 which provides control sig-
`nals to interface hardware modules 14a-l4c to control
`operation of compact disc players 16a—16c. Selections
`to be played on the compact disc players Ida—16¢ are
`contained in a custom compact disc library 18. The
`sequence of music and commercial selections to be
`played from the compact disc library is determined by a
`playlist of music selections and commercial/informa-
`tion messages (“infomercials"). The playlist can be
`compiled using a program, such as the “SELECTOR”
`program produced by RCS Inc., to produce a sequential
`list containing information relating to the songs, artists,
`disc and track numbers, and times of play for the vari-
`ous selections. The compiled playlist 22 is stored in an
`appropriate playlist data storage device 24 for subse-
`quent access by the control computer 12. Operation of
`the system is controlled by system control software 26
`which is stored in an appropriate memory device as
`shown in FIG. 1. A display device 28, which can be in
`the form of a high resolution color monitor, displays a
`portion of the information contained in the playlist to
`allow an operator to obtain information about the music
`or commercial selection currently being played as well
`as those selections that will be played subsequently. An
`audio multiplexer unit (AMU) 20 routes the output of
`the compact disc player that is playing the current se-
`lection to the system audio output.
`FIGS. 2a—21' provide a flowchart description of the
`functional features of the system control software. Be-
`fore discussing details relating to the flowcharts, how—
`ever, the main features of the control software will be
`briefly summarized. The control software reads a "play-
`list” file which contains the sequence of selections to be
`played for a defined 24 hour period. At the end of the 24
`hour period, the next file is read and play begins again.
`Although the system will be described in terms of a 24
`hour play period, the maximum “walkaway” or unat—
`
`Page 12 of 15
`Page 12 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`5,168,481
`
`3
`tended time is limited by mass storage capacity of the
`computer. Typically, 32 kilobytes is required to store
`one day’s playlist. Therefore, one megabyte would be
`required for one month (31 days) of play time. In gen-
`eral, the system is utilized with one week of walkaway
`time to allow for new program material to be added
`each week. In operation, the control software periodi-
`cally writes a “status file" indicating the selection num-
`ber and day number so the system can return to the
`proper place in the playlist if the system is disabled
`because of loss of power.
`The control software automatically controls the play
`selection of a compact disc library by executing the
`following functions: First, the control software sends
`commands to the compact disc players to do one of the
`following: (a) cue a specified disc; (b) start playing a
`cued disc at a specified track; or (c) stop play at the end
`of track (EDT) and return the disc to the tray. The
`software receives and processes signals from the com-
`pact disc players which indicate that one of the follow-
`ing events has occurred: (a) a disc has been set into
`place and is ready for play, (b) the table of contents
`(T0C) of a specified disc has been read, (0) an BOT has
`been encountered, or (d) a specified track of a disc is
`playing. The software maintains the scheduled play by
`comparing actual runtime to scheduled runtime for
`each selection. The cumulative time difference between
`actual and scheduled time is computed, and the time gap
`between songs is adjusted to correct the cumulative
`difference. For normal operation,
`the error between
`scheduled and actual program time during a 24 hour
`period is maintained to within plus or minus 5 seconds.
`The control software constantly displays the system
`status. For example, the software displays appropriate
`messages to indicate the detection of EOT has oc-
`curred, or that a disc has been set into place and is ready
`to play. In addition,
`the system software constantly
`displays a playlist for some of the selections which have
`already been played and also displays the playlist for the
`current selection and future selections. The playlist
`contains information relating to the artist, title and run-
`time for the next selection, in addition to the disc num-
`her and track number for that selection.
`Referring to FIGS. 2a—2i, the flowchart for the con-
`trol system software will now be discussed. In step 100
`the software is started and in step 110 an opening screen
`is displayed. In steps 120 through 135, the user is pro-
`moted to check displayed information to see if the date,
`time, and playlist files are correct, and to take correc-
`tive action as needed. Then, in step 140, status files are
`read to determine the day and selection number for start
`of play. The status files can be modified off-line by the
`operator so that the machine can be started at a desired
`day and song. Otherwise, the status file will contain the
`day and number corresponding to the selection last
`played. In step 150,
`the windows are initialized for
`displaying playlist and system status information, and in
`step 160 the interface hardware (programmable input-
`/output cards) is initialized so that the control computer
`and the compact disc players can communicate. It may
`be noted that step 150 constitutes the beginning of the
`“day loop”; i.e., when the program concludes play for a
`given 24 hour period, it will return to step 150 to begin
`play for a new day (see FIG. 2]).
`Steps 170 through 190 complete the initialization
`procedures. In step 170, the playlist for the next 24 hour
`period is read into memory and the beginning entries of
`the playlist are displayed. The file to which errors are
`
`4
`written is initialized in step 180, and the software for
`handling interrupts from the compact disc player is
`installed in memory in step 190. The interrupt handler
`allows the control computer to temporarily suspend
`program execution upon a signal from the compact disc
`player so that data signals from the disc player can be
`received.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`In step 200, the compact disc players are cued to the
`first three selections on the playlist. In the following
`discussion, a set of 3 compact disc players is used. It is
`to be understood, however, that the features described
`hereinbelow can be accomplished with fewer or more
`compact disc players and without necessarily running
`them in the given sequential order. In addition,
`the
`features described can be accomplished with any digi-
`tally controlled audio playback device, such as a digital
`audio tape player rather than a compact
`isc player,
`although the details of the commands sent to and the
`signals received from the audio playback device would
`change.
`Commands are issued in step 210 to start play of the
`first selection. At approximately the same time, in step
`220, a clock is started in software to measure the run-
`time of the selection. In step 230, a check is made to
`verify that the compact disc player has sent a signal to
`acknowledge receipt of the commands to start playing
`the cued selection. If there is no such verification, the
`commands are reissued until their receipt is acknowl-
`edged. If three such attempts are made and fail to start
`play, an error message is displayed and written to file,
`and the program proceeds to the next step under the
`assumption that the selection has started play but that
`the compact disc player failed to acknowledge the com-
`mands. (The validity of this assumption will be tested
`below.)
`'
`Step 240 is a call to the subroutine MONITOR DISC
`PLAYER. This subroutine, diagrammed in FIG. 2g,
`serves three main functions: (1) it monitors the compact
`disc player to determine if the runtime of the selection
`has exceeded a preset limit, (2) it determines whether or
`not a selection is playing, and (3) it detects the end of
`track for the selection being played. These determina—
`tions are made in steps 520, 530, and 540, respectively. If
`the runtime has exceeded its limit (for example, 7 min-
`utes, which exceeds the longest song in the library) then
`an error message is written to the error log file and the
`end of track (EOT) flag is set to TRUE in step 525.
`Similarly, if the compact disc player does not send data
`to the control computer indicating that a disc is playing,
`an error is logged to file and displayed, and the EOT
`flag is set in step 535. If either of these errors occur, or
`if the end of track for the current selection is reached,
`the subroutine will, in step 550, disable the interrupt
`and, in step 560, return to the main program. As long as
`a selection is playing without error, the subroutine con-
`tinues to loop through step 545.
`Upon return from subroutine MONITOR DISC
`PLAYER, the first selection is stopped in step 250. At
`approximately the same time, the runtime clock in soft-
`ware is stopped, and it
`is determined in step 260
`whether or not the actual runtime of the selection was
`less than the scheduled runtime. If the actual runtime is
`less than the scheduled runtime, then a delay is intro-
`duced, the time of which depends upon the difference
`between scheduled and actual runtimes. The scheduled
`runtime is preset to exceed the actual runtime by about
`1 second, so, unless the system is behind schedule, some
`delay will always be introduced. In this way, the time
`
`Page 13 of 15
`Page 13 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`5
`gap between selections is adjusted to maintain the play-
`list schedule.
`At the time that is appropriate to maintain schedule,
`commands are issued in step 270 to start playing the
`second selection on the playlist. As was done for the 5
`first selection, a runtime clock is started in step 280 to
`monitor time of play, and a check is made in step 290 to
`determine if the compact disc player received the com-
`mands to start play. If there is no acknowledgement that
`the commands were received, then,
`in step 295, the
`commands are reissued up to 3 times and appropriate
`error messages are written to the error log file and
`displayed to the operator.
`Once the commands to start play are acknowledged,
`or have been sent three times, program control passes to
`step 300, where the number of the currently playing
`selection and the current day number are written to the
`status files. The next step in the control sequence, step
`320, is the beginning of the main loop of the program.
`The main program loop will continue to alternatively 20
`cue and play songs, returning control to steps 310 and
`320, until the next-to-last selection of the 24 hour period
`is played. (See step 420 for the end of this loop.)
`Because the system is configured with three compact
`disc players, the next—to—last and last selections require
`special treatment; no cueing of a later selection in the
`playlist is required during play of either of these selec-
`tions. The first step (step 320) in the main loop therefore
`determines if more than 2 selections remain to be
`played. If not, control is passed to step 410, where fur- 30
`ther steps are taken to play the last two selections. If
`more than 2 selections remain, commands are issued in
`step 330 to cue the next selection.
`The procedures used in cueing a selection on a com-
`pact disc player must take into account the scheduled 35
`runtime of the currently playing selection. Specifically,
`the cueing process must be completed before the end of
`track of the currently playing selection is encountered,
`or the currently playing song will not be stopped at its
`end. Step 340 determines if the selection currently play—
`ing has a short runtime or a relatively long runtime by
`checking the playlist data record. If the selection is
`shorter than 35 seconds, then the quickest possible cue-
`ing procedure is used by passing control to step 350. If
`the selection currently playing has a runtime greater 45
`than 35 seconds, then a longer but more robust cueing
`procedure is taken in step 345, in which the subroutine
`MONITOR SONG CUE is called.
`Subroutine MONITOR SONG CUE, shown in FIG.
`2h, starts at step 600. In step 610, the interrupt corre-
`sponding to the compact disc player being cued is en-
`abled so that the control computer can receive signals
`from that player. In step 620, a check is made that the
`table of contents have been successfully read for the
`disc being cued. If the table of contents have been read,
`then the disc must be loaded into the player and be
`ready for play. In that event control passes to step 670,
`and the subroutine returns to the calling program. If the
`table of contents have not been read, repeated efforts in
`steps 630, 635, and 620 are made until success is
`achieved or until 25 seconds has elapsed. If 25 seconds
`elapses without reading the table of contents, then, in
`step 640, commands are reissued to the compact disc
`player to one the disc and, in step 650, an error message
`is written to the error log file. The entire process, step
`620 through 650, is repeated until the table of contents
`is read or, in step 660, it is determined that a limit of 3
`attempts have been made to cue the disc. In either case,
`
`50
`
`55
`
`60
`
`65
`
`‘
`
`5,168,481
`
`IO
`
`15
`
`25
`
`6
`control returns to the main program in step 670. The
`entire cueing process for a song can take up to 75 sec-
`onds to execute if there are failures in reading the table
`of contents. In practice there are very few failures in
`cueing, and the process for a song is typically com-
`pleted in about 25 seconds.
`Once commands have been issued to one a selection,
`the subrouting MONITOR DISC PLAYER is called in
`step 350 to monitor the selection currently playing.
`Upon detection of the end of track or if the EOT flag
`has been set due to an error as described above, the
`selection is stopped in step 360. Following an adjust-
`ment in time between songs that is performed by steps
`370 and 375, commands are issued in step 380 to start
`the next selection. A software clock is started in step
`390 to measure actual runtime of the selection, and, in
`steps 400 and 405, commands to start play are reissued
`up to 3 times as appropriate. The status files are updated
`with the current selection number and day number in
`step 410.
`It is determined in step 420 whether or not the cur-
`rent selection is the next to last selection of the day. If
`so, step 425 calls subroutine NEXT TO LAST SELEC-
`TION. This subroutine, shown in FIG. 21', begins with
`step 700. If in step 710 it is determined that the current
`day is the last day of the week (or other period of time
`up to a month or more), then a message is displayed in
`step 715 to remind the operator to prepare to load a new
`set of computer discs and new playlist diskette as re-
`quired. In step 720 the subroutine MONITOR DISC
`PLAYER is called to detect the end of track or to set
`the end of track flag upon detection of an appropriate
`error. In step 730 the next to last selection is stopped
`and, following an appropriate time delay as determined
`in step 740, the last selection is started. The status files
`are updated in step 760, and control returns to the main
`program in step 770.
`For all selections in the playlist other than the last
`selection, step 430 marks the end of the main loop; fol-
`lowing step 430 control returns to step 310 in FIG. 2d
`until all selections but one haVe been played. If step 430
`determines that the last selection of the day is being
`played, then a test is made in step 440 to see if it is the
`last day of the week (or other preset time period). If so,
`a second message is displayed to remind the operator to
`prepare for the end of the week. In step 450, a subrou-
`tine is called to monitor the final selection until the end
`of track, and,
`in step 460, the selection is stopped. A
`message is displayed in step 470 to inform the operator
`that the end of the day, or the end of the week, if appro-
`priate, has been reached, and that the system will re-
`sume play at midnight.
`In step 480, the system clock is polled to determine if
`it is between 11 PM and midnight; if so, program execu-
`tion is delayed until midnight. At midnight, the day
`number is incremented in step 490, and program control
`returns to the beginning of the “day loop”, step 150 is
`FIG. 22:.
`Although the automatic digital broadcast system of
`the present invention has been described in connection
`with the preferred embodiment, it is not intended to be
`limited to the specific form set forth herein, but on the
`contrary,
`it is intended to cover such modifications,
`alternatives, and equivalents as can be included within
`the scope and spirit of the invention as defined by the
`appended claims.
`What is claimed is:
`
`Page 14 of 15
`Page 14 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`
`
`5,168,481
`
`7
`1_ An automated digital broadcast system, compris-
`ing:
`a playlist of desired music and information selections,
`said playlist containing information relating to the
`play time of each music selection in said playlist,
`
`5
`
`8
`means for recording errors detected by said means for
`monitoring said players, said means for recording
`being operable to notify a system operator of the
`need for system maintenance;
`timing means for maintaining operation of said system
`in accordance with a time schedule to allow unat-
`tended operation of said system for long periods of
`time, said timing means being operable to compare
`the actual play time of each music selection with
`the corresponding anticipated play time for said
`selection, said timing means being operable to alter
`the length of said time gaps between said selections
`.
`.
`.
`.
`.
`.
`in said playlist, as needed, to maintain operation of
`said system in accordance with said schedule.
`2. The automated digital broadcast system according
`to claim 1, said plurality of means for playing music
`selections comprising a plurality of optical disc players.
`t
`t
`t
`a
`at
`
`said playlist further comprising a plurality 0f time
`gaps, of predetermined length, between each of
`said selections;
`a plurality of means for playing selections contained 10
`in said playlist;
`ro rammable means for controllin the o eration of
`p g
`g
`p
`said plurality of means for playing said selections;
`a plurality Of means for monitoring the operation or 15
`said means for playing selections to detect and
`correct errors in cueing, starting and stopping 56-
`lections;
`
`20
`
`25
`
`30
`
`35
`
`4O
`
`'45
`
`50
`
`55
`
`65
`
`Page 15 of 15
`Page 15 0f 15
`
`SONOS 1013
`
`SONOS 1013
`
`