# -*-tcl-*- # # This is a configuration file for uraniacast. Usual location: # $HOME/.uraniacast/config # # Note that this file is evaluated as a Tcl script, so it can contain # any Tcl command, but we need only to properly fill the 'feed' array. # # # Global settings that affects all feeds # -------------------------------------- # # fetch.xml -- a program that will download every feed to your # computer. The typical example is wget. # # Default: curl -fL --connect-timeout 15 --progress-bar --noproxy * -o %f %u # # The option value MUST include several format specifications. Each # format specification is introduced by the percent character (``%''): # # %f -- an output file name # %u -- URI # %% -- % # # For example, using wget in Linux: # set conf(fetch.xml) {wget --no-proxy %u -O %f} # # Using system-wide fetch(1) in FreeBSD: # set conf(fetch.xml) {fetch -md -o %f %u} # # fetch.media -- a program that will download every media file to your # computer. # # Default: curl -fLO --connect-timeout 15 --noproxy * %u # # This option is very similar to "fetch.xml" except that it cannot # contain "%f" format specification. # # %u -- URI # %% -- % # # For example, using wget in Linux: # set conf(fetch.media) {wget --no-proxy %u} # # # Feed-specific settings # ---------------------- # # To add a feed, chose a name for it, get a feed URI and optionally set # a type of a media you want to retrieve and a filter for possible # categories listed in the feed. # # A simplest feed-definition: # # set feed(e.planet_money) { # url {http://www.npr.org/rss/podcast.php?id=510289} # } # # More precise definition: # # set feed(foobar) { # url {http://example.com/podcast.xml} # type {audio/mpeg} # category {node, coffeescript} # sort decreasing # treatment {uraniacast_t_mp3tag.sh %f %a %A %s %y %c} # } # # Here we've added some more sub-options. DO NOT set them "just in case" # unless you're absolutely sure what are you doing. # # * "type" allows to grab only video and no audio files or vice-verse or # grab only mp3 files but not ogg, etc. # # * "category" allows to grab only those entries in the feed, which # match with specified word list. # # "type" and "category" can contain several types/words separated by # commas. # # * "sort" instructs to sort the feed entries before processing. The # sort order can be "increasing" and "decreasing"--any other values # for this sub-option are prohibited. By default, there is no sorting # at all--we assumes that the author of the feed has already sorted # entries in it (in "decreasing" mode). This sub-option sounds useful # in theory but rarely needed in practice. # # * "fetch" is identical to global "fetch.media" but works only for a # particular feed. Default is "-" meaning 'just use the program from # "fetch_media" option'. # # * "treatment" helps you to automatically do any additional tricks with # downloaded files. For example, you may want to convert ogg files to # mp3 (in case your mp3-player doesn't understand ogg) or add some # tags for mp3 files or to add an audio amplification or to change # tempo, pitch, etc. # # All such magic can be done not with uraniacast but with external # tools; ucaniacast just executes them. # # "treatment" sub-option have its own format specification: # # %f -- file name to treat # %p -- podcast name to which %f belongs # # %a -- artist name # %A -- album name # %s -- song name # %y -- year # %d -- date in seconds # %c -- comment # # How many listed format specifications do you need exactly depends on # your script. The only required one is %f. # # See also uraniacast_treatment(7). # # Some examples # set feed(e.econtalk) { url {http://www.econlib.org/library/EconTalk.xml} treatment {uraniacast_t_mp3tag.sh %f %a %A %s %y %c} } set feed(e.yale_entrepreneurial_institute) { url {http://deimos3.apple.com/WebObjects/Core.woa/Feed/yale.edu-dz.4357409176.04357409178} sort decreasing fetch {curl -OJ --noproxy * %u} } set feed(comp.mike_rogers) { url {http://feeds.soundcloud.com/users/soundcloud:users:45634593/sounds.rss} treatment {uraniacast_t_convert.sh -f audio/mp4 -t mp3 %f} } set feed(comp.stack_exchange) { url {http://feeds.soundcloud.com/users/4273388-stack-exchange/tracks} } set feed(psych.the_psych_files) { url {http://feeds.feedburner.com/thepsychfiles} type {audio/mpeg} }