rcFeedMe.zip (v1.41 - 11/5/09) (source is included)
- So I've been using Juice for a while as my podcatcher. It works ok most of the time but there were a few things that annoyed me: Sometimes downloads would just hang, no way to group feeds into different download directories, and sometimes something about a feed would change and all of the files would download. That last one might not be Juice's fault but still there are ways to solve this problem in the podcatcher.
- So I went looking to see if there was a better free alternative. Also, I'm one of those people who refuses to install itunes. I tried a few from this site:
http://www.podcatchermatrix.org/ but most of them had more issues than Juice with interfaces that seemed to make the whole process of configuring your feeds a chore.
- So I did what any programmer would do. I wrote my own. rcFeedMe is a podcatcher - basically it reads rss feeds and downloads them unattended all automatically on a schedule. It is NOT a rss reader. I use google reader for that. Once you set it up you shouldn't have to touch it anymore except when you want to add/remove feeds.
- Tip: If you find a show that only has an itunes feed and not a regular rss xml one read this article. I found it quite helpful.
Design goals/features:
- Quick and easy interface. It might not be that pretty but I wanted something that I could quickly enter settings for all aspects of the program.
- OPML import/export.
- Complete automation. Once setup, it just runs in the tray and checks the feeds for new downloads at an interval you set. No annoying popups or notifications. I just want it to silently do its thing. Downloads have to be as robust as possible and retry automatically if the download stalls.
- Maintain a history of every file downloaded so you will never get flooded with downloads when a feed changes or download something you've previously downloaded.
- Flexible system to determine where feed downloads are saved.
- Multi threaded with the ability to set the number of threads to use.
- Some basic abilities to sync to a mp3 player. I want to keep this program pretty focused on just downloading.
- Clean install. You just unzip the files and run so it's completely self contained and portable. All persisted data is stored in clear xml files.
- Source included
Developer Notes:
- Written in Visual Studio 2008 - c# targeting .net 3.5 framework. It took about a week to write the core functionality. It took another week to flesh out a few features and bug fixes.
- Utilizes Windows Communication Foundation (WCF) SyndicationFeed. I coded around their publish date parsing bug. Try it with ask a ninja and you'll see. SyndicationFeed isn't a very robust class and there were several feeds I had to massage the xml before it would load into a SyndicationFeed.
- I started with a pretty clean OO design but it broke down toward the end with me taking all sorts of shortcuts especially with presentation elements getting mixed in (mostly to help performance). This also means the memory footprint grew a bit too though cpu utilization is low.
- All persisted data is in clear xml files.
- Thread management is a bit of a mess. I'm sure there is a much better/cleaner way to do things.
- Overall life cycle of a file: First you subscribe to a feed (class Feed), I refresh that feed and get a list of all files (MediaFeed which is a keyed collection of Media; attribute on Feed). At this point in time I figure out what the filename will be and verify that a good link exists pointing to the file that will be downloaded. Next, the queue (class Queue which is a collection of Media) is built taking into account check keep counts and history. I then process the queue downloading all the files trying to spread download across different sites (this algorithm can be improved, it's very simplified right now). Once the entire queue is finished (or the user stops the downloads) I cleanup the queue. All successfully downloaded files are moved to History (collection of Media), all the ones stopped or errored are moved to errors (temporary collection of Media, never persisted to disk). Then I trim files based on keep count. It's a very safe and conservative trim. I walk the save paths resolved from Feeds (collection of Feed), I then search history by filename, if I find a match in history then it's considered for deletion based on save flag and keep count. Keyed collections were used instead of dictionaries because I needed serialization.
- I don't check free space anywhere so ummm yeah manage your disk space. The idea is keep count should keep space usage pretty constant.
- CleanupConfig.xml. This file is used to help cleanup the raw xml that causes issues with SyndicationFeed class. This has two sections in it. One is for search and replace, the other removes text between the start and end strings inclusive. In the future, as more problematic feeds are reported and fixed, hopefully I can just release an updated CleanupConfig.xml file instead of doing a new build. There is no gui for this file so if you want to manually edit it just use notepad.
- Other code used:
http://www.asp101.com/articles/christopher/filesystem/default.asp
http://www.brunofigueiredo.com/post/c-OPML-Parser.aspx (make sure you apply the fixes mentioned in the comments)
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=176890&SiteID=1 - DataGridView progress bar
http://www.codeproject.com/KB/grid/DataGridViewColumnOrder.aspx - Save DataGridView column widths and position. Modified to persist settings in appSettings instead of user.config to keep rcFeedMe portable.
http://www.codeproject.com/KB/grid/CheckBoxHeaderCell.aspx?fid=452379 - Checkbox in DataGridView column header
http://www.veryicon.com/pack/aqua-smiles/ (icons)
- Thanks to coolmoedee345 for helping with the testing who listens and watches more podcasts than I think is humanly possible which of course made him the ideal tester.
Requirements:
- Windows XP, Vista, or Windows 7 (I've tested in both 32bit and 64bit)
- .net framework 3.5
Quick Start:
- Import an opml file or enter the url for the feeds you are interested in.
- Update the path on the settings tab to where you want to save your downloads.
- Click Start.
Usage:
- All the labels on the settings tab and many headers on the grids have tooltip text. That should help clarify some things.
- Command line parameters:
"1" or "auto" - (without quotes) to start in automatic mode. This means the app will minimize and the scheduler will start. This is useful as a shortcut in your startup group.
"2" or "lite" - The same as 1 except it puts it into "lite mode" which uses less memory but doesn't let you interact much at all with the program. Memory usage will still be pretty high when it's actually processing the download queue, but I try to free up as much resources as possible when rcFeedMe is idle and waiting for the next scheduled run.
"3" or "once" - Run Once: It's just like 1 except after finishing the run it will automatically exit. Useful if you would rather schedule rcFeedMe with windows scheduler and not have it running in the tray all the time.
- Right click on the grids for additional functionality. You can multi select rows in most grids by clicking the white space to the left of the row. Hold down ctrl to select multiple rows, shift for ranges of rows, and click the square in the top left corner to select all rows.
- Grids can be sorted by clicking on the header of the column.
- It should use proxy information that is setup for IE automatically though I haven't tested this.
- While a file is in the process of being downloaded it will have an extension of .rcFeedMeTemp. This extension is removed once the file has successfully completed downloading.
Main Menu:
File | Import opml: Import an opml file. Feeds with a url that already exists in the grid will be skipped.
File | Export opml: Export feeds to an opml file.
About: Shows the current version and a link to this post.
Debug | Save Settings: Not usually needed since Refresh All feeds saves all settings. Settings are also automatically saved when you close the application.
Debug | Load Settings: Not usually needed since Refresh All feeds saves all settings. Settings are automatically loaded on application start up.
Debug | Dump Raw XML Feeds: If you have a feed giving you problems (no files showing up/ERROR status when refreshing) you might want a raw dump of the rss feed. This will save the file in the same directory as the rcFeedMe.exe. It also dumps a fixed version if it's a problematic feed that I had to massage a bit to get working.
Debug | Sync Count: Count how many files that need to be synced and display it on the Sync button as Sync (n) where n = number of files that still need to be synced.
Toolbar:
Start: Start the scheduler.
Stop: Stop the scheduler.
Save then Reload Settings: Click this if you changed something and want to save it immediately but don't want to refresh all the feeds.
Refresh All Feeds: Saves all Settings, re-loads all settings, and refreshes all feeds. This is the button you want to click after you've added/removed feeds.
Process All Feeds: Does a Refresh All feeds, builds the queue, and processes the queue. This is the same thing that the scheduler runs.
Sync: Syncs files to a path of your choice (usually to a mp3 player or something). Paths are defined just like Save Paths but instead use the Sync Path fields (in feeds, groups, and settings). Sync is really a one way copy from where the file was downloaded to the Sync Path. Once a file has been copied, it is flagged as Synced in History so it won't sync again even if you delete the file on the mp3 player. You can always uncheck Synced in the history if you want to sync the file again. One small difference is sync paths are created if they do not exist (this includes even base directories). After the downloads are finished it will count how many files that need to be synced and display it on the Sync button as Sync (n) where n = number of files that still need to be synced. This lets me know in the morning if I have new podcasts waiting for me to be synced to my mp3 player. You can also get a count immediately with the Sync Count menu item under Debug.
Search History: Type in the textbox any substring you want to search in your history on Feed Name, Title, and File Name.
Status bar:
- First area is just general information on the last action.
- The next grey label area is the current overall status of rcFeedMe.
Idle - not much is happening.
Feed - Feeds are in the process of being refreshed.
Queue - Queue is being processed. Files are being downloaded.
Sync - Files are being copied to your mp3 player.
You will see the word [Lite] next to the status if you are running in low memory usage Lite mode.
Depending on the status, certain functions might not be available.
- Progress Bar shows status of either the feeds refreshing or the download queue. Download progress is only updated every percentage change.
- The tray icon will show teeth while rcFeedMe is being fed (downloading). Actually, it's anytime it is not idle.
Feeds Tab:
At the top is a grid displaying all your rss feeds and a variety of parameters to customize how files are downloaded. At the bottom displays all the files associated with the feed you clicked on in the top grid. Note: You must click "Refresh All Feeds" before you will see anything in the lower grid.
- How the save path of a file is determined: If a path is specified at the feed level, then that exact path will be used. Next, if a group is specified, then the group path will be used as the base path, a sub directory with the feed name will be created in this base path, and then the file will be saved in that sub directory. Finally, if a feed has no save path defined, group is set to (None), then the Save Path on the Settings Tab will be used as the base path. The same sub directory logic is used as in the group scenario. Note: Sync Path follows the same logic.
- Please make sure all base directories are created first or the program will throw an error.
Feeds Grid (top):
- Name: The name of the feed. Please be careful when editing this field. It's best not to touch it once you've begun downloading files for the feed since I use feed name + file name as the key to determine if something has already been downloaded (history).
- Url: The address that points to the feed. If you enter this first and leave Name blank then it will try and fetch the name of the feed for you. It's not quite as robust as refreshing the feed so if this fails, try typing the feed name manually and then refreshing the feed. There is a chance it still might work.
- Group: Any groups defined on the group tab will be in this drop down. Assign this feed to a group or leave it set to (None).
- Keep Count: This number determines two things. 1) It determines the maximum number of possible files that can be downloaded for the feed. So if it is set to 5 then at most 5 of the most recent files will be downloaded for this feed. 2) It also determines the maximum number of shows to keep on your hard drive. So if you download the latest 5 files, then a new one shows up in the rss feed, then the new show will be downloaded and the oldest existing file will be deleted. This is the primary method of managing disk space. By specifying keep counts your disk space used shouldn't change much. Set it to 0 to disable the feed. Enter -1 if you want to download and keep everything. I've seen other podcatchers use number of days or something like that which I find inconvenient since different feeds publish new shows at different or irregular intervals.
- Include Extension: Pipe(|) delimited list of file extensions(include period(.)) to match against for downloads. Sometimes undesirable file types get included into the feed (say a .aspx or something) or the feed is a consolidated feed with the same show in different file formats (say wmv, mov, avi, etc). This lets you filter down the files to download by a list of extensions. Example: if you only want wmv files to download from the feed then enter ".wmv" (with the period but no quotes, search is case insensitive). If you wanted wmv and mov files then enter ".wmv|.mov".
- Include Text: pipe(|) delimited list of substrings that are compared to the filenames for download. This is similar to extension but is a substring search of the entire filename. If it finds a matches then the file will be downloaded. This is useful if a feed contains many different versions of the same show in the same file format but at different quality levels/bit rates. Example: a feed has Show01High.wmv,Show01Med.wmv,Show01Low.wmv. If you wanted just the high quality ones you would enter "High" (without the quotes, search is case insensitive).
- Save Path: Enter the complete path where the podcasts for this feed will be saved. This path overrides all other paths (groups and global settings).
- Prepend Date? Prepend the Publish Date to filename. Useful to make the filenames unique or help with sorting. Date format used is YYYYMMDD so it sorts propery. If both Prepend Date and Prepend Title are checked, then Date comes first.
- Prepend Title?: Prepend title to filename. Useful to make the filenames unique if only a generic filename is used in the feed. Take a look at the GameTrailers feeds. All the filenames are just download.mp4. Checking this will take the title of the show and prepend it to the filename. So download.mp4 will become "show title - download.mp4".
- Sync Path: Just like save Path but defines where files are copied to when you click the Sync button.
- Sync?: Check if you want files from this feed to sync to your mp3 player.
- Apply Cache Fix?: Appends a fake query string to the end of the url when making the request for the feed. This guarantees a cached copy will not be used but also causes some sites to throw an error. Most sites don't need this. If you do check this, then do a refresh and make sure the feed still works. To be honest I'm not sure if this "fix" really helps anything. I notice on a few feeds (like hdtv podcast) where there is a bit of a lag before the latest show appears in the feed. What is odd is if you view the feed in a browser (and therefore the xslt is applied) you see the latest version of the rss feed. If you instead grab the raw xml (I use webClient but trying httpwebrequest doesn't make a difference) it's the previous version and takes a while before it's updated. If I use WebBrowser class then yeah I get the latest data but it's after the xslt is applied so it's html and no longer rss xml. It's pretty odd. It only happens on a few feeds, and it's not a big deal since the raw rss xml eventually does get updated. If any programmers out there can explain to me what is happening, why, and maybe how to fix it that would be great.
- Right Click menu lets you abort refreshing feeds.
Files Grid (bottom)
- Add to Queue: Manually add the file to the download queue. The file will be automatically flagged as "Keep". See History Tab for more information.
- In Queue?: Read only - checked if the file is already in the queue.
- Title: Show title. This is the text used in the filename if Prepend Title? was checked above.
- Summary: Show summary
- Publish Date: Date the show was published. This is the date used in determining the latest shows to download. By default the grid is sorted descending on this field.
- File Name: Filename that will be used when downloading and saving the file.
- Link: The url pointing to the actual file that will be downloaded.
Download Queue Tab:
- I attempt to spread the downloads across different feeds to help maximize speed and thread efficiency.
- Feed Name: Name of the feed.
- Title: Show Title
- Link: The url pointing to the actual file that will be downloaded.
- File Name: Complete path and filename of what is being downloaded and saved.
- Publish Date: Date the show was published.
- Status:
Queued - In the download queue but has not started downloading yet.
Downloading - Download is in progress.
Downloaded - File was downloaded successfully.
Error - File was not downloaded properly. Some sort of error occurred. Partially downloaded files in error status are automatically deleted.
Stopped - User right clicked on the Queue grid and selected "Stop All Downloads". Any downloads in progress will be stopped immediately and have this status. The partially downloaded file will be deleted.
Bytes - Number of bytes currently downloaded/Total Bytes.
Progress - % downloaded
Attempt - How many times rcFeedMe tried to download this file. Once attempts hits the download retry maximum (set in the Settings tab) then the file will be set to Error status.
Download Queue Context Sensitive Menu (right click):
- Build Queue: Not used often unless you want manual control over some of the steps that "Process All Feeds" does. Click this after doing a Refresh All Feeds. It will build the queue but not actually start downloading yet.
- Process Queue: Begins downloading the files in the queue.
- Stop all Downloads: Immediately stop all downloads and halts the processing of the queue.
- Remove Selected Rows: Remove the files from the download queue.
- Move Selected Rows to History. This is more for debug but it might come in handy. After build queue you can move rows from the queue to History. This will trick the program into thinking these files were already downloaded. Useful in some situations where you want to pre-populate the history. Maybe there is a specific show you just don't want to download.
Download History Tab:
- After the queue is completely finished processing, all successfully downloaded files are moved here. The history will continue to grow over time. It might be a good idea to trim it down once in a while by sorting by date and then selecting multiple rows of the oldest data and deleting it.
- I won't go through all the columns since I've already describe most of them by now. Three columns are editable on this grid: Title, File Name, and Keep?.
- I allow editing of Title and File Name since these combined is the primary key I use to determine if a show has already been downloaded. This is just in case somebody wants to tweak something in the history.
- Keep?: Checking this prevents rcFeedMe from deleting the file. This goes along with Keep Count back on the feed tab. Any files you added manually from the files grid on the feeds tab will have this already checked. It makes sense because you added the file manually (and not by the scheduling engine) so the scheduler shouldn't delete it. Kept shows are excluded from the keep count calculation.
- Right click | purge history: This will clear the entire history file (a backup is created though just in case). Useful if you want to reset and re-download
everything.
- Synced?: If checked it means the file has already been synced to your mp3 player so it won't get synced again in the future. I you wish to sync the file again for some reason just uncheck this box.
- Make sure you save any changes made before leaving this tab since this tab gets refreshed whenever you click on it.
Recent Errors Tab:
- After the queue is completely finished processing, all the files that failed to download are moved here. This only shows files that error out on the most recent run. The data in this tab is not persisted anywhere so if you close rcFeedMe and then restart it, it will be blank. If you want to see a running history of all the errors from this tab, please see Errors Log Tab.
Group Defaults Tab:
- Specify the download path for the group. The groups you define here appear in the drop down on the Feeds tab.
Settings Tab:
These are your global preferences.
- Frequency: This is how often the scheduler should refresh all feeds and download any new files. Default is 360 minutes (every 6 hrs).
- Default Save Path: If a feed doesn't have a path specified and group is set to none, then this path will be used as the base path. See Feeds Tab for a more detailed explanation of how the download path is determined for a file.
- Default Sync Path: If a feed doesn't have a path specified and group is set to none, then this path will be used as the base Sync path.
- Keep Count: Default value used to populate the Keep Count field on the feeds tab when importing an opml file. Default is 5. See Feeds Tab for more information.
- Threads used to Scan: Number of threads to use when refreshing the rss feeds. Default is 6. Maximum allowed is 16.
- Threads used to download: Number of threads to use when downloading files. I would recommend 2. Any higher and some sites limit the number of simultaneous downloads and could produce false failed downloads. I try to minimize this by spreading out simultaneous downloads across different feeds. Maximum allowed is 6.
- Scan Stall: Number of seconds that elapse of inactivity while a feed is being refreshed. If the feed refresh stalls for this many seconds, it will be considered an error.
- Download Stall: Number of seconds that elapse of inactivity while a file is being downloaded. If the download stalls for this many seconds, it will be considered an error.
- Scan Timeout: If the total time for a feed refresh takes longer than this many seconds, it is considered an error.
- Download Timeout: If the total time for a file download takes longer than this many seconds, it is considered an error.
- Scan Retry: When an error occurs during a feed refresh, retry this many times before giving up.
- Download Retry: When an error occurs during a file download, retry this many times before giving up.
- Time Zones (Advanced): Used to help parse Publish Date. Sometimes it helps to strip out the time zone.
- Date Formats (Advanced): Used to help parse Publish Date. Specify the .net Custom Date and Time Format string. see: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
Log Tab:
- A very detailed log of everything that happens in the program. The log self trims so it won't grow in size forever. The log is refreshed every time you go to this tab or you can right click and refresh immediately. The log will grow until it hits 1.5MB. After that the oldest entries will be deleted and the log will be automatically trimmed down to 1MB. This cycle just keeps repeating. Log size check and trimming occurs when you process your queue.
Error Log Tab:

- Since the Recent Errors Tab isn't saved anywhere I decided to create a separate error log. The information is also buried in the complete log but this log only contains information that was in the recent errors tab. This log also self trims.
Hopefully you find this program useful. Leave any questions or suggestions in the comments, and I'll try to respond.
UPDATE: If you have issues with a specific feed give http://feedvalidator.org/ a try. It's quite helpful in pointing out where the problem might be.
Version History:
v1.41 (11/5/09)
- This is mainly user interface tweaks. All checkbox columns now have a checkbox in the column header so you can easily toggle the checkboxes for all rows.
- All grid column positions and widths are now saved. Even the split location on the first tab is saved. All these settings are saved in rcFeedMe.exe.Config. So if you want to reset just delete the appSettings section.
v1.40 (11/2/09)
- added httpWebRequest useUnsafeHeaderParsing="true" to rcFeedMe.exe.config. This fixed an issue with a specific feed. You can read more about the issue here.
- cleanupconfig.xml is now a lot more flexible. You can now add fixes that only apply to a particular feed url instead of globally to all feeds. This allows me to add specific feed fixes without the risk of breaking some other feed. Just add the optional attribute feedUrl to either ReplaceStruct or RemoveStruct. If you leave feedUrl attribute off then it still applies globally.
- Added Restore to the right click menu on the tray icon. It does the same thing as double clicking the tray icon.
v1.39 (4/21/09)
- updated CleanupConfig.xml to handle another problem feed. Fixed a rare issue where if a filename differed only in case it would hang the feed refresh process.
v1.38 (2/22/09)
- Fixed a bug where I was never using DL stall time from the config (I was accidentally using scan stall). Also, rcFeedMe no longer shows up in the alt-tab list when minimized to the tray.
v1.37 (2/16/09)
- Fixed a problem with idle thumbs feed. Added better error logging when there is an xml parsing error. I now try and extract the xml fragment that was causing the problems and save that into the log.
v1.36 (1/27/09)
- Some feeds are missing the type attribute on the enclosure tag. I've added some code that should work around this issue.
v1.35 (1/11/09)
- added new Error Log tab. Anything that ever shows up in the Recent Errors tab is archived in this log. Sure the same information is also captured in the compete Log but this is easier to read if you just want to look at your failed downloads. This log also self trims.
v1.34 (1/7/09)
- added a size check. When media is finished downloading, I check received bytes against total bytes expected. If it received less then it is considered an error.
- latest CleanupConfig.xml is rolled into this release
v1.33 (12/12/08)
- fixed a tiny bug where I forgot to reset the tray icon tool tip text and form title after doing a sync.
v1.32 (12/11/08)
- Files that are too long are now trimmed down. This can happen if you prepend the Title and it happens to be a very long title. I've set maximum file name length to be 240. It will be less than this since I subtract out the full path. Any filenames that needed trimming will show up in the log.
- Fixed a bug when deleting rows out of the Groups tab.
v1.31 (12/10/08)
- Improved error messages in the log if a download fails.
- Sync Count now also displays in the window title and the tooltip text for the tray icon.
v1.30 (12/03/08)
- added a new feature: Sync Count. After the downloads are finished it will count how many files that need to be synced and display it on the Sync button as Sync (n) where n = number of files that still need to be synced. This lets me know in the morning if I have new podcasts waiting for me to be synced to my mp3 player. You can also get a count immediately with the Sync Count menu item under Debug.
v1.29 (12/03/08)
- fixed a bug introduced in the new feature in v1.27 and made worse in v1.28: Crash bug when editing existing feeds.
v1.28 (12/02/08)
- fixed a bug where if you had no group assigned to the feed, clicking add to queue button would cause the app to blow up.
- fixed a crash bug where feed name was null when it is trying to fetch the name.
- added a new xml file: CleanupConfig.xml. This file is used to help cleanup the raw xml that causes issues with SyndicationFeed class. This has two sections in it. One is for search and replace, the other removes text between the start and end strings inclusive. In the future, as more problematic feeds are reported and fixed, hopefully I can just release an updated CleanupConfig.xml file instead of doing a new build. There is no gui for this file so if you want to manually edit it just use notepad.
v1.27 (12/01/08)
- When subscribing to new feeds, if you enter the url first and leave the Name blank, then it will try and fetch the name of the feed for you.
v1.26 (11/24/08)
- fixed some problem feeds that use dc:date instead of pubDate tag in the rss xml.
v1.25 (11/21/2008)
- Initial public release

85 comments:
Hi.
Thanks for rcFeedMe! Works fine for my german podcasts (with "umlaute" like "ä"). Juice doesn't like umlaute at all and throws lots of errors...
Is there any way to let rcFeedMe import the feed title automatically from feeds url?
Actually I could code that. That's not a bad idea. I might add that feature when I have the time. But for now you'll just have to type it. I know it's a bit of a pain but it is really something you only have to do once per feed.
Ralf, ok feature has been added. Go give 1.27 a try.
Feed title from url works for me in v1.27. Thank you!
I'm just beginning to see how useful rcFeedMe is. Prepend date/title on downloaded file names, for example, is very handy. No other podcatcher I tried can do that...
Um, in Feeds view, clicking on "Add to Queue" when the file is already downloaded, throws an unhandled exception (System.Collections.Generic.KeyNotFoundException) here on my german WinXP Prof. with german .NET.
http://podcast.hr3.de/hr3_hirschhausen/podcast.xml does not work at all. rcFeedMe does not read the title from url and does not display any feed contents. Looks like malformatted xml on feed's side to me. From rcfeedme.log:
02.12.2008 09:07:39 ERROR: (Feed)[hr2 Praxis Dr. Hirschhausen]'Element' ist ein ungültiger XmlNodeType. Zeile 1, Position 17450.;
02.12.2008 09:07:39 (Feed)Finished feed refresh with ERRORS: hr2 Praxis Dr. Hirschhausen = 0
But WinAmp and Juice work with this feed; and it displays fine on firefox. Maybe rcFeedMe is too picky here? :-)
PS: 'Element' ist ein ungültiger XmlNodeType. Zeile 1, Position 17450
means
'Element' is an invalid XmlNodeType. Line 1, Position 17450
Ralf, give 1.28 a try. I fixed the bug you mentioned and another one I found. The feed was giving SyndicationFeed fits because it has template tags in the xml. Why SyndicationFeed even cares about extra tags is beyond me. It really should just ignore it. I blame the microsoft .net team. Anyways, it should be all good now. Let me know if you have any other issues.
Thanks again for your work! v1.28 handles the problematic feed well.
But... Try (de-)selecting "Prepend Title" or "Prepend Date" on a feed while another row is selected:
System.InvalidCastException: Das Objekt des Typs System.Boolean kann nicht in Typ System.String umgewandelt werden.
bei rcFeedMe.frmRcFeedMe.dgvFeeds_CellEndEdit(Object sender, DataGridViewCellEventArgs e)
bei System.Windows.Forms.DataGridView.OnCellEndEdit(DataGridViewCellEventArgs e)
bei System.Windows.Forms.DataGridView.EndEdit(DataGridViewDataErrorContexts context, DataGridViewValidateCellInternal validateCell, Boolean fireCellLeave, Boolean fireCellEnter, Boolean fireRowLeave, Boolean fireRowEnter, Boolean fireLeave, Boolean keepFocus, Boolean resetCurrentCell, Boolean resetAnchorCell)
bei System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick)
bei System.Windows.Forms.DataGridView.OnCellMouseDown(HitTestInfo hti, Boolean isShiftDown, Boolean isControlDown)
bei System.Windows.Forms.DataGridView.OnCellMouseDown(DataGridViewCellMouseEventArgs e)
bei System.Windows.Forms.DataGridView.OnMouseDown(MouseEventArgs e)
bei System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.DataGridView.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
"The object of type System.Boolean can not be converted to type System.String"
Haven't seen that in older versions.
Oops my bad. I didn't test the new feature back in v1.27 very well. It's fixed now. Thanks for helping me test this thing. Keep hammering on it and let me know what else you find.
v1.30 works fine for me, as v1.29 did. Apart from prepend date/title I am using no advanced functions (like groups or syncing). rcFeedMe just does its job, 4 times a day (using windows scheduler and command line option "3").
Some more questions and maybe feature request, though:
- Is logfile size in any way limited?
- Could rcFeedMe provide the reason for failed downloads in logfile, like HTTP error codes? Now it just says something like "file not downloaded".
- Is command line option "3" really starting rcFeedMe in "full mode", like "1"? Because on auto exit no user interaction is needed, "lite mode" (like "2") seems more suitable for me.
Greets Ralf
Ralf,
- Glad it's working for you.
- Log size - It will grow until it hits 1.5MB. After that the oldest entries will be deleted and the log will be automatically trimmed down to 1MB. This cycle just keeps repeating. Log size check and trimming occurs when you process your queue.
- I'll look into bubbling up better error messages.
- Lite mode (option 2) really doesn't apply to option 3. The only thing option 2 does is try to free up as much memory as possible when it's sitting idle in the tray waiting for the next scheduled run. While the queue is being processed, the same amount of resources is used in all 3 modes. So run once (mode 3) doesn't really matter since after it's done it completely closes the program.
Ralf, 1.31 should now log the error message that comes back from the WebClient object. It usually has the http error code in it (I tested with a forced 404).
Yes, now I can see why some downloads failed (all 404s, actually). Thank you again.
Now I ran in a kind of problem with path/filename length. At least one (german) feed seems to put quite long content summaries in title tag. In some cases prepending title to filename and having a detailed feed name (= long pathname on disk) leads to pathnames > 248 chars and/or filenames > 260 chars and a subsequent System.IO.PathTooLongException error in rcFeedMe:
Ausnahmefehler während einer WebClient-Anforderung.; System.IO.PathTooLongException: Der angegebene Pfad und/oder Dateiname ist zu lang. Der vollständig qualifizierte Dateiname muss kürzer als 260 Zeichen und der Pfadname kürzer als 248 Zeichen sein.
bei System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
bei System.IO.Path.GetFullPathInternal(String path)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
bei System.Net.WebClient.DownloadFileAsync(Uri address, String fileName, Object userToken)
It's no problem to deselect "prepend title" after the error, but then rcFeedMe re-downloads all "keep count"-files because of the "new" filenames.
So, IMHO rcFeedMe should test this condition before downloads start and either shorten oversized path-/filenames by itself or warn the user.
BTW, I noticed saved filenames are "cleaned" of unwritable characters in a way. Sometimes this leads to subsequent "_" in filenames, like 20080515-sind_wir_allein_im_universum___1___harald_lesch_ueber_science_fiction_und_wissenschaft.mp3. It's ugly :-), and adds to path-/filename size unnecessarily.
Ralf, great testing. I totally missed that. Yeah I scrub the filenames to make sure they are all valid characters but I forgot to check length. Give 1.32 a try. It now trims the filename down if it's too long. I start with max 240 characters and then subtract the length of the full path. Whenever a trim happens I log it. Filename is determined at the time of refreshing the feed. I had to make a few internal changes to properly implement the fix. I tried to do some proper regression testing. Let me know if I broke anything in the process.
Ralf, not sure where the "_" are coming from. Maybe microsoft's SyndicationFeed object is doing this when it parses the xml. I just double checked. When I scrub out invalid filename characters I just remove them. I do NOT replace them with "_".
Ralf, here is tip you might want to try. If you have a feed that links to non existent files and you want to stop the 404's and having them show up in the error tab try this: Refresh all feeds. Go to the download queue tab, right click, build queue. This builds your download queue without actually starting your download. Select all the rows that you know will error. Right click, move selected rows to history, save/reload settings. What you have done is manually populated those items into the history. Now rcFeedMe thinks those files have already been downloaded and will never try to download them again.
Wonderful, oversized filenames seem to be no problem anymore. Obviously no other functions I'm using are broken, so far. Another big THANK YOU, also for the hint on "hiding" 404s.
The "_": I am really embarrassed here. All multiple "_" are in the server side filenames. Could have easily checked that before. Sorry for wasting your time on this...
Ralf, no problem. You've really helped in finding bugs. Glad you find this app useful. I released 1.33. It's a really tiny fix (forgot to reset text in the tray icon tool tip after you sync).
This is a great piece of software! Thanks a lot for this. Especially the pretend date feature is cool.
One problem here. I can´t see the right scrollbar and can´t scroll to the rightmost rows. Also i don´t see the arrow of the horizontal scrollbar. E.g. if i scroll to the right in feed-tab the rightmost row i see is the half of the row "sync path".
I´ve just added another Feed, and now the problem is gone. I can see the scrollbar and everything is fine..
Stefan, glad you got it working.
Thanks for the podcatcher! It works very well - only trouble I'm having currently is with feeds from cnet.com (Buzz Out Loud and Gadgettes). Error like the following appear: "ERROR: (Feed)[BOL]Error in line 93 position 441. An error was encountered when parsing the item's XML. Refer to the inner exception for more details.; Specified argument was out of the range of valid values.
Parameter name: value"
I have added a few lines of code to work around an iPhone shortcoming ... the iPhone is great at many things, but it does not have an automatic and robust podcatcher. I wanted a way to easily access the latest newscasts and some other podcasts without constantly syncing to iTunes. I have been using an iPhone app from Simplify Media to serve my iTunes content (including podcasts) from my PC over the air, but this has a couple of limitations (poor playback control, and iTunes drops podcast subscriptions without asking if you don't listen from the PC).
Using your source, I set up some code to update a web page each time the scheduler runs. The web page simply has links to the online url for the .mp3 file. From my iPhone, when I browse this page, I can easily listen to the podcast using the iPhone's native Quicktime player (which has good controls). And unlike iTunes, your podcatcher does not drop subscriptions if I don't happen to listen :)
Anyhow, thanks again for sharing your good work - if you have any interest in my cludgey add-on code to publish a web page, let me know.
dans, you might want to look into dropbox (which I just tried out). Basically, if you have rcfeedme download into a dropbox sub directory, then you can browse to it on the iphone with safari. Clicking on the media files will then launch quicktime. Dropbox has a pretty nice web site customized for iphone. It streams just fine over 3g. As far as the cnet feeds go, I took a quick look. SyndicationFeed is choking on it. Not sure if it is microsoft or cnet's fault but I'll have to code around it yet again. I might have some time tomorrow to look into it more.
dans, I found the issue with those two cnet feeds. They had invalid crap in the enclosure tag. Anyways, grab the latest CleanupConfig.xml. Link is at the top of the post now. Just replace your existing cleanupconfig.xml and give it a try. Basically I strip out length="-1".
Hi there "ARogan".
Thanks for rcFeedMe 1.33. Like you I've been using Juice for a good while now .... but I'm sick of the deficiencies & errors and there's no further development.
So I started trying rcFeedMe before Xmas. You should be proud! A neat piece of software with a very light footprint. I've started transferring across from Juice - indiovidually - podcast by podcast.
I've encountered something and wonder could help me:
I've found on a few podcasts (emphasise: not all podcasts) it's not picking up the latest available episodes (which I refresh it). However when I check on podcasts RSS web site they are there. Same when I check on Juice.
Take an example: http://feedproxy.google.com/EscapePod. The latest episode (03/01/2009) is "EP185: Union Dues - All About the Sponsors". However, rcFeedMe is only showing episodes up to "Escape Pod Flash Fiction Contest, Honorable Mention: Silence" - that's 3 episodes earlier. There are about 40 episides available - it only picks up 36. No erro in Log.
An example that is working: http://downloads.bbc.co.uk/podcasts/worldservice/docarchive/rss.xml. It's got over a 100 episodes and works fine.
Any thoughts?
Michaelc, I have had similar issues. Usually if you wait about 24 hrs it will catch up. You will see that the raw XML (you can dump it from the debug menu) that the latest show is missing. But if you then browse to the feed you will see that the latest is there. But what you are seeing in the browser is HTML After the xslt has been applied to the XML. I usually see this issue with feedburner feeds. It's not anything I'm doing in rcfeedme.
Michaelc, so I just tried your escape pod feed in rcfeedme and it's working fine now. I see episode 185 both in rcfeedme and in the browser.
Yes you're 100%, I've tried it myself just now and they're all coming up! Weird eh? Thanks for that.
Something else ... do you notice a problem that some screens do not appear to "fit" within their window. For example: on Download Queue, I have to do a bunch of resizing to get to the right hand 'Progress' column? (My screen has been acting up a bit so I'm not sure if it's just me!). There's no scroll bar below and maximizing the screen doesn't show it either (without some resizing of the name & file columns).
An additional suggestion for a future release... any of those screens where you resize or rearrange the columns ... it would be useful to be able to save that setting permanently (like with, say, Windows Explorer).
Keep up the good work. And thanks again - much appreciated.
Hi ARogan
I have transferred over most of my podcasts from Juice to rcFeedMe. It's working a treat. Running in "once" mode every night and can then see what's available for me next morning. Haven't used the Synch option much - that's next. Just wanted to say THANKS AGAIN.
And could I be cheeky and query 2 somethings!?! ... perhaps you might be able to shed some light? ...
1) Incomplete Download
I have this podcast "RTE-Documentaries" .... this is what's in rcFeedMe history:
"RTE-Documentaries The Cons are Coming This programme tells the story of the annual visit of a family from America and England to their homeplace in Ballyjamesduff in County Cavan. http://www.rte.ie/podcasts/2009/pc/pod-v-040109-41m39s-doconone.mp3 pod-v-040109-41m39s-doconone.mp3 C:\Documents and Settings\Administrator\My Documents\rcFeedMe\RTE-Documentaries\pod-v-040109-41m39s-doconone.mp3 06/01/2009 06:00 Downloaded False 40,312,692 False"
Note the size! However this is what came down: "pod-v-040109-41m39s-doconone 545KB". Yet rcFeedMe moved it to History and considers it "Downloaded"
An extract from log file:
07/01/2009 03:56:53 Processing Queue. Files downloaded: 14/16
07/01/2009 03:56:53 (Media)Started downloading: C:\Documents and Settings\Administrator\My Documents\rcFeedMe\RTE-Documentaries\pod-v-040109-41m39s-doconone.mp3
07/01/2009 03:57:09 (Media)Finished download: C:\Documents and Settings\Administrator\My Documents\rcFeedMe\RTE-Documentaries\pod-v-040109-41m39s-doconone.mp3
07/01/2009 03:57:09 Renaming temp file to the actual filename: C:\Documents and Settings\Administrator\My Documents\rcFeedMe\RTE-Documentaries\pod-v-040109-41m39s-doconone.mp3.rcFeedMeTemp -> C:\Documents and Settings\Administrator\My Documents\rcFeedMe\RTE-Documentaries\pod-v-040109-41m39s-doconone.mp3
I got a warning "An item with the same key has already been added" on this podcast though not on this particular episode. Would that have anything to do with it??
07/01/2009 01:33:24 Refreshing feed: 37/39
07/01/2009 01:33:24 (Feed)Start feed refresh: RTE-Documentaries
07/01/2009 01:33:28 WARNING: (feed)[RTE-Documentaries]An item with the same key has already been added.; RTE-Documentaries;pod-v-121008-38m11s-doconone.mp3
07/01/2009 01:33:28 (Feed)Finished feed refresh: RTE-Documentaries = 80
It looks as though it correctly identified the true size of the file (40,312,692).
What criteria does it use to figure that a download is finished/"downloaded"?
2) Resuming Downloads
A sort of related query really. Sometimes my ISP connection drops or times out. How do I tell rcFeedme in a "once" mode to resume a partial download?
Thanks again.
MichaelC, Give v1.34 a try. I now do a size check. I hope that helps. Also, just delete the partial download out of the history and it will try to download it again the next time you run rcfeedme.
Hi ARogan
Thanks for that. Installed 1.34 and ran it last night. New feature ("Downloaded file seems to be too small: 5,857,370 / 58,547,969") working a treat.
Is it supposed to move/highlight download errors (inc. this "too small" one) in the Recent Errors screen? It didn't!
End of Log:
09/01/2009 09:33:10 (Cleanup)deleted queue items: 25; moved to history: 22; moved to errors: 3
Sample Error:
09/01/2009 04:08:02 ERROR: Downloaded file seems to be too small: 5,857,370 / 58,547,969
09/01/2009 04:08:03 ERROR: (Media)[teaandchatep9-300608.mp3]File failed to download: C:\Documents and Settings\Administrator\My Documents\rcFeedMe\FictionGeneral-VariantFrequencies\teaandchatep9-300608.mp3; An exception occurred during a WebClient request.; System.IO.IOException: Unable to read data from the transport connection: The connection was closed.
at System.Net.ConnectStream.EndRead(IAsyncResult asyncResult)
at System.Net.WebClient.DownloadBitsReadCallbackState(DownloadBitsState state, IAsyncResult result); ; attempt = 1
From: http://feeds.feedburner.com/VariantFrequencies
When I open up rcFeedMe there wasn't any records in Recent Errors
MichaelC, that would be because there is a default retry count of 3. So if it is too small it will try again up to your retry count (just like any other error). If it fails all 3 times then it will show up in the error tab. Otherwise if it does eventually download properly it will be in history.
Hi ARogan
This Recent Errors thing ... I have my Download Retry set to 6. Last night 2 files encountered an error 6 times (inc. same file as night before as it happens). And it still didn't appear in Recent Errors.
10/01/2009 03:44:56 (Media)Started downloading: C:\Documents and Settings\Administrator\My Documents\rcFeedMe\FictionGeneral-VariantFrequencies\VariantforSigler.mp3
10/01/2009 03:45:03 ERROR: (Media)[VariantforSigler.mp3]File failed to download: C:\Documents and Settings\Administrator\My Documents\rcFeedMe\FictionGeneral-VariantFrequencies\VariantforSigler.mp3; The remote server returned an error: (500) Internal Server Error.; ; attempt = 6
10/01/2009 03:45:03 (Media)Finished download with ERRORS: C:\Documents and Settings\Administrator\My Documents\rcFeedMe\FictionGeneral-VariantFrequencies\VariantforSigler.mp3
End of Log:
10/01/2009 09:15:41 (Cleanup)deleted queue items: 12; moved to history: 9; moved to errors: 3
10/01/2009 09:15:42 Queue has finished downloading.
Would it be because I manually stopped the rcFeedMe run this morning (via Stop All Downloads ... I didn't want it running during the day when I'm browsing or working ... need all the bandwidth I can get!) rather than letting it finish "naturally"?
Also any further thoughts on displaying the most right hand columns without having to resize left hand columns?
Thanks for taking the time in answering these questions.
1) 10/01/2009 09:15:41 (Cleanup)deleted queue items: 12; moved to history: 9; moved to errors: 3
that right there shows 3 were moved to the errors tab but you have to remember it is temporary. So on the next run the error tab is cleared. I don't store old errors. They get cleared every time you process all feeds. Can you confirm that they were missing from the error tab right after running process all feeds and the downloads were completed AND the log shows some items were moved to the error tab? I haven't run across this issue. As long as they are NOT in the history you should be ok since the key thing is you want it to try and download them again on the next run. If they are in the history can you check to see if the file was properly downloaded? Maybe it downloaded properly on a later run? I guess a separate running error report would be easy enough to create but I'm not sure how useful it would be. Stopping a download will move that file to the error tab since obviously you want to retry that download on the next run.
2) Again, I can resize the width of my window and I get a horizontal scroll bar every time on the download queue tab so I'm having problems understanding the problem.
Hi ARogan, Thanks for that.
1) The series of events are:
* I run it in Once mode @ 1am
* It hasn't finished in the morning so I do a "Stop All Downloads"
* rcFeedMe shuts down
* I open it up again and nothing appears in the Recent Errors.
I think I understand now! It only holds Recent Errors whilst rcFeedMe is open. Therefore either when closed manually (with Stop All Downloads) or when closed automatically (in Once mode) and then I re-openit, there are no Recent Errors. That explains it all right.
Maybe it would be useful if it could keep from the last run plus the current run?
Maybe I'll try Windows Scheduler it in Auto mode.
2) Pretty weird. Definitely don't have bottom scroll bar. And do on other Apps e.g. IE. I'm on Win XP Pro SP3. And DotNet Framework 3.5 - that's what I installed. I've tried changing the display properties bt no luck.
Not a big deal anyway!
Cheers
ahhh it's all making sense now. Yeah I don't save the data in the errors tab anywhere so when you close rcFeedMe (and in the case of run once it auto closes when done downloading) that tab is wiped clear. I run in mode 1 so I have it running all the time 24/7 in the tray so that's why it didn't really affect me. But I can see how this could be a bit of an issue in run once mode. What I might do is just create a separate text file with a running history of everything that was sent into the error tab (and self trim it of course). Sure the data is captured in the log but the log is pretty cluttered. The horizontal scroll bar thing is weird. I'm running under vista 32bit.
MichaelC, Give v1.35 a try. I've added an error log tab. I hope this makes things a bit more convenient.
Hi ARogan,
Put in 1.35 last night.
And would you believe it?? ... there wereno podcast errors to test out your new item!!!!
I'll let you know when there is one!
Thanks again.
Hi ARogan.
1.35 does the buesiness for writing slimmed down details of errors in Once mode to reFeedMe-errors.log. Thanks.
Having trouble with this feed: http://feeds.feedburner.com/GTYRadioBroadcast
Another catcher returns several podcasts while rcFeedMe returns 0.
Thanks and keep up the great work.
Give v1.36 a try. GTYRadioBroadcast should work now. In their enclosure tag they were missing the type= attribute. I've added some code to work around this issue.
It worked perfectly.
Thanks.
Gary
Hi!
I'm really amazed after several tries with a lot of downloaders. Unfortunately i have an issue with an Podcast that gives me the message that RssSerializer doesn't support RSS-Version '0.91'
Bright regards
Philipp
Phil, I'm going to need a bit more information. If it is a specific feed that is giving you issues, please post the url to the feed so I can take a look at it.
Hello
(Apologies if this is a double post. Something seemed to go wrong when I tried to post the first time).
Thank you very much for your efforts. rcFeedMe is exactly what I was looking for to replace Juice.
I get a parsing problem with this feed which (sort of unfortunately) works well on Juice.
http://feeds.feedburner.com/NewDimensionsCafe
From the error message it looks like for some strange reason the feed has a left parenthesis character at the start of the file length attribute. I'm not sure if that problem is introduced by Feedburner or the podcast author.
I wonder if you should perhaps ignore all non-numeric characters before trying to interpret it as a number. I guess it must be a balancing act in deciding how far to bend for bad feeds.
Thanks
Ross
Ross, I'll take a look at it as soon as possible. I still haven't done my taxes yet!!!! So it might be a couple of days. And to everyone: yes keep posting any feeds you have issues with and I will try and fix things.
Great stuff, thanks. No hurry.
Hi,
thank you, once I got into it a great program.
However, one error from a long list of feeds hangs the complete program. It is the Nature podcast.
http://www.nature.com/nature/podcast/rss/nature.xml
Part from the log:
18.04.2009 18:29:56 (Feed)Finished feed refresh: Nature Podcast = 29
18.04.2009 18:29:56 Refreshing feed: 1/1
18.04.2009 18:29:56 ERROR: Die Spalte 'PK' hat die Einschränkung, dass sie eindeutig sein muss. Der Wert 'Nature Podcast;20080618-Nature Extra Eppendorf-Eppendorf_podcast2.mp3' ist bereits vorhanden.
What means in English, that this "value" already exist.
When I open the xml with firefox the file is shown only once.
When I have several feeds to refresh and the Nature feed is included, I would then see the complete list of podcasts underneath (instead of only those from the active row) and would have to restart the program, because it would not start to download or react on any other input.
But again thank you for your efforts!
Regards,
Milan
Ross, tracked down your problem
On just one of the podcasts there is a stray "(":
length="(6384649"
Which causes the parsing issue. The quick fix for you is this:
Open CleanupConfig.xml in notepad.
Add this to the ReplaceStrings section add a new ReplaceStruct with oldString:
length="(
newstring:
length="
Ross, Milan: I just posted v1.39. Give it a try. It should fix your issues.
It would be nice if one could mark downloaded podcasts as read/non read. This would be useful in combination with a function which allows to delete files directly in rcFeedMe. (I am used to Ziepod, and despite its disadvantages the feature to delete files in Ziepod is very useful for me because I do not have to mess around in the filesystem).
Thorsten
Thorsten, rcFeedme was really built for downloading only and syncing to some sort of mp3 player for playback. That's why rcFeedme doesn't have a player or really any actual file management. History is there really to facilitate downloads (prevent duplicates and floods) and also for tracking what was synced. The only file deleting/space management is the keep count. So yeah it's all kind of automatic without much manual control but it was done by design. I do look at all feedback and suggestions and do take them into consideration. I'm just not totally convinced this change fits well into the design. Thanks for looking though. The source is available so you are free to mold it into what you want if you can program (or know somebody who does).
Dear ARogan,
thank you, that worked great.
But I experience a new problem with the following feed:
http://www.geo.de/GEOaudio/index.xml
From the log:
29.05.2009 18:45:31 [ERROR] GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!: 0
29.05.2009 18:45:35 Refreshing Selected feeds: 1
29.05.2009 18:45:35 (Feed)Start feed refresh: GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!
29.05.2009 18:45:36 LoadFromFileFast: C:\Programme\rcFeedMe\CleanupConfig.xml: failed while trying to load; Fehler im XML-Dokument (17,5).
29.05.2009 18:45:36 ERROR: (Feed)[GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!]LoadFromFileFast failed. tried too many times: C:\Programme\rcFeedMe\CleanupConfig.xml; ;
29.05.2009 18:45:36 (Feed)Start feed refresh: GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!
29.05.2009 18:45:36 LoadFromFileFast: C:\Programme\rcFeedMe\CleanupConfig.xml: failed while trying to load; Fehler im XML-Dokument (17,5).
29.05.2009 18:45:36 ERROR: (Feed)[GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!]LoadFromFileFast failed.
tried too many times: C:\Programme\rcFeedMe\CleanupConfig.xml; ;
29.05.2009 18:45:36 (Feed)Start feed refresh: GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!
29.05.2009 18:45:37 LoadFromFileFast: C:\Programme\rcFeedMe\CleanupConfig.xml: failed while trying to load; Fehler im XML-Dokument (17,5).
29.05.2009 18:45:37 ERROR: (Feed)[GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!]LoadFromFileFast failed. tried too many times: C:\Programme\rcFeedMe\CleanupConfig.xml; ;
29.05.2009 18:45:37 (Feed)Finished feed refresh with ERRORS: GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben! = 0
29.05.2009 18:45:37 Refreshing feed: 1/1
29.05.2009 18:45:38 [ERROR] GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!: 0
29.05.2009 18:45:38 [ERROR] GEOaudio: Hoeren und Reisen - Mit GEO die Welt erleben!: 0. Finished refreshing all feeds: 1
This is since a month or so.
Might the server be angry for my regular trying? Strange thing is I can access the podcasts with other programs.
Thank you very much in advance!
Suppa, Oops!! I screwed up in that last release. The cleanupconfig.xml was messed up. It's fixed now. Please re-download the latest rcfeedme.
Hi ARogan
I been using app now sucessfully since Feb/Mar (see earlier postings under MichaelC name).
I now have a weird problem!
Problem: Anytime I run a refresh or process all feeds or a scheduled job, it doesn't put anything in the Download Queue. It keeps say the particular feed item is already in history. But it isn't! I completely purged history (having taken a copy of it first) - still the same "Media already exists in collection". I also tried deleting the history file in the install directory (again having taken a copy) - again the same.
I'm a bit mystified!
This is the error I'm getting:
14/06/2009 15:05:32 Saving Settings....
14/06/2009 15:05:32 Settings saved.
14/06/2009 15:06:17 Saving Settings....
14/06/2009 15:06:17 Settings saved.
14/06/2009 15:06:17 Loading Settings....
14/06/2009 15:06:17 Settings loaded.
14/06/2009 15:06:51 Refreshing Selected feeds: 1
14/06/2009 15:06:51 (Feed)Start feed refresh: Stories-The.Moth
14/06/2009 15:06:56 WARNING: (feed)[Stories-The.Moth]Media already exists in collection; Stories-The.Moth;Andrew Postman Look Away - Or Don’t-moth-podcast-72-andrew-postman.mp3
14/06/2009 15:06:56 (Feed)Finished feed refresh: Stories-The.Moth = 15
14/06/2009 15:06:56 Refreshing feed: 1/1
14/06/2009 15:06:56 Stories-The.Moth: 15
14/06/2009 15:06:56 Stories-The.Moth: 15. Finished refreshing all feeds: 1
14/06/2009 15:07:06 Log refreshed.
This is a sample feed setup:
Stories-The.Moth http://feeds.themoth.org/themothpodcast Default 5 False True False False
This may be unrelated ... I recently returned from a business trip which involved changing time zones on laptop.
Help! Any ideas?
MichaelC, I tried your feed and it seemed to work fine. I had a keep count of 2 so 2 started downloading in the queue. That error message isn't really history related. Is it possible you accidentally added the feed twice? Why not give this a try: re-download the latest rcfeedme, unzip it into a different directory, set it up with just the one feed and let me know if it works or not.
Hi ARogan,
I just downloaded your program as a replacement for both Juice and iTunes. It worked fine when I added the first feed, but as soon as I tried to add the second one, it froze up and I had to use Task Manager to close it. This happened over and over again when I tried to add this feed: http://www.KeithAndTheGirl.com/RSS
This is one of my favourite feeds so I don't really want to not add it, but yours seems to be the best podcatcher out there. Any ideas?
Thanks,
Ted
Ted, I just tried your feed and it worked fine (refresh and started downloading). If you have a group specified make sure the path defined exists. You might also check the default save path in settings. Also, was there anything in the log?
Just wanted to note that I've been using this (awesome) software for over a month on a Vista 64-bit machine and it runs oh so smoothly.
Features that I love and (now) can't do without:
> No installation
> VERY lightweight and resource friendly
> "Once" switch so it doesn't stay on all the time
> No-frills approach
Thank you, thank you!
_David
Houston, TX
David, glad you found it useful and appreciate the same kind of features I do.
yea i'm a user of juice that had trouble finding an alternative as well. juice likes to forget what i've already downloaded/removed as well occasionally. quite annoying, its also not at all portable.
so far so good with this new program good job:) i would suggest a check all button for many of the checkboxes though. i tried so many others, and they all sucked as said already
my trick with podcasts is to feed them through foobar+soundtouch dsp for time stretching.
not sure if its a bug or if its a feature you've not implimented but it seems the columns can be rearranged, but they do not save themselves in the new positions. it would be awesome if they would stay put:)
also kuddos for making it more or less portable. running it off a memory stick is sweet:)
wackawacka, kashatnic:
Good suggestions. Yeah, those are features I just haven't got around to implementing. I've been really busy lately and got some other coding projects I'm working on right now but I'll keep these suggestions in mind.
Hi. I love rcFeedMe! I am having a problem with one of my podcasts and thought someone might be able to help. The feed link is
http://philosophybites.libsyn.com/rss
When I add it to my Feeds, I never download any podcasts. Here is what appears in the log:
ERROR: (Feed)[Philosophy Bites]'Text' is an invalid XmlNodeType. Line 5, position 2769.
Is there anything I can do to overcome this?
Thanks!
LarryPM3, give ver 1.40 a try. It should fix the issue.
Anybody with problematic feeds give this site a try:
http://feedvalidator.org/
Huzzah! v1.40 fixes my problem! Thanks for the amazingly quick response! Good work!
- Larry
wackawacka, kashatnic:
The features you have requested have been added! Check out ver 1.41.
sweet:)
that is so kewl:)
One thing, why is it that i cannot run multiple instances? I like to separate my video podcasts from my audio podcasts that way.:)
Because two instances would totally mangle the xml files. What you might be able to do is copy your entire rcFeedMe directory to another directory, rename the .exe to something else (and maybe the .config file to match) and try it. Still, I really don't see why anybody would want to run two instances at the same time.
Ah, i see, thats the bit i missed, renaming the exe. I already had kept a separate directory for the video podcast download copy of rcfeedme. I do this because i run podcasts through foobar+soundtouch dsp to time stretch them before i shove them on a portable player. mixing video into the directory would make for more work. mostly the video i download is from revision 3.
Thanks for the awesome program. I have it running on my Windows Home Server to download some Revision3 programs. I do have one question though... Since Rev3 shows are released around the same time each day, would it be possible to set manual times in the scheduler to run? Possibly in addition to the already set intervals?
Thanks! Awesome work!
-Matt
You can just use the run once mode and use the built in Windows Task Scheduler for that.
:) I was checking out your command parameters when I was originally setting it up as a service, and I guess it just didn't click with me that windows task scheduler will do what I was looking for.
Awesome :D
Thanks!!!,
Matt
Hi, nice programm! If you need some custome icons, contact me :)
Greets Patrick
This is a nice program, but I've found a couple of issues. The first one is minor. If, when entering a new feed URL, I go and select the 'Prepend Date' check box, I get the following error:
************** Exception Text **************
System.InvalidCastException: Specified cast is not valid.
at rcFeedMe.frmRcFeedMe.dgvFeeds_CellContentClick(Object sender, DataGridViewCellEventArgs e)
at System.Windows.Forms.DataGridView.OnCellContentClick(DataGridViewCellEventArgs e)
at System.Windows.Forms.DataGridView.OnCommonCellContentClick(Int32 columnIndex, Int32 rowIndex, Boolean doubleClick)
at System.Windows.Forms.DataGridViewCell.OnMouseUpInternal(DataGridViewCellMouseEventArgs e)
at System.Windows.Forms.DataGridView.OnCellMouseUp(DataGridViewCellMouseEventArgs e)
at System.Windows.Forms.DataGridView.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.DataGridView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
The good news is that the rcFeedMe is able to continue correctly after the error.
The second issue I found is that the rcFeedMe cannot download from podcasts feeds that require a username and password. Is this something that you would be able to add?
MJH, I'll look into the issue when I get a chance. Do you have a URL to the podcasts that requires userid/pw?
Hi,
Thanks for all your hard work on rcFeedme!
rcFeedme seems to be having trouble with 2 feeds for me. This American Life (http://feeds.thisamericanlife.org/talpodcast) and RadioLab (http://feeds.wnyc.org/radiolab). rcFeedme loads the feeds fine but it can't download the files. Is it because both of these are Feedburner feeds? Any ideas would be appreciated.
Thanks!
Hi,
finally a programme software that's well thought through in terms of user needs. No unnecessary extras, but all you could ever wish for if you're looking for a convenient way of updating your podcasts.
Just wondering if the sync function can be made to work with PDAs. My Syncpath is sth like Computer\HTC_P3650\SD_Card\Music. On hitting the Sync button, the synchronisation process is shown in the status bar and logged as correct, but no files land on my HTC's SD-Card.
I've also checked for workarounds like making Windows recognize my SD card as an external hard disk (assigning it a hard disk letter, e.g. H:\), but this would disallow my ActiceSync to recognize my PDA in turn...:)
If you have any advice, I'd be happy!
Thanks in advance,
Manu
Wow, yeah I've been neglecting rcFeedMe for a bit recently. Been kind of sucked into Wow lately. Anyways, if you can get a unc path to your pda it should in theory work. You might try \\localhost\HTC_P3650\SD_Card\Music or maybe \\youripaddress or \\yourmachinename.
Yea its ok, its been pretty stable.
sadly you didnt make it in the lifehacker top 5 podcatcher roundup.
that was an example of crowdsourcing fail, they actually nominated juice as one of the finalists...egads.
i couldn't nominate because of their stupid comment auditioning system. I guess they managed to weed out quality.
Thanks for your tips. The funny thing is, that synchronizing to a non-existant folder prompts a failure message, while synchronizing to an existing folder (on my PDA's SD card) appears to work fine. The status bar then shows for some seconds the copying process, finishes it and leaves no error messages in the log file. Still, no files end up on my SD card.
Well, if I manage to find out my Phones virtual adress (IP or whatever it is called in this case), it might still have a chance to work, finally. Otherwise thank you for the cool programme, nonetheless!
Hi ARogan,
I've been using rcFeedMe for quite a while now, and it is absolutely the best Podcatcher around for automated podcatching!
I had a problem with two feeds just recently, and although I know nothing about XML, I could resolve it with the cleanup.xml - it is quite straight forward how to use it. That is a very good idea you had with the cleanup.xml.
A minor issue I found now: When using it on Win 7 with 125% font size I can't reach the bottom line, even when there is a scroll bar. The window content does not fit the window. But as I usually don't check the GUI, I don't really mind.
You should really get a donate button!
Milan
Milan, glad you find it useful. I'll try and get a release out in a week or so. I'll take a look into the 125% issue. Also, great idea on the donate button. I've added one now on the right side :-)
Wow thanks Milan. That was very generous. I feel a sudden surge of motivation to go fix that 125% font problem..... :-)
Post a Comment