Bug 206615 - JJ: add itunes itpc protocol support to konqueror
Summary: JJ: add itunes itpc protocol support to konqueror
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Podcast (show other bugs)
Version: 2.3-GIT
Platform: unspecified Linux
: NOR normal
Target Milestone: 2.3.0
Assignee: Amarok Developers
URL:
Keywords: junior-jobs
: 226659 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-09-07 12:54 UTC by Philippe ROUBACH
Modified: 2010-11-03 15:28 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
amarokitpc.protocol (143 bytes, text/plain)
2010-02-17 14:05 UTC, Philippe ROUBACH
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe ROUBACH 2009-09-07 12:54:18 UTC
Version:           4.3.1 (KDE 4.3.1) (using 4.3.1 (KDE 4.3.1), Mandriva Linux release 2010.0 (Cooker) for i586)
Compiler:          gcc
OS:                Linux (i686) release 2.6.31-desktop-0.rc8.1mnb

go to

http://sites.radiofrance.fr/chaines/france-culture/podcast/

click on any "installer dans itunes"
a windows opens :

click on "suivre"

a windows opens :

error message : "protocol non autorisé itpc"

not allowed itpc protocol
Comment 1 FiNeX 2009-09-07 14:28:38 UTC
Did you tried in a GNU/Linux enviroment? iTunes is not available for GNU/Linux, so I don't think this is a bug. It should be tested in a MS Windows enviroment.
Comment 2 Philippe ROUBACH 2009-09-07 15:03:33 UTC
with
Mandriva 2008.1
kde 3.5.9

it works

i find it in my podcast list in amarok

with
Mandriva 2010.0b1
kde 4.3.1

it does not work ther is a regression with kde 4.3.1

