? docs/libUPnP
? docs/libUPnP.rar
? xbmc/FileSystem/UPnPDirectory.cpp
? xbmc/FileSystem/UPnPDirectory.h
? xbmc/lib/libUPnP
? xbmc/xbox/XBMC
Index: xbmc.vcproj
===================================================================
RCS file: /cvsroot/xbmc/XBMC/xbmc.vcproj,v
retrieving revision 1.335
diff -u -r1.335 xbmc.vcproj
--- xbmc.vcproj 28 Jun 2006 05:31:30 -0000 1.335
+++ xbmc.vcproj 29 Jun 2006 08:36:49 -0000
@@ -2016,6 +2016,27 @@
RelativePath=".\xbmc\FileSystem\StackDirectory.h">
+
+
+
+
+
+
+
+
+
+
+
+
+
smb://
+ UPnP
+ upnp://192.168.1.30:1901/
+
+
iTunes Network Share (DAAP)
daap://192.168.1.100
Index: xbmc/Application.cpp
===================================================================
RCS file: /cvsroot/xbmc/XBMC/xbmc/Application.cpp,v
retrieving revision 1.745
diff -u -r1.745 Application.cpp
--- xbmc/Application.cpp 29 Jun 2006 06:47:19 -0000 1.745
+++ xbmc/Application.cpp 29 Jun 2006 09:02:12 -0000
@@ -128,6 +128,7 @@
#pragma comment (lib,"xbmc/lib/libsidplay/libsidutilsd.lib") // SECTIONNAME=SID_RW,SID_RX
#pragma comment (lib,"xbmc/lib/libsidplay/resid_builderd.lib") // SECTIONNAME=SID_RW,SID_RX*/
#pragma comment (lib,"xbmc/lib/libxdaap/libxdaapd.lib") // SECTIONNAME=LIBXDAAP
+ #pragma comment (lib,"xbmc/lib/libUPnP/libPlatinumd.lib")
#pragma comment (lib,"xbmc/lib/libiconv/libiconvd.lib")
#pragma comment (lib,"xbmc/lib/libfribidi/libfribidid.lib")
#pragma comment (lib,"xbmc/lib/unrarXlib/unrarxlibd.lib")
@@ -145,6 +146,7 @@
#pragma comment (lib,"xbmc/lib/libsidplay/libsidutils.lib") // SECTIONNAME=SID_RW,SID_RX
#pragma comment (lib,"xbmc/lib/libsidplay/resid_builder.lib") // SECTIONNAME=SID_RW,SID_RX*/
#pragma comment (lib,"xbmc/lib/libxdaap/libxdaap.lib") // SECTIONNAME=LIBXDAAP
+ #pragma comment (lib,"xbmc/lib/libUPnP/libPlatinum.lib")
#pragma comment (lib,"xbmc/lib/libiconv/libiconv.lib")
#pragma comment (lib,"xbmc/lib/libfribidi/libfribidi.lib")
#pragma comment (lib,"xbmc/lib/unrarXlib/unrarxlib.lib")
Index: xbmc/GUIMediaWindow.cpp
===================================================================
RCS file: /cvsroot/xbmc/XBMC/xbmc/GUIMediaWindow.cpp,v
retrieving revision 1.45
diff -u -r1.45 GUIMediaWindow.cpp
--- xbmc/GUIMediaWindow.cpp 26 Jun 2006 19:21:11 -0000 1.45
+++ xbmc/GUIMediaWindow.cpp 29 Jun 2006 04:28:03 -0000
@@ -426,7 +426,6 @@
}
CStdString strOldDirectory = m_vecItems.m_strPath;
-
m_history.SetSelectedItem(strSelectedItem, strOldDirectory);
ClearFileItems();
@@ -438,10 +437,17 @@
// false. Else, we assume we can get the previous directory
if (strDirectory.Equals(strOldDirectory))
return false;
- return !Update(strOldDirectory); // We assume, we can get the parent
- } // directory again, but we have to
- // return false to be able to eg. show
- // an error message.
+
+ // We assume, we can get the parent
+ // directory again, but we have to
+ // return false to be able to eg. show
+ // an error message.
+ CStdString strParentPath = m_history.GetParentPath();
+ m_history.RemoveParentPath();
+ Update(strParentPath);
+ return false;
+ }
+
// if we're getting the root bookmark listing
// make sure the path history is clean
Index: xbmc/FileSystem/FactoryDirectory.cpp
===================================================================
RCS file: /cvsroot/xbmc/XBMC/xbmc/FileSystem/FactoryDirectory.cpp,v
retrieving revision 1.27
diff -u -r1.27 FactoryDirectory.cpp
--- xbmc/FileSystem/FactoryDirectory.cpp 26 Jun 2006 12:35:47 -0000 1.27
+++ xbmc/FileSystem/FactoryDirectory.cpp 29 Jun 2006 04:29:22 -0000
@@ -19,6 +19,7 @@
#include "MusicDatabaseDirectory.h"
#include "StackDirectory.h"
#include "PlaylistDirectory.h"
+#include "UPnPDirectory.h"
/*!
\brief Create a IDirectory object of the share type specified in \e strPath .
@@ -44,6 +45,7 @@
if (strProtocol == "rtv") return new CRTVDirectory();
if (strProtocol == "soundtrack") return new CSndtrkDirectory();
if (strProtocol == "daap") return new CDAAPDirectory();
+ if (strProtocol == "upnp") return new CUPnPDirectory();
if (strProtocol == "shout") return new CShoutcastDirectory();
if (strProtocol == "lastfm") return new CLastFMDirectory();
if (strProtocol == "zip") return new CZipDirectory();
Index: xbmc/FileSystem/FileCurl.cpp
===================================================================
RCS file: /cvsroot/xbmc/XBMC/xbmc/FileSystem/FileCurl.cpp,v
retrieving revision 1.20
diff -u -r1.20 FileCurl.cpp
--- xbmc/FileSystem/FileCurl.cpp 11 Jun 2006 19:33:38 -0000 1.20
+++ xbmc/FileSystem/FileCurl.cpp 21 Jun 2006 22:55:07 -0000
@@ -295,7 +295,7 @@
bool isstream = false;
if( url2.GetProtocol().Equals("ftpx") )
url2.SetProtocol("ftp");
- else if( url2.GetProtocol().Equals("shout") || url2.GetProtocol().Equals("daap") )
+ else if( url2.GetProtocol().Equals("shout") || url2.GetProtocol().Equals("daap") || url2.GetProtocol().Equals("upnp") )
url2.SetProtocol("http");
if( url2.GetProtocol().Equals("ftp") )
@@ -482,7 +482,7 @@
CURL url2(url);
if( url2.GetProtocol().Equals("ftpx") )
url2.SetProtocol("ftp");
- else if( url2.GetProtocol().Equals("shout") || url2.GetProtocol().Equals("daap") )
+ else if( url2.GetProtocol().Equals("shout") || url2.GetProtocol().Equals("daap") || url2.GetProtocol().Equals("upnp") )
url2.SetProtocol("http");
/* ditch options as it's not supported on ftp */
Index: xbmc/FileSystem/FileFactory.cpp
===================================================================
RCS file: /cvsroot/xbmc/XBMC/xbmc/FileSystem/FileFactory.cpp,v
retrieving revision 1.25
diff -u -r1.25 FileFactory.cpp
--- xbmc/FileSystem/FileFactory.cpp 8 Jun 2006 01:46:23 -0000 1.25
+++ xbmc/FileSystem/FileFactory.cpp 21 Jun 2006 22:55:07 -0000
@@ -39,6 +39,7 @@
if (strProtocol.Equals("http") || strProtocol.Equals("https")) return new CFileCurl();
else if (strProtocol.Equals("ftp") || strProtocol.Equals("ftpx")) return new CFileCurl();
+ else if (strProtocol.Equals("upnp")) return new CFileCurl();
else if (strProtocol == "iso9660") return new CFileISO();
else if (strProtocol == "smb") return new CFileSMB();
else if (strProtocol == "xbms") return new CFileXBMSP();
Index: xbmc/FileSystem/VirtualDirectory.cpp
===================================================================
RCS file: /cvsroot/xbmc/XBMC/xbmc/FileSystem/VirtualDirectory.cpp,v
retrieving revision 1.60
diff -u -r1.60 VirtualDirectory.cpp
--- xbmc/FileSystem/VirtualDirectory.cpp 26 Jun 2006 19:21:12 -0000 1.60
+++ xbmc/FileSystem/VirtualDirectory.cpp 29 Jun 2006 04:28:06 -0000
@@ -123,7 +123,8 @@
|| strPath.Left(8).Equals("shout://")
|| strPath.Left(8).Equals("https://")
|| strPath.Left(7).Equals("http://")
- || strPath.Left(7).Equals("daap://") )
+ || strPath.Left(7).Equals("daap://")
+ || strPath.Left(7).Equals("upnp://") )
{
// Only cache directory we are getting now
if (!strPath.Left(7).Equals("lastfm:") && !strPath.Left(8).Equals("shout://"))
Index: xbmc/cores/PlayerCoreFactory.cpp
===================================================================
RCS file: /cvsroot/xbmc/XBMC/xbmc/cores/PlayerCoreFactory.cpp,v
retrieving revision 1.40
diff -u -r1.40 PlayerCoreFactory.cpp
--- xbmc/cores/PlayerCoreFactory.cpp 1 Jun 2006 02:17:50 -0000 1.40
+++ xbmc/cores/PlayerCoreFactory.cpp 21 Jun 2006 22:52:54 -0000
@@ -95,7 +95,7 @@
vecCores.push_back(EPC_PAPLAYER);
}
- if (url.GetProtocol().Equals("daap")) // mplayer is better for daap
+ if (url.GetProtocol().Equals("daap") || url.GetProtocol().Equals("upnp")) // mplayer is better for daap
{
// due to us not using curl for all url handling, extension checking doesn't work
// when there is an option at the end of the url. should eventually be moved over