sonos

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit e5b8dc17be63d3536d709205374ac8cbf43135d4
parent a68900a8bb341244e680e2a0764f699f4b158184
Author: Brian Swetland <swetland@frotz.net>
Date:   Sun, 14 Aug 2011 18:51:48 -0700

add getter for transport uri

Diffstat:
Mnet/frotz/sonos/Sonos.java | 15++++++++++++++-
Mnet/frotz/sonos/app.java | 7+++++--
2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/net/frotz/sonos/Sonos.java b/net/frotz/sonos/Sonos.java @@ -164,13 +164,26 @@ public class Sonos { xml.print(System.out,1024); xml.rewind(); } - public void set(String uri) { + public void setTransportURI(String uri) { rpc.prepare(xport,"SetAVTransportURI"); rpc.simpleTag("InstanceID",0); rpc.simpleTag("CurrentURI",uri); rpc.simpleTag("CurrentURIMetaData",""); rpc.invoke(); } + public String getTransportURI() { + rpc.prepare(xport,"GetMediaInfo"); + rpc.simpleTag("InstanceID",0); + XML xml = rpc.invoke(); + try { + xml.open("u:GetMediaInfoResponse"); + xml.read("NrTracks"); + xml.read("MediaDuration"); + return xml.read("CurrentURI").toString(); + } catch (XML.Oops x) { + return null; + } + } public void add(String uri) { rpc.prepare(xport,"AddURIToQueue"); rpc.simpleTag("InstanceID",0); diff --git a/net/frotz/sonos/app.java b/net/frotz/sonos/app.java @@ -61,8 +61,11 @@ public class app implements SonosListener { sonos.browse(args[1],a); } else if (cmd.equals("add")) { sonos.add(args[1]); - } else if (cmd.equals("set")) { - sonos.set(args[1]); + } else if (cmd.equals("setxport")) { + sonos.setTransportURI(args[1]); + } else if (cmd.equals("getxport")) { + String x = sonos.getTransportURI(); + System.out.println(x); } else if (cmd.equals("remove")) { sonos.remove(args[1]); } else if (cmd.equals("removeall")) {