<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Amarok Blog - stecchino</title>
    <link>http://amarok.kde.org/blog/</link>
    <description>Amarok developers at work</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.6 - http://www.s9y.org/</generator>
    <pubDate>Tue, 21 Jul 2009 14:37:31 GMT</pubDate>

    <image>
        <url>http://amarok.kde.org/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Amarok Blog - stecchino - Amarok developers at work</title>
        <link>http://amarok.kde.org/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Apple breaks Palm Pre compatibility. Or: an open letter to Palm</title>
    <link>http://amarok.kde.org/blog/archives/1076-Apple-breaks-Palm-Pre-compatibility.-Or-an-open-letter-to-Palm.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1076-Apple-breaks-Palm-Pre-compatibility.-Or-an-open-letter-to-Palm.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1076</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1076</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Dear Palm,&lt;br /&gt;&lt;br /&gt;When you launched the Pre everyone was very excited about the excellent job you did. Everyone except Apple that is, they don&#039;t like such strong competition.&lt;br /&gt;&lt;br /&gt;You decided to reverse engineer the iTunes database &quot;protocol&quot; used in Apple products and implemented it from the device side on the Pre. This has the benefit of being able to sync the Pre with iTunes on any PC or Mac without installing extra software.&lt;br /&gt;And you didn&#039;t have to invest in development of your own desktop software, which is not a differentiating feature for you. You&#039;re in the business of selling phones, not software. I don&#039;t think deciding to &quot;outsource&quot; this to Apple was a smart move though.&lt;br /&gt;&lt;br /&gt;So now the bully is attacking you on &lt;strong&gt;their&lt;/strong&gt; playground:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.engadgetmobile.com/2009/07/15/itunes-8-2-1-brings-pres-music-syncing-capability-to-a-halt-2/&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 450px; height: 299px;&quot; src=&quot;http://www.blogcdn.com/www.engadget.com/media/2009/07/itunes-821-2.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;&lt;a href=http://www.engadgetmobile.com&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;From Engadget Mobile&lt;/span&gt;&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And then &lt;a href=&quot;http://www.businessweek.com/technology/ByteOfTheApple/blog/archives/2009/07/apple_to_palm_i.html&quot;&gt;they say it&#039;s your own fault&lt;/a&gt;. You could go crying to the principle (or whatever you want to call court you want to file the anti-competitive lawsuit with).&lt;br /&gt;&lt;br /&gt;But if you have a problem, if no-one else can help, and if you can find them, maybe you can hire the &lt;span style=&quot;font-weight:bold;&quot;&gt;AMAROK-TEAM!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The media-player support in Amarok 2 is shaping up to be very flexible, complete and easy to implement thanks to the hard work of 2nd time GSoC student and &lt;a href=&quot;http://amarok.kde.org/blog/categories/29-xevix&quot;&gt;hacker extraordinaire Alejandro&lt;/a&gt;.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://nhnfreespirit.kollide.net/pics/amarok_multiple_collections.png&quot;&gt;&lt;img style=&quot;float:right; margin:10px 10px 10px 10px;cursor:pointer; cursor:hand;width: 250px;&quot; src=&quot;http://nhnfreespirit.kollide.net/pics/amarok_multiple_collections.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;We can quickly add support for the Palm Pre, or any other player, providing there is a way to access the database and we have documentation of the data-format. We already have iPod and MTP support and the same system is used to implement audio CD as a collection. iPhone OS 3.0 is being worked on as well as UMS (generic USB device) and OBEX (many cellphones).&lt;br /&gt;We promise not to change our application to prevent users to use Amarok with your device. Not only do we care about our users, we are not a competitor to you or have any ulterior motives.&lt;br /&gt;Amarok is already fully supported on all flavors of Linux and we have beta releases on Windows and Mac OSX which just need a bit of polishing and stabilization.&lt;br /&gt;&lt;br /&gt;Serious business proposals can be send to the Amarok team at business@getamarok.com (these emails will not be publicly readable).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/24319740-4128653618627283816?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 16 Jul 2009 18:52:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1076-guid.html</guid>
    
</item>
<item>
    <title>Amarok Junior Job: Auto-download new podcasts</title>
    <link>http://amarok.kde.org/blog/archives/1062-Amarok-Junior-Job-Auto-download-new-podcasts.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1062-Amarok-Junior-Job-Auto-download-new-podcasts.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1062</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1062</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    A &lt;a href=&quot;http://amarok.kde.org/en/releases/2.0.1.1#comment-11723&quot;&gt;recent comment&lt;/a&gt; by progmanos on the post of the 2.0.1.1 release reminded that I still have to implement Podcast episode auto-downloading. In the hurry to get 2.0 released I did add the config option, but forgot to add the actual code to make it work.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s1600-h/podcast_config.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 321px; height: 159px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s320/podcast_config.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5298276718078142114&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In Amarok 2 Podcasts are implemented in classes derived from PodcastProvider. There can be mutliple providers, which allows for instance podcast syncing between Amarok and an iPod.&lt;br /&gt;The default provider is &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/sql/SqlPodcastProvider.cpp?view=log&quot;&gt;SqlPodcastProvider&lt;/a&gt;. This is where the auto-download function should get implemented.&lt;br /&gt;&lt;br /&gt;This is a nicelly contained and not to steep introduction to Amarok development. So it&#039;s an excelent Junior Job.&lt;br /&gt;If progmanos or anyone else would like to have a go at it, contact me on #amarok on irc.freenode.net. My nickname is Stecchino.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/24319740-3892078401696176371?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sat, 13 Jun 2009 11:32:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1062-guid.html</guid>
    
</item>
<item>
    <title>UPnP DevSprint in Paris</title>
    <link>http://amarok.kde.org/blog/archives/1060-UPnP-DevSprint-in-Paris.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1060-UPnP-DevSprint-in-Paris.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1060</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1060</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.upnp.org/download/logo/UPnP_Forum_Color.JPG&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 180px;&quot; src=&quot;http://www.upnp.org/download/logo/UPnP_Forum_Color.JPG&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Hi from Paris, where together with &lt;a href=&quot;http://netzflocken.de/files/IMG_0473.JPG&quot;&gt;[ade], dev, erwan, philn and lightyear&lt;/a&gt; I&#039;m at the &lt;a href=&quot;http://coherence.beebits.net&quot;&gt;Coherence&lt;/a&gt;/KDE developer sprint focused on UPnP.&lt;br /&gt;Yesterday, after struggling with QtDBUS (specifically the under-documented qdbusxml2cpp) I managed to the signals from Coherence and call functions. So now I can discover the devices on the network.&lt;br /&gt;&lt;br /&gt;The signals are connected to a UPnPCollectionFactory that should create a new collection for each mediaserver (containing music) on the network.&lt;br /&gt;&lt;br /&gt;Next step will be to really talk to the devices themselves. That will require some XML parsing, which can get a bit complicated. With any luck I&#039;ll find a Qt based DIDL-lite parsing library. Consider that a lazyweb questions &lt;img src=&quot;http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;&lt;br /&gt;A bientôt,&lt;br /&gt;Bart&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/24319740-1655689066243752743?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sat, 13 Jun 2009 11:32:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1060-guid.html</guid>
    
