2013-04-23

Progress report from the April 2013 hack day

As you might have figured out by now, some of the gPodder core developers meet up monthly at the Metalab in Vienna to discuss current developments and plans for the future. This also happened this month on the 13th of April.

What we have done:

The next hack day will be on May 11th, and we will definitely be discussing more about gPodder 4 by then.

2013-04-13

Release of libmygpo-qt v1.0.7

After exactly half a year, a new version of libmygpo-qt is ready.
Changes in v1.0.7:
  • New Config Class. This class allows to programmatically to retrieve the libmygpo-qt version and retrieve and set the gpodder.net API endpoint (e.g. if you test your software against a private instance of gpodder.net)
  • Config Class also allows to set a prefix to the user-agent. Please never completely overwrite the user-agent set in libmygpo-qt (instead pre/append your own, e.g. via mygpo::Config::setUserAgentPrefix( ... ) )
  • fixed a bug that created incomplete Episode Actions if an Episode Action couldn't be parsed completely by libmygpo-qt
  • fixed a small bug with the pkgconfig file (thx to davidsansome)
  • added support for uploading & retrieving flattr Episode Actions to gpodder.net (this allows you to automatically flattr Podcast Episodes from any podcatcher that uses libmygpo-qt)
Where to get libmygpo-qt?
Tarball: http://stefan.derkits.at/files/libmygpo-qt/libmygpo-qt.1.0.7.tar.gz
sha256sum: faade78e1baeeab7f858dec80530ad63c50f683fe511948ab1a45e685828cc74 md5sum: 447e60c8c695b4280a0e20c71abacf49

Some more important Links for libmygpo-qt:
Project Website: http://wiki.gpodder.org/wiki/Libmygpo-qt
Git Repository: 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 Bug reports: http://bugs.gpodder.org
Contact: gpodder@freelists.org 

Want to support libmygpo-qt?
You can support the development of libmygpo-qt you can send me a book via my Amazon Wishlist or donate via paypal to stefan@derkits.at

What is libmygpo-qt?
libmygpo-qt is a Qt/C++ library wrapping the gpodder.net Webservice. It is currently used in Amarok & Clementine to retrieve a directory of podcasts & to synchronize podcast subscriptions with gpodder.net

2013-04-10

gPodder 3.5.1 "Nick of Time" released

gPodder 3.5.1 is a small bugfix release to fix some issues in the 3.5.0 release from last month. It is recommended for all users.
  • Windows support
    • Mandatory notification extension (pull request 72)
    • Compatibility: strftime doesn't have %F
    • Remove non-ascii characters (bug 1724)
  • Device synchronization
    • Sanitized playlist filename (bug 1788)
    • Sanitize mount point encoding (bug 1785)
  • Extensions
    • Merge audio/video converter extensions (bug 1783)
    • Cleaned up "Enqueue in Media Player"
    • Enqueue episodes in Totem also (bug 1775)
  • Gtk UI
    • Clear filter using secondary icon in GtkEntry
    • Fix submenu activation/focus issues (bug 1778)
    • Show notification bubbles when downloads fail (bug 1265)
  • QML UI
    • Add various checks for undefined / null objects
    • Apply automatic rotation setting to all pages (bug 1792)
    • Better selection reset logic for episode list (bug 1804)
    • Convert selection indices to integers (bug 1802)
    • Directly add a podcast via feed URL
    • Fix layout for multi-line episode titles
    • Highlight podcasts on Harmattan, but not on Sailfish
    • Make selection background color visible again
    • Reset selection when episode list changes (bug 1804)
    • Separate gpodder.net login page (pull request 85)
  • Other improvements
    • CLI: Fix subscribe/unsubscribe when list has not been loaded yet
    • Database: Check if every episode is assigned to a podcast
    • Makefile: Build ".pyo" files on "make install" (bug 1786)
    • Model: Disallow subscribing to an already-existing URL
    • Remove "print" statement in enqueue_in_mediaplayer
    • Tools: Ubuntu PPA generator for "raring" release
    • Updated German translation
As always, a detailed changelog is available at gpodder.org/changelog/3.5.1.

Download: gpodder-3.5.1.tar.gz
md5sum: 60bcc814adc654c00ab197abfe920d80
sha1sum: e9f26bd5bb7742d9c0fa78323e81060495f7417a

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.

2013-03-12

Progress report from the March 2013 hack day

After the 3.5.0 release last week, we also had our monthly Jour Fixe for gPodder hacking at the Metalab on Saturday. This is a summary of what happened:

Bernd worked on bug 1265 (Notification bubbles in Ubuntu), Stefan worked on the draft for the new gpodder.net API, and I worked on getting Windows and Ubuntu releases in shape. Also: Merging some pull requests and fixing the Gtk+ submenu activate issue, creating a workaround for the focus issue in the toolkit (see GNOME bug 695488), although it seems like we still have to tweak the workaround a bit.

The next hack day is planned for April 13th 2013 and will again take place at the Metalab Vienna. Until then - happy hacking, and see you in #gpodder on FreeNode IRC.

2013-03-05

gPodder 3.5.0 "The After Hours" released

