diff options
Diffstat (limited to 'libraries/oscP5/reference/oscP5/OscBundle.html')
-rw-r--r-- | libraries/oscP5/reference/oscP5/OscBundle.html | 765 |
1 files changed, 765 insertions, 0 deletions
diff --git a/libraries/oscP5/reference/oscP5/OscBundle.html b/libraries/oscP5/reference/oscP5/OscBundle.html new file mode 100644 index 0000000..e3c10d9 --- /dev/null +++ b/libraries/oscP5/reference/oscP5/OscBundle.html @@ -0,0 +1,765 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_33) on Sun Dec 23 14:34:38 SGT 2012 --> +<TITLE> +OscBundle (Javadocs: oscP5) +</TITLE> + +<META NAME="date" CONTENT="2012-12-23"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="OscBundle (Javadocs: oscP5)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../oscP5/OscArgument.html" title="class in oscP5"><B>PREV CLASS</B></A> + <A HREF="../oscP5/OscEventListener.html" title="interface in oscP5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html?oscP5/OscBundle.html" target="_top"><B>FRAMES</B></A> + <A HREF="OscBundle.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +oscP5</FONT> +<BR> +Class OscBundle</H2> +<PRE> +<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../resources/inherit.gif" ALT="extended by "><A HREF="../oscP5/OscPatcher.html" title="class in oscP5">oscP5.OscPatcher</A> + <IMG SRC="../resources/inherit.gif" ALT="extended by "><A HREF="../oscP5/OscPacket.html" title="class in oscP5">oscP5.OscPacket</A> + <IMG SRC="../resources/inherit.gif" ALT="extended by "><B>oscP5.OscBundle</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>OscBundle</B><DT>extends <A HREF="../oscP5/OscPacket.html" title="class in oscP5">OscPacket</A></DL> +</PRE> + +<P> +Osc Bundles are collections of Osc Messages. use bundles to send multiple + osc messages to one destination. the OscBundle timetag is supported for + sending but not for receiving yet. +<P> + +<P> +<DL> +<script type="text/javascript"> +<!-- +document.getElementsByTagName('html')[0].className = 'isjs';function toggle(dt) { var display, dd=dt; do{ dd = dd.nextSibling } while(dd.tagName!='DD'); toOpen =!dd.style.display;dd.style.display = toOpen? 'block':''; dt.getElementsByTagName('span')[0].innerHTML = toOpen? '-':'+' ; } +--> +</script> +<div id="test" class="toggleList"><dl><dt onclick="toggle(this);"><span>+</span>Example</dt><dd><pre>/** + * oscP5bundle by andreas schlegel + * an osc broadcast server. + * example shows how to create and send osc bundles. + * oscP5 website at http://www.sojamo.de/oscP5 + */ + +import oscP5.*; +import netP5.*; + +OscP5 oscP5; +NetAddress myRemoteLocation; + +void setup() { + size(400,400); + frameRate(25); + /* start oscP5, listening for incoming messages at port 12000 */ + oscP5 = new OscP5(this,12000); + + /* myRemoteLocation is a NetAddress. a NetAddress takes 2 parameters, + * an ip address and a port number. myRemoteLocation is used as parameter in + * oscP5.send() when sending osc packets to another computer, device, + * application. usage see below. for testing purposes the listening port + * and the port of the remote location address are the same, hence you will + * send messages back to this sketch. + */ + myRemoteLocation = new NetAddress("127.0.0.1",12000); +} + + +void draw() { + background(0); +} + + +void mousePressed() { + /* create an osc bundle */ + OscBundle myBundle = new OscBundle(); + + /* createa new osc message object */ + OscMessage myMessage = new OscMessage("/test"); + myMessage.add("abc"); + + /* add an osc message to the osc bundle */ + myBundle.add(myMessage); + + /* reset and clear the myMessage object for refill. */ + myMessage.clear(); + + /* refill the osc message object again */ + myMessage.setAddrPattern("/test2"); + myMessage.add("defg"); + myBundle.add(myMessage); + + myBundle.setTimetag(myBundle.now() + 10000); + /* send the osc bundle, containing 2 osc messages, to a remote location. */ + oscP5.send(myBundle, myRemoteLocation); +} + + + +/* incoming osc message are forwarded to the oscEvent method. */ +void oscEvent(OscMessage theOscMessage) { + /* print the address pattern and the typetag of the received OscMessage */ + print("### received an osc message."); + print(" addrpattern: "+theOscMessage.addrPattern()); + print(" typetag: "+theOscMessage.typetag()); + println(" timetag: "+theOscMessage.timetag()); +} +</pre></dd></dl></div></DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#OscBundle()">OscBundle</A></B>()</CODE> + +<BR> + instantiate a new OscBundle object.</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#add(oscP5.OscMessage)">add</A></B>(<A HREF="../oscP5/OscMessage.html" title="class in oscP5">OscMessage</A> theOscMessage)</CODE> + +<BR> + add an osc message to the osc bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#clear()">clear</A></B>()</CODE> + +<BR> + clear and reset the osc bundle for reusing.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> byte[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#getBytes()">getBytes</A></B>()</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="../oscP5/OscMessage.html" title="class in oscP5">OscMessage</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#getMessage(int)">getMessage</A></B>(int theIndex)</CODE> + +<BR> + request an osc message inside the osc bundle array,</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#now()">now</A></B>()</CODE> + +<BR> + returns the current time in milliseconds.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#remove(int)">remove</A></B>(int theIndex)</CODE> + +<BR> + remove an OscMessage from an OscBundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#remove(oscP5.OscMessage)">remove</A></B>(<A HREF="../oscP5/OscMessage.html" title="class in oscP5">OscMessage</A> theOscMessage)</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#setTimetag(long)">setTimetag</A></B>(long theTime)</CODE> + +<BR> + set the timetag of an osc bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#size()">size</A></B>()</CODE> + +<BR> + get the size of the osc bundle array which contains the osc messages.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> byte[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../oscP5/OscBundle.html#timetag()">timetag</A></B>()</CODE> + +<BR> + returns a timetag as byte array.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_oscP5.OscPacket"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class oscP5.<A HREF="../oscP5/OscPacket.html" title="class in oscP5">OscPacket</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../oscP5/OscPacket.html#address()">address</A>, <A HREF="../oscP5/OscPacket.html#netaddress()">netaddress</A>, <A HREF="../oscP5/OscPacket.html#netAddress()">netAddress</A>, <A HREF="../oscP5/OscPacket.html#port()">port</A>, <A HREF="../oscP5/OscPacket.html#tcpConnection()">tcpConnection</A></CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="OscBundle()"><!-- --></A><H3> +OscBundle</H3> +<PRE> +public <B>OscBundle</B>()</PRE> +<DL> +<DD>instantiate a new OscBundle object. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="add(oscP5.OscMessage)"><!-- --></A><H3> +add</H3> +<PRE> +public void <B>add</B>(<A HREF="../oscP5/OscMessage.html" title="class in oscP5">OscMessage</A> theOscMessage)</PRE> +<DL> +<DD>add an osc message to the osc bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>theOscMessage</CODE> - OscMessage</DL> +</DD> +</DL> +<HR> + +<A NAME="clear()"><!-- --></A><H3> +clear</H3> +<PRE> +public void <B>clear</B>()</PRE> +<DL> +<DD>clear and reset the osc bundle for reusing. +<P> +<DD><DL> +<script type="text/javascript"> +<!-- +document.getElementsByTagName('html')[0].className = 'isjs';function toggle(dt) { var display, dd=dt; do{ dd = dd.nextSibling } while(dd.tagName!='DD'); toOpen =!dd.style.display;dd.style.display = toOpen? 'block':''; dt.getElementsByTagName('span')[0].innerHTML = toOpen? '-':'+' ; } +--> +</script> +<div id="test" class="toggleList"><dl><dt onclick="toggle(this);"><span>+</span>Example</dt><dd><pre>/** + * oscP5bundle by andreas schlegel + * an osc broadcast server. + * example shows how to create and send osc bundles. + * oscP5 website at http://www.sojamo.de/oscP5 + */ + +import oscP5.*; +import netP5.*; + +OscP5 oscP5; +NetAddress myRemoteLocation; + +void setup() { + size(400,400); + frameRate(25); + /* start oscP5, listening for incoming messages at port 12000 */ + oscP5 = new OscP5(this,12000); + + /* myRemoteLocation is a NetAddress. a NetAddress takes 2 parameters, + * an ip address and a port number. myRemoteLocation is used as parameter in + * oscP5.send() when sending osc packets to another computer, device, + * application. usage see below. for testing purposes the listening port + * and the port of the remote location address are the same, hence you will + * send messages back to this sketch. + */ + myRemoteLocation = new NetAddress("127.0.0.1",12000); +} + + +void draw() { + background(0); +} + + +void mousePressed() { + /* create an osc bundle */ + OscBundle myBundle = new OscBundle(); + + /* createa new osc message object */ + OscMessage myMessage = new OscMessage("/test"); + myMessage.add("abc"); + + /* add an osc message to the osc bundle */ + myBundle.add(myMessage); + + /* reset and clear the myMessage object for refill. */ + myMessage.clear(); + + /* refill the osc message object again */ + myMessage.setAddrPattern("/test2"); + myMessage.add("defg"); + myBundle.add(myMessage); + + myBundle.setTimetag(myBundle.now() + 10000); + /* send the osc bundle, containing 2 osc messages, to a remote location. */ + oscP5.send(myBundle, myRemoteLocation); +} + + + +/* incoming osc message are forwarded to the oscEvent method. */ +void oscEvent(OscMessage theOscMessage) { + /* print the address pattern and the typetag of the received OscMessage */ + print("### received an osc message."); + print(" addrpattern: "+theOscMessage.addrPattern()); + print(" typetag: "+theOscMessage.typetag()); + println(" timetag: "+theOscMessage.timetag()); +} +</pre></dd></dl></div></DL> +</DD> +</DL> +<HR> + +<A NAME="remove(int)"><!-- --></A><H3> +remove</H3> +<PRE> +public void <B>remove</B>(int theIndex)</PRE> +<DL> +<DD>remove an OscMessage from an OscBundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>theIndex</CODE> - int</DL> +</DD> +</DL> +<HR> + +<A NAME="remove(oscP5.OscMessage)"><!-- --></A><H3> +remove</H3> +<PRE> +public void <B>remove</B>(<A HREF="../oscP5/OscMessage.html" title="class in oscP5">OscMessage</A> theOscMessage)</PRE> +<DL> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>theOscMessage</CODE> - OscMessage</DL> +</DD> +</DL> +<HR> + +<A NAME="getMessage(int)"><!-- --></A><H3> +getMessage</H3> +<PRE> +public <A HREF="../oscP5/OscMessage.html" title="class in oscP5">OscMessage</A> <B>getMessage</B>(int theIndex)</PRE> +<DL> +<DD>request an osc message inside the osc bundle array, +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>theIndex</CODE> - int +<DT><B>Returns:</B><DD>OscMessage</DL> +</DD> +</DL> +<HR> + +<A NAME="size()"><!-- --></A><H3> +size</H3> +<PRE> +public int <B>size</B>()</PRE> +<DL> +<DD>get the size of the osc bundle array which contains the osc messages. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>int<script type="text/javascript"> +<!-- +document.getElementsByTagName('html')[0].className = 'isjs';function toggle(dt) { var display, dd=dt; do{ dd = dd.nextSibling } while(dd.tagName!='DD'); toOpen =!dd.style.display;dd.style.display = toOpen? 'block':''; dt.getElementsByTagName('span')[0].innerHTML = toOpen? '-':'+' ; } +--> +</script> +<div id="test" class="toggleList"><dl><dt onclick="toggle(this);"><span>+</span>Example</dt><dd><pre>/** + * oscP5bundle by andreas schlegel + * an osc broadcast server. + * example shows how to create and send osc bundles. + * oscP5 website at http://www.sojamo.de/oscP5 + */ + +import oscP5.*; +import netP5.*; + +OscP5 oscP5; +NetAddress myRemoteLocation; + +void setup() { + size(400,400); + frameRate(25); + /* start oscP5, listening for incoming messages at port 12000 */ + oscP5 = new OscP5(this,12000); + + /* myRemoteLocation is a NetAddress. a NetAddress takes 2 parameters, + * an ip address and a port number. myRemoteLocation is used as parameter in + * oscP5.send() when sending osc packets to another computer, device, + * application. usage see below. for testing purposes the listening port + * and the port of the remote location address are the same, hence you will + * send messages back to this sketch. + */ + myRemoteLocation = new NetAddress("127.0.0.1",12000); +} + + +void draw() { + background(0); +} + + +void mousePressed() { + /* create an osc bundle */ + OscBundle myBundle = new OscBundle(); + + /* createa new osc message object */ + OscMessage myMessage = new OscMessage("/test"); + myMessage.add("abc"); + + /* add an osc message to the osc bundle */ + myBundle.add(myMessage); + + /* reset and clear the myMessage object for refill. */ + myMessage.clear(); + + /* refill the osc message object again */ + myMessage.setAddrPattern("/test2"); + myMessage.add("defg"); + myBundle.add(myMessage); + + myBundle.setTimetag(myBundle.now() + 10000); + /* send the osc bundle, containing 2 osc messages, to a remote location. */ + oscP5.send(myBundle, myRemoteLocation); +} + + + +/* incoming osc message are forwarded to the oscEvent method. */ +void oscEvent(OscMessage theOscMessage) { + /* print the address pattern and the typetag of the received OscMessage */ + print("### received an osc message."); + print(" addrpattern: "+theOscMessage.addrPattern()); + print(" typetag: "+theOscMessage.typetag()); + println(" timetag: "+theOscMessage.timetag()); +} +</pre></dd></dl></div></DL> +</DD> +</DL> +<HR> + +<A NAME="setTimetag(long)"><!-- --></A><H3> +setTimetag</H3> +<PRE> +public void <B>setTimetag</B>(long theTime)</PRE> +<DL> +<DD>set the timetag of an osc bundle. timetags are used to synchronize events and + execute events at a given time in the future or immediately. timetags can + only be set for osc bundles, not for osc messages. oscP5 supports receiving + timetags, but does not queue messages for execution at a set time. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>theTime</CODE> - long<script type="text/javascript"> +<!-- +document.getElementsByTagName('html')[0].className = 'isjs';function toggle(dt) { var display, dd=dt; do{ dd = dd.nextSibling } while(dd.tagName!='DD'); toOpen =!dd.style.display;dd.style.display = toOpen? 'block':''; dt.getElementsByTagName('span')[0].innerHTML = toOpen? '-':'+' ; } +--> +</script> +<div id="test" class="toggleList"><dl><dt onclick="toggle(this);"><span>+</span>Example</dt><dd><pre>/** + * oscP5bundle by andreas schlegel + * an osc broadcast server. + * example shows how to create and send osc bundles. + * oscP5 website at http://www.sojamo.de/oscP5 + */ + +import oscP5.*; +import netP5.*; + +OscP5 oscP5; +NetAddress myRemoteLocation; + +void setup() { + size(400,400); + frameRate(25); + /* start oscP5, listening for incoming messages at port 12000 */ + oscP5 = new OscP5(this,12000); + + /* myRemoteLocation is a NetAddress. a NetAddress takes 2 parameters, + * an ip address and a port number. myRemoteLocation is used as parameter in + * oscP5.send() when sending osc packets to another computer, device, + * application. usage see below. for testing purposes the listening port + * and the port of the remote location address are the same, hence you will + * send messages back to this sketch. + */ + myRemoteLocation = new NetAddress("127.0.0.1",12000); +} + + +void draw() { + background(0); +} + + +void mousePressed() { + /* create an osc bundle */ + OscBundle myBundle = new OscBundle(); + + /* createa new osc message object */ + OscMessage myMessage = new OscMessage("/test"); + myMessage.add("abc"); + + /* add an osc message to the osc bundle */ + myBundle.add(myMessage); + + /* reset and clear the myMessage object for refill. */ + myMessage.clear(); + + /* refill the osc message object again */ + myMessage.setAddrPattern("/test2"); + myMessage.add("defg"); + myBundle.add(myMessage); + + myBundle.setTimetag(myBundle.now() + 10000); + /* send the osc bundle, containing 2 osc messages, to a remote location. */ + oscP5.send(myBundle, myRemoteLocation); +} + + + +/* incoming osc message are forwarded to the oscEvent method. */ +void oscEvent(OscMessage theOscMessage) { + /* print the address pattern and the typetag of the received OscMessage */ + print("### received an osc message."); + print(" addrpattern: "+theOscMessage.addrPattern()); + print(" typetag: "+theOscMessage.typetag()); + println(" timetag: "+theOscMessage.timetag()); +} +</pre></dd></dl></div></DL> +</DD> +</DL> +<HR> + +<A NAME="now()"><!-- --></A><H3> +now</H3> +<PRE> +public static long <B>now</B>()</PRE> +<DL> +<DD>returns the current time in milliseconds. use with setTimetag. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>long</DL> +</DD> +</DL> +<HR> + +<A NAME="timetag()"><!-- --></A><H3> +timetag</H3> +<PRE> +public byte[] <B>timetag</B>()</PRE> +<DL> +<DD>returns a timetag as byte array. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>byte[]</DL> +</DD> +</DL> +<HR> + +<A NAME="getBytes()"><!-- --></A><H3> +getBytes</H3> +<PRE> +public byte[] <B>getBytes</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../oscP5/OscPacket.html#getBytes()">getBytes</A></CODE> in class <CODE><A HREF="../oscP5/OscPacket.html" title="class in oscP5">OscPacket</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>byte[]</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../oscP5/OscArgument.html" title="class in oscP5"><B>PREV CLASS</B></A> + <A HREF="../oscP5/OscEventListener.html" title="interface in oscP5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html?oscP5/OscBundle.html" target="_top"><B>FRAMES</B></A> + <A HREF="OscBundle.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +processing library oscP5 by Andreas Schlegel. (c) 2004-2012 +</BODY> +</HTML> |