</item>
<item>
    <title>UPnP support in KDE and Amarok</title>
    <link>http://amarok.kde.org/blog/archives/1061-UPnP-support-in-KDE-and-Amarok.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1061-UPnP-support-in-KDE-and-Amarok.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1061</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1061</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    During FOSDEM &lt;a href=&quot;http://people.fruitsalad.org/adridg/bobulate/index.php?/feeds/index.rss2&quot;&gt;[ade]&lt;/a&gt; and I met with &lt;a href=&quot;http://netzflocken.de/tags/coherence&quot;&gt;Frank Scholz&lt;/a&gt;, the lead developer of Coherence. We discussed DLNA/UPnP and how Coherence can be used in KDE and Amarok. The conclusion of this meeting was that we should use Coherence as our base for supporting UPnP services in KDE. The first implementation will be a KIO slave for browsing media stored on remote devices.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_Plug_and_Play&quot;&gt;UPnP&lt;/a&gt; is a network technology using a combination of SSDP, XML and SOAP, with some GENA thrown in for eventing. A group of UPnP services called the UPnP A/V Architecture has been picked up by an industry organization called &lt;a href=&quot;http://www.dlna.org/home&quot;&gt;the Digital Living Network Alliance&lt;/a&gt;. DLNA specifies device classes which have to implement specific services and support a minimal set of filetypes and codecs.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://coherence.beebits.net/&quot;&gt;Coherence&lt;/a&gt; is a framework, written in Python but it exposes a DBUS API, that allows an application to participate in the &quot;Digital Home Network&quot;. For the moment this means mainly UPnP, but support for Ampache is available and Apple&#039;s DAAP is also considered. It&#039;s published under the MIT license and is multiplatform.&lt;br /&gt;&lt;br /&gt;In Amarok we have been planning to integrate UPnP for a long while. But except for a failed Google Summer of Code project last year not a lot of effort has been spend. Thanks to Coherence this will quickly change: in relative short term (read 2.2) we will introduce a UPnP Collection that will list and enable playback of music stored on a DLNA Digital Media Server.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s1600-h/Streamium_NP2500.jpeg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 240px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s320/Streamium_NP2500.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5302372077716771106&quot; /&gt;&lt;/a&gt;&lt;br /&gt;We could even consider publishing the content in the local Collection, basically making Amarok a DMS. Amarok can then track plays on remote devices and use it in the scoring algorithm.&lt;br /&gt;Even more advanced functionality would be to control one or more Digital Media Renderes, such as &lt;br /&gt;&lt;a href=&quot;http://www.streamium.com/&quot;&gt;the Philips Streamium&lt;/a&gt;, from Amarok.&lt;br /&gt;&lt;br /&gt;A few mails have been going back and forth between interested developers about discovery of network services in general. In order to simplify using technologies as UPnP, zeroconf, Samba, etc I&#039;m wondering if we can integrate this in Solid. Only the discovery part obviously, using the services would be the task of separate frameworks, such as Coherence. With this functionality in Solid it should be trivial to show a kind of &quot;Network Map&quot; to the user with all the services per device.&lt;br /&gt;&lt;br /&gt;As you can tell, plenty of cool things to keep a few people busy for a year or 3.&lt;br /&gt;&lt;br /&gt;Bart&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/24319740-3156693391175731381?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sat, 13 Jun 2009 11:32:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1061-guid.html</guid>
    
</item>
<item>
    <title>Amarok podcasting 2.0 and post-2.0 plans</title>
    <link>http://amarok.kde.org/blog/archives/1063-Amarok-podcasting-2.0-and-post-2.0-plans.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1063-Amarok-podcasting-2.0-and-post-2.0-plans.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1063</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1063</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Hey fellow developers and users,&lt;br /&gt;&lt;br /&gt;In Juli 2007, at Akademy Glasgow I started implementing podcasting support in Amarok2. Since then I was &lt;a href=&quot;http://akademy2008.kde.org/&quot;&gt;sidetracked a little&lt;/a&gt;, as you may be aware.&lt;br /&gt;&lt;br /&gt;The little time I did manage to spend designing and implementing was short and far from focused. So a lot of features are not finished or just plainly missing. The framework I created underneath suffered from the same lack of focus and is need of a good review. I&#039;m aware there is probably some overdesign and some parts might be to complex. If you feel you can help in that area I suggest you take a look at &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/&quot;&gt;extragear/multimedia/amarok/src/podcasts&lt;/a&gt; . Send questions, comments and suggestions to amarok-devel@kde.org .&lt;br /&gt;&lt;br /&gt;The 3rd beta from Amarok 2.0 is already out the door and podcasting support is still not finished. In order to make it I had to reduce some goals I had set for myself during those rainy summer days in Scotland. Here&#039;s the plan:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok 2.0:&lt;/span&gt;&lt;br /&gt;The focus ATM is on finishing the SqlPodcastProvider, Podcastmodel and PodcastCategory (GUI).&lt;br /&gt;SqlPodcastProvider uses tables in the standard SQL database, adds and updates the feeds using PodcastReader and downloads to disk using the regular KIO-jobs.&lt;br /&gt;To make the podcasting fully functional though we&#039;ll need to reintroduce:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Autoscan the feed for updates&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Download when available&lt;/li&gt;&lt;li&gt;Episode purging (delete downloaded episodes automatically)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The settings dialog for this exists, next up is using them &lt;img src=&quot;http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;The GUI currently shows all episodes ever read from the feed, which obviously needs to be addressed.&lt;br /&gt;The GUI for 2.0 should be very similar, if not identical to Amarok 1.4, probably minus folder tree grouping support since that is better handled generically for all Playlists (which PodcastChannel is in our class diagram).&lt;br /&gt;&lt;br /&gt;If anyone has a bit of Qt Model/View experience and would like to see podcasting in Amarok 2.0 I suggest you send a mail to amarok-devel@kde.org or ping me on irc (Stecchino on #amarok).&lt;br /&gt;Without help we might have to drop it&#039;s from 2.0 completely because it&#039;s a bit much for me alone to complete and stabilize.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok &gt; 2.0:&lt;/span&gt;&lt;br /&gt;I do have a plan for a complete GUI overhaul post-2.0. I&#039;ll get some art and usability advice in another blog post when the time comes.&lt;br /&gt;&lt;br /&gt;The 2.x releases should see more advanced features being introduced that the framework is already designed to support:&lt;br /&gt;For the SqlPodcastProvider specifically:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Renaming and sorting individual episodes (popular request)&lt;/li&gt;&lt;li&gt;Purging based on episode age and/or total size on disk&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Labeling of PodcastChannels (perhaps to replace traditional folder tree grouping)&lt;/li&gt;&lt;/ul&gt;More general&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mediadevice Podcast support: iPod being the most advanced implementation but also generic usb devices, music phones and Canola2, I&#039;m sure the INdT guys could help us with that.&lt;/li&gt;&lt;li&gt;OPML import and export&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Podcast Directory personal subscription list.&lt;/li&gt;&lt;li&gt;BashpodderProvider: to use &lt;a href=&quot;http://www.lincgeek.org/bashpodder/&quot;&gt;bashpodder&lt;/a&gt; and Amarok in parallel with synchronized download status&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;On to hacking.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/24319740-6590745425528677751?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sat, 13 Jun 2009 11:32:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1063-guid.html</guid>
    
</item>
<item>
    <title>UPnP DevSprint in Paris</title>
    <link>http://amarok.kde.org/blog/archives/1023-UPnP-DevSprint-in-Paris.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1023-UPnP-DevSprint-in-Paris.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1023</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1023</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.upnp.org/download/logo/UPnP_Forum_Color.JPG&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 180px;&quot; src=&quot;http://www.upnp.org/download/logo/UPnP_Forum_Color.JPG&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Hi from Paris, where together with &lt;a href=&quot;http://netzflocken.de/files/IMG_0473.JPG&quot;&gt;[ade], dev, erwan, philn and lightyear&lt;/a&gt; I&#039;m at the &lt;a href=&quot;http://coherence.beebits.net&quot;&gt;Coherence&lt;/a&gt;/KDE developer sprint focused on UPnP.&lt;br /&gt;Yesterday, after struggling with QtDBUS (specifically the under-documented qdbusxml2cpp) I managed to the signals from Coherence and call functions. So now I can discover the devices on the network.&lt;br /&gt;&lt;br /&gt;The signals are connected to a UPnPCollectionFactory that should create a new collection for each mediaserver (containing music) on the network.&lt;br /&gt;&lt;br /&gt;Next step will be to really talk to the devices themselves. That will require some XML parsing, which can get a bit complicated. With any luck I&#039;ll find a Qt based DIDL-lite parsing library. Consider that a lazyweb questions &lt;img src=&quot;http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;&lt;br /&gt;A bientôt,&lt;br /&gt;Bart&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;//blogger.googleusercontent.com/tracker/24319740-1655689066243752743?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 21 May 2009 05:52:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1023-guid.html</guid>
    
