home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1994 November / macformat-018.iso / Utility Spectacular / Script / GTQLib1.2.as folder / Sample Scripts / ShufflePlayCD < prev    next >
Encoding:
Text File  |  1994-05-03  |  1.4 KB  |  57 lines  |  [TEXT/ToyS]

  1. on run
  2.     global playedTracks
  3.     global numTracks
  4.     global numPlayed
  5.     global trackTime
  6.     try
  7.         stop audio CD
  8.         set playedTracks to {}
  9.         set numTracks to (number of tracks on audio CD)
  10.         set numPlayed to 0
  11.         idle
  12.         switch to launcher
  13.     on error number e
  14.         if e = -65 then display dialog "You must insert an audio CD first!"
  15.         quit
  16.     end try
  17. end run
  18.  
  19. on idle
  20.     global playedTracks
  21.     global numTracks
  22.     global numPlayed
  23.     global trackTime
  24.     try
  25.         set stat to (status of audio CD)
  26.         if song index of stat is 0 then
  27.             copy (random number (number of tracks on audio CD)) to trackVar
  28.             repeat until (playedTracks does not contain trackVar)
  29.                 copy (random number (number of tracks on audio CD)) to trackVar
  30.             end repeat
  31.             set numPlayed to numPlayed + 1
  32.             try
  33.                 play audio CD starting with track (trackVar)
  34.             on error
  35.                 eject CD
  36.                 quit
  37.             end try
  38.             stop audio CD after track (trackVar)
  39.             set ti to (track information for audio CD for track (trackVar))
  40.             set trackTime to (((mins of ti) * 60) + (secs of ti))
  41.             set playedTracks to (playedTracks & trackVar)
  42.             set stat to (status of audio CD)
  43.         end if
  44.         set tleft to (trackTime - (((track mins of stat) * 60) + (track secs of stat) - 10))
  45.         if tleft < 0 then set tleft to 0
  46.     on error
  47.         set tleft to 1
  48.     end try
  49.     if numPlayed = numTracks then quit
  50.     return tleft
  51. end idle
  52.  
  53. on GiveMePlayedTracks()
  54.     global playedTracks
  55.     return playedTracks
  56. end GiveMePlayedTracks
  57.