It's time for another gPodder 3 release! Version 3.5.0 brings first-time support for Sailfish OS (using Sailfish Silica), an improved and cleaned-up MeeGo 1.2 Harmattan UI (which now shares big chunks of code with the Sailfish UI) and device playlist sync for MP3 players in the Desktop version.

  • QML UI
    • Playback position in episode list, shownotes button in medi aplayer, download filename in shownotes and horizontal line for sections (by Nelson Ferreira)
    • Abstraction for MeeGo 1.2 Harmattan (Qt Components) and Sailfish OS (Silica Components), split into common codebase with specialization components (share/gpodder/ui/qml/{harmattan,sailfish})
    • Asynchronous image loading in episode item
    • Declare x-axis drags for PlaybackBarProgress
    • Decoupled Python->QML interaction from implementation details (upcalls happen exclusively via signals / context properties)
    • Bling: Fade truncated text in Sailfish UI
    • Harmattan UI: Split UI elements into separate pages, move toolbar contents into menu for unification with Sailfish / cleaner interaction
    • Various clean-ups and simplifications in the Python backend
    • Scroll multi-episode list to episode list position
    • Step-wise asynchronous episode list loading
  • Gtk UI
    • Device playlists and two-way sync (by  Joseph Wickremasinghe, bug 1769)
    • Fixed Gtk 2.18 compatibility (by Andreas Piesk, bug 1761)
    • GtkWarning fixes in shownotes (by Sean Munkel, bug 1735)
    • Fix shownotes window resizing error (by Sean Munkel, bug 1736)
    • Fix status icon not disappearing after being disabled (by Sean Munkel, bug 1714)
    • Fix encoding issues in notifications (by Sean Munkel, bug 1744)
    • Device sync preferences: Disable all widgets when device sync is off
    • Flattr preferences: Don't close preferences when WebKit/Gtk is missing
    • Fix context menu UI blocking for extensions (bug 1778)
    • Resizable shownotes view in main window
    • Searching in the extensions list (preferences dialog)
    • Device sync: Show error message for unconfigured device
    • Shownotes (plaintext): Must not be editable in main window
  • Extensions
    • Notification bubbles for Windows (by Sean Munkel, bug 426)
    • Download progress on Window taskbar (by Sean Munkel)
    • Stream to Sonos extension (by Stefan Kögl)
    • New OGG to MP3 extension (by Bernd Schlapsi, bug 1733)
    • M4A Converter: Check file extension (by Bernd Schlapsi, bug 1770)
    • Support both libav and ffmpeg for converting, support for Windows (by Bernd Schlapsi, bug 1773)
    • Add option to remove all tags (by Bernd Schlapsi, bug 1771)
    • Enqueue in Media Player: Mark episodes as played (by Bernd Schlapsi, bug 1749)
    • Woodchuck extension removed (unmaintained, not working)
  • Others
    • GtkOSXApplication 2.0.1 fixes (by Eric Le Lay, bug 1759)
    • FreeBSD network interface detection (by Olivier Brisson, bug 1730)
    • Upload gpodder.net episode actions in batches (by Stefan Kögl)
    • Added support for the Opus Audio Codec (by Bernd Schlapsi, bug 1734)
    • Avoid bugus error messages on download (bug 1731)
    • Util: Parse HH:MM-style strings with HH > 59
    • Vimeo: Use video title as download filename
    • Extensions API: New on_episode_playback() function
    • YouTube: Fix directory search (bug 1760)
    • Model: Day, month and year for custom filename (bug 1768)
    • Cover downloader: Add 4-second connection timeout
    • Improved offline mode / online detection (bug 1730)
  • Translations
    • Spanish (Adolfo Jayme Barrientos and Simó Albert i Beltran)
    • Italian (Maurizio Ballo and Alessandro Campidori)
    • Persian (Iran) (Mohammad Dashtizadeh)
    • Portuguese (Sérgio Marques)
    • French (bttfmcf)
    • Chinese (China) (luojie)
    • Portuguese (Brazil) (Rafael Ferreira and Dudu Maroja)
    • Spanish (Mexico) (Rigoberto Calleja)
    • Polish (Filip Kłębczyk)
    • Galician (Gonçalo Cordeiro)
    • Norwegian Bokmål (Jim Nygård)
    • Portuguese (Joel Calado)
    • Hebrew (Amiad Bareli)
    • Dutch (Arne Stierman)
    • Basque (Asier Iturralde Sarasola)
    • Greek (Atheos)
    • Kazakh (Baurzhan Muftakhidinov)
    • Swedish (Daniel Sandman)
    • Czech (Czech Republic) (David Štancl)
    • German

As always, a detailed changelog is available at gpodder.org/changelog/3.5.0.

Download: gpodder-3.5.0.tar.gz
md5sum: 85237ee3978eedf7abcee37d68c55633
sha1sum: 127c557309b16db470ad34c538582f203c3ec768

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.

2013-02-25

Progress report from the February 2013 hack day

Our monthly Jour Fixe for gPodder hacking at the Metalab Vienna has taken place on the 16th this month.


We've been mostly working on fixing several bugs related to extension scripts on different platforms and we have been discussing the initial plans for gPodder 4. Right now, there's some code in the "cuatro" branch in Git that features a new, faster podcast feed parser. The extension fixes will be included in the next release.

Next up: The March 2013 Hack Day (already on the 9th).

2013-02-08

mygpoclient 1.7 "Nuisance Value" released

Another catch-up release of mygpoclient is out, bringing you new features and an improved syncing experience. The top contributors of this release are Stefan Derkits with 12 commits, and Stefan Kögl with 5 commits. New features include:
  • Additional attributes for simple.Podcast
  • Getting top tags and podcasts of a tag (public API)
  • Added support for podcast and episode data requests
  • Support and unit tests for the settings URLs
  • Raise MissingCredentials exception in SimpleClient
  • Accept episode actions with "flattr" as their type
  • Various fixes, clean-ups and unit test improvements
It is recommended that all users upgrade to this new version of mygpoclient - it will become mandatory in a future gPodder release (or at least mandatory when gpodder.net syncing is used)

Download: mygpoclient-1.7.tar.gz
md5sum: fc4e237c40eba0733a362949d304974c
sha1sum: 9efb1d07b75b13bfa1ea7c644505ebef14fabb26

More information can be found on the mygpoclient homepage and in the cheeseshop.