</item>
<item>
    <title>UPnP support in KDE and Amarok</title>
    <link>http://amarok.kde.org/blog/archives/1024-UPnP-support-in-KDE-and-Amarok.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1024-UPnP-support-in-KDE-and-Amarok.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1024</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1024</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    During FOSDEM &lt;a href=&quot;http://people.fruitsalad.org/adridg/bobulate/index.php?/feeds/index.rss2&quot;&gt;[ade]&lt;/a&gt; and I met with &lt;a href=&quot;http://netzflocken.de/tags/coherence&quot;&gt;Frank Scholz&lt;/a&gt;, the lead developer of Coherence. We discussed DLNA/UPnP and how Coherence can be used in KDE and Amarok. The conclusion of this meeting was that we should use Coherence as our base for supporting UPnP services in KDE. The first implementation will be a KIO slave for browsing media stored on remote devices.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_Plug_and_Play&quot;&gt;UPnP&lt;/a&gt; is a network technology using a combination of SSDP, XML and SOAP, with some GENA thrown in for eventing. A group of UPnP services called the UPnP A/V Architecture has been picked up by an industry organization called &lt;a href=&quot;http://www.dlna.org/home&quot;&gt;the Digital Living Network Alliance&lt;/a&gt;. DLNA specifies device classes which have to implement specific services and support a minimal set of filetypes and codecs.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://coherence.beebits.net/&quot;&gt;Coherence&lt;/a&gt; is a framework, written in Python but it exposes a DBUS API, that allows an application to participate in the &quot;Digital Home Network&quot;. For the moment this means mainly UPnP, but support for Ampache is available and Apple&#039;s DAAP is also considered. It&#039;s published under the MIT license and is multiplatform.&lt;br /&gt;&lt;br /&gt;In Amarok we have been planning to integrate UPnP for a long while. But except for a failed Google Summer of Code project last year not a lot of effort has been spend. Thanks to Coherence this will quickly change: in relative short term (read 2.2) we will introduce a UPnP Collection that will list and enable playback of music stored on a DLNA Digital Media Server.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s1600-h/Streamium_NP2500.jpeg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 240px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s320/Streamium_NP2500.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5302372077716771106&quot; /&gt;&lt;/a&gt;&lt;br /&gt;We could even consider publishing the content in the local Collection, basically making Amarok a DMS. Amarok can then track plays on remote devices and use it in the scoring algorithm.&lt;br /&gt;Even more advanced functionality would be to control one or more Digital Media Renderes, such as &lt;br /&gt;&lt;a href=&quot;http://www.streamium.com/&quot;&gt;the Philips Streamium&lt;/a&gt;, from Amarok.&lt;br /&gt;&lt;br /&gt;A few mails have been going back and forth between interested developers about discovery of network services in general. In order to simplify using technologies as UPnP, zeroconf, Samba, etc I&#039;m wondering if we can integrate this in Solid. Only the discovery part obviously, using the services would be the task of separate frameworks, such as Coherence. With this functionality in Solid it should be trivial to show a kind of &quot;Network Map&quot; to the user with all the services per device.&lt;br /&gt;&lt;br /&gt;As you can tell, plenty of cool things to keep a few people busy for a year or 3.&lt;br /&gt;&lt;br /&gt;Bart&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;//blogger.googleusercontent.com/tracker/24319740-3156693391175731381?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 21 May 2009 05:52:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1024-guid.html</guid>
    
</item>
<item>
    <title>Amarok Junior Job: Auto-download new podcasts</title>
    <link>http://amarok.kde.org/blog/archives/1025-Amarok-Junior-Job-Auto-download-new-podcasts.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1025-Amarok-Junior-Job-Auto-download-new-podcasts.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1025</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1025</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    A &lt;a href=&quot;http://amarok.kde.org/en/releases/2.0.1.1#comment-11723&quot;&gt;recent comment&lt;/a&gt; by progmanos on the post of the 2.0.1.1 release reminded that I still have to implement Podcast episode auto-downloading. In the hurry to get 2.0 released I did add the config option, but forgot to add the actual code to make it work.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s1600-h/podcast_config.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 321px; height: 159px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s320/podcast_config.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5298276718078142114&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In Amarok 2 Podcasts are implemented in classes derived from PodcastProvider. There can be mutliple providers, which allows for instance podcast syncing between Amarok and an iPod.&lt;br /&gt;The default provider is &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/sql/SqlPodcastProvider.cpp?view=log&quot;&gt;SqlPodcastProvider&lt;/a&gt;. This is where the auto-download function should get implemented.&lt;br /&gt;&lt;br /&gt;This is a nicelly contained and not to steep introduction to Amarok development. So it&#039;s an excelent Junior Job.&lt;br /&gt;If progmanos or anyone else would like to have a go at it, contact me on #amarok on irc.freenode.net. My nickname is Stecchino.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;//blogger.googleusercontent.com/tracker/24319740-3892078401696176371?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 21 May 2009 05:52:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1025-guid.html</guid>
    
</item>
<item>
    <title>Amarok podcasting 2.0 and post-2.0 plans</title>
    <link>http://amarok.kde.org/blog/archives/1026-Amarok-podcasting-2.0-and-post-2.0-plans.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1026-Amarok-podcasting-2.0-and-post-2.0-plans.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1026</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1026</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Hey fellow developers and users,&lt;br /&gt;&lt;br /&gt;In Juli 2007, at Akademy Glasgow I started implementing podcasting support in Amarok2. Since then I was &lt;a href=&quot;http://akademy2008.kde.org/&quot;&gt;sidetracked a little&lt;/a&gt;, as you may be aware.&lt;br /&gt;&lt;br /&gt;The little time I did manage to spend designing and implementing was short and far from focused. So a lot of features are not finished or just plainly missing. The framework I created underneath suffered from the same lack of focus and is need of a good review. I&#039;m aware there is probably some overdesign and some parts might be to complex. If you feel you can help in that area I suggest you take a look at &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/&quot;&gt;extragear/multimedia/amarok/src/podcasts&lt;/a&gt; . Send questions, comments and suggestions to amarok-devel@kde.org .&lt;br /&gt;&lt;br /&gt;The 3rd beta from Amarok 2.0 is already out the door and podcasting support is still not finished. In order to make it I had to reduce some goals I had set for myself during those rainy summer days in Scotland. Here&#039;s the plan:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok 2.0:&lt;/span&gt;&lt;br /&gt;The focus ATM is on finishing the SqlPodcastProvider, Podcastmodel and PodcastCategory (GUI).&lt;br /&gt;SqlPodcastProvider uses tables in the standard SQL database, adds and updates the feeds using PodcastReader and downloads to disk using the regular KIO-jobs.&lt;br /&gt;To make the podcasting fully functional though we&#039;ll need to reintroduce:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Autoscan the feed for updates&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Download when available&lt;/li&gt;&lt;li&gt;Episode purging (delete downloaded episodes automatically)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The settings dialog for this exists, next up is using them &lt;img src=&quot;http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;The GUI currently shows all episodes ever read from the feed, which obviously needs to be addressed.&lt;br /&gt;The GUI for 2.0 should be very similar, if not identical to Amarok 1.4, probably minus folder tree grouping support since that is better handled generically for all Playlists (which PodcastChannel is in our class diagram).&lt;br /&gt;&lt;br /&gt;If anyone has a bit of Qt Model/View experience and would like to see podcasting in Amarok 2.0 I suggest you send a mail to amarok-devel@kde.org or ping me on irc (Stecchino on #amarok).&lt;br /&gt;Without help we might have to drop it&#039;s from 2.0 completely because it&#039;s a bit much for me alone to complete and stabilize.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok &gt; 2.0:&lt;/span&gt;&lt;br /&gt;I do have a plan for a complete GUI overhaul post-2.0. I&#039;ll get some art and usability advice in another blog post when the time comes.&lt;br /&gt;&lt;br /&gt;The 2.x releases should see more advanced features being introduced that the framework is already designed to support:&lt;br /&gt;For the SqlPodcastProvider specifically:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Renaming and sorting individual episodes (popular request)&lt;/li&gt;&lt;li&gt;Purging based on episode age and/or total size on disk&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Labeling of PodcastChannels (perhaps to replace traditional folder tree grouping)&lt;/li&gt;&lt;/ul&gt;More general&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mediadevice Podcast support: iPod being the most advanced implementation but also generic usb devices, music phones and Canola2, I&#039;m sure the INdT guys could help us with that.&lt;/li&gt;&lt;li&gt;OPML import and export&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Podcast Directory personal subscription list.&lt;/li&gt;&lt;li&gt;BashpodderProvider: to use &lt;a href=&quot;http://www.lincgeek.org/bashpodder/&quot;&gt;bashpodder&lt;/a&gt; and Amarok in parallel with synchronized download status&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;On to hacking.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;//blogger.googleusercontent.com/tracker/24319740-6590745425528677751?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 21 May 2009 05:52:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1026-guid.html</guid>
    
