A long time (nearly a year) passed since the last libmygpo-qt release.
Today there was the first gPodder hackday (of many more to come) and
so it was time to fix some bugs, test the library a little bit and
make a new release.
I'm looking for contributors, so if you wanna work on a
interesting library used atm by Amarok, Clementine & Nokia Podcasts,
drop me a line.
Changes in 1.0.6:
-) added support for DeviceSync API. This API makes it possible to
set up synchronization with existing gpodder.net devices from inside
your application
-) set Contenttype Header to avoid warnings with Qt 4.8
-) some fixes & enhancements to CMake build system
Where to get libmygpo-qt?
Tarball: http://stefan.derkits.at/files/libmygpo-qt/libmygpo-qt.1.0.6.tar.gz
md5sum: dd07ccc88eac954a3860aeda96aab7b1
sha1sum: 7970c4c43cab4862e220b4239491f2bac2c36f75
Some more important Links for libmygpo-qt:
Project Website: http://wiki.gpodder.org/wiki/Libmygpo-qt
Git Repo: https://github.com/gpodder/libmygpo-qt
Doxygen Documentation: http://stefan.derkits.at/libmygpo-doc/
gpodder.net API: http://wiki.gpodder.org/wiki/Web_Services/API_2
Bugreports: http://bugs.gpodder.org
Contact: gpodder@freelists.org
--- Infos about libmygpo-qt ---
What is libmygpo-qt?
libmygpo-qt is a Qt/C++ Library wrapping the gPodder.net Webservice. It
was created as part of a University Course & it is used in
Amarok (since 2.4.1) with the new gpodder.net
Service, that makes the gpodder.net Podcast Directory available from
within Amarok. Also it is used in Nokia Podcasts and will be used in
Clementine from v1.1 onwards.
2012-10-13
2012-09-24
gPodder 3.3.0 "Intermission" released
It's time for another great gPodder release, catching up with all the great changes that we got into the codebase in the last two months. This release includes the bugfix for the YouTube download problem that users were experiencing recently. Here's a summary of the changes:
As always, a detailed changelog is available at gpodder.org/changelog/3.3.0.
Download: gpodder-3.3.0.tar.gz
md5sum: 8bc40207b74621b8ee97051d6890918d
sha1sum: e48136d5d19b4c4d2e52d54d7a805655481dff4e
Thanks to all users who supported the gPodder project by providing bug reports, patches, documentation, feedback or donations / Flattrs. Special thanks to our first-time contributors for this release: Amiad Bareli, Arne Stierman, Asier Iturralde Sarasola, Danilo Shiga, Jörg Thalheim, Maurizio Ballo, Mohammadreza Abdollahzadeh, Nikolaos Papagrigoriou and Rafi Rubin - keep those patches coming!
- Gtk UI
- Podcast dialog: Section changing and Flattr bug (bug 1636)
- Improvements to the Flattr Integration
- Extensions
- Minimize on start (bug 1633)
- TED Talks Subtitles (pull request #9)
- Gtk status icon (bug 1495)
- Correct typo in the rename_download extension
- Device Synchronization
- Fix syncing with utf8-incompatible file names
- Sortable dates for file names on sync device
- Translations
- New translation: Persian (Iran)
- Updated translations: Basque, Galician, Hebrew, Dutch, Portuguese, Italian and German
- YouTube Integration
- Fix YouTube download URL resolving (bug 1665)
- Parse error messages, improve downloading
- Feedcore (Feed Parsing)
- QML UI (MeeGo 1.2 Harmattan / N950 / N9)
- Filters for unfinished downloads (bug 1655)
- Show pubdate and file size (bug 1640)
- Remove remaining Maemo 5 (Fremantle) support
- Remember episode list scroll position (bug 1660)
- Honor pause_subscription flag (bug 1641)
- Download resuming (bug 1487)
- New and Removed Core Features
- Remove moving files to the "Unknown" folder (bug 1612)
- Respect GPODDER_DOWNLOAD_DIR in the environment (bug 466)
- Bugfixes
- Decode enclosure filename properly (bug 1663)
- Use sanitize_filename function (bug 1638)
- Model: Fix update issues with custom feeds
- Util: make object_string_formatter more robust
- Various minor bugfixes, clean-ups and corrections
As always, a detailed changelog is available at gpodder.org/changelog/3.3.0.
Download: gpodder-3.3.0.tar.gz
md5sum: 8bc40207b74621b8ee97051d6890918d
sha1sum: e48136d5d19b4c4d2e52d54d7a805655481dff4e
For packages in distributions, see the downloads page.
Thanks to all users who supported the gPodder project by providing bug reports, patches, documentation, feedback or donations / Flattrs. Special thanks to our first-time contributors for this release: Amiad Bareli, Arne Stierman, Asier Iturralde Sarasola, Danilo Shiga, Jörg Thalheim, Maurizio Ballo, Mohammadreza Abdollahzadeh, Nikolaos Papagrigoriou and Rafi Rubin - keep those patches coming!
gPodder 2.20.2 "Uniblab" released
Due to recent changes to the YouTube website, which broke YouTube downloads for gPodder users, a new version of the gPodder 2.20.x branch has been released. gPodder 2.20.2 combines all changes in the "two" branch that have been added there since the last release in February with the YouTube fixes from the master branch:
Because Maemo 4 and Maemo 5 are not supported anymore in gPodder 3, we provide the occasional updates to 2.20.x for these platforms, so that users using the N800, N810 or N900 are not left out in the cold.
Packages for Maemo have been uploaded to Extras-Devel for Fremantle and Diablo, they will be promoted to Extras-Testing soon and from there to Extras when QA finishes.
Download: gpodder-2.20.2.tar.gz
md5sum: b7f677e81cdcdb8a8b6ac7c08e8ab716
sha1sum: ed1554ce8db425f4023634c0c37132bf0cc5affa
- CLI: Line length detection bug (patch by Eugene Nikolsky, bug 1598)
- YouTube: Fix broken YouTube downloading (bug 1665)
Because Maemo 4 and Maemo 5 are not supported anymore in gPodder 3, we provide the occasional updates to 2.20.x for these platforms, so that users using the N800, N810 or N900 are not left out in the cold.
Packages for Maemo have been uploaded to Extras-Devel for Fremantle and Diablo, they will be promoted to Extras-Testing soon and from there to Extras when QA finishes.
Download: gpodder-2.20.2.tar.gz
md5sum: b7f677e81cdcdb8a8b6ac7c08e8ab716
sha1sum: ed1554ce8db425f4023634c0c37132bf0cc5affa
2012-08-10
Ads on gpodder.net
We recently upgraded our server for gpodder.net, which should have had a positive affect one the overall site performance. At the same time, it also affected our hosting budget, which is currently covered mostly by our private money and occasional donations (thanks to all donors, by the way!).
Therefore we recently started experimenting with Google AdSense on gpodder.net. The ads are shown at the bottom of most pages, and should not distract from the page itself. As it is not our intention to make money with other people's data, ads are disabled on podcast and episode pages, but are currently shown on all other pages, such as the directory, toplists, your subscription lists, etc.
The advertisement experiment will probably last for up to three month, after which we should know if it is worth the trouble of having ads on the site. If we decide to keep the ads, there will be some way of getting rid of them, maybe by donating, becoming some kind of premium user, etc. This still needs to be decided, and input is always welcome!
Please post your comments and thoughts on the ads either here or to the gPodder mailing list. Thanks!
Therefore we recently started experimenting with Google AdSense on gpodder.net. The ads are shown at the bottom of most pages, and should not distract from the page itself. As it is not our intention to make money with other people's data, ads are disabled on podcast and episode pages, but are currently shown on all other pages, such as the directory, toplists, your subscription lists, etc.
The advertisement experiment will probably last for up to three month, after which we should know if it is worth the trouble of having ads on the site. If we decide to keep the ads, there will be some way of getting rid of them, maybe by donating, becoming some kind of premium user, etc. This still needs to be decided, and input is always welcome!
Please post your comments and thoughts on the ads either here or to the gPodder mailing list. Thanks!
2012-08-09
Avoiding re-parsing of unchanged feeds
I've recently been thinking of an idea to speed up feed parsing in gPodder in cases where the feed contents don't change (i.e. no new or changed episodes), but the server doesn't support E-Tag or If-Modified-Since headers.
Right now, whenever gPodder updates a podcast feed, it sends the E-Tag and Last-Modified headers to feedparser, which will use it to make a conditional HTTP request. In case the server supports it, this will avoid parsing (and downloading) the whole feed, and the server will just tell the feedparser "Nothing new", which in turn will finish the feed update for gPodder - avoiding both the download of the whole feed data, and the parsing inside feedparser and gPodder.
Now, the idea here is that on mobile devices like the N9, we want to avoid CPU usage as much as possible (in addition to keeping the traffic down if possible). One idea now would be to calculate a hash over the downloaded feed content, and remember that hash. In cases where the server doesn't support E-Tag or If-Modified-Since, this could effectively avoid having to parse the feed again. Of course, a hash of the feed contents can only be calculated if the content is downloaded first, so this won't allow for avoiding re-downloads, but in general, I guess that it could improve performance on devices where parsing takes up a non-trivial amount of time.
This might need some experimentation if it is effective in the general case. One idea could be to check the gpodder.net Top 100 podcasts lists and see how many of them support E-Tag and If-Modified-Since and how many of them would benefit from having this special "content hash" in place to avoid re-parsing.
The issue has been filed here, let's see if it's something that could go upstream: feedparser issue 370
Update: Patch added for gPodder and feedparser, both patches can be found in gPodder bug 1634.
Right now, whenever gPodder updates a podcast feed, it sends the E-Tag and Last-Modified headers to feedparser, which will use it to make a conditional HTTP request. In case the server supports it, this will avoid parsing (and downloading) the whole feed, and the server will just tell the feedparser "Nothing new", which in turn will finish the feed update for gPodder - avoiding both the download of the whole feed data, and the parsing inside feedparser and gPodder.
Now, the idea here is that on mobile devices like the N9, we want to avoid CPU usage as much as possible (in addition to keeping the traffic down if possible). One idea now would be to calculate a hash over the downloaded feed content, and remember that hash. In cases where the server doesn't support E-Tag or If-Modified-Since, this could effectively avoid having to parse the feed again. Of course, a hash of the feed contents can only be calculated if the content is downloaded first, so this won't allow for avoiding re-downloads, but in general, I guess that it could improve performance on devices where parsing takes up a non-trivial amount of time.
This might need some experimentation if it is effective in the general case. One idea could be to check the gpodder.net Top 100 podcasts lists and see how many of them support E-Tag and If-Modified-Since and how many of them would benefit from having this special "content hash" in place to avoid re-parsing.
The issue has been filed here, let's see if it's something that could go upstream: feedparser issue 370
Update: Patch added for gPodder and feedparser, both patches can be found in gPodder bug 1634.
2012-07-28
gPodder 3.2.1 bugfix release for N9 users
This is a quick fix-up for bug 1627, which has affected several N9 users. gPodder 3.2.1 is the same as 3.2.0, but with a fix in the packaging (postinst) that will make sure that installation and symlinking (optification) works properly, even if leftover files from previous gPodder installations are in place.
tl;dr: gPodder 3.2.1 will appear on your N9 as an update soon (for both AFM and Nokia Store users), and it will fix your startup problems. A temporary fix is also available as .deb for all users who can't wait ;)
Also, if you are a N9 user and your 3.2.0 update worked fine, you can ignore this (the bug didn't affect all users) - you are affected by this bug if after installation your gPodder app does not start at all.
For all other platforms, 3.2.0 is the latest version, and there will never be a "3.2.1" release to avoid confusion (we'll simply bump the next official release to a higher number to get all platforms back in sync). The version bump is because Nokia Store uploads require "x.y.z" version numbers, and don't support Debian package revisions ("x.y.z-r"), which would really be what we want to have here, since it's really just a packaging change (for those not familiar with Debian packaging: "3.2.0-1" would be the first Debian package revision, and if the packaging changes without a new upstream version, the second revision would be called "3.2.0-2", so think of "3.2.0 for N9" as "3.2.0-1" and think of "3.2.1 for N9" as "3.2.0-2" - confused yet? ;).
Some background info: Since the 3.1.2 release (not to be confused with 3.2.1 ;), gPodder for the N9 installs into /opt, and then symlinks itself into /usr where appropriate, whereas older versions simply installed into /usr. The whole optification problem has quite some history (it started with Maemo 5 and lack of free space on the root partition), but isn't relevant to the N9 anymore (there's enough space on rootfs now). Still, Nokia Store QA has a rule that says that most files (apart from some exceptions) have to go into /opt. For 3.1.2 (again, that's not the same as 3.2.1), I therefore made postinst/prerm scripts that link files installed from /opt into /usr (basically what maemo-optify did back in the day, but Harmattan SDK doesn't have maemo-optify anymore, and on the AFM OBS, I can't just install build-dependencies like that). The symlinking failed when leftover files were sitting in /usr at installation time. The details on what the problem was can be found in bug 1627 - thanks to all who reported the problem, and a special thanks to Reiner for taking the time to investigate the problem (I personally never experienced this bug on my own N9, otherwise I would have had fixed it before the release ;).
tl;dr: gPodder 3.2.1 will appear on your N9 as an update soon (for both AFM and Nokia Store users), and it will fix your startup problems. A temporary fix is also available as .deb for all users who can't wait ;)
Also, if you are a N9 user and your 3.2.0 update worked fine, you can ignore this (the bug didn't affect all users) - you are affected by this bug if after installation your gPodder app does not start at all.
For all other platforms, 3.2.0 is the latest version, and there will never be a "3.2.1" release to avoid confusion (we'll simply bump the next official release to a higher number to get all platforms back in sync). The version bump is because Nokia Store uploads require "x.y.z" version numbers, and don't support Debian package revisions ("x.y.z-r"), which would really be what we want to have here, since it's really just a packaging change (for those not familiar with Debian packaging: "3.2.0-1" would be the first Debian package revision, and if the packaging changes without a new upstream version, the second revision would be called "3.2.0-2", so think of "3.2.0 for N9" as "3.2.0-1" and think of "3.2.1 for N9" as "3.2.0-2" - confused yet? ;).
Some background info: Since the 3.1.2 release (not to be confused with 3.2.1 ;), gPodder for the N9 installs into /opt, and then symlinks itself into /usr where appropriate, whereas older versions simply installed into /usr. The whole optification problem has quite some history (it started with Maemo 5 and lack of free space on the root partition), but isn't relevant to the N9 anymore (there's enough space on rootfs now). Still, Nokia Store QA has a rule that says that most files (apart from some exceptions) have to go into /opt. For 3.1.2 (again, that's not the same as 3.2.1), I therefore made postinst/prerm scripts that link files installed from /opt into /usr (basically what maemo-optify did back in the day, but Harmattan SDK doesn't have maemo-optify anymore, and on the AFM OBS, I can't just install build-dependencies like that). The symlinking failed when leftover files were sitting in /usr at installation time. The details on what the problem was can be found in bug 1627 - thanks to all who reported the problem, and a special thanks to Reiner for taking the time to investigate the problem (I personally never experienced this bug on my own N9, otherwise I would have had fixed it before the release ;).
2012-07-25
gPodder 3.2.0 "The Great Radish Famine" released
We've been on a short summer break the last two months, and have waited to release this version until we got Flattr support and MP3 player device sync back into mainline gPodder. This means that packagers can now start packaging gPodder 3 for their distributions if they have been keeping back because of the device sync features. The device sync patches have been ported from gPodder 2.x by Joseph Wickremasinghe and the Flattr support was mostly implemented by Bernd Schlapsi - thanks to both of them for the great support! Other fixes:
Thanks to all users who supported the gPodder project by providing bug reports, patches, documentation, feedback or donations / Flattrs.
- QML UI: Show cover art in "All episodes" (bug 1602)
- Add "on_channel_context_menu" (patch by Nick Stevens)
- MP3 player device sync support (bug 1579, by Joseph Wickremasinghe)
- Threading: Use util.run_in_background to spawn threads
- QML UI: Set title bar text for multi-select sheet
- QML UI: Scroll episode list when opening last item
- Gtk UI: Initial hack for embedded shownotes display
- CLI: Show more of the title when updating feeds
- Flattr integration (bug 1576, by Bernd Schlapsi)
- DB schema: Cleaner upgrades, fix column order
- Updated translations and various bug fixes
Download: gpodder-3.2.0.tar.gz
md5sum: 29587ee5d88c9802a862ec41686bdd52
sha1sum: bd363a488338455144f4a994d89b204d62dc69f4
For packages in distributions, see the downloads page.
Thanks to all users who supported the gPodder project by providing bug reports, patches, documentation, feedback or donations / Flattrs.
Subscribe to:
Posts (Atom)