View in color | License | Download script | History | Other scripts by: rvdzee |
14-Dec 15:34 UTC
[0.06] 11.621k
[0.06] 11.621k
podcast-chopper.rrebol [
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: {
- script illustrates how to chop a file, but is of limited application - almost all MP3 players will fast forward & reverse
- 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 [1-Jan-2007 "released" ]
]
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" |