</item>
<item>
    <title>UPnP DevSprint in Paris</title>
    <link>http://amarok.kde.org/blog/archives/1012-UPnP-DevSprint-in-Paris.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/1012-UPnP-DevSprint-in-Paris.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=1012</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1012</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.upnp.org/download/logo/UPnP_Forum_Color.JPG&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 180px;&quot; src=&quot;http://www.upnp.org/download/logo/UPnP_Forum_Color.JPG&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Hi from Paris, where together with &lt;a href=&quot;http://netzflocken.de/files/IMG_0473.JPG&quot;&gt;[ade], dev, erwan, philn and lightyear&lt;/a&gt; I&#039;m at the &lt;a href=&quot;http://coherence.beebits.net&quot;&gt;Coherence&lt;/a&gt;/KDE developer sprint focused on UPnP.&lt;br /&gt;Yesterday, after struggling with QtDBUS (specifically the under-documented qdbusxml2cpp) I managed to the signals from Coherence and call functions. So now I can discover the devices on the network.&lt;br /&gt;&lt;br /&gt;The signals are connected to a UPnPCollectionFactory that should create a new collection for each mediaserver (containing music) on the network.&lt;br /&gt;&lt;br /&gt;Next step will be to really talk to the devices themselves. That will require some XML parsing, which can get a bit complicated. With any luck I&#039;ll find a Qt based DIDL-lite parsing library. Consider that a lazyweb questions &lt;img src=&quot;http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;&lt;br /&gt;A bientôt,&lt;br /&gt;Bart&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;http://res1.blogblog.com/tracker/24319740-1655689066243752743?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sun, 10 May 2009 06:32:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/1012-guid.html</guid>
    
</item>
<item>
    <title>UPnP support in KDE and Amarok</title>
    <link>http://amarok.kde.org/blog/archives/934-UPnP-support-in-KDE-and-Amarok.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/934-UPnP-support-in-KDE-and-Amarok.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=934</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=934</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    During FOSDEM &lt;a href=&quot;http://people.fruitsalad.org/adridg/bobulate/index.php?/feeds/index.rss2&quot;&gt;[ade]&lt;/a&gt; and I met with &lt;a href=&quot;http://netzflocken.de/tags/coherence&quot;&gt;Frank Scholz&lt;/a&gt;, the lead developer of Coherence. We discussed DLNA/UPnP and how Coherence can be used in KDE and Amarok. The conclusion of this meeting was that we should use Coherence as our base for supporting UPnP services in KDE. The first implementation will be a KIO slave for browsing media stored on remote devices.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_Plug_and_Play&quot;&gt;UPnP&lt;/a&gt; is a network technology using a combination of SSDP, XML and SOAP, with some GENA thrown in for eventing. A group of UPnP services called the UPnP A/V Architecture has been picked up by an industry organization called &lt;a href=&quot;http://www.dlna.org/home&quot;&gt;the Digital Living Network Alliance&lt;/a&gt;. DLNA specifies device classes which have to implement specific services and support a minimal set of filetypes and codecs.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://coherence.beebits.net/&quot;&gt;Coherence&lt;/a&gt; is a framework, written in Python but it exposes a DBUS API, that allows an application to participate in the &quot;Digital Home Network&quot;. For the moment this means mainly UPnP, but support for Ampache is available and Apple&#039;s DAAP is also considered. It&#039;s published under the MIT license and is multiplatform.&lt;br /&gt;&lt;br /&gt;In Amarok we have been planning to integrate UPnP for a long while. But except for a failed Google Summer of Code project last year not a lot of effort has been spend. Thanks to Coherence this will quickly change: in relative short term (read 2.2) we will introduce a UPnP Collection that will list and enable playback of music stored on a DLNA Digital Media Server.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s1600-h/Streamium_NP2500.jpeg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 240px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s320/Streamium_NP2500.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5302372077716771106&quot; /&gt;&lt;/a&gt;&lt;br /&gt;We could even consider publishing the content in the local Collection, basically making Amarok a DMS. Amarok can then track plays on remote devices and use it in the scoring algorithm.&lt;br /&gt;Even more advanced functionality would be to control one or more Digital Media Renderes, such as &lt;br /&gt;&lt;a href=&quot;http://www.streamium.com/&quot;&gt;the Philips Streamium&lt;/a&gt;, from Amarok.&lt;br /&gt;&lt;br /&gt;A few mails have been going back and forth between interested developers about discovery of network services in general. In order to simplify using technologies as UPnP, zeroconf, Samba, etc I&#039;m wondering if we can integrate this in Solid. Only the discovery part obviously, using the services would be the task of separate frameworks, such as Coherence. With this functionality in Solid it should be trivial to show a kind of &quot;Network Map&quot; to the user with all the services per device.&lt;br /&gt;&lt;br /&gt;As you can tell, plenty of cool things to keep a few people busy for a year or 3.&lt;br /&gt;&lt;br /&gt;Bart&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;http://res1.blogblog.com/tracker/24319740-3156693391175731381?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Mon, 16 Mar 2009 17:22:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/934-guid.html</guid>
    
</item>
<item>
    <title>Amarok Junior Job: Auto-download new podcasts</title>
    <link>http://amarok.kde.org/blog/archives/935-Amarok-Junior-Job-Auto-download-new-podcasts.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/935-Amarok-Junior-Job-Auto-download-new-podcasts.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=935</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=935</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    A &lt;a href=&quot;http://amarok.kde.org/en/releases/2.0.1.1#comment-11723&quot;&gt;recent comment&lt;/a&gt; by progmanos on the post of the 2.0.1.1 release reminded that I still have to implement Podcast episode auto-downloading. In the hurry to get 2.0 released I did add the config option, but forgot to add the actual code to make it work.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s1600-h/podcast_config.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 321px; height: 159px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s320/podcast_config.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5298276718078142114&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In Amarok 2 Podcasts are implemented in classes derived from PodcastProvider. There can be mutliple providers, which allows for instance podcast syncing between Amarok and an iPod.&lt;br /&gt;The default provider is &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/sql/SqlPodcastProvider.cpp?view=log&quot;&gt;SqlPodcastProvider&lt;/a&gt;. This is where the auto-download function should get implemented.&lt;br /&gt;&lt;br /&gt;This is a nicelly contained and not to steep introduction to Amarok development. So it&#039;s an excelent Junior Job.&lt;br /&gt;If progmanos or anyone else would like to have a go at it, contact me on #amarok on irc.freenode.net. My nickname is Stecchino.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;http://res1.blogblog.com/tracker/24319740-3892078401696176371?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Mon, 16 Mar 2009 17:22:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/935-guid.html</guid>
    
