View script | License | Download script | History | Other scripts by: rvdzee |
5-Feb 7:50 UTC
[0.045] 11.348k
[0.045] 11.348k
Archive version of: podcast-chopper.r ... version: 1 ... rvdzee 31-Dec-2006Amendment note: new script || Publicly available? Yes rebol [ Title: "Podcast Chopper" Date: 01-Jan-2007 Name: 'Podcast-Chopper Version: 0.1.0 File: %podcast-chopper.r Author: "r vdZee" Owner: "r vdZee" Rights: "Copyright (C) r vdZee 2007" Tabs: 4 Purpose: { - downloads an MP3 podcast as a number of smaller files, so that listening to the file file may be resumed at a number of points } Comment: { - note how "copy/part" moves along the file, "skip" by itself, is not used - "Seek mode added for random access to large files" http://www.rebol.net/article/0199.html - "Copy and Checksum Large Files" http://www.rebol.net/article/0281.html } History: [ 0.1.0 [5-Nov-1997 "released" "rvdzee"] ] Language: 'English library: [ level: 'beginner platform: 'all type: 'tool domain: [sound file-handling] tested-under: [view 1.3.2.4.2 on "Mepis Linux"] support: none license: 'mit see-also: none ] ] mp3-file: http://planetquest1.jpl.nasa.gov/podCasts/PlanetQuestPodcast06.mp3 print system/script/title print join "looking for " reduce mp3-file either exists? mp3-file [ print join "file size " size? mp3-file ][ print "url not found" print "terminating in 5 seconds" wait 5 quit ] file-name: %nasa- chunk: 2000000 content: make binary! chunk part-number: 100 number-of-files: (round/ceiling divide (size? mp3-file) chunk) print rejoin ["downloading into "number-of-files " files..."] print join "writing to " system/script/path open-port: open/direct/binary mp3-file loop number-of-files [ data: copy/part open-port chunk write/binary rejoin [file-name part-number %.mp3] data part-number: part-number + 1 print rejoin [file-name part-number ".mp3 done"] ] close open-port print "done" |