Split and re-encode a CUE sheet.

CUE sheets are sometimes distributed along with a single audio file containing a whole CD. Liquidsoap can parse CUE sheets as playlists and use them in your request-based sources.

Here’s for instance an example of a simple code to split a CUE sheet into several mp3 files with id3v2 tags:

 # Log to stdout
   log.file.set(false)
   log.stdout.set(true)
   log.level.set(4)
  
   # Initial playlist
   cue = "/path/to/sheet.cue"
  
   # Create a reloadable playlist with this CUE sheet.
   # Tell liquidsoap to shutdown when we are done.
   x = playlist.reloadable(cue, on_done=shutdown)
  
   # We will never reload this playlist so we drop the first
   # returned value:
   s = snd(x)
  
   # Add a cue_cut to cue-in/cue-out according to
   # markers in "sheet.cue"
   s = cue_cut(s)
  
   # Shove all that to a output.file operator.
   output.file(%mp3(id3v2=true,bitrate=320), 
               fallible=true,
               reopen_on_metadata=true,
               "/path/to/$(track) - $(title).mp3",
               s)