</item>
<item>
    <title>Amarok podcasting 2.0 and post-2.0 plans</title>
    <link>http://amarok.kde.org/blog/archives/936-Amarok-podcasting-2.0-and-post-2.0-plans.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/936-Amarok-podcasting-2.0-and-post-2.0-plans.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=936</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=936</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Hey fellow developers and users,&lt;br /&gt;&lt;br /&gt;In Juli 2007, at Akademy Glasgow I started implementing podcasting support in Amarok2. Since then I was &lt;a href=&quot;http://akademy2008.kde.org/&quot;&gt;sidetracked a little&lt;/a&gt;, as you may be aware.&lt;br /&gt;&lt;br /&gt;The little time I did manage to spend designing and implementing was short and far from focused. So a lot of features are not finished or just plainly missing. The framework I created underneath suffered from the same lack of focus and is need of a good review. I&#039;m aware there is probably some overdesign and some parts might be to complex. If you feel you can help in that area I suggest you take a look at &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/&quot;&gt;extragear/multimedia/amarok/src/podcasts&lt;/a&gt; . Send questions, comments and suggestions to amarok-devel@kde.org .&lt;br /&gt;&lt;br /&gt;The 3rd beta from Amarok 2.0 is already out the door and podcasting support is still not finished. In order to make it I had to reduce some goals I had set for myself during those rainy summer days in Scotland. Here&#039;s the plan:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok 2.0:&lt;/span&gt;&lt;br /&gt;The focus ATM is on finishing the SqlPodcastProvider, Podcastmodel and PodcastCategory (GUI).&lt;br /&gt;SqlPodcastProvider uses tables in the standard SQL database, adds and updates the feeds using PodcastReader and downloads to disk using the regular KIO-jobs.&lt;br /&gt;To make the podcasting fully functional though we&#039;ll need to reintroduce:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Autoscan the feed for updates&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Download when available&lt;/li&gt;&lt;li&gt;Episode purging (delete downloaded episodes automatically)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The settings dialog for this exists, next up is using them &lt;img src=&quot;http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;The GUI currently shows all episodes ever read from the feed, which obviously needs to be addressed.&lt;br /&gt;The GUI for 2.0 should be very similar, if not identical to Amarok 1.4, probably minus folder tree grouping support since that is better handled generically for all Playlists (which PodcastChannel is in our class diagram).&lt;br /&gt;&lt;br /&gt;If anyone has a bit of Qt Model/View experience and would like to see podcasting in Amarok 2.0 I suggest you send a mail to amarok-devel@kde.org or ping me on irc (Stecchino on #amarok).&lt;br /&gt;Without help we might have to drop it&#039;s from 2.0 completely because it&#039;s a bit much for me alone to complete and stabilize.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok &gt; 2.0:&lt;/span&gt;&lt;br /&gt;I do have a plan for a complete GUI overhaul post-2.0. I&#039;ll get some art and usability advice in another blog post when the time comes.&lt;br /&gt;&lt;br /&gt;The 2.x releases should see more advanced features being introduced that the framework is already designed to support:&lt;br /&gt;For the SqlPodcastProvider specifically:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Renaming and sorting individual episodes (popular request)&lt;/li&gt;&lt;li&gt;Purging based on episode age and/or total size on disk&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Labeling of PodcastChannels (perhaps to replace traditional folder tree grouping)&lt;/li&gt;&lt;/ul&gt;More general&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mediadevice Podcast support: iPod being the most advanced implementation but also generic usb devices, music phones and Canola2, I&#039;m sure the INdT guys could help us with that.&lt;/li&gt;&lt;li&gt;OPML import and export&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Podcast Directory personal subscription list.&lt;/li&gt;&lt;li&gt;BashpodderProvider: to use &lt;a href=&quot;http://www.lincgeek.org/bashpodder/&quot;&gt;bashpodder&lt;/a&gt; and Amarok in parallel with synchronized download status&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;On to hacking.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;http://res1.blogblog.com/tracker/24319740-6590745425528677751?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Mon, 16 Mar 2009 17:22:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/936-guid.html</guid>
    
</item>
<item>
    <title>UPnP support in KDE and Amarok</title>
    <link>http://amarok.kde.org/blog/archives/900-UPnP-support-in-KDE-and-Amarok.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/900-UPnP-support-in-KDE-and-Amarok.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=900</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=900</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    During FOSDEM &lt;a href=&quot;http://people.fruitsalad.org/adridg/bobulate/index.php?/feeds/index.rss2&quot;&gt;[ade]&lt;/a&gt; and I met with &lt;a href=&quot;http://netzflocken.de/tags/coherence&quot;&gt;Frank Scholz&lt;/a&gt;, the lead developer of Coherence. We discussed DLNA/UPnP and how Coherence can be used in KDE and Amarok. The conclusion of this meeting was that we should use Coherence as our base for supporting UPnP services in KDE. The first implementation will be a KIO slave for browsing media stored on remote devices.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_Plug_and_Play&quot;&gt;UPnP&lt;/a&gt; is a network technology using a combination of SSDP, XML and SOAP, with some GENA thrown in for eventing. A group of UPnP services called the UPnP A/V Architecture has been picked up by an industry organization called &lt;a href=&quot;http://www.dlna.org/home&quot;&gt;the Digital Living Network Alliance&lt;/a&gt;. DLNA specifies device classes which have to implement specific services and support a minimal set of filetypes and codecs.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://coherence.beebits.net/&quot;&gt;Coherence&lt;/a&gt; is a framework, written in Python but it exposes a DBUS API, that allows an application to participate in the &quot;Digital Home Network&quot;. For the moment this means mainly UPnP, but support for Ampache is available and Apple&#039;s DAAP is also considered. It&#039;s published under the MIT license and is multiplatform.&lt;br /&gt;&lt;br /&gt;In Amarok we have been planning to integrate UPnP for a long while. But except for a failed Google Summer of Code project last year not a lot of effort has been spend. Thanks to Coherence this will quickly change: in relative short term (read 2.2) we will introduce a UPnP Collection that will list and enable playback of music stored on a DLNA Digital Media Server.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s1600-h/Streamium_NP2500.jpeg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 240px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s320/Streamium_NP2500.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5302372077716771106&quot; /&gt;&lt;/a&gt;&lt;br /&gt;We could even consider publishing the content in the local Collection, basically making Amarok a DMS. Amarok can then track plays on remote devices and use it in the scoring algorithm.&lt;br /&gt;Even more advanced functionality would be to control one or more Digital Media Renderes, such as &lt;br /&gt;&lt;a href=&quot;http://www.streamium.com/&quot;&gt;the Philips Streamium&lt;/a&gt;, from Amarok.&lt;br /&gt;&lt;br /&gt;A few mails have been going back and forth between interested developers about discovery of network services in general. In order to simplify using technologies as UPnP, zeroconf, Samba, etc I&#039;m wondering if we can integrate this in Solid. Only the discovery part obviously, using the services would be the task of separate frameworks, such as Coherence. With this functionality in Solid it should be trivial to show a kind of &quot;Network Map&quot; to the user with all the services per device.&lt;br /&gt;&lt;br /&gt;As you can tell, plenty of cool things to keep a few people busy for a year or 3.&lt;br /&gt;&lt;br /&gt;Bart&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;http://res1.blogblog.com/tracker/24319740-3156693391175731381.gif?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Fri, 13 Mar 2009 00:52:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/900-guid.html</guid>
    
</item>
<item>
    <title>Amarok Junior Job: Auto-download new podcasts</title>
    <link>http://amarok.kde.org/blog/archives/901-Amarok-Junior-Job-Auto-download-new-podcasts.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/901-Amarok-Junior-Job-Auto-download-new-podcasts.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=901</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=901</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    A &lt;a href=&quot;http://amarok.kde.org/en/releases/2.0.1.1#comment-11723&quot;&gt;recent comment&lt;/a&gt; by progmanos on the post of the 2.0.1.1 release reminded that I still have to implement Podcast episode auto-downloading. In the hurry to get 2.0 released I did add the config option, but forgot to add the actual code to make it work.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s1600-h/podcast_config.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 321px; height: 159px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s320/podcast_config.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5298276718078142114&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In Amarok 2 Podcasts are implemented in classes derived from PodcastProvider. There can be mutliple providers, which allows for instance podcast syncing between Amarok and an iPod.&lt;br /&gt;The default provider is &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/sql/SqlPodcastProvider.cpp?view=log&quot;&gt;SqlPodcastProvider&lt;/a&gt;. This is where the auto-download function should get implemented.&lt;br /&gt;&lt;br /&gt;This is a nicelly contained and not to steep introduction to Amarok development. So it&#039;s an excelent Junior Job.&lt;br /&gt;If progmanos or anyone else would like to have a go at it, contact me on #amarok on irc.freenode.net. My nickname is Stecchino.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;http://res1.blogblog.com/tracker/24319740-3892078401696176371.gif?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Fri, 13 Mar 2009 00:52:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/901-guid.html</guid>
    
