Active Topics

 


Reply
Thread Tools
yerga's Avatar
Posts: 696 | Thanked: 1,012 times | Joined on Mar 2006 @ Asturies, Spain
#11
Also, there is Videocenter, it's done for video podcasts but it works with audio too.
It's a Nokia application (closed-source if you care about it).
When I have consumed podcasts in the tablets I have used this application, it's simple an very efficient IMHO.
__________________
Daniel Martín Yerga
maemo.org profile
Twitter
 
thp's Avatar
Posts: 1,391 | Thanked: 4,272 times | Joined on Sep 2007 @ Vienna, Austria
#12
Hi there!

(Disclosure: I'm the maintainer of gPodder)

Originally Posted by silvermountain View Post
I've tried using gPodder (v 0.16.1-2) for a couple of days now but it is simply not a good user experience for me and would love an alternative.
What would a good user experience be for you in terms of a podcast client? Especially, where is gPodder lacking at the moment (except for the bugs below).

1) It is SO slow.. Simply adding a new podcast by a URL is such a time-sink that I'm simply not doing it again.
Parsing takes its time, especially when done on the tablet in Python. We use feedparser, which is a bit heavyweight, but handles "bad" feeds (of which there are many) quite well. The next version will have a more intelligent updating algorithm that will cause parsing to happen less often. Of course, first-time URL adding is still slow, as the initial parsing has to be done always.

A faster parsing algorithm (like bashpodder uses) will probably not work with all podcasts, although for "clean" feeds, it's a lot faster.

2) It keeps launching an app up to the status bar. Is there a way for it NOT to do that?
Already solved in this thread, and it should be readily visible in the preferences dialog. Is that really such a big problem? Is the preferences option undiscoverable or is the caption of the option not really obvious?

3) When selecting 'Preferences' from the icon in the status bar nothing shows on the screen if you don't have the gPodder screen up. You have to switch to that app and then...you got a window you can't close.
Please file a bug report about this: https://bugs.maemo.org/enter_bug.cgi?product=gPodder Issues like this should always be reported as bug, and then we can reliably fix it and ask questions, and we won't forget that the issue is still there as long as the bug is open. A forum thread is hard to "harvest" for bug reports. Please proactively file bugs as you find them. That's not only true for gPodder, but all apps, and not only on the Tablets, but also on the Desktop.

4) When starting up gPodder it takes a good 10 seconds and then it minimizes itself right away to the left panel. Any way to configure that not to happen?
Again, that issue has been solved in this thread already. Did you set this configuration option at the beginning, because it should not be the default (and was not last time I checked).

5) More of a guilty-by-association...it integrates with Panucci which has a pretty bad audio quality when playing podcasts on the N810. Someone posted and commented on that the poor sound quality had to do with the program using gstream (sp?). Then again, I could associate it with MediaPlayer which sounds much better so not an issue per se
As you said, that's a Panucci-related issue. Panucci has it's own bug tracker at this URL: https://garage.maemo.org/tracker/?at...69&func=browse - I'm sure Nick will be happy to help you out and fix this bug if you can provide enough information and if we can reproduce this bug.

6) You can't set how many episodes you want to keep. I spend quite a bit of time where I am not connected to the web and often find the value in having multiple episodes available to me.
Please elaborate a bit here. By default, all episodes are "kept", you can either delete them manually or via the menu item "Remove old episodes". Do you want to have automatic podcast selection based on the "X newest epsiodes" in the "Remove old episodes" dialog? How do you currently delete old episodes in gPodder?

