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.

Android Client "Detlef Gpodderson" 1.0 released

(This blog post comes from the Detlef team, who just finished their one-semester project at University to create a gpodder.net client for Android.)


After almost 800 hours of work, attending hackdays, thousands of lines written (and thousand of lines deleted again) it's finally done: Version 1.0 of Detlef Gpodderson has been released on Google Play.

Excuse me, but who is Detlef?
Detlef is the code name of a gpodder.net client for Android 4+ devices. It was created by a team of 6 students during a university course on software engineering tutored by Stefan (@horrendus) and released under the terms of the GNU GPLv2 license.

800 hours of work may sound like a lot for such an app - but the course focused in large parts on project management, organisation and documentation. So the 800 hours did not go exclusively in coding as one might think.

The resulting software forms a good basis for further development, and contributions are very welcome!

Sounds nice, but what can I do with it?
Detlef Gpodderson is designed as a dedicated client for gpodder.net for devices running Android 4.0 or newer. Here's what you can do with this first release:
  • Synchronize podcast subscriptions (two-way)
  • Discover new podcasts from within the app
  • Listen to podcasts using the integrated media player
  • Create playlists, filter episodes lists and much more
You want to contribute? Great!
Everybody can contribute to Detlef, and you don't even need to be able to write code to help us! Here are some ideas what you can do to help us out:
All that’s left to say is: Have fun with Detlef, and send us some feedback! If something does not work in this first version, please file a bug or even send a pull request - we are sure that we can iteratively improve the application to a point where it's the best podcatcher on Android.

2013-02-07

gPodder @ FOSDEM 2013

Several members of the gPodder Dev Team have attended FOSDEM 2013 last weekend in Brussels, Belgium. In addition to meeting with many developers and people from the community, we were also able to meet Eric (of gPodder-Mac OS X fame) and taste the wide selection of beers in Belgium.


It was also a great opportunity to try on the new gPodder T-Shirts (a very limited edition ;):


You can find more photos of the FOSDEM weekend in Brussels on Flickr.

The next physical meetup will be the Hack Day February 2013 in a bit more than one week. I hopefully get around to do some outstanding pull request merging until then. If you have a change and want to give it a little push, feel free to ping me (thp) directly.

2013-01-27

Progress report from the January 2013 hack day

Another meetup in Vienna has been held this month to push forward some parts of gPodder (both the client, the web service as well as related projects such as the library and Detlef gPodderson).


There have been several topics that we discussed and worked on:
  • thp demonstrated his work with the new podcastparser, the C implementation of it, we discussed how to use it in the future
  • brot worked on bug 1441, closed as duplicate of bug 1324
  • brot worked on bug 1751, closed as won't fix as there's a workaround
  • brot worked on bug 1749
  • skoegl started work on a "Stream to Sonos" extension for the gPodder app
  • skoegl fixed some bugs in the mygpoclient library
  • horrendus requested an Ohloh organization for all gPodder projects
  • horrendus fixed a bug in libmygpo-qt (using cgdb)
  • moe presented Detlef and continued working on its implementation
  • thp removed the time tracking field in our Bugzilla (we didn't use it)

moe from the Detlet project (an open source gpodder.net podcatcher for Android) demonstrated their Android Podcatcher in the Android Emulator:


Thanks to all for attending, and see you at the February 2013 Hack Day!