</item>
<item>
    <title>Amarok podcasting 2.0 and post-2.0 plans</title>
    <link>http://amarok.kde.org/blog/archives/902-Amarok-podcasting-2.0-and-post-2.0-plans.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/902-Amarok-podcasting-2.0-and-post-2.0-plans.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=902</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=902</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Hey fellow developers and users,&lt;br /&gt;&lt;br /&gt;In Juli 2007, at Akademy Glasgow I started implementing podcasting support in Amarok2. Since then I was &lt;a href=&quot;http://akademy2008.kde.org/&quot;&gt;sidetracked a little&lt;/a&gt;, as you may be aware.&lt;br /&gt;&lt;br /&gt;The little time I did manage to spend designing and implementing was short and far from focused. So a lot of features are not finished or just plainly missing. The framework I created underneath suffered from the same lack of focus and is need of a good review. I&#039;m aware there is probably some overdesign and some parts might be to complex. If you feel you can help in that area I suggest you take a look at &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/&quot;&gt;extragear/multimedia/amarok/src/podcasts&lt;/a&gt; . Send questions, comments and suggestions to amarok-devel@kde.org .&lt;br /&gt;&lt;br /&gt;The 3rd beta from Amarok 2.0 is already out the door and podcasting support is still not finished. In order to make it I had to reduce some goals I had set for myself during those rainy summer days in Scotland. Here&#039;s the plan:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok 2.0:&lt;/span&gt;&lt;br /&gt;The focus ATM is on finishing the SqlPodcastProvider, Podcastmodel and PodcastCategory (GUI).&lt;br /&gt;SqlPodcastProvider uses tables in the standard SQL database, adds and updates the feeds using PodcastReader and downloads to disk using the regular KIO-jobs.&lt;br /&gt;To make the podcasting fully functional though we&#039;ll need to reintroduce:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Autoscan the feed for updates&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Download when available&lt;/li&gt;&lt;li&gt;Episode purging (delete downloaded episodes automatically)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The settings dialog for this exists, next up is using them &lt;img src=&quot;http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;The GUI currently shows all episodes ever read from the feed, which obviously needs to be addressed.&lt;br /&gt;The GUI for 2.0 should be very similar, if not identical to Amarok 1.4, probably minus folder tree grouping support since that is better handled generically for all Playlists (which PodcastChannel is in our class diagram).&lt;br /&gt;&lt;br /&gt;If anyone has a bit of Qt Model/View experience and would like to see podcasting in Amarok 2.0 I suggest you send a mail to amarok-devel@kde.org or ping me on irc (Stecchino on #amarok).&lt;br /&gt;Without help we might have to drop it&#039;s from 2.0 completely because it&#039;s a bit much for me alone to complete and stabilize.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok &gt; 2.0:&lt;/span&gt;&lt;br /&gt;I do have a plan for a complete GUI overhaul post-2.0. I&#039;ll get some art and usability advice in another blog post when the time comes.&lt;br /&gt;&lt;br /&gt;The 2.x releases should see more advanced features being introduced that the framework is already designed to support:&lt;br /&gt;For the SqlPodcastProvider specifically:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Renaming and sorting individual episodes (popular request)&lt;/li&gt;&lt;li&gt;Purging based on episode age and/or total size on disk&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Labeling of PodcastChannels (perhaps to replace traditional folder tree grouping)&lt;/li&gt;&lt;/ul&gt;More general&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mediadevice Podcast support: iPod being the most advanced implementation but also generic usb devices, music phones and Canola2, I&#039;m sure the INdT guys could help us with that.&lt;/li&gt;&lt;li&gt;OPML import and export&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Podcast Directory personal subscription list.&lt;/li&gt;&lt;li&gt;BashpodderProvider: to use &lt;a href=&quot;http://www.lincgeek.org/bashpodder/&quot;&gt;bashpodder&lt;/a&gt; and Amarok in parallel with synchronized download status&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;On to hacking.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;http://res1.blogblog.com/tracker/24319740-6590745425528677751.gif?l=commonideas.blogspot.com&#039;/&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Fri, 13 Mar 2009 00:52:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/902-guid.html</guid>
    
</item>
<item>
    <title>UPnP support in KDE and Amarok</title>
    <link>http://amarok.kde.org/blog/archives/888-UPnP-support-in-KDE-and-Amarok.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/888-UPnP-support-in-KDE-and-Amarok.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=888</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=888</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    During FOSDEM &lt;a href=&quot;http://people.fruitsalad.org/adridg/bobulate/index.php?/feeds/index.rss2&quot;&gt;[ade]&lt;/a&gt; and I met with &lt;a href=&quot;http://netzflocken.de/tags/coherence&quot;&gt;Frank Scholz&lt;/a&gt;, the lead developer of Coherence. We discussed DLNA/UPnP and how Coherence can be used in KDE and Amarok. The conclusion of this meeting was that we should use Coherence as our base for supporting UPnP services in KDE. The first implementation will be a KIO slave for browsing media stored on remote devices.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_Plug_and_Play&quot;&gt;UPnP&lt;/a&gt; is a network technology using a combination of SSDP, XML and SOAP, with some GENA thrown in for eventing. A group of UPnP services called the UPnP A/V Architecture has been picked up by an industry organization called &lt;a href=&quot;http://www.dlna.org/home&quot;&gt;the Digital Living Network Alliance&lt;/a&gt;. DLNA specifies device classes which have to implement specific services and support a minimal set of filetypes and codecs.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://coherence.beebits.net/&quot;&gt;Coherence&lt;/a&gt; is a framework, written in Python but it exposes a DBUS API, that allows an application to participate in the &quot;Digital Home Network&quot;. For the moment this means mainly UPnP, but support for Ampache is available and Apple&#039;s DAAP is also considered. It&#039;s published under the MIT license and is multiplatform.&lt;br /&gt;&lt;br /&gt;In Amarok we have been planning to integrate UPnP for a long while. But except for a failed Google Summer of Code project last year not a lot of effort has been spend. Thanks to Coherence this will quickly change: in relative short term (read 2.2) we will introduce a UPnP Collection that will list and enable playback of music stored on a DLNA Digital Media Server.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s1600-h/Streamium_NP2500.jpeg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 240px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SZXPT79CESI/AAAAAAAAAZA/LnPsSg2VFNU/s320/Streamium_NP2500.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5302372077716771106&quot; /&gt;&lt;/a&gt;&lt;br /&gt;We could even consider publishing the content in the local Collection, basically making Amarok a DMS. Amarok can then track plays on remote devices and use it in the scoring algorithm.&lt;br /&gt;Even more advanced functionality would be to control one or more Digital Media Renderes, such as &lt;br /&gt;&lt;a href=&quot;http://www.streamium.com/&quot;&gt;the Philips Streamium&lt;/a&gt;, from Amarok.&lt;br /&gt;&lt;br /&gt;A few mails have been going back and forth between interested developers about discovery of network services in general. In order to simplify using technologies as UPnP, zeroconf, Samba, etc I&#039;m wondering if we can integrate this in Solid. Only the discovery part obviously, using the services would be the task of separate frameworks, such as Coherence. With this functionality in Solid it should be trivial to show a kind of &quot;Network Map&quot; to the user with all the services per device.&lt;br /&gt;&lt;br /&gt;As you can tell, plenty of cool things to keep a few people busy for a year or 3.&lt;br /&gt;&lt;br /&gt;Bart 
    </content:encoded>

    <pubDate>Fri, 13 Feb 2009 20:12:02 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/888-guid.html</guid>
    
</item>
<item>
    <title>Amarok Junior Job: Auto-download new podcasts</title>
    <link>http://amarok.kde.org/blog/archives/877-Amarok-Junior-Job-Auto-download-new-podcasts.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/877-Amarok-Junior-Job-Auto-download-new-podcasts.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=877</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=877</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    A &lt;a href=&quot;http://amarok.kde.org/en/releases/2.0.1.1#comment-11723&quot;&gt;recent comment&lt;/a&gt; by progmanos on the post of the 2.0.1.1 release reminded that I still have to implement Podcast episode auto-downloading. In the hurry to get 2.0 released I did add the config option, but forgot to add the actual code to make it work.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s1600-h/podcast_config.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 321px; height: 159px;&quot; src=&quot;http://1.bp.blogspot.com/_dHagi-przjU/SYdCmobFJqI/AAAAAAAAAWs/Ny-r2eKYvIY/s320/podcast_config.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5298276718078142114&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In Amarok 2 Podcasts are implemented in classes derived from PodcastProvider. There can be mutliple providers, which allows for instance podcast syncing between Amarok and an iPod.&lt;br /&gt;The default provider is &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/sql/SqlPodcastProvider.cpp?view=log&quot;&gt;SqlPodcastProvider&lt;/a&gt;. This is where the auto-download function should get implemented.&lt;br /&gt;&lt;br /&gt;This is a nicelly contained and not to steep introduction to Amarok development. So it&#039;s an excelent Junior Job.&lt;br /&gt;If progmanos or anyone else would like to have a go at it, contact me on #amarok on irc.freenode.net. My nickname is Stecchino. 
    </content:encoded>

    <pubDate>Mon, 02 Feb 2009 19:12:04 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/877-guid.html</guid>
    