Am I just missing the settings for the 'issues' above and/or is there an alternative out there that sounds like it would be a better fit?
The built-in RSS reader has some kind of podcast support, I think (at least you would be able to subscribe to feeds. Then, there is Canola and PenguinTV. There's also Video Center (which, despite its name also works for audio content). And a lot of command-line podcast clients like bashpodder, but there are others like podget. gPodder also has a command-line interface. Try "gpo" on the command-line. It's not feature complete, though.

One could also easily write a "lightweight" UI on top of the gPodder codebase and re-use all the "good" stuff from it - download management, feed update handling, database, ...

I'd be happy to hear your feedback, although bug reports are often more to-the-point and more helpful for developers than going through forums looking for clues what annoys people.
 
Posts: 42 | Thanked: 16 times | Joined on Oct 2007 @ Nottingham
#13
If you are happy with a command line interface, I use a python script, it's quite fast. Has absolutely no frills.

If you can follow these instructions, you would not need my script, if you can't well please don't even try. The only pre-requisite that I am aware of needing is standard package: maemo-python-device-env

Directory /media/mmc1/podcasts/ is hardcoded (nice!) as the working and configuration directory.

For each podcast subscription, create a file named podcastx.url containing one line, which is the RSS, XML URL. eg:
YouLookNiceToday.url
Code:
http://feeds.feedburner.com/YouLookNiceToday?format=xml
When the script is run, it will download the latest RSS feed, and create an xml file in the same directory. It should then compare the feed with an earlier version and download the latest, newest linked media file to a subdirectory. The url, xml and directory all share the same name, bar the extension.

Then you're on your own with file manager, media player or mplayer to find and play the podcasts.

This is the first version of something like a gpodder competitor but as it works for me, I stopped developing.

ppodder.py:
Code:
#!/usr/bin/env python

import sys

from xml.sax import make_parser, handler
from xml.sax.saxutils import DefaultHandler

from email.Utils import parsedate
import time
#
import os
import urllib

# --- The ContentHandler

class RSSHandler(DefaultHandler):

    def __init__(self, pc):
        self._pc=pc
        self._text = ""
        self._parent = None
        self._title = None
        self._link = None
        self._encURL=None
        self._date = None
        self._xml_stack = ['Root']
        self._pc._parseFail=False

    def ReadIn(self, xml):
        self._xml=xml
        parser=make_parser()
        parser.setContentHandler(self)
        try:
           parser.parse(self._xml)
        except:
           print "XML Parse fail"
           self._pc._parseFail=True

    # ContentHandler methods
    def startElement(self, name, attrs):
        self._xml_stack.append(name)
        self._text = ""
        if name=="enclosure" and self._xml_stack[-2]=="item":
          self._encURL=attrs.get("url")
        

    def endElement(self, name):
        self._xml_stack.pop()
        #self._parent=self._xml_stack[len(self._xml_stack)-1]
        self._parent=self._xml_stack[-1]
        if self._parent == "channel":
            if name == "title":
		self._pc._Title=self._text
            elif name == "description":
	        self._pc._Desc=self._text
            elif name == "lastBuildDate":
                self._pc._RSSDate=parsedate(self._text)
            elif name == "pubDate":
                self._pc._RSSDate=parsedate(self._text)

        elif self._parent == "item":
            if name == "title":
                self._title = self._text
            elif name == "link":
                self._link = self._text
            elif name == "pubDate":
                self._date = parsedate(self._text)
            elif name == "description":
                self._descr = self._text

        if name == "item":
            self._pc._Episodes.append([self._encURL, self._title,self._date])
            self._title = None
	    self._date=None
            self._link = None
            self._descr = ""

    def characters(self, content):
        self._text = self._text + content

class PodcastClass():
    def __init__(self):
        self._Title=""
        self._Episodes=[]
        self._Desc=""
        self._RSSDate=None
        self._machineName=""
        self._prevRSSDate=None
        self._parseFail=False

    def upDated(self):
        if self._RSSDate==None:
          for ee in self._Episodes:
            if ee[2]>self._RSSDate or self._RSSDate==None:
              self._RSSDate=ee[2]
        return self._RSSDate

    def newEpisodes(self):
        g=[]
        if self._prevRSSDate==None:
          g=self._Episodes
        else:
          for ee in self._Episodes:
            if ee[2]>self._prevRSSDate:
              g.append(ee)
        return g
          
    def shortName(self):                                                   
        if self._machineName=="":                                           
           for c in self._Title.lower():                                                               
             if c.isalnum():
                self._machineName=self._machineName+c 
        return self._machineName

    def newest(self):
        re=None
        for gg in self.newEpisodes():
          if re==None or re[2]<gg[2]:
            re=gg

        return re
        

def myReportHook(count, blockSize, totalSize):
    print count, count*blockSize, totalSize, int(100 *  count*blockSize/totalSize),"\r",


def uncracklink(urlfile):
    f=open(urlfile,"r")
    u=f.readline()                                                                                                                
    f.close()
    return u

#---+----+---+---+

sDir="/media/mmc1/podcasts/"

d=os.listdir(sDir)
for f in d:
   if f.lower().endswith(".url"):
     print "Reading file", f.lower()
     sPodCast=f[:-4]
     sURL=uncracklink(sDir+"/"+f)
     if not os.path.isdir(sDir+"/"+sPodCast):
       os.mkdir(sDir+"/"+sPodCast)
       print "NB: creating podcast directory"

     prevPC=PodcastClass()
     if sPodCast+".xml" in d: 
       print "Reading previous XML"
       prevPCr=RSSHandler(prevPC)
       prevPCr.ReadIn(sDir+"/"+sPodCast+".xml") 
       if prevPC.upDated()!=None:
         print "Podcast", prevPC._Title, time.strftime("%Y-%m-%d %H:%M:%S",prevPC.upDated())
     else:
       print "No previous XML"

     print "Downloading newest RSS XML"
     try:
       x=urllib.urlretrieve(sURL,sDir+"/"+sPodCast+".1.xml",myReportHook)
     except urllib.ContentTooShortError:
       print "retrieve fail"

     if x[0]!=None:   
       newPC=PodcastClass()
       newPCr=RSSHandler(newPC)
       newPCr.ReadIn(x[0])
       newPC._prevRSSDate=prevPC.upDated()
       if newPC.upDated()!=None:
         print "retrieved", newPC._Title, time.strftime("%Y-%m-%d %H:%M:%S",newPC.upDated())
     
       PCtoget=newPC.newest()
       if PCtoget!=None and len(PCtoget[0])>0: 
         print "New episode:", PCtoget[1] 
         print "url:", len(PCtoget[0])
         try:
           x2=urllib.urlretrieve(PCtoget[0],sDir+"/"+sPodCast+"/"+PCtoget[0].split("/")[-1],myReportHook)
         except urllib.ContentTooShortError:
           print "retrieve fail"
         else:
           os.rename(x[0],sDir+"/"+sPodCast+".xml")

       if os.path.exists(x[0]):
         os.unlink(x[0])
It is quick and dirty, doesn't have a GUI, or multi-thread, but deals with the feeds I need. Feedback, interest, questions welcome.

To run the script from a menu, I use:
/usr/share/applications/hildon/ppodder.desktop
Code:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=PPodder
Comment=myPPodder
Exec=/home/user/ppodder.py
Icon=qgn_list_rss
Type=Application
 

The Following User Says Thank You to ptaffs For This Useful Post:
silvermountain's Avatar
Posts: 1,359 | Thanked: 717 times | Joined on May 2009 @ ...standing right behind you...
#14
Originally Posted by danramos View Post
Congrats on finding the iconizing option that was causing you pain! I'm not sure why you expected uninstalling and reinstalling would help, though. Uninstalling shouldn't touch your home directory (config files).. even if you uninstall gpodder, the config files will still sit in your home directory (since the package manager didn't put them there).
Explanation: See my sig
__________________
.N810 experience: Since 6/2009
My Twenty Favorite OS2008 Applications:
AutoScan, Diablo5 Theme, Dialcentral, DragLock, EmelFM2, FlipClock, gPodder, Headphoned, Knots 2, Maemo Mapper, mPlayer, openNTPD, OpenSSH, Panucci, Personal Launcher, QuickNote, Seqretary, SlideLock, Telescope, YellowNotes
 
danramos's Avatar
Posts: 4,672 | Thanked: 5,455 times | Joined on Jul 2008 @ Springfield, MA, USA
#15
Originally Posted by silvermountain View Post
Explanation: See my sig
You make up for lack of geek, with plenty of wit. The latter is certainly more useful in polite company.
 

The Following User Says Thank You to danramos For This Useful Post:
jalladin's Avatar
Posts: 283 | Thanked: 31 times | Joined on Jun 2009 @ US Air Force
#16
This is totally a newbie thing to do but i just wanted to at least ask and thought it would only be appropriate here, i use a program called "Jobee" ( http://www.jobee.com.ua/en/ ) on my PC running vista, for a verity of things but the main thing i use it for is podcast and internet radio. It does a lot more and I know the tablet does pretty much all of it by its self but with different programs some of which are better if downloaded versus using the ones it comes with. but the question is since this is a all-in-one type of program that isnt to bad IMO do you guys know if this program mite work on the n8x0...



P.S
i haven't tried it my self since i have not got my n810 yet, sorry if that was a dumb question just thought i might ask, thanks

Last edited by jalladin; 2009-06-29 at 21:01.
 
danramos's Avatar
Posts: 4,672 | Thanked: 5,455 times | Joined on Jul 2008 @ Springfield, MA, USA
#17
Sounds like maybe Canola is the most similar thing to that application. I'm not sure why you think Jobee would work on the N8x0 tablets... their download page specifically points out it's only for Windows--and then only certain versions of Windows. It certainly doesn't help that it's closed-source, so nobody can port it to the tablet. Sorry, Jalladin.
 
Posts: 670 | Thanked: 367 times | Joined on Mar 2009
#18
Just stumbled onto this thread. gPodder has since received an update and it's snappier now. FWIW.
__________________
* n810 since Feb 2009
* Most-used apps: Opera, gPodder, Panucci, Tomiku, Canola, Quasar, MaemoMapper, ATI85, Maemopad+, AisleRiot Solitaire, Anagramarama, Rapier, Gnumeric, pyRDesktop
* Mobile-friendly URLs of popular sites
 

The Following User Says Thank You to buurmas For This Useful Post:
Posts: 59 | Thanked: 7 times | Joined on Oct 2009
#19
Originally Posted by yerga View Post
Also, there is Videocenter, it's done for video podcasts but it works with audio too.
It's a Nokia application (closed-source if you care about it).
When I have consumed podcasts in the tablets I have used this application, it's simple an very efficient IMHO.
Problem with videocenter IS that it's by Nokia - which means that it's abandoned by now. Even the N810 page that it links to on the main screen of the app gives you a 404 when you click on it.

Sort of makes you wonder what the hiriing requirements are like at Nokia
Anyway, sure doesn't entice me to buy the N900.
 
Posts: 670 | Thanked: 367 times | Joined on Mar 2009
#20
I don't mind using abandonware if it works. Are you saying videocenter doesn't work properly or do all you need?
__________________
* n810 since Feb 2009
* Most-used apps: Opera, gPodder, Panucci, Tomiku, Canola, Quasar, MaemoMapper, ATI85, Maemopad+, AisleRiot Solitaire, Anagramarama, Rapier, Gnumeric, pyRDesktop
* Mobile-friendly URLs of popular sites
 
Reply


 
Forum Jump


All times are GMT. The time now is 01:29.