This patch adds two methods for detecting the
episode length (time units, not bytes):
* iTunes-specific "duration" in the RSS feed
* GStreamer-based length detection after download
The patch also adds duration information to the
tooltip in the episode list as a first step for
displaying this information in the UI.
Clean-up the database module for easier adding and
removal of columns to the podcast and episode tables.
Add time-related information (total time, position and
timestamp for the last position update) to episodes.
Remove the "deleted" column for podcasts and make sure
to remove all "deleted" podcasts and their episodes when
upgrading from an older version of gPodder.
Another attempt at finally fixing bug 340, but this time I'm pretty sure
that it works, because we are more selective now.
Whenever a new episode appears in the feed, its date is compared to the
date of the newest-known episode in the same feed. If it's more than one
week older than the newest-known episode, it's marked as old by default.
The "one week" value is just a randomly-chosen one to allow for border
cases (like a daily podcast re-issuing an episode of the last few days)
to work correctly and not cause "missing episodes".
When multiple episodes are selected, and the "playback episodes"
function is used, we now sort the episodes in ascending chronological
order before passing the list of episodes to the media player.
Thanks to Xavier for reporting this bug.
The filename will be updated by the download
module whenever the download has finished and
the file_disposition header contains a proper
name. This is easier (and also gets rid of the
blocking operation during filename discovery)
than what we did before, which (I believe) also
led to an error that Shane Kerr was seeing in
gPodder bug 821.
Some feeds describe their "cover" image in a
<image><url>...</url></image> tag. This patch
should make it possible to properly detect and
fetch images in these cases as well.
The following command has been used:
grep -r '2005-2009 Thomas Perl and the gPodder Team' * | cut -d: -f1 |
xargs sed -i -e 's/2005-2009 Thomas Perl and the gPodder Team/2005-2010
Thomas Perl and the gPodder Team/g'
This removes all the progress bars and action
buttons (except "Visit website") from the
dialog, as this functionality is going to be
moved in a separate dialog for easier access.
Split the text formatting into a separate function
and let the Fremantle module override it in a
subclass that's used in the main UI. Probably needs
some more fine-tuning, but the basic framework is
now in place.
Thanks to Mox and Tuomas for their input.
On Windows, a folder name like "Abc..." is
saved as "Abc", and trying to create such a
folder name works, but the trailing dots are
removed. When trying to download files to such
a folder (while gPodder still believes the
folder has dots at the end), this won't work.
To fix this bug, don't allow trailing dots in
the folder name of podcasts by stripping them.
Thanks to Yves for reporting this bug.
If this option is set to True, gPodder will accept feeds
that do not have any episodes listed. This is useful for
cases where podcasts do not have episodes throughout the
year, but will have new episodes eventually.
Thanks to Steve for reporting this bug in Bugzilla.
This is still a work-in-progress, but it works
fine for me so far. Still needs lots of work to
be more accessible and robust.
You can use the "sc:" prefix to add Soundcloud
users (or use http://soundcloud.com/username).
This should make some previously-broken feeds
appear as podcast, even though they are not
really. Please don't expect too much from this
feature, but it seems to make some users happy.
Don't fail hard when we cannot get the real
URL of an episode while searching for files.
Only partially fixes bug 573, as the reporter
has posted the traceback in the wrong bug.
Episode that have not been downloaded (or have been
deleted since) and that do not appear in the feed are
now purged from the database after a feed update to
avoid the database getting filled with orphaned episodes.
Based on a patch by Neal Cox.
This adds a new checkbox in the "View" menu that allows
the user to hide all podcasts in the podcast list for
which the episode list is empty (probably because some
filter is active).
As long as the "Keep downloaded episodes" checkbox is
not checked, we now delete episodes and the podcast from
the database when unsubscribing from a podcast.
Thanks to slestak989 for reporting this issue.
There is now a new configuration option called
feed_update_skipping (default: Enabled) that can
be used to disable skipping of feeds during update.
Also, skipping of feeds is only done when there
are more than one podcasts to be updated (this
allows the context-menu "update single feed" to
work as a kind of "force update" menu item).
Thanks to Sebastian Krause for the bug report.
Remove the GTK+ dependency in gpodder.youtube by making the
only function that is in there fake a opml.Importer-like object,
so we can use the model from gpodder.gtkui.opml to display the
results instead of generating the model inside gpodder.youtube.
Add some additional code and checks to make the use
of password-protected podcasts more stable and easier
to use. Thanks to Dan Ramos for the bug report.