</item>
<item>
    <title>Amarok podcasting 2.0 and post-2.0 plans</title>
    <link>http://amarok.kde.org/blog/archives/832-Amarok-podcasting-2.0-and-post-2.0-plans.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/832-Amarok-podcasting-2.0-and-post-2.0-plans.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=832</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=832</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Hey fellow developers and users,&lt;br /&gt;&lt;br /&gt;In Juli 2007, at Akademy Glasgow I started implementing podcasting support in Amarok2. Since then I was &lt;a href=&quot;http://akademy2008.kde.org/&quot;&gt;sidetracked a little&lt;/a&gt;, as you may be aware.&lt;br /&gt;&lt;br /&gt;The little time I did manage to spend designing and implementing was short and far from focused. So a lot of features are not finished or just plainly missing. The framework I created underneath suffered from the same lack of focus and is need of a good review. I&#039;m aware there is probably some overdesign and some parts might be to complex. If you feel you can help in that area I suggest you take a look at &lt;a href=&quot;http://websvn.kde.org/trunk/extragear/multimedia/amarok/src/podcasts/&quot;&gt;extragear/multimedia/amarok/src/podcasts&lt;/a&gt; . Send questions, comments and suggestions to amarok-devel@kde.org .&lt;br /&gt;&lt;br /&gt;The 3rd beta from Amarok 2.0 is already out the door and podcasting support is still not finished. In order to make it I had to reduce some goals I had set for myself during those rainy summer days in Scotland. Here&#039;s the plan:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok 2.0:&lt;/span&gt;&lt;br /&gt;The focus ATM is on finishing the SqlPodcastProvider, Podcastmodel and PodcastCategory (GUI).&lt;br /&gt;SqlPodcastProvider uses tables in the standard SQL database, adds and updates the feeds using PodcastReader and downloads to disk using the regular KIO-jobs.&lt;br /&gt;To make the podcasting fully functional though we&#039;ll need to reintroduce:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Autoscan the feed for updates&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Download when available&lt;/li&gt;&lt;li&gt;Episode purging (delete downloaded episodes automatically)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The settings dialog for this exists, next up is using them &lt;img src=&quot;http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;The GUI currently shows all episodes ever read from the feed, which obviously needs to be addressed.&lt;br /&gt;The GUI for 2.0 should be very similar, if not identical to Amarok 1.4, probably minus folder tree grouping support since that is better handled generically for all Playlists (which PodcastChannel is in our class diagram).&lt;br /&gt;&lt;br /&gt;If anyone has a bit of Qt Model/View experience and would like to see podcasting in Amarok 2.0 I suggest you send a mail to amarok-devel@kde.org or ping me on irc (Stecchino on #amarok).&lt;br /&gt;Without help we might have to drop it&#039;s from 2.0 completely because it&#039;s a bit much for me alone to complete and stabilize.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Amarok &gt; 2.0:&lt;/span&gt;&lt;br /&gt;I do have a plan for a complete GUI overhaul post-2.0. I&#039;ll get some art and usability advice in another blog post when the time comes.&lt;br /&gt;&lt;br /&gt;The 2.x releases should see more advanced features being introduced that the framework is already designed to support:&lt;br /&gt;For the SqlPodcastProvider specifically:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Renaming and sorting individual episodes (popular request)&lt;/li&gt;&lt;li&gt;Purging based on episode age and/or total size on disk&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Labeling of PodcastChannels (perhaps to replace traditional folder tree grouping)&lt;/li&gt;&lt;/ul&gt;More general&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mediadevice Podcast support: iPod being the most advanced implementation but also generic usb devices, music phones and Canola2, I&#039;m sure the INdT guys could help us with that.&lt;/li&gt;&lt;li&gt;OPML import and export&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Podcast Directory personal subscription list.&lt;/li&gt;&lt;li&gt;BashpodderProvider: to use &lt;a href=&quot;http://www.lincgeek.org/bashpodder/&quot;&gt;bashpodder&lt;/a&gt; and Amarok in parallel with synchronized download status&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;On to hacking. 
    </content:encoded>

    <pubDate>Wed, 12 Nov 2008 11:22:01 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/832-guid.html</guid>
    
</item>
<item>
    <title>Podcast appliance</title>
    <link>http://amarok.kde.org/blog/archives/337-Podcast-appliance.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/337-Podcast-appliance.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=337</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=337</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Imagine a device dock, device in this case being a phone, iPod or any other media playing device, that is connected to the Internet and will download podcast episodes and put them on the device.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://users.telenet.be/shanachie/files/PodcastGrabber.tar.gz&quot;&gt;This  piece of python code&lt;/a&gt; is supposed to run on an embedded device without storage. Just a small box that is connected to a docking station using USB. When a USB plug event is detected the main code queries the device specific Plugs for device presence. Podcasts are downloaded and stored directly on the device, without using any intermediate storage. When an episode is saved successfully it&#039;s status is saved in a database on the device. Listened episodes can be marked as such in the database. All configuration, database and storage is device dependant and implemented in a device plugin.&lt;br /&gt;&lt;br /&gt;I can envision more capabilities like BitTorrent support and integration with web-services and maybe an Amarok script to sync the database.&lt;br /&gt;&lt;br /&gt;The code is very rudimentary, only 2 plugs are implemented:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;local storage plug: for testing purposes, can be reused for devices that can be mounted with usb-storage.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ObexFTP plug: I plan to use this for uploading podcasts to my cellphone.  It still uses temporary storage until I add the necessary code to ObexFTP and OpenOBEX.&lt;/li&gt;&lt;/ul&gt;I haven&#039;t put copyright information in the files yet. Mainly because it is using a lot of other code and I haven&#039;t bothered looking at the licences. Feel free to use this code anyway you like.&lt;br /&gt;&lt;br /&gt;I plan to use this code to upload podcasts to my phone from many different computers and embedded platforms without running any commands manualy. That means PodcastGrabber has to run as a service, listening to USB events, I might use HAL for that, but I doubt HAL is very useful on low-storage embedded platforms. 
    </content:encoded>

    <pubDate>Tue, 13 Mar 2007 18:57:09 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/337-guid.html</guid>
    
</item>
<item>
    <title>KDE4: actions menu</title>
    <link>http://amarok.kde.org/blog/archives/336-KDE4-actions-menu.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/336-KDE4-actions-menu.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=336</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=336</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Task driven menu for applications.&lt;br /&gt;Have a &quot;actions&quot; menu in every &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;kde&lt;/span&gt; application containing the most common actions you can do with it. ex. &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;Amarok&lt;/span&gt;: &quot;Play Media&quot;, &quot;Play &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;Audiocd&lt;/span&gt;&quot;, &quot;Quit&quot;. When using the desktop &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;menubar&lt;/span&gt; the actions menu gets renamed to the application name. See &lt;a href=&quot;http://commonideas.blogspot.com/2006/06/kde4-improved-desktop-menubar.html&quot;&gt;my previous post&lt;/a&gt; to see why that is useful.&lt;br /&gt;Every user is different so it could change the order of the actions menu depending on the users usage of those actions. It can even insert actions that are not there by default. I guess most items in a well designed menu can end up in the actions menu. The developers have to tag menu items as actions but only a few of them (most used or default) end up in the actions menu. And, since automation seems to be bad &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_4&quot;&gt;usablility&lt;/span&gt; wise (according to &lt;a href=&quot;http://www.kde.nl/people/ellen.html&quot;&gt;Ellen&lt;/a&gt;), users and developers are able to pin items to the menu.&lt;br /&gt;If you are shouting &quot;this is similar to &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_5&quot;&gt;XP&#039;s&lt;/span&gt; start menu or the &lt;a href=&quot;http://www.kdedevelopers.org/node/2331&quot;&gt;Kickoff menu&lt;/a&gt;&quot;. You are right, only on a single application level and much finer grained.&lt;br /&gt;&lt;br /&gt;In &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_6&quot;&gt;Amarok&lt;/span&gt; we had the problem that users weren&#039;t finding the features we worked so hard to invent and implement just about every release. This actions menu could help the &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_8&quot;&gt;discoverability&lt;/span&gt; of otherwise hard to find but &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_9&quot;&gt;wonderful&lt;/span&gt; features without bothering them with things like &quot;tip of the day&quot; or that damn paperclip.&lt;br /&gt;&lt;br /&gt;Comments are welcome 
    </content:encoded>

    <pubDate>Tue, 13 Mar 2007 17:57:10 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/336-guid.html</guid>
    
