|
From: <mr...@us...> - 2012-02-01 20:57:25
|
Revision: 677
http://openautomation.svn.sourceforge.net/openautomation/?rev=677&view=rev
Author: mrremy
Date: 2012-02-01 20:57:18 +0000 (Wed, 01 Feb 2012)
Log Message:
-----------
add port to config of upnpcontroller
Modified Paths:
--------------
CometVisu/trunk/visu/plugins/upnpcontroller/mute.php
CometVisu/trunk/visu/plugins/upnpcontroller/next.php
CometVisu/trunk/visu/plugins/upnpcontroller/pause.php
CometVisu/trunk/visu/plugins/upnpcontroller/play.php
CometVisu/trunk/visu/plugins/upnpcontroller/prev.php
CometVisu/trunk/visu/plugins/upnpcontroller/status.php
CometVisu/trunk/visu/plugins/upnpcontroller/structure_plugin.js
CometVisu/trunk/visu/plugins/upnpcontroller/upnpctrl_util.php
CometVisu/trunk/visu/plugins/upnpcontroller/volume.php
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/mute.php
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/mute.php 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/mute.php 2012-02-01 20:57:18 UTC (rev 677)
@@ -24,7 +24,7 @@
$cmd_setmute='POST /MediaRenderer/RenderingControl/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 314
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#SetMute"
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/next.php
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/next.php 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/next.php 2012-02-01 20:57:18 UTC (rev 677)
@@ -23,7 +23,7 @@
$cmd_next='POST /MediaRenderer/AVTransport/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 250
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#Next"
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/pause.php
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/pause.php 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/pause.php 2012-02-01 20:57:18 UTC (rev 677)
@@ -23,7 +23,7 @@
$cmd_pause='POST /MediaRenderer/AVTransport/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 252
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#Pause"
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/play.php
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/play.php 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/play.php 2012-02-01 20:57:18 UTC (rev 677)
@@ -23,7 +23,7 @@
$cmd_play='POST /MediaRenderer/AVTransport/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 266
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#Play"
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/prev.php
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/prev.php 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/prev.php 2012-02-01 20:57:18 UTC (rev 677)
@@ -23,7 +23,7 @@
$cmd_prev = 'POST /MediaRenderer/AVTransport/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 258
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#Previous"
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/status.php
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/status.php 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/status.php 2012-02-01 20:57:18 UTC (rev 677)
@@ -18,12 +18,17 @@
require 'upnpctrl_util.php';
-//header("content-type: text/html");
-header("content-type: text/json");
+$format = $_GET['format'];
+if($format == 'html'){
+ header("content-type: text/html");
+}else{
+ header("content-type: text/json");
+}
+
$cmd_getvolume='POST /MediaRenderer/RenderingControl/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 296
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
@@ -32,7 +37,7 @@
$cmd_getmute='POST /MediaRenderer/RenderingControl/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 288
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
@@ -41,7 +46,7 @@
$cmd_getpositioninfo='POST /MediaRenderer/AVTransport/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 299
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#GetPositionInfo"
@@ -50,7 +55,7 @@
$cmd_gettransportinfo='POST /MediaRenderer/AVTransport/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 274
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#GetTransportInfo"
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/structure_plugin.js
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/structure_plugin.js 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/structure_plugin.js 2012-02-01 20:57:18 UTC (rev 677)
@@ -19,6 +19,8 @@
$( 'head' ).append( '<link rel="stylesheet" href="plugins/upnpcontroller/upnpcontroller.css" type="text/css" />' );
var upnpcontroller_uid;
+var upnpcontroller_trace_flag;
+var upnpcontroller_song_process_rel;
VisuDesign_Custom.prototype.addCreator("upnpcontroller", {
@@ -45,6 +47,7 @@
controller.append( "<div id='" + id + "_artist' class='upnplabelgroup'><div class='upnplabel'>Artist</div><div class='value'>-</div></div>");
controller.append( "<div id='" + id + "_album' class='upnplabelgroup'><div class='upnplabel'>Album</div><div class='value'>-</div></div>");
controller.append( "<div id='" + id + "_time' class='upnplabelgroup'><div class='upnplabel'></div><div class='value'>-</div></div>");
+ controller.append( "<div style='float: left;'><progress id='" + id + "_progress' max='100' value='0'></progress></div>" );
controller.append( "<div style='float: left;'><div id='" + id + "_volumedown' class='actor center switchUnpressed'><div class='value'>-</div></div>"
+ "<div id='" + id + "_volume' class='actor center switchInvisible' style='text-align: center;'><div class='value'>20</div></div>"
+ "<div id='" + id + "_volumeup' class='actor center switchUnpressed'><div class='value'>+</div></div></div>" );
@@ -52,6 +55,8 @@
+ "<div id='" + id + "_muteButton' class='actor switchUnpressed center'><div class='value'>-</div></div>" );
controller.append( "<div style='float: left;'><div id='" + id + "_prev' class='actor switchUnpressed center'><div class='value'>prev</div></div>"
+ "<div id='" + id + "_next' class='actor switchUnpressed center'><div class='value'>next</div></div></div>" );
+ controller.append( "<div style='float: left;'><div id='" + id + "_getplaylists' class='actor switchUnpressed center'><div class='value'>play lists</div></div></div>" );
+ controller.append( "<div style='float: left;'><div id='" + id + "_playlistsresult'><div class='value'></div></div></div>" );
upnpcontroller.html(controller);
@@ -64,7 +69,15 @@
upnpcontroller.data("refresh", $p.attr("refresh"));
upnpcontroller.data("player_ip", $p.attr("player_ip_addr"));
upnpcontroller.data("debug", $p.attr("debug"));
+
+ if($p.attr("player_port") != undefined){
+ upnpcontroller.data("player_port", $p.attr("player_port"));
+ }else{
+ upnpcontroller.data("player_port", '1400');
+ }
+ upnpcontroller_trace_flag = $p.attr("debug");
+
refreshUpnpcontroller(upnpcontroller, {}, false);
return ret_val;
@@ -72,6 +85,7 @@
attributes: {
label: {type: "string", required: true},
player_ip_addr: {type: "string", required: true},
+ player_port: {type: "string", required: false},
refresh: {type: "numeric", required: true},
debug: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
},
@@ -83,17 +97,15 @@
var upnpcontroller = $(upnpcontroller);
var playerIp = upnpcontroller.data("player_ip");
+ var playerPort = upnpcontroller.data("player_port");
var id = upnpcontroller.data("id");
- var debug = upnpcontroller.data("debug");
var eventsRegistered = upnpcontroller.data("eventsRegistered");
var label = upnpcontroller.data("label");
var refresh = upnpcontroller.data("refresh");
- console.log("debug: " + debug);
-
- if(debug == 'true'){
- console.log("playerIp: " + playerIp);
- }
+ trace("debug : " + upnpcontroller_trace_flag);
+ trace("playerIp : " + playerIp);
+ trace("playerPort: " + playerPort);
function updateContoller( volume, mute, playMode, title, reltime, duration, artist, album){
@@ -121,15 +133,19 @@
$('#' + id + '_album div.value').text(album);
$('#' + id + '_time div.value').text(reltime + ' of ' + duration);
+ upnpcontroller_song_process_rel = calculateSongProcessed(reltime, duration);
+ trace("song_process_rel: " + upnpcontroller_song_process_rel);
+ $('#' + id + '_progress').attr({value: upnpcontroller_song_process_rel});
+
}
$.ajax({
type: "GET",
datatype: "JSON",
- url: "plugins/upnpcontroller/status.php?player_ip_addr=" + playerIp,
+ url: "plugins/upnpcontroller/status.php?player_ip_addr=" + playerIp + "&port=" + playerPort,
success: function(data){
- if(debug == 'true'){
+ if(upnpcontroller_trace_flag == 'true'){
console.log("volume : " + data.volume);
console.log("reltime : " + data.reltimeResponse);
console.log("durationResponse: " + data.durationResponse);
@@ -150,9 +166,11 @@
$('#' + upnpcontroller_uid + '_prev').bind('click', callPrev);
$('#' + upnpcontroller_uid + '_volumedown').bind('click', callvolumedown);
$('#' + upnpcontroller_uid + '_volumeup').bind('click', callvolumeup);
+ $('#' + upnpcontroller_uid + '_getplaylists').bind('click', callgetplaylists);
upnpcontroller.data("eventsRegistered", eventsRegistered + 1);
}
+
//refresh regularly
if (typeof (refresh) != "undefined" && refresh && oneTimeCall == false) {
@@ -165,20 +183,88 @@
return false;
}
+function calculateSongProcessed(reltime, duration) {
+ var result = 0;
+ var secondsTotal = 0;
+ var secondsProcessed = 0;
+ trace("calculateSongProcessed");
+
+ durationParts = duration.split(':');
+ secondsTotal = Number(durationParts[2]) + Number(durationParts[1]) * 60 + Number(durationParts[0]) * 60 * 60;
+ reltimeParts = reltime.split(':');
+ secondsProcessed = Number(reltimeParts[2]) + Number(reltimeParts[1]) * 60 + Number(reltimeParts[0]) * 60 * 60;
+ trace("secondsTotal : " + secondsTotal);
+ trace("secondsProcessed: " + secondsProcessed);
+
+ result = Math.floor(secondsProcessed * 100 / secondsTotal);
+
+ return result;
+}
+
+function callgetplaylists() {
+ trace("click callgetplaylists");
+ var upnpctrl = $("#" + upnpcontroller_uid);
+ var playerIp = upnpctrl.data("player_ip");
+ var playerPort = upnpctrl.data("player_port");
+ var currentValue= $('#' + upnpcontroller_uid + '_getplaylists').attr('value');
+
+ trace("currentValue: " + currentValue);
+ trace("playerPort : " + playerPort);
+
+ $.ajax({
+ type: "GET",
+ datatype: "JSON",
+ url: "plugins/upnpcontroller/playlists.php?player_ip_addr=" + playerIp,
+ success: function(data){
+ var playlists = '';
+
+ trace("totalMatches: " + data.totalMatches);
+
+ for(var i = 0; i < data.playLists.length; i++){
+ playlists += "<a href='"
+ + "plugins/upnpcontroller/selectplaylist.php?player_ip_addr=" + playerIp
+ + "&listurl=" + data.playLists[i].urlenc + "&port=" + playerPort + "'>"
+ + data.playLists[i].name + "</a></br>";
+
+ if(upnpcontroller_trace_flag == 'true'){
+ console.log("name: " + data.playLists[i].name);
+ console.log("url: " + data.playLists[i].url);
+ }
+ }
+
+ if(currentValue != 'pressed'){
+ $('#' + upnpcontroller_uid + '_playlistsresult div.value').html(playlists);
+ $('#' + upnpcontroller_uid + '_getplaylists').attr({value: 'pressed'});
+ $('#' + upnpcontroller_uid + '_getplaylists').removeClass('switchUnpressed');
+ $('#' + upnpcontroller_uid + '_getplaylists').addClass('switchPressed');
+ }else{
+ $('#' + upnpcontroller_uid + '_playlistsresult div.value').text('');
+ $('#' + upnpcontroller_uid + '_getplaylists').attr({value: 'unpressed'});
+ $('#' + upnpcontroller_uid + '_getplaylists').removeClass('switchPressed');
+ $('#' + upnpcontroller_uid + '_getplaylists').addClass('switchUnpressed');
+ }
+
+
+ }
+ });
+}
+
function callvolumedown() {
- console.log("click callvolumedown");
+ trace("click callvolumedown");
var upnpctrl = $("#" + upnpcontroller_uid);
var playerIp = upnpctrl.data("player_ip");
+ var playerPort = upnpctrl.data("player_port");
var currentVolume = $('#' + upnpcontroller_uid + '_volume div.value').text();
- console.log("currentVolume: " + currentVolume);
-
+ trace("currentVolume: " + currentVolume);
+ trace("playerPort : " + playerPort);
+
var volume = Number(currentVolume) - 5;
$.ajax({
type: "GET",
datatype: "JSON",
- url: "plugins/upnpcontroller/volume.php?player_ip_addr=" + playerIp + "&volume=" + volume,
+ url: "plugins/upnpcontroller/volume.php?player_ip_addr=" + playerIp + "&volume=" + volume + "&port=" + playerPort,
success: function(data){
console.log("data: " + data);
}
@@ -186,63 +272,73 @@
}
function callvolumeup() {
- console.log("click callvolumeup");
+ trace("click callvolumeup");
var upnpctrl = $("#" + upnpcontroller_uid);
var playerIp = upnpctrl.data("player_ip");
+ var playerPort = upnpctrl.data("player_port");
var currentVolume = $('#' + upnpcontroller_uid + '_volume div.value').text();
- console.log("currentVolume: " + currentVolume);
-
+ trace("currentVolume: " + currentVolume);
+ trace("playerPort : " + playerPort);
+
var volume = Number(currentVolume) + 5;
$.ajax({
type: "GET",
datatype: "JSON",
- url: "plugins/upnpcontroller/volume.php?player_ip_addr=" + playerIp + "&volume=" + volume,
+ url: "plugins/upnpcontroller/volume.php?player_ip_addr=" + playerIp + "&volume=" + volume + "&port=" + playerPort,
success: function(data){
- console.log("data: " + data);
+ trace("data: " + data);
}
});
}
function callNext() {
- console.log("click next");
+ trace("click next");
var upnpctrl = $("#" + upnpcontroller_uid);
var playerIp = upnpctrl.data("player_ip");
+ var playerPort = upnpctrl.data("player_port");
+
+ trace("playerPort : " + playerPort);
$.ajax({
type: "GET",
datatype: "JSON",
- url: "plugins/upnpcontroller/next.php?player_ip_addr=" + playerIp,
+ url: "plugins/upnpcontroller/next.php?player_ip_addr=" + playerIp + "&port=" + playerPort,
success: function(data){
- console.log("data: " + data);
+ trace("data: " + data);
}
});
}
function callPrev() {
- console.log("click prev");
+ trace("click prev");
var upnpctrl = $("#" + upnpcontroller_uid);
var playerIp = upnpctrl.data("player_ip");
+ var playerPort = upnpctrl.data("player_port");
+
+ trace("playerPort : " + playerPort);
$.ajax({
type: "GET",
datatype: "JSON",
- url: "plugins/upnpcontroller/prev.php?player_ip_addr=" + playerIp,
+ url: "plugins/upnpcontroller/prev.php?player_ip_addr=" + playerIp + "&port=" + playerPort,
success: function(data){
- console.log("data: " + data);
+ trace("data: " + data);
}
});
}
function toggleMute() {
- console.log("click mute");
+ trace("click mute");
var upnpctrl = $("#" + upnpcontroller_uid);
var playerIp = upnpctrl.data("player_ip");
+ var playerPort = upnpctrl.data("player_port");
var muteValue = $('#' + upnpcontroller_uid + '_muteButton div.value').text();
-
- console.log("current muteValue: " + muteValue);
+
+ trace("current muteValue: " + muteValue);
+ trace("playerPort : " + playerPort);
if(muteValue == 0){
muteValue = 1;
@@ -257,9 +353,9 @@
$.ajax({
type: "GET",
datatype: "JSON",
- url: "plugins/upnpcontroller/mute.php?mute=" + muteValue + "&player_ip_addr=" + playerIp,
+ url: "plugins/upnpcontroller/mute.php?mute=" + muteValue + "&player_ip_addr=" + playerIp + "&port=" + playerPort,
success: function(data){
- console.log("data: " + data);
+ trace("data: " + data);
}
});
@@ -267,13 +363,15 @@
}
function togglePlay() {
- console.log("click play");
+ trace("click play");
var upnpctrl = $("#" + upnpcontroller_uid);
var playerIp = upnpctrl.data("player_ip");
+ var playerPort = upnpctrl.data("player_port");
var playValue = $('#' + upnpcontroller_uid + '_playButton div.value').text();
var cmd;
- console.log("current playValue: " + playValue);
+ trace("current playValue: " + playValue);
+ trace("playerPort : " + playerPort);
if(playValue == 'Play'){
cmd = 'pause';
@@ -288,12 +386,18 @@
$.ajax({
type: "GET",
datatype: "JSON",
- url: "plugins/upnpcontroller/" + cmd + ".php?player_ip_addr=" + playerIp,
+ url: "plugins/upnpcontroller/" + cmd + ".php?player_ip_addr=" + playerIp + "&port=" + playerPort,
success: function(data){
- console.log("data: " + data);
+ trace("data: " + data);
}
});
refreshUpnpcontroller(upnpctrl, {}, true);
}
+function trace(msg){
+ if(upnpcontroller_trace_flag == 'true'){
+ console.log(msg);
+ }
+}
+
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/upnpctrl_util.php
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/upnpctrl_util.php 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/upnpctrl_util.php 2012-02-01 20:57:18 UTC (rev 677)
@@ -17,6 +17,7 @@
*/
$address = $_GET['player_ip_addr'];
+$port = $_GET['port'];
$port = 1400;
$error_msg;
Modified: CometVisu/trunk/visu/plugins/upnpcontroller/volume.php
===================================================================
--- CometVisu/trunk/visu/plugins/upnpcontroller/volume.php 2012-02-01 18:34:01 UTC (rev 676)
+++ CometVisu/trunk/visu/plugins/upnpcontroller/volume.php 2012-02-01 20:57:18 UTC (rev 677)
@@ -24,7 +24,7 @@
$cmd_setvolume='POST /MediaRenderer/RenderingControl/Control HTTP/1.1
CONNECTION: close
-HOST: '.$address.':1400
+HOST: '.$address.':'.$port.'
CONTENT-LENGTH: 32'.strlen($volume).'
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|