[vlc-commits] commit: luahttp: fix service discovery loading. ( Rémi Duraffort )

git at videolan.org git at videolan.org
Mon Apr 5 11:37:01 CEST 2010


vlc | branch: master | Rémi Duraffort <ivoire at videolan.org> | Mon Apr  5 11:35:18 2010 +0200| [a9e4799e43b57739786acf23efaa65e1379887ea] | committer: Rémi Duraffort 

luahttp: fix service discovery loading.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a9e4799e43b57739786acf23efaa65e1379887ea
---

 share/lua/http/dialogs/playlist    |    8 +++++++-
 share/lua/http/js/functions.js     |    4 ++--
 share/lua/http/requests/status.xml |   11 ++++++++---
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/share/lua/http/dialogs/playlist b/share/lua/http/dialogs/playlist
index cf3f58a..01814cc 100644
--- a/share/lua/http/dialogs/playlist
+++ b/share/lua/http/dialogs/playlist
@@ -83,7 +83,13 @@ This dialog needs the following dialogs to be fully functional: <none>
           <?vlc
             local sd = vlc.sd.get_services_names()
             for n,ln in pairs(sd) do
-              print([[<button onclick="pl_sd(']]..n..[[');hide_menu('menu_sd');" onmouseover="setclass(this,'menuover');" onmouseout="setclass(this,'menuout');" class="menuout" title="Toggle ]]..ln..[[" >]]..ln..[[</button><br/>]])
+                local sdname = string.gsub(n, "([^{]*)({.*)", "%1")
+                local islua = 0
+                if(sdname == "lua") then
+                    sdname = string.gsub(n, "(lua{sd=')([^']*)'(.*)", "%2")
+                    islua = 1
+                end
+              print([[<button class="menuout" onclick='pl_sd("]]..sdname..[[", "]]..islua..[[");hide_menu("menu_sd");' onmouseover="setclass(this,'menuover');" onmouseout="setclass(this,'menuout');" class="menuout" title="Toggle ]]..ln..[[" >]]..ln..[[</button><br/>]])
             end
           ?>
           </div>
diff --git a/share/lua/http/js/functions.js b/share/lua/http/js/functions.js
index fc0ed92..d75aa16 100644
--- a/share/lua/http/js/functions.js
+++ b/share/lua/http/js/functions.js
@@ -360,9 +360,9 @@ function pl_repeat()
 {
     loadXMLDoc( 'requests/status.xml?command=pl_repeat', parse_status );
 }
-function pl_sd( value )
+function pl_sd( value, islua )
 {
-    loadXMLDoc( 'requests/status.xml?command=pl_sd&val='+value, parse_status );
+    loadXMLDoc( 'requests/status.xml?command=pl_sd&val='+value+'&islua='+islua, parse_status );
 }
 
 /* misc actions */
diff --git a/share/lua/http/requests/status.xml b/share/lua/http/requests/status.xml
index f4fc486..17c76df 100644
--- a/share/lua/http/requests/status.xml
+++ b/share/lua/http/requests/status.xml
@@ -79,10 +79,15 @@ elseif command == "pl_loop" then
 elseif command == "pl_repeat" then
   vlc.playlist.repeat_()
 elseif command == "pl_sd" then
-  if vlc.sd.is_loaded(val) then
-    vlc.sd.remove(val)
+  if(_GET['islua'] == "1") then
+    sdname = "lua{sd='" .. val .. "'}"
   else
-    vlc.sd.add(val)
+    sdname = val
+  end
+  if vlc.sd.is_loaded(sdname) then
+    vlc.sd.remove(sdname)
+  else
+    vlc.sd.add(sdname)
   end
 elseif command == "fullscreen" then
   vlc.fullscreen()



More information about the vlc-commits mailing list