</item>
<item>
    <title>Podcast appliance</title>
    <link>http://amarok.kde.org/blog/archives/335-Podcast-appliance.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/335-Podcast-appliance.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=335</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=335</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    Imagine a device dock, device in this case being a phone, iPod or any other media playing device, that is connected to the Internet and will download podcast episodes and put them on the device.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://users.telenet.be/shanachie/files/PodcastGrabber.tar.gz&quot;&gt;This  piece of python code&lt;/a&gt; is supposed to run on an embedded device without storage. Just a small box that is connected to a docking station using USB. When a USB plug event is detected the main code queries the device specific Plugs for device presence. Podcasts are downloaded and stored directly on the device, without using any intermediate storage. When an episode is saved successfully it&#039;s status is saved in a database on the device. Listened episodes can be marked as such in the database. All configuration, database and storage is device dependant and implemented in a &lt;span id=&quot;gtbmisp_6&quot; style=&quot;border: 0pt none ; margin: 0pt; padding: 0pt; background: transparent none repeat scroll 0% 50%; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; font-size-adjust: none; font-stretch: normal; position: static; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left; text-indent: 0pt; text-transform: none; text-decoration: underline; cursor: pointer;font-family:serif;font-size:100%;color:red;&quot;   &gt;device plug&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I can envision more capabilities like BitTorrent support and integration with web-services and maybe an Amarok script to sync the database.&lt;br /&gt;&lt;br /&gt;The code is very rudimentary, only 2 plugs are implemented:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;local storage plug: for testing purposes, can be reused for devices that can be mounted with usb-storage.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ObexFTP plug: I plan to use this for uploading podcasts to my cellphone.  It still uses temporary storage until I add the necessary code to ObexFTP and OpenOBEX.&lt;/li&gt;&lt;/ul&gt;I haven&#039;t put copyright information in the files yet. Mainly because it is using a lot of other code and I haven&#039;t bothered looking at the licences. Feel free to use this code anyway you like.&lt;br /&gt;&lt;br /&gt;I plan to use this code to upload podcasts to my phone from many different computers and embedded platforms without running any commands manualy. That means PodcastGrabber has to run as a service, listening to USB events, I might use HAL for that, but I doubt HAL is very useful on low-storage embedded platforms. 
    </content:encoded>

    <pubDate>Tue, 13 Mar 2007 17:45:12 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/335-guid.html</guid>
    
</item>
<item>
    <title>KDE4: Backstage</title>
    <link>http://amarok.kde.org/blog/archives/321-KDE4-Backstage.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/321-KDE4-Backstage.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=321</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=321</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    The system tray is a limitedand valued realestate. Besides that it is extremely limited, smal icons make it hard to aim and actions can only be added in a menu, usualy right click menu, which is a problem all by itself.&lt;br /&gt;But the problem is there are a lot of apps that use it as a mini taskbar. Like amarok, kontact, kopete, ... to many to name. And then there&#039;s superkaramba with widgets to control programs like amarok and other widgets to display feeds.&lt;br /&gt;There&#039;s an opportunity here, what to do if programs want to remain running without a window open? Minimize them to the desktop as a widget. Of course this is not new, it&#039;s a concept used in CDE and probably others, they just create a icon on the desktop. But this is something different, so bear with me.&lt;br /&gt;&lt;br /&gt;I call this concept &lt;span style=&quot;font-style: italic;&quot;&gt;Backstage&lt;/span&gt;, it would be a part of plasma and a there would be a framework to create &lt;span style=&quot;font-style: italic;&quot;&gt;Backstage widgets&lt;/span&gt; as easy as creating a system tray icon.&lt;br /&gt;&lt;br /&gt;As example: the backstage widget for amarok&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/3827/591/1600/backapp_mockup.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/3827/591/320/backapp_mockup.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;When sitting idle on the desktop and amarok is not playing the widget would look like the big amarok icon without the buttons.&lt;/li&gt;&lt;li&gt;If you move the mouse over the widget the actions swirl around the icon and stop where they are in the image.&lt;/li&gt;&lt;li&gt;When a track is playing the artist and title would rotate around it and the progress is visible by the percentage of the icon that is in grayscale.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Clicking on the action buttons does the expected thing, clicking somewhere else on the widget restores the amarok main window.&lt;/li&gt;&lt;/ul&gt;Practically I would implement this with animated SVG&#039;s for the graphics, Python for the behavior and DCOP for the communication with the parent application.&lt;br /&gt;&lt;br /&gt;Off course the system tray doesn&#039;t need to dissapear completely but at least KDE4 apps that run in the background should have a backstage widget and let the user decide. 
    </content:encoded>

    <pubDate>Wed, 28 Feb 2007 18:33:10 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/321-guid.html</guid>
    
</item>
<item>
    <title>KDE4: Improved desktop menubar</title>
    <link>http://amarok.kde.org/blog/archives/324-KDE4-Improved-desktop-menubar.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/324-KDE4-Improved-desktop-menubar.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=324</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=324</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    &lt;div&gt;I use the desktop menubar all the time. Mainly because it saves some vertical pixels on every window, very useful on my widescreen laptop. I looks cleaner to.&lt;br /&gt;For those of you that don&#039;t know what it is. The desktop menubar shows the menu of the focused application (instead of in the top of the applications main window). It&#039;s a feature borrowed from MacOS.&lt;br /&gt;unfortunately unlike in apple&#039;s OS the menubar doesn&#039;t contain the name of the application the menu belongs to. That creates some confusion for those not used to it and sometimes irritates me.&lt;br /&gt;&lt;br /&gt;I suggest that in KDE4, instead of the usual &quot;File&quot; menu (or in amarok 1.4-svn &quot;Engage&quot;)  be changed to the applications name when using a desktop menubar. Actually, isn&#039;t File a bad place to put the quit item? Settings would fit better in there to. KDElibs4 should just rename the first menu to the application-name or just add a icon in front of it like in the screenshot. I guess a lot more people will start using the menubar then.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/3827/591/1600/deskbar.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/3827/591/320/deskbar.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Wed, 28 Feb 2007 18:33:10 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/324-guid.html</guid>
    
</item>
<item>
    <title>first post</title>
    <link>http://amarok.kde.org/blog/archives/326-first-post.html</link>
            <category>stecchino</category>
    
    <comments>http://amarok.kde.org/blog/archives/326-first-post.html#comments</comments>
    <wfw:comment>http://amarok.kde.org/blog/wfwcomment.php?cid=326</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://amarok.kde.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=326</wfw:commentRss>
    

    <author>nospam@example.com (Bart Cerneels)</author>
    <content:encoded>
    The best ideas are common property.&lt;br /&gt;       Seneca (5 BC - 65 AD), Epistles&lt;br /&gt;&lt;br /&gt;I agree with the ancient roman guy, thats why I&#039;ll post the idea&#039;s I get on the most impractical times in the most awkward places on this blog.&lt;br /&gt;&lt;br /&gt;I&#039;m Bart Cerneels, a.k.a. Shanachie, a.k.a. stecchino, a electronics engineer, free and open-source enthusiast and KDE hacker.&lt;br /&gt;&lt;br /&gt;Want to know what goes on in my head when my eye&#039;s turn glazed and I reach for my notebook? Read this blog! 
    </content:encoded>

    <pubDate>Wed, 28 Feb 2007 18:33:10 +0000</pubDate>
    <guid isPermaLink="false">http://amarok.kde.org/blog/archives/326-guid.html</guid>
    
</item>

</channel>
</rss>