is it a konqueror or an amarok pb ?
Comment 3 FiNeX 2009-09-07 16:25:34 UTC
It could be a problem of the new amarok. Moved to amarok.
Comment 4 Myriam Schweingruber 2009-09-07 16:40:06 UTC
Seems very strange to me, more like a distribution problem, rather than an application one...
Comment 5 Myriam Schweingruber 2009-09-07 16:41:16 UTC
Also, what Amarok version are you talking about? And what Amarok version did you upgrade from?
Comment 6 Philippe ROUBACH 2009-09-07 16:49:31 UTC
(In reply to comment #5)
> Also, what Amarok version are you talking about? And what Amarok version did
> you upgrade from?

amarok 2.1.80
Comment 7 Philippe ROUBACH 2009-09-07 18:06:20 UTC
(In reply to comment #5)
> Also, what Amarok version are you talking about? And what Amarok version did
> you upgrade from?

i did not upgrade
i have two os
- mandriva 2008.1 kde 3.5.9 amarok 1.4.10
- mandriva 2010.0b1 kde 4.3.1 amarok 2.1.80
Comment 8 Bart Cerneels 2009-09-21 19:53:21 UTC
Implemented in v2.1.85-102-g0d656b8
Comment 9 Philippe ROUBACH 2009-10-10 16:49:17 UTC
mandriva 2010.0rc1
kde 4.3.2
amarok 2.2.0

pb still there

this bug must be reopened
Comment 10 Philippe ROUBACH 2009-11-29 14:57:51 UTC
i complete the definition of the pb

amarok is now compliant with iptc protocol
but
when you click on an iptc url with konqueror then you have "forbidden protocol"
Comment 11 Bart Cerneels 2009-11-29 15:07:41 UTC
There needs to be a .protocol definition for the itpc://, feed:// and pcast:// and more if we add support for in the future.

This technically is a konqueror bug but I guess we should have these files in our source tree.

Marking this as a junior job. It's not coding but just adding a few text files and testing them.
Comment 12 Myriam Schweingruber 2009-12-17 16:21:06 UTC
Any news on this?
Comment 13 Philippe ROUBACH 2009-12-17 16:35:32 UTC
(In reply to comment #12)
> Any news on this?

i assume 
junior job => summer 2010 thus in source media in autumn 2010
Comment 14 Myriam Schweingruber 2009-12-17 18:57:27 UTC
(In reply to comment #13)
> i assume 
> junior job => summer 2010 thus in source media in autumn 2010

Absolutely not, Junior Jobs in KDE are so called "low hanging fruits", which are easy to fix for beginners. You are welcome to give a hand :)
Comment 15 Bart Cerneels 2009-12-18 08:33:30 UTC
And this specific JJ does not even have to be distributed in Amarok. The best option in fact is shipping via kde-apps.org like the amarok-1.4 "add as podcast".

It's just a KDE .desktop or .protocol file that has to be installed in the right place, not a single line of code extra is needed.
Comment 16 Philippe ROUBACH 2010-02-17 13:46:12 UTC
i created amarokitpc.protocol
then
put it in kde4/services/

amarokitpc.protocol contents :

[Protocol]
exec=amarok "%u"
protocol=itpc
input=none
output=none
helper=true
listing=
reading=false
writing=false
makedir=false
deleting=false

result :
- if amarok is already running

..................................................
nspluginviewer(28777)/nspluginviewer (plugin) NSPluginInstance::timer: looking for waiting requests
konqueror(28434)/khtml (part) KHTMLPart::urlSelected: KHTMLPart(0x8d577f0) complete URL: "itpc://radiofrance-podcast.net/podcast09/rss_10466.xml" target= ""
konqueror(28434) KonqMainWindow::openUrl: url= KUrl("itpc://radiofrance-podcast.net/podcast09/rss_10466.xml") mimeType= "" _req= "[]" view= KonqView(0x8d602c8)
konqueror(28434) KonqMainWindow::openUrl: Creating new konqrun for KUrl("itpc://radiofrance-podcast.net/podcast09/rss_10466.xml") req.typedUrl= ""
Amarok is already running!
.................................................................................................

if amarok is not already running then amarok crashes when launching
....................................................................................................
or waiting requests                                                             
konqueror(29719)/khtml (part) KHTMLPart::urlSelected: KHTMLPart(0x8780090) complete URL: "itpc://radiofrance-podcast.net/podcast09/rss_10466.xml" target= ""    
konqueror(29719) KonqMainWindow::openUrl: url= KUrl("itpc://radiofrance-podcast.net/podcast09/rss_10466.xml") mimeType= "" _req= "[]" view= KonqView(0x877fe90) 
konqueror(29719) KonqMainWindow::openUrl: Creating new konqrun for KUrl("itpc://radiofrance-podcast.net/podcast09/rss_10466.xml") req.typedUrl= ""              
matchString =  "^(itpc|pcast|feed)"                                             
found at  0                                                                     
amarok(30084)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from  "/var/tmp/kdecache-roubach/ksycoca4"                                 
TagLib: MPEG::Properties::read() -- Could not find a valid last MPEG frame in the stream.                                                                       
<unknown program name>(30083)/: Communication problem with  "amarok" , it probably crashed.
Error message was:  "org.freedesktop.DBus.Error.NoReply" : " "Message did not receive a reply (timeout by message bus)" "

KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = amarok path = /usr/bin pid = 30084
sock_file=/home/roubach/.kde4/socket-localhost/kdeinit4__0
konqueror(29719) KProcessRunner::slotProcessExited: ""
...................................................................................................................................

or amarok does nothing
................................................................................................................................
konqueror(29719)/khtml (render) khtml::RenderPosition::getInlineBoxAndOffset: [result] 7 0x8af1408                                                              
konqueror(29719) KonqMainWindow::openUrl: url= KUrl("itpc://radiofrance-podcast.net/podcast09/rss_10466.xml") mimeType= "" _req= "[]" view= KonqView(0x877fe90) 
konqueror(29719) KonqMainWindow::openUrl: Creating new konqrun for KUrl("itpc://radiofrance-podcast.net/podcast09/rss_10466.xml") req.typedUrl= ""              
amarok(31179)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from  "/var/tmp/kdecache-roubach/ksycoca4"                                 
amarok(31179) Phonon::KdePlatformPlugin::createBackend: using backend:  "GStreamer"                                                                             
TagLib: MPEG::Properties::read() -- Could not find a valid last MPEG frame in the stream.                                                                       
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)                                                          
amarok(31179)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:       
amarok(31179)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:       
amarok(31179)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:       
Calling appendChild() on a null node does nothing.                              
Object::connect: No such slot ToolTipManager::startPreviewJob() in /home/mandrake/rpm/BUILD/amarok-2.2.2.90/src/tooltips/ToolTipManager.cpp:68                  
Object::connect: No such slot PlaylistManager::saveCurrentPlaylist() in /home/mandrake/rpm/BUILD/amarok-2.2.2.90/src/playlist/PlaylistWidget.cpp:124            
amarok(31179)/libplasma Plasma::ThemePrivate::config: using theme for app "amarok"                                                                              
QGraphicsLinearLayout::removeAt: invalid index 1                                
amarok(31179)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:       
Object::connect: No such signal CollectionManager::collectionAdded(Amarok::Collection*,CollectionManager::CollectionStatus) in /home/mandrake/rpm/BUILD/amarok-2.2.2.90/src/browsers/collectionbrowser/CollectionWidget.cpp:88                  
amarok(31179)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:       
Object::connect: No such slot QtGroupingProxy::slotRename( QModelIndex ) in /home/mandrake/rpm/BUILD/amarok-2.2.2.90/src/browsers/playlistbrowser/PlaylistsByProviderProxy.cpp:27                                                               
amarok(31179)/kio (KDirListerCache) KDirListerCache::listDir: Listing directory: KUrl("file:///home/roubach")                                                   
amarok(31179)/kio (KDirListerCache) KDirListerCache::forgetDirs: Killing update job for  "file:///home/roubach"                                                 
amarok(31179)/kio (KDirListerCache) KDirListerCache::listDir: Listing directory: KUrl("file:///home/roubach")                                                   
amarok(31179)/kdeui (Wallet) KWallet::Wallet::openWallet: Pass a valid window to KWallet::Wallet::openWallet().                                                 
matchString =  "^(itpc|pcast|feed)"                                             
found at  0                                                                     
amarok:  **********************************************************************************************                                                         
amarok:  ** AMAROK WAS STARTED IN NORMAL MODE. IF YOU WANT TO SEE DEBUGGING INFORMATION, PLEASE USE: **                                                         
amarok:  ** amarok --debug                                                                           **                                                         
amarok:  **********************************************************************************************                                                         
amarok(31179)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(0,0 200x180) associated screen is -1           
amarok(31179)/kio (Slave) KIO::Slave::createSlave: createSlave "file" for KUrl("file:///home/roubach")                                                          
amarok(31179)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on  "local:/home/roubach/tmp/ksocket-roubach/amarokT31179.slave-socket"     
amarok(31179)/kopete (history) Mp3tunesConfig::load: load                       
amarok(31179) MagnatuneConfig::load: load                                       
"index 1 belongs to group Podcasts locaux"                                      
"index 0 belongs to group Podcasts locaux"                                      
Object::connect: No such signal PlaylistBrowserNS::PodcastModel::renameIndex( QModelIndex ) in /home/mandrake/rpm/BUILD/amarok-2.2.2.90/src/browsers/playlistbrowser/PlaylistsByProviderProxy.cpp:27                                            
QWidget::setMinimumSize: (Media Sources dock/AmarokDockWidget) Negative sizes (100,-1) are not possible                                                         
QWidget::setMinimumSize: (Playlist dock/AmarokDockWidget) Negative sizes (255,-1) are not possible                                                              
QPainter::begin: Paint device returned engine == 0, type: 2                     
QPainter::setCompositionMode: Painter not active                      
..................................................................................................................................................
Comment 17 Philippe ROUBACH 2010-02-17 14:03:35 UTC
amarok tests with amarok 2.2.2.90

ok all works
the itunes podcast is well added and played

a problem remains

if amarok is not running
then
in konqueror
click on the itunes link
then
answer "follow"
then
amarok is launched
then
amarok  crashes
then
click on the itunes link
then
answer "follow"
then
amarok is launched
then
the itunes podcast is well added and played

see the joined file
Comment 18 Philippe ROUBACH 2010-02-17 14:05:01 UTC
Created attachment 40873 [details]
amarokitpc.protocol
Comment 19 Myriam Schweingruber 2010-02-17 14:10:31 UTC
Philippe, please make a merge request on Gitorious: http://gitorious.org/amarok/amarok
Also I think discussion about this should happen in the merge request, not in the bug report :)
Comment 20 Philippe ROUBACH 2010-02-17 14:43:27 UTC
(In reply to comment #19)
> Philippe, please make a merge request on Gitorious:
> http://gitorious.org/amarok/amarok
> Also I think discussion about this should happen in the merge request, not in
> the bug report :)

sorry but i have a lack of knowledge to go further
Comment 21 Nicolas L. 2010-02-17 15:27:58 UTC
i created a merge request http://gitorious.org/amarok/amarok/merge_requests/124
Comment 22 Nicolas L. 2010-02-17 16:08:10 UTC
commit 36474886aa05ae3b9c9d06688dfb7f9565b3924a
Author: Nicolas Lécureuil <nlecureuil@mandriva.com>
Date:   Wed Feb 17 15:21:39 2010 +0100

    Install amarokitpc.protocol to be able to play itunes links in the
    webbrower if amarok is off
    BUG:206615

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3a224cc..15e49d5 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -818,7 +818,7 @@ install(FILES amarok-play-audiocd.desktop DESTINATION ${DATA_INSTALL_DIR}/solid/
 install(FILES amarok.knsrc DESTINATION ${CONFIG_INSTALL_DIR})
 install(FILES context/amarokapplets.knsrc DESTINATION ${CONFIG_INSTALL_DIR})
 
-#install(FILES amarokitpc.protocol DESTINATION ${SERVICES_INSTALL_DIR})
+install(FILES amarokitpc.protocol DESTINATION ${SERVICES_INSTALL_DIR})
 #install(FILES amarokpcast.protocol DESTINATION ${SERVICES_INSTALL_DIR})
 
 install(FILES context/servicetypes/amarok_context_applet.desktop
Comment 23 Panagiotis Papadopoulos 2010-11-03 15:28:33 UTC
*** Bug 226659 has been marked as a duplicate of this bug. ***