<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-519</id>
	<title>Nabble - OpenSound Control (OSC) - Dev</title>
	<updated>2008-08-01T11:19:23Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/OpenSound-Control-(OSC)---Dev-f519.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OpenSound-Control-%28OSC%29---Dev-f519.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-18780114</id>
	<title>Re: namespace best practice?</title>
	<published>2008-08-01T11:19:23Z</published>
	<updated>2008-08-01T11:19:23Z</updated>
	<author>
		<name>Andy W. Schmeder-2</name>
	</author>
	<content type="html">On Aug 1, 2008, at 6:32 AM, mart wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; thanks for your suggestion.
&lt;br&gt;&amp;gt; one thing which came to my mind was:
&lt;br&gt;&amp;gt; why not use Xpath as syntax base?
&lt;br&gt;&lt;br&gt;OSC predates the widespread popularity of the XML protocol suite; &amp;nbsp;
&lt;br&gt;however if we were to re-invent the protocol today it would probably &amp;nbsp;
&lt;br&gt;be based on one of the binary XML formats, and XPath would serve a &amp;nbsp;
&lt;br&gt;similar role as does OSC pattern matching syntax. &amp;nbsp; However... &amp;nbsp;
&lt;br&gt;possibly with some restrictions: OSC patterns are restricted &amp;nbsp;
&lt;br&gt;considerably compared to XPath/XQuery, so they can be evaluated in &amp;nbsp;
&lt;br&gt;bounded time (e.g., there is no backtracking, non-greedy qualifiers, &amp;nbsp;
&lt;br&gt;etc).
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Andy W. Schmeder
&lt;br&gt;andy [at] cnmat.berkeley.edu
&lt;br&gt;&lt;br&gt;Programmer/Analyst II
&lt;br&gt;Research Group
&lt;br&gt;Center for New Music and Audio Technologies
&lt;br&gt;University of California at Berkeley
&lt;br&gt;&lt;a href=&quot;http://cnmat.berkeley.edu&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cnmat.berkeley.edu&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18780114&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/namespace-best-practice--tp18719293p18780114.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18774400</id>
	<title>Re: namespace best practice?</title>
	<published>2008-08-01T06:32:44Z</published>
	<updated>2008-08-01T06:32:44Z</updated>
	<author>
		<name>mart ameise</name>
	</author>
	<content type="html">pascal baltazar wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi !
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Well, I'm not sure that's a &amp;quot;best practice&amp;quot; (I'm not even sure it's a &amp;nbsp;
&lt;br&gt;&amp;gt; good one, but it exists ;-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You can have a look here : &lt;a href=&quot;http://www.jamoma.org/wiki/NameSpace&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamoma.org/wiki/NameSpace&lt;/a&gt;&lt;br&gt;&amp;gt; where we have described the common namespace for Jamoma (which is a &amp;nbsp;
&lt;br&gt;&amp;gt; framework for MaxMSP)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; amongst the addressed points, there is the question you mentioned &amp;nbsp;
&lt;br&gt;&amp;gt; about &amp;quot;instances&amp;quot; and numerical containers :
&lt;br&gt;&amp;gt; our (current) proposal for this kind of problem uses the dot as a &amp;nbsp;
&lt;br&gt;&amp;gt; separator :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;/control.0/control.1/uosc_dev.2/pwm.3 ,i 255&amp;quot;
&lt;br&gt;&amp;gt; to recycle your example
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;thanks for your suggestion.
&lt;br&gt;one thing which came to my mind was:
&lt;br&gt;why not use Xpath as syntax base?
&lt;br&gt;&lt;br&gt;greetings
&lt;br&gt;mart
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18774400&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/namespace-best-practice--tp18719293p18774400.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18730620</id>
	<title>Re: namespace best practice?</title>
	<published>2008-07-30T03:43:53Z</published>
	<updated>2008-07-30T03:43:53Z</updated>
	<author>
		<name>pascal baltazar</name>
	</author>
	<content type="html">Hi !
&lt;br&gt;&lt;br&gt;Well, I'm not sure that's a &amp;quot;best practice&amp;quot; (I'm not even sure it's a &amp;nbsp;
&lt;br&gt;good one, but it exists ;-)
&lt;br&gt;&lt;br&gt;You can have a look here : &lt;a href=&quot;http://www.jamoma.org/wiki/NameSpace&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamoma.org/wiki/NameSpace&lt;/a&gt;&lt;br&gt;where we have described the common namespace for Jamoma (which is a &amp;nbsp;
&lt;br&gt;framework for MaxMSP)
&lt;br&gt;&lt;br&gt;amongst the addressed points, there is the question you mentioned &amp;nbsp;
&lt;br&gt;about &amp;quot;instances&amp;quot; and numerical containers :
&lt;br&gt;our (current) proposal for this kind of problem uses the dot as a &amp;nbsp;
&lt;br&gt;separator :
&lt;br&gt;&lt;br&gt;&amp;quot;/control.0/control.1/uosc_dev.2/pwm.3 ,i 255&amp;quot;
&lt;br&gt;to recycle your example
&lt;br&gt;&lt;br&gt;there's also a discussion about addressing methods rather than values, &amp;nbsp;
&lt;br&gt;using the colon separator. This was extensively discussed in a paper &amp;nbsp;
&lt;br&gt;we published at last NIME (the link is on the webpage above...)
&lt;br&gt;&lt;br&gt;we're also (theoretically) investigating the use of a reserved &amp;nbsp;
&lt;br&gt;character for queries (could be &amp;quot;?&amp;quot;) - but that's not mentioned in the &amp;nbsp;
&lt;br&gt;above webpage...
&lt;br&gt;&lt;br&gt;hope this helps....
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;pb
&lt;br&gt;&lt;br&gt;Le 29 juil. 08 à 21:10, mart a écrit :
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi All,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; i am new to OSC and I am pretty much stuck:
&lt;br&gt;&amp;gt; i want to setup a distributed system with several (a lot) of nodes.
&lt;br&gt;&amp;gt; This could be uOSC-devices or so.
&lt;br&gt;&amp;gt; Defining the namespace of methods of one node is pretty much straight
&lt;br&gt;&amp;gt; forward to me:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;/device/id&amp;quot;
&lt;br&gt;&amp;gt; &amp;quot;/device/status&amp;quot;
&lt;br&gt;&amp;gt; &amp;quot;/device/firmware&amp;quot;
&lt;br&gt;&amp;gt; etc..
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; cool.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I know that the OSC-spec does not provide a namespace convention
&lt;br&gt;&amp;gt; and it is all up to me
&lt;br&gt;&amp;gt; but when it comes to trees of higher orders I don't know what to do:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;/control/0/control/1/uosc_dev/2/pwm/3 ,i 255&amp;quot;,
&lt;br&gt;&amp;gt; &amp;quot;/control0/control1/uosc_dev2/pwm3 ,i 255&amp;quot;
&lt;br&gt;&amp;gt; or just
&lt;br&gt;&amp;gt; &amp;quot;/pwm 0 1 2 3 255&amp;quot; ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; it doesn't matter to the specs...
&lt;br&gt;&amp;gt; but containers just called &amp;quot;1&amp;quot; seem ugly to me
&lt;br&gt;&amp;gt; same time &amp;quot;name+id&amp;quot; also doesn't feel right
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; monome solves the problem by flatting the tree:
&lt;br&gt;&amp;gt; /40h/led [x] [y] [state]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; although they could have as well
&lt;br&gt;&amp;gt; put each pixel of the matrix in the path:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; /40h/row/1/col/2/pixel/state ,i
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; and when i got 100 monomes?
&lt;br&gt;&amp;gt; /40h/100/row/1/col/2/pixel/state, i
&lt;br&gt;&amp;gt; or just
&lt;br&gt;&amp;gt; /40h/led [dev] [x] [y] [state] ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; (actually i would be &amp;nbsp;happy if I had one 40h :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; supercollider seems to do the same:
&lt;br&gt;&amp;gt; &amp;quot;/group0/group1/group2/synth/set&amp;quot;
&lt;br&gt;&amp;gt; seems to be representing the setup best, but instead
&lt;br&gt;&amp;gt; something like
&lt;br&gt;&amp;gt; &amp;quot;/n_set &amp;lt;value&amp;gt; &amp;lt;value&amp;gt; &amp;lt;value&amp;gt; &amp;lt;value&amp;gt;&amp;quot;
&lt;br&gt;&amp;gt; is used...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is OSC here only another network transport layer?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Main problem is that pattern matching does not work anymore.
&lt;br&gt;&amp;gt; Imagine i have a mixer-device with 16 channels
&lt;br&gt;&amp;gt; and another one with 16 channels.
&lt;br&gt;&amp;gt; Don't ask me why, but i want to mute all channels all together:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; /mixer/*/chn/*/volume ,f 0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; possible?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; or only:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; /mixer/1/chn/*/volume ,f 0 ?
&lt;br&gt;&amp;gt; /mixer/2/chn/*/volume ,f 0 ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; surely not with a flat representation:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; /mixer [id] [chn] [volume]
&lt;br&gt;&amp;gt; /mixer * * 0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I like to use OSC instead of XML.
&lt;br&gt;&amp;gt; I like the idea of publishing OSC-Servers
&lt;br&gt;&amp;gt; via zeroconf in a distributed system (like SC).
&lt;br&gt;&amp;gt; And I like the idea to query a namespace
&lt;br&gt;&amp;gt; by sending &amp;quot;/&amp;quot; &amp;nbsp;(like make controller)
&lt;br&gt;&amp;gt; and getting values by just sending /container/method
&lt;br&gt;&amp;gt; without parameters (like ?)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; but i don't know how to nest
&lt;br&gt;&amp;gt; and somehow automatically name
&lt;br&gt;&amp;gt; my units...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; so how would look a &amp;nbsp;well-designed namespace of an
&lt;br&gt;&amp;gt; OSC-based distributed system of (u)OSC-entities?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; all the best
&lt;br&gt;&amp;gt; mart
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; OSC_dev mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18730620&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;/div&gt;&lt;br&gt;Pascal BALTAZAR
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18730620&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pb@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://www.zkrx.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.zkrx.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18730620&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/namespace-best-practice--tp18719293p18730620.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18722064</id>
	<title>Re: namespace best practice?</title>
	<published>2008-07-29T14:52:24Z</published>
	<updated>2008-07-29T14:52:24Z</updated>
	<author>
		<name>mart ameise</name>
	</author>
	<content type="html">Andy W. Schmeder wrote:
&lt;br&gt;&amp;gt; This is a somewhat broad question, however...
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;sorry
&lt;br&gt;&amp;gt; Generally people approach OSC address space design it in terms of the &amp;nbsp;
&lt;br&gt;&amp;gt; RESTful architecture, although not all of its principles apply.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;thanks that was the info i was looking for!
&lt;br&gt;&amp;gt; Generally this would suggest an organization scheme of the sort, / 
&lt;br&gt;&amp;gt; devices/{device}/{properties,methods}/{...}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;yes, in the meantime i found the structure of the make controller:
&lt;br&gt;&lt;br&gt;/subsystem/device/property argument
&lt;br&gt;&lt;br&gt;so in an example kind of thing it would be:
&lt;br&gt;&lt;br&gt;/cloud/rain/drop/fall
&lt;br&gt;&lt;br&gt;to make it rain i will call:
&lt;br&gt;/cloud/rain/*/fall &amp;quot;now!&amp;quot;
&lt;br&gt;&lt;br&gt;if i wanna distribute this:
&lt;br&gt;&lt;br&gt;/sky/clouds/cloud/rain/drop/fall
&lt;br&gt;&lt;br&gt;how to make it rain on the whole earth?
&lt;br&gt;&lt;br&gt;thanks for you quick response 
&lt;br&gt;i will dive into REST now...
&lt;br&gt;mart
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Another way to look at this is that pattern matching an address &amp;nbsp;
&lt;br&gt;&amp;gt; against the space of known addresses should terminate with the fewest &amp;nbsp;
&lt;br&gt;&amp;gt; possible comparisons.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18722064&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/namespace-best-practice--tp18719293p18722064.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18719834</id>
	<title>Re: namespace best practice?</title>
	<published>2008-07-29T12:40:44Z</published>
	<updated>2008-07-29T12:40:44Z</updated>
	<author>
		<name>Andy W. Schmeder-2</name>
	</author>
	<content type="html">This is a somewhat broad question, however...
&lt;br&gt;&lt;br&gt;Generally people approach OSC address space design it in terms of the &amp;nbsp;
&lt;br&gt;RESTful architecture, although not all of its principles apply.
&lt;br&gt;&lt;br&gt;REST is basically resource-enumeration oriented, i.e., with emphasis &amp;nbsp;
&lt;br&gt;on nouns. &amp;nbsp;Some examples (shamelessly lifted from &lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Representational_State_Transfer&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; ...)
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://example.com/users/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://example.com/users/&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://example.com/users/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://example.com/users/&lt;/a&gt;{user} (one for each user)
&lt;br&gt;&lt;a href=&quot;http://example.com/findUserForm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://example.com/findUserForm&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://example.com/locations/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://example.com/locations/&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://example.com/locations/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://example.com/locations/&lt;/a&gt;{location} (one for each location)
&lt;br&gt;&lt;a href=&quot;http://example.com/findLocationForm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://example.com/findLocationForm&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Generally this would suggest an organization scheme of the sort, / 
&lt;br&gt;devices/{device}/{properties,methods}/{...}
&lt;br&gt;&lt;br&gt;Another way to look at this is that pattern matching an address &amp;nbsp;
&lt;br&gt;against the space of known addresses should terminate with the fewest &amp;nbsp;
&lt;br&gt;possible comparisons.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Jul 29, 2008, at 12:10 PM, mart wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi All,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; i am new to OSC and I am pretty much stuck:
&lt;br&gt;&amp;gt; i want to setup a distributed system with several (a lot) of nodes.
&lt;br&gt;&amp;gt; This could be uOSC-devices or so.
&lt;br&gt;&amp;gt; Defining the namespace of methods of one node is pretty much straight
&lt;br&gt;&amp;gt; forward to me:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;/device/id&amp;quot;
&lt;br&gt;&amp;gt; &amp;quot;/device/status&amp;quot;
&lt;br&gt;&amp;gt; &amp;quot;/device/firmware&amp;quot;
&lt;br&gt;&amp;gt; etc..
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; cool.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I know that the OSC-spec does not provide a namespace convention
&lt;br&gt;&amp;gt; and it is all up to me
&lt;br&gt;&amp;gt; but when it comes to trees of higher orders I don't know what to do:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;/control/0/control/1/uosc_dev/2/pwm/3 ,i 255&amp;quot;,
&lt;br&gt;&amp;gt; &amp;quot;/control0/control1/uosc_dev2/pwm3 ,i 255&amp;quot;
&lt;br&gt;&amp;gt; or just
&lt;br&gt;&amp;gt; &amp;quot;/pwm 0 1 2 3 255&amp;quot; ?
&lt;/div&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Andy W. Schmeder
&lt;br&gt;andy [at] cnmat.berkeley.edu
&lt;br&gt;&lt;br&gt;Programmer/Analyst II
&lt;br&gt;Research Group
&lt;br&gt;Center for New Music and Audio Technologies
&lt;br&gt;University of California at Berkeley
&lt;br&gt;&lt;a href=&quot;http://cnmat.berkeley.edu&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cnmat.berkeley.edu&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18719834&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/namespace-best-practice--tp18719293p18719834.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18719293</id>
	<title>namespace best practice?</title>
	<published>2008-07-29T12:10:22Z</published>
	<updated>2008-07-29T12:10:22Z</updated>
	<author>
		<name>mart ameise</name>
	</author>
	<content type="html">Hi All,
&lt;br&gt;&lt;br&gt;i am new to OSC and I am pretty much stuck:
&lt;br&gt;i want to setup a distributed system with several (a lot) of nodes.
&lt;br&gt;This could be uOSC-devices or so.
&lt;br&gt;Defining the namespace of methods of one node is pretty much straight
&lt;br&gt;forward to me:
&lt;br&gt;&lt;br&gt;&amp;quot;/device/id&amp;quot;
&lt;br&gt;&amp;quot;/device/status&amp;quot;
&lt;br&gt;&amp;quot;/device/firmware&amp;quot;
&lt;br&gt;etc..
&lt;br&gt;&lt;br&gt;cool.
&lt;br&gt;&lt;br&gt;I know that the OSC-spec does not provide a namespace convention
&lt;br&gt;and it is all up to me
&lt;br&gt;but when it comes to trees of higher orders I don't know what to do:
&lt;br&gt;&lt;br&gt;&amp;quot;/control/0/control/1/uosc_dev/2/pwm/3 ,i 255&amp;quot;,
&lt;br&gt;&amp;quot;/control0/control1/uosc_dev2/pwm3 ,i 255&amp;quot;
&lt;br&gt;or just
&lt;br&gt;&amp;quot;/pwm 0 1 2 3 255&amp;quot; ?
&lt;br&gt;&lt;br&gt;it doesn't matter to the specs...
&lt;br&gt;but containers just called &amp;quot;1&amp;quot; seem ugly to me
&lt;br&gt;same time &amp;quot;name+id&amp;quot; also doesn't feel right
&lt;br&gt;&lt;br&gt;monome solves the problem by flatting the tree:
&lt;br&gt;/40h/led [x] [y] [state]
&lt;br&gt;&lt;br&gt;although they could have as well
&lt;br&gt;put each pixel of the matrix in the path:
&lt;br&gt;&lt;br&gt;/40h/row/1/col/2/pixel/state ,i
&lt;br&gt;&lt;br&gt;and when i got 100 monomes?
&lt;br&gt;/40h/100/row/1/col/2/pixel/state, i
&lt;br&gt;or just
&lt;br&gt;/40h/led [dev] [x] [y] [state] ?
&lt;br&gt;&lt;br&gt;(actually i would be &amp;nbsp;happy if I had one 40h :)
&lt;br&gt;&lt;br&gt;supercollider seems to do the same:
&lt;br&gt;&amp;quot;/group0/group1/group2/synth/set&amp;quot;
&lt;br&gt;seems to be representing the setup best, but instead
&lt;br&gt;something like
&lt;br&gt;&amp;quot;/n_set &amp;lt;value&amp;gt; &amp;lt;value&amp;gt; &amp;lt;value&amp;gt; &amp;lt;value&amp;gt;&amp;quot;
&lt;br&gt;is used...
&lt;br&gt;&lt;br&gt;Is OSC here only another network transport layer?
&lt;br&gt;&lt;br&gt;Main problem is that pattern matching does not work anymore.
&lt;br&gt;Imagine i have a mixer-device with 16 channels
&lt;br&gt;and another one with 16 channels.
&lt;br&gt;Don't ask me why, but i want to mute all channels all together:
&lt;br&gt;&lt;br&gt;/mixer/*/chn/*/volume ,f 0
&lt;br&gt;&lt;br&gt;possible?
&lt;br&gt;&lt;br&gt;or only:
&lt;br&gt;&lt;br&gt;/mixer/1/chn/*/volume ,f 0 ?
&lt;br&gt;/mixer/2/chn/*/volume ,f 0 ?
&lt;br&gt;&lt;br&gt;surely not with a flat representation:
&lt;br&gt;&lt;br&gt;/mixer [id] [chn] [volume]
&lt;br&gt;/mixer * * 0
&lt;br&gt;&lt;br&gt;I like to use OSC instead of XML.
&lt;br&gt;I like the idea of publishing OSC-Servers
&lt;br&gt;via zeroconf in a distributed system (like SC).
&lt;br&gt;And I like the idea to query a namespace
&lt;br&gt;by sending &amp;quot;/&amp;quot; &amp;nbsp;(like make controller)
&lt;br&gt;and getting values by just sending /container/method
&lt;br&gt;without parameters (like ?)
&lt;br&gt;&lt;br&gt;but i don't know how to nest
&lt;br&gt;and somehow automatically name
&lt;br&gt;my units...
&lt;br&gt;&lt;br&gt;so how would look a &amp;nbsp;well-designed namespace of an
&lt;br&gt;OSC-based distributed system of (u)OSC-entities?
&lt;br&gt;&lt;br&gt;all the best
&lt;br&gt;mart
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18719293&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/namespace-best-practice--tp18719293p18719293.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18570649</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-21T08:07:16Z</published>
	<updated>2008-07-21T08:07:16Z</updated>
	<author>
		<name>James Sheridan-2</name>
	</author>
	<content type="html">&lt;br&gt;I need to send EEG data that can only be acquired via a PC - I was just 
&lt;br&gt;worried about sending (via UDP Multicast) up to 128 channels which are 
&lt;br&gt;24bit (although we are converting to 16bit before sending after 
&lt;br&gt;filtering out the DC) and can run at up to 8096hz although again we are 
&lt;br&gt;down sampling to 256hz before sending although would like to use 512. 
&lt;br&gt;All of the filtering, downsampling and sending is done in a small 
&lt;br&gt;command line program which accesses the EEG via a DLL via USB.
&lt;br&gt;&lt;br&gt;We are using gigabit ethernet on a local switch and our addressing 
&lt;br&gt;information will be very small ie &amp;quot;/eeg1&amp;quot; and i'll send all the channels 
&lt;br&gt;in an array of floats to minimize packets.
&lt;br&gt;&lt;br&gt;So things should be fine and I'll get into some implementation and 
&lt;br&gt;testing and post results...although im about to go to Europe for 4 weeks 
&lt;br&gt;so don't expect anything soon
&lt;br&gt;&lt;br&gt;Thanks again - James
&lt;br&gt;&lt;br&gt;P.S - I was planing to use liblo in the send prog - good idea?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Adrian Freed wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Thanks all for your great comments - that micro controllers are slower
&lt;br&gt;&amp;gt;&amp;gt; than a PC was what I was after, during my initial research (I was
&lt;br&gt;&amp;gt;&amp;gt; looking for a paper just like your's Angelo, thanks - and I did check
&lt;br&gt;&amp;gt;&amp;gt; the opensoundcontrol.org website Andy mentioned so might be worth
&lt;br&gt;&amp;gt;&amp;gt; putting it there if you want some more citations) I read that micro
&lt;br&gt;&amp;gt;&amp;gt; controllers could only send at 500hz and I'd just assumed that a micro
&lt;br&gt;&amp;gt;&amp;gt; controller would be much faster than a computer for this type of stuff
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I worry your concern about speed is detracting you from the real advantage of microcontrollers over desktop processors for OSC and that is they run simpler, real-time operating systems that can perform the data acquisition and OSC time stamping more accurately than desktop operating systems. Our ICMC2008 paper explains this.
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; OSC_dev mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18570649&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18570649&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18570649.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18569083</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-21T06:46:28Z</published>
	<updated>2008-07-21T06:46:28Z</updated>
	<author>
		<name>Adrian Freed</name>
	</author>
	<content type="html">&amp;gt;Thanks all for your great comments - that micro controllers are slower
&lt;br&gt;&amp;gt;than a PC was what I was after, during my initial research (I was
&lt;br&gt;&amp;gt;looking for a paper just like your's Angelo, thanks - and I did check
&lt;br&gt;&amp;gt;the opensoundcontrol.org website Andy mentioned so might be worth
&lt;br&gt;&amp;gt;putting it there if you want some more citations) I read that micro
&lt;br&gt;&amp;gt;controllers could only send at 500hz and I'd just assumed that a micro
&lt;br&gt;&amp;gt;controller would be much faster than a computer for this type of stuff
&lt;br&gt;&lt;br&gt;I worry your concern about speed is detracting you from the real advantage of microcontrollers over desktop processors for OSC and that is they run simpler, real-time operating systems that can perform the data acquisition and OSC time stamping more accurately than desktop operating systems. Our ICMC2008 paper explains this.
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18569083&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18569083.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18569015</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-21T06:42:53Z</published>
	<updated>2008-07-21T06:42:53Z</updated>
	<author>
		<name>Adrian Freed</name>
	</author>
	<content type="html">&amp;gt;Thanks all for your great comments - that micro controllers are slower
&lt;br&gt;&amp;gt;than a PC was what I was after, during my initial research (I was
&lt;br&gt;&amp;gt;looking for a paper just like your's Angelo, thanks - and I did check
&lt;br&gt;&amp;gt;the opensoundcontrol.org website Andy mentioned so might be worth
&lt;br&gt;&amp;gt;putting it there if you want some more citations) I read that micro
&lt;br&gt;&amp;gt;controllers could only send at 500hz and I'd just assumed that a micro
&lt;br&gt;&amp;gt;controller would be much faster than a computer for this type of stuff
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Thanks again everyone
&lt;br&gt;&lt;br&gt;I wonder what conclusion you came to?
&lt;br&gt;We have a cheap microcontroller board we use on our large sensor count instruments that does OSC MUCH faster than the $25 ones we sometimes use. We use it to simultaneously send OSC and 256 channels of 96kHz 24-bit audio over ethernet packets.
&lt;br&gt;The microcontroller in the $100 Make Controller board can also do a lot of I/O. 
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18569015&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18569015.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18568304</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-21T06:08:44Z</published>
	<updated>2008-07-21T06:08:44Z</updated>
	<author>
		<name>James Sheridan-2</name>
	</author>
	<content type="html">&lt;br&gt;Thanks all for your great comments - that micro controllers are slower 
&lt;br&gt;than a PC was what I was after, during my initial research (I was 
&lt;br&gt;looking for a paper just like your's Angelo, thanks - and I did check 
&lt;br&gt;the opensoundcontrol.org website Andy mentioned so might be worth 
&lt;br&gt;putting it there if you want some more citations) I read that micro 
&lt;br&gt;controllers could only send at 500hz and I'd just assumed that a micro 
&lt;br&gt;controller would be much faster than a computer for this type of stuff
&lt;br&gt;&lt;br&gt;Thanks again everyone
&lt;br&gt;&lt;br&gt;Regards - James
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18568304&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18568304.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18567774</id>
	<title>XML DTD for OSC</title>
	<published>2008-07-21T05:35:07Z</published>
	<updated>2008-07-21T05:35:07Z</updated>
	<author>
		<name>Jason Hector</name>
	</author>
	<content type="html">&lt;HTML&gt;&lt;HEAD&gt;

&lt;META http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-15&quot;&gt;

&lt;META content=&quot;MSHTML 6.00.2900.3354&quot; name=GENERATOR&gt;&lt;/HEAD&gt;

&lt;BODY style=&quot;MARGIN: 4px 4px 1px; FONT: 10pt Tahoma&quot;&gt;NB: This email and its contents are subject to the Eskom Holdings Limited EMAIL LEGAL NOTICE

which can be viewed at &lt;A HREF=&quot;http://www.eskom.co.za/email_legalnotice&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.eskom.co.za/email_legalnotice&lt;/A&gt;&lt;BR&gt;

&lt;BR&gt;&lt;HR&gt;&lt;BR&gt;

&lt;DIV&gt;Hi, &lt;BR&gt;I am busy developing a Vst plugin that bridges OSC and VST data including audio, parameters and TimeInfo data. This is for my thesis project.&lt;BR&gt;I would also like to do a mapping/ translation from VSTXML supplied with post Vst2.4 plugins to an OSC XML file. [This file would be supplied to OSC clients requesting documentation from the OSC server - is this a good idea?]&lt;BR&gt;Has anyone already defined an XML DTD for OSC Packets and/or OSC Server Address Spaces. I would like to avoid re-inventing the wheel here. I have stumbled upon Ben Chuns XML&amp;nbsp;DTD for OSC but I think its incomplete.&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;Thanks in advance&lt;BR&gt;Jason&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;

&lt;br /&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18567774&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18567774.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18536369</id>
	<title>LibLo 0.25 released</title>
	<published>2008-07-18T12:35:49Z</published>
	<updated>2008-07-18T12:35:49Z</updated>
	<author>
		<name>Stephen Sinclair</name>
	</author>
	<content type="html">We are pleased to present stable release 0.25 of LibLo, the
&lt;br&gt;lightweight, easy to use implementation of the Open Sound Control
&lt;br&gt;protocol.
&lt;br&gt;&lt;br&gt;Open Sound Control (OSC) is a protocol for communication among
&lt;br&gt;computers, sound synthesizers, and other multimedia devices that is
&lt;br&gt;optimized for modern networking technology.
&lt;br&gt;&lt;br&gt;This release brings several new features, including support for
&lt;br&gt;broadcast messages, multicast UDP groups, message deserialisation, and
&lt;br&gt;input validation.
&lt;br&gt;&lt;br&gt;Details:
&lt;br&gt;- Check for buffer overflows
&lt;br&gt;- Added oscsend and oscdump command-line tools
&lt;br&gt;- Added lo_message_add_varargs() for variable-argument C functions.
&lt;br&gt;- Added lo_bundle_free_messages()
&lt;br&gt;- Bug fix for pattern matching. (curly braces)
&lt;br&gt;- Broadcast support
&lt;br&gt;- Added lo_message_deserialise()
&lt;br&gt;- Multicast support
&lt;br&gt;- Fixes for compiling on OS X
&lt;br&gt;- General bug fixes
&lt;br&gt;&lt;br&gt;Contributions by:
&lt;br&gt;- Camille Troillard
&lt;br&gt;- Chris Hixon
&lt;br&gt;- Kentaro Fukuchi
&lt;br&gt;- Dave Robillard
&lt;br&gt;- Nicolas Humfrey
&lt;br&gt;- Stephen Sinclair
&lt;br&gt;&lt;br&gt;Please feel free to download it at SourceForge:
&lt;br&gt;&lt;a href=&quot;http://downloads.sourceforge.net/liblo/liblo-0.25.tar.gz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://downloads.sourceforge.net/liblo/liblo-0.25.tar.gz&lt;/a&gt;&lt;br&gt;&lt;br&gt;Or read the online documentation:
&lt;br&gt;&lt;a href=&quot;http://liblo.sourceforge.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://liblo.sourceforge.net&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Stephen Sinclair
&lt;br&gt;&amp;nbsp; LibLo maintainer
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18536369&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/LibLo-0.25-released-tp18536369p18536369.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18514658</id>
	<title>Re: OSC compression (was: OSC bandwidth)</title>
	<published>2008-07-17T11:06:31Z</published>
	<updated>2008-07-17T11:06:31Z</updated>
	<author>
		<name>Adrian Freed</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt;On Thu, Jul 17, 2008 at 1:28 PM, Andy W. Schmeder
&lt;br&gt;&amp;gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18514658&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andy@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; I am well aware that the O(1) overhead of the header can be a rather
&lt;br&gt;&amp;gt;&amp;gt; large fraction of the total in practice--but this depends greatly on
&lt;br&gt;&amp;gt;&amp;gt; the message, which is why for analysis it should be considered
&lt;br&gt;&amp;gt;&amp;gt; separately. &amp;nbsp;Incidentally, a compression strategy applied to OSC would
&lt;br&gt;&amp;gt;&amp;gt; likely approach this part of the protocol first--e.g. by using a
&lt;br&gt;&amp;gt;&amp;gt; lookup table of common strings. &amp;nbsp;Also, because OSC addresses are human-
&lt;br&gt;&amp;gt;&amp;gt; readable they are an obvious target for compression due to their low
&lt;br&gt;&amp;gt;&amp;gt; information-density (english being only ~1 bit per character).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;I've had in mind for a while to try running a stream of OSC messages
&lt;br&gt;&amp;gt;over a TCP connection going through a gzip compression-decompression
&lt;br&gt;&amp;gt;on either side of the connection to see how well that would work.
&lt;br&gt;&amp;gt;However I haven't read up on whether or not gzip is the most
&lt;br&gt;&amp;gt;appropriate approach to compression of streams. &amp;nbsp;Has anyone tried
&lt;br&gt;&amp;gt;this? &amp;nbsp;Are there other compression algorithms better designed for
&lt;br&gt;&amp;gt;streaming data? &amp;nbsp;(In particular I'm imagining problems with an
&lt;br&gt;&amp;gt;ever-growing string table.) &amp;nbsp;I wonder how much CPU overhead it would
&lt;br&gt;&amp;gt;incur. &amp;nbsp;Maybe something extremely simple like run-length encoding
&lt;br&gt;&amp;gt;would even improve bandwidth.
&lt;/div&gt;&lt;br&gt;It is best to build or share a dynamic data dictionary for the strings and substitute dictionary references for OSC message strings. There maybe some merit to representing streams of 0's efficiently (e.g.RLL) because so many OSC streams contain values that are cast up from short 8-12-bit integers.
&lt;br&gt;&lt;br&gt;The only case for me where these space efficiencies matter is wireless. It is interesting in many of these applications that the carbon footprint and silicon associated with encryption of the data streams far exceeds any packet encoding costs.
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18514658&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-compression-%28was%3A-OSC-bandwidth%29-tp18514462p18514658.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18514462</id>
	<title>OSC compression (was: OSC bandwidth)</title>
	<published>2008-07-17T11:04:16Z</published>
	<updated>2008-07-17T11:04:16Z</updated>
	<author>
		<name>Stephen Sinclair</name>
	</author>
	<content type="html">On Thu, Jul 17, 2008 at 1:28 PM, Andy W. Schmeder
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18514462&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andy@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; I am well aware that the O(1) overhead of the header can be a rather
&lt;br&gt;&amp;gt; large fraction of the total in practice--but this depends greatly on
&lt;br&gt;&amp;gt; the message, which is why for analysis it should be considered
&lt;br&gt;&amp;gt; separately. &amp;nbsp;Incidentally, a compression strategy applied to OSC would
&lt;br&gt;&amp;gt; likely approach this part of the protocol first--e.g. by using a
&lt;br&gt;&amp;gt; lookup table of common strings. &amp;nbsp;Also, because OSC addresses are human-
&lt;br&gt;&amp;gt; readable they are an obvious target for compression due to their low
&lt;br&gt;&amp;gt; information-density (english being only ~1 bit per character).
&lt;br&gt;&lt;br&gt;I've had in mind for a while to try running a stream of OSC messages
&lt;br&gt;over a TCP connection going through a gzip compression-decompression
&lt;br&gt;on either side of the connection to see how well that would work.
&lt;br&gt;However I haven't read up on whether or not gzip is the most
&lt;br&gt;appropriate approach to compression of streams. &amp;nbsp;Has anyone tried
&lt;br&gt;this? &amp;nbsp;Are there other compression algorithms better designed for
&lt;br&gt;streaming data? &amp;nbsp;(In particular I'm imagining problems with an
&lt;br&gt;ever-growing string table.) &amp;nbsp;I wonder how much CPU overhead it would
&lt;br&gt;incur. &amp;nbsp;Maybe something extremely simple like run-length encoding
&lt;br&gt;would even improve bandwidth.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Steve
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18514462&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-compression-%28was%3A-OSC-bandwidth%29-tp18514462p18514462.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18513797</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-17T10:28:54Z</published>
	<updated>2008-07-17T10:28:54Z</updated>
	<author>
		<name>Andy W. Schmeder-2</name>
	</author>
	<content type="html">On Jul 16, 2008, at 7:14 PM, Angelo Fraietta wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; With respect to the original query, note that OSC has a protocol
&lt;br&gt;&amp;gt;&amp;gt; overhead of 400% for transmission of single bytes (3-bytes padding &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; + 1
&lt;br&gt;&amp;gt;&amp;gt; typetag)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This statement implies that it only takes four bytes to transmit a &amp;nbsp;
&lt;br&gt;&amp;gt; byte
&lt;br&gt;&amp;gt; of information over OSC. Apart from the four bytes needed for the
&lt;br&gt;&amp;gt; typetag (you need the comma + &amp;nbsp;any padding top keep at the four byte
&lt;br&gt;&amp;gt; boundary), the address space has not been taken into account.
&lt;/div&gt;&lt;br&gt;To be precise: everything in the header is worst-case a constant &amp;nbsp;
&lt;br&gt;overhead, i.e., O(1) in space (the &amp;quot;worst-case&amp;quot; qualifier includes the &amp;nbsp;
&lt;br&gt;padding of address and typetag sections), and everything in the data &amp;nbsp;
&lt;br&gt;section is O(n)...
&lt;br&gt;&lt;br&gt;I am well aware that the O(1) overhead of the header can be a rather &amp;nbsp;
&lt;br&gt;large fraction of the total in practice--but this depends greatly on &amp;nbsp;
&lt;br&gt;the message, which is why for analysis it should be considered &amp;nbsp;
&lt;br&gt;separately. &amp;nbsp;Incidentally, a compression strategy applied to OSC would &amp;nbsp;
&lt;br&gt;likely approach this part of the protocol first--e.g. by using a &amp;nbsp;
&lt;br&gt;lookup table of common strings. &amp;nbsp;Also, because OSC addresses are human- 
&lt;br&gt;readable they are an obvious target for compression due to their low &amp;nbsp;
&lt;br&gt;information-density (english being only ~1 bit per character).
&lt;br&gt;&lt;br&gt;Arguments considered separately, the overhead of transmitting n 4-byte &amp;nbsp;
&lt;br&gt;datums (e.g. float32, int32) is +1 byte, or 5/4*n. &amp;nbsp;For a null- 
&lt;br&gt;terminated string length n, worst case is n + 5. &amp;nbsp;A blob length n is &amp;nbsp;
&lt;br&gt;worst-case n + 9 (when n == 0). Datums smaller than the 4-byte &amp;nbsp;
&lt;br&gt;boundary will obviously have the highest cost--for example, n single &amp;nbsp;
&lt;br&gt;bytes, packed individually gives 5*n. &amp;nbsp;For n single bits, 8*n using &amp;nbsp;
&lt;br&gt;the &amp;quot;T&amp;quot; and &amp;quot;F&amp;quot; typetags.
&lt;br&gt;&lt;br&gt;It is possible that a future version of OSC will recommend a vector &amp;nbsp;
&lt;br&gt;typetag that makes transmission of floats something more like that of &amp;nbsp;
&lt;br&gt;the blob -- that has been requested here before.
&lt;br&gt;&lt;br&gt;OSC does not claim to be optimized for low-bit depth integers &amp;nbsp;
&lt;br&gt;(contrast to MIDI). There is an assumption that float32 is a &amp;nbsp;
&lt;br&gt;preferable format for gesture data, e.g. for uniform representation &amp;nbsp;
&lt;br&gt;over multiple bit depths. A specific use-case for this was described &amp;nbsp;
&lt;br&gt;in the micro-OSC paper at NIME08, which presents functionally &amp;nbsp;
&lt;br&gt;identical data-streams for two variants of a microprocessor having 10- &amp;nbsp;
&lt;br&gt;and 12-bit ADCs [1]. &amp;nbsp;This is an example of convenience over &amp;nbsp;
&lt;br&gt;compactness, which is also a justifiable design decision in terms of &amp;nbsp;
&lt;br&gt;the &amp;quot;carbon footprint&amp;quot; -- in 2002 NIST estimated that software bugs &amp;nbsp;
&lt;br&gt;cost the US economy $60 billion annually [2].
&lt;br&gt;&lt;br&gt;&lt;br&gt;1: &lt;a href=&quot;http://cnmat.berkeley.edu/publication/uosc_open_sound_control_reference_platform_embedded_devices&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cnmat.berkeley.edu/publication/uosc_open_sound_control_reference_platform_embedded_devices&lt;/a&gt;&lt;br&gt;2: &lt;a href=&quot;http://www.nist.gov/public_affairs/releases/n02-10.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.nist.gov/public_affairs/releases/n02-10.htm&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Andy W. Schmeder
&lt;br&gt;andy [at] cnmat.berkeley.edu
&lt;br&gt;&lt;br&gt;Programmer/Analyst II
&lt;br&gt;Research Group
&lt;br&gt;Center for New Music and Audio Technologies
&lt;br&gt;University of California at Berkeley
&lt;br&gt;&lt;a href=&quot;http://cnmat.berkeley.edu&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cnmat.berkeley.edu&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18513797&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18513797.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18500277</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-16T19:14:09Z</published>
	<updated>2008-07-16T19:14:09Z</updated>
	<author>
		<name>Angelo Fraietta-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Andy W. Schmeder wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; With respect to the original query, note that OSC has a protocol &amp;nbsp;
&lt;br&gt;&amp;gt; overhead of 400% for transmission of single bytes (3-bytes padding + 1 &amp;nbsp;
&lt;br&gt;&amp;gt; typetag)
&lt;br&gt;&lt;br&gt;This statement implies that it only takes four bytes to transmit a byte 
&lt;br&gt;of information over OSC. Apart from the four bytes needed for the 
&lt;br&gt;typetag (you need the comma + &amp;nbsp;any padding top keep at the four byte 
&lt;br&gt;boundary), the address space has not been taken into account.
&lt;br&gt;&lt;br&gt;Also, overhead is more than just the number of bytes contained in a 
&lt;br&gt;message. &amp;nbsp;If anyone is interested in efficiency and speed, have a read 
&lt;br&gt;of the research paper as it dispels a lot of the myths regarding OSC on 
&lt;br&gt;these issues.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Dr Angelo Fraietta
&lt;br&gt;A.Eng, A.Mus.A, BA(Hons), Ph.D.
&lt;br&gt;&lt;br&gt;PO Box 859
&lt;br&gt;Hamilton NSW 2303
&lt;br&gt;&lt;br&gt;Home Page
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.smartcontroller.com.au/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.smartcontroller.com.au/&lt;/a&gt;&lt;br&gt;&lt;br&gt;There are those who seek knowledge for the sake of knowledge - that is 
&lt;br&gt;CURIOSITY
&lt;br&gt;There are those who seek knowledge to be known by others - that is VANITY
&lt;br&gt;There are those who seek knowledge in order to serve - that is LOVE
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Bernard of Clairvaux (1090 - 1153)
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18500277&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18500277.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18498328</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-16T15:49:10Z</published>
	<updated>2008-07-16T15:49:10Z</updated>
	<author>
		<name>Andy W. Schmeder-2</name>
	</author>
	<content type="html">With respect to the original query, note that OSC has a protocol &amp;nbsp;
&lt;br&gt;overhead of 400% for transmission of single bytes (3-bytes padding + 1 &amp;nbsp;
&lt;br&gt;typetag), however for transmission of floats the overhead is only 25%.
&lt;br&gt;&lt;br&gt;Reminder for the list; any paper which discusses OSC (e.g. such as the &amp;nbsp;
&lt;br&gt;one referenced below) may be added to the repository at &lt;a href=&quot;http://opensoundcontrol.org/publications&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://opensoundcontrol.org/publications&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; -- after creating an account on the site, go to &lt;a href=&quot;http://opensoundcontrol.org/node/add/biblio&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://opensoundcontrol.org/node/add/biblio&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Jul 16, 2008, at 3:13 PM, Angelo Fraietta wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; James Sheridan wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi - im looking at sending EEG data over OSC and was wondering how &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; quick
&lt;br&gt;&amp;gt;&amp;gt; I can reliably transmit messages.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I just presented a paper about this at NIME this year. It might &amp;nbsp;
&lt;br&gt;&amp;gt; explain
&lt;br&gt;&amp;gt; things a bit.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.smartcontroller.com.au/publications/Nime2008.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.smartcontroller.com.au/publications/Nime2008.pdf&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Dr Angelo Fraietta
&lt;br&gt;&amp;gt; A.Eng, A.Mus.A, BA(Hons), Ph.D.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; PO Box 859
&lt;br&gt;&amp;gt; Hamilton NSW 2303
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Home Page
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.smartcontroller.com.au/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.smartcontroller.com.au/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; There are those who seek knowledge for the sake of knowledge - that is
&lt;br&gt;&amp;gt; CURIOSITY
&lt;br&gt;&amp;gt; There are those who seek knowledge to be known by others - that is &amp;nbsp;
&lt;br&gt;&amp;gt; VANITY
&lt;br&gt;&amp;gt; There are those who seek knowledge in order to serve - that is LOVE
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Bernard of Clairvaux (1090 - 1153)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; OSC_dev mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18498328&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;/div&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Andy W. Schmeder
&lt;br&gt;andy [at] cnmat.berkeley.edu
&lt;br&gt;&lt;br&gt;Programmer/Analyst II
&lt;br&gt;Research Group
&lt;br&gt;Center for New Music and Audio Technologies
&lt;br&gt;University of California at Berkeley
&lt;br&gt;&lt;a href=&quot;http://cnmat.berkeley.edu&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cnmat.berkeley.edu&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18498328&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18498328.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18497828</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-16T15:13:56Z</published>
	<updated>2008-07-16T15:13:56Z</updated>
	<author>
		<name>Angelo Fraietta-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;James Sheridan wrote:
&lt;br&gt;&amp;gt; Hi - im looking at sending EEG data over OSC and was wondering how quick 
&lt;br&gt;&amp;gt; I can reliably transmit messages.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;I just presented a paper about this at NIME this year. It might explain 
&lt;br&gt;things a bit.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.smartcontroller.com.au/publications/Nime2008.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.smartcontroller.com.au/publications/Nime2008.pdf&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Dr Angelo Fraietta
&lt;br&gt;A.Eng, A.Mus.A, BA(Hons), Ph.D.
&lt;br&gt;&lt;br&gt;PO Box 859
&lt;br&gt;Hamilton NSW 2303
&lt;br&gt;&lt;br&gt;Home Page
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.smartcontroller.com.au/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.smartcontroller.com.au/&lt;/a&gt;&lt;br&gt;&lt;br&gt;There are those who seek knowledge for the sake of knowledge - that is 
&lt;br&gt;CURIOSITY
&lt;br&gt;There are those who seek knowledge to be known by others - that is VANITY
&lt;br&gt;There are those who seek knowledge in order to serve - that is LOVE
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Bernard of Clairvaux (1090 - 1153)
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18497828&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18497828.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18492086</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-16T10:01:58Z</published>
	<updated>2008-07-16T10:01:58Z</updated>
	<author>
		<name>Andy W. Schmeder-2</name>
	</author>
	<content type="html">16 floats * 500 hz = 0.25 Mbit/sec, plus some overhead for the OSC &amp;nbsp;
&lt;br&gt;protocol, which I'd guess is about 20+8 bytes * 500 hz =~ 0.1 Mbit. &amp;nbsp; 
&lt;br&gt;For an embedded microprocessor, this may be a fairly fast rate, but &amp;nbsp;
&lt;br&gt;for a standard computer it is trivial.
&lt;br&gt;&lt;br&gt;Where you might get into trouble, however, is with software commonly &amp;nbsp;
&lt;br&gt;used with OSC--for example, event-domain numerical processing in Max/ 
&lt;br&gt;MSP or PD may easily be 10-100 times slower than the equivalent &amp;nbsp;
&lt;br&gt;implemented with hand-coded in C. &amp;nbsp;That is the (rather large) cost of &amp;nbsp;
&lt;br&gt;convenience that we pay for using these rapid-prototyping &amp;nbsp;
&lt;br&gt;environments. &amp;nbsp;Even in these environments, rates of 500 hz and up &amp;nbsp;
&lt;br&gt;shouldn't immediately be problematic.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Jul 16, 2008, at 5:16 AM, James Sheridan wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi - im looking at sending EEG data over OSC and was wondering how &amp;nbsp;
&lt;br&gt;&amp;gt; quick
&lt;br&gt;&amp;gt; I can reliably transmit messages.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I know it depends on message length but I'd be keeping things simple &amp;nbsp;
&lt;br&gt;&amp;gt; and
&lt;br&gt;&amp;gt; sending 16 floats at a time and would like to achieve rates above &amp;nbsp;
&lt;br&gt;&amp;gt; 512hz?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; is this possible with OSC? I've tried to find some stuff on the web &amp;nbsp;
&lt;br&gt;&amp;gt; and
&lt;br&gt;&amp;gt; the only thing that mentioned message rates was about how the hardware
&lt;br&gt;&amp;gt; implementations of OSC can achieve 500hz - they didn't say if the
&lt;br&gt;&amp;gt; receiving computer was limiting this or if it was faster than a &amp;nbsp;
&lt;br&gt;&amp;gt; computer
&lt;br&gt;&amp;gt; can handle.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards - James
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; OSC_dev mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18492086&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;/div&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Andy W. Schmeder
&lt;br&gt;andy [at] cnmat.berkeley.edu
&lt;br&gt;&lt;br&gt;Programmer/Analyst II
&lt;br&gt;Research Group
&lt;br&gt;Center for New Music and Audio Technologies
&lt;br&gt;University of California at Berkeley
&lt;br&gt;&lt;a href=&quot;http://cnmat.berkeley.edu&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cnmat.berkeley.edu&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18492086&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18492086.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18488368</id>
	<title>Re: OSC bandwidth</title>
	<published>2008-07-16T07:02:19Z</published>
	<updated>2008-07-16T07:02:19Z</updated>
	<author>
		<name>Stephen Sinclair</name>
	</author>
	<content type="html">Hi James,
&lt;br&gt;&lt;br&gt;On Wed, Jul 16, 2008 at 8:16 AM, James Sheridan
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18488368&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;james.sheridan@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi - im looking at sending EEG data over OSC and was wondering how quick
&lt;br&gt;&amp;gt; I can reliably transmit messages.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I know it depends on message length but I'd be keeping things simple and
&lt;br&gt;&amp;gt; sending 16 floats at a time and would like to achieve rates above 512hz?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; is this possible with OSC? I've tried to find some stuff on the web and
&lt;br&gt;&amp;gt; the only thing that mentioned message rates was about how the hardware
&lt;br&gt;&amp;gt; implementations of OSC can achieve 500hz - they didn't say if the
&lt;br&gt;&amp;gt; receiving computer was limiting this or if it was faster than a computer
&lt;br&gt;&amp;gt; can handle.
&lt;/div&gt;&lt;br&gt;It's incorrect to say that OSC can &amp;quot;achieve&amp;quot; anything.. it's just a
&lt;br&gt;message packet format. &amp;nbsp;The speed you can achieve depends on how much
&lt;br&gt;overhead it adds, vs. the capabilities of your network connection. &amp;nbsp;On
&lt;br&gt;today's 1 Gbps ethernet I'd say that it's more than likely possible to
&lt;br&gt;go at that speed. &amp;nbsp;Particularly if it's unidirectional.
&lt;br&gt;&lt;br&gt;In terms of raw speed, OSC adds a little overhead over custom UDP
&lt;br&gt;networking, but (imho) not all that much. &amp;nbsp;It adds a few bytes for the
&lt;br&gt;address string, which can be short or long depending on how verbose
&lt;br&gt;you want to be, and then one byte per message argument for the type
&lt;br&gt;string. &amp;nbsp;It requires a bit of processing on the receiving side to
&lt;br&gt;parse the format and the address string.
&lt;br&gt;&lt;br&gt;There may be other constraints depending on what implementation you're
&lt;br&gt;using and in what software/hardware context, but you haven't given any
&lt;br&gt;of those kind of details. &amp;nbsp;To get an answer more concretely, I suggest
&lt;br&gt;you just perform some tests. &amp;nbsp;This can be done pretty easily using
&lt;br&gt;PureData, for example, if you want to avoid C programming.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Steve
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18488368&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18488368.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18486202</id>
	<title>OSC bandwidth</title>
	<published>2008-07-16T05:16:10Z</published>
	<updated>2008-07-16T05:16:10Z</updated>
	<author>
		<name>James Sheridan-2</name>
	</author>
	<content type="html">Hi - im looking at sending EEG data over OSC and was wondering how quick 
&lt;br&gt;I can reliably transmit messages.
&lt;br&gt;&lt;br&gt;I know it depends on message length but I'd be keeping things simple and 
&lt;br&gt;sending 16 floats at a time and would like to achieve rates above 512hz?
&lt;br&gt;&lt;br&gt;is this possible with OSC? I've tried to find some stuff on the web and 
&lt;br&gt;the only thing that mentioned message rates was about how the hardware 
&lt;br&gt;implementations of OSC can achieve 500hz - they didn't say if the 
&lt;br&gt;receiving computer was limiting this or if it was faster than a computer 
&lt;br&gt;can handle.
&lt;br&gt;&lt;br&gt;Regards - James
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18486202&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OSC-bandwidth-tp18486202p18486202.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18432653</id>
	<title>data transport</title>
	<published>2008-07-13T12:07:49Z</published>
	<updated>2008-07-13T12:07:49Z</updated>
	<author>
		<name>Oswald Berthold-2</name>
	</author>
	<content type="html">&lt;br&gt;hi stephen, there's a couple of options.
&lt;br&gt;&lt;br&gt;here's a direct libpcap to OSC converter:
&lt;br&gt;&lt;a href=&quot;http://xdv.org/cgi-bin/viewcvs.cgi/gsniff/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xdv.org/cgi-bin/viewcvs.cgi/gsniff/&lt;/a&gt;&lt;br&gt;&lt;br&gt;or check this work:
&lt;br&gt;&lt;a href=&quot;http://delysid.org/schearnet.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://delysid.org/schearnet.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;at the xdv site we also have a perl wrapper for tcpdump and i think
&lt;br&gt;the wiretap project has similar utilities (try google).
&lt;br&gt;&lt;br&gt;you should get a good start from any of these.
&lt;br&gt;bst, opt
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18432653&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephen@...&lt;/a&gt; writes:
&lt;br&gt;&amp;nbsp;&amp;gt; Hi,
&lt;br&gt;&amp;nbsp;&amp;gt; 
&lt;br&gt;&amp;nbsp;&amp;gt; My end goal is to get live data from the tcpdump application (network traffic sniffer) into the SuperCollider environment so that I can produce sound based on the input from tcpdump. I have gotten some feedback, and am wondering if having a C/C++ program in the middle the accept piped data from tcpdump and then send it to Supercollider as OSC messages would be the best way to go? Any other suggestions? What would be the best way to get started with this? I really need to know how to setup a program to read data piped to it in the first place, and then I need to know how to take that data and send it as an OSC message.
&lt;br&gt;&amp;nbsp;&amp;gt; 
&lt;br&gt;&amp;nbsp;&amp;gt; All input is greatly appreciated!
&lt;br&gt;&amp;nbsp;&amp;gt; 
&lt;br&gt;&amp;nbsp;&amp;gt; Thanks!
&lt;br&gt;&amp;nbsp;&amp;gt; 
&lt;br&gt;&amp;nbsp;&amp;gt; _______________________________________________
&lt;br&gt;&amp;nbsp;&amp;gt; OSC_dev mailing list
&lt;br&gt;&amp;nbsp;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18432653&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&amp;nbsp;&amp;gt; &lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;gt; 
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18432653&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/data-transport-tp18431768p18432653.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18431768</id>
	<title>data transport</title>
	<published>2008-07-13T10:47:37Z</published>
	<updated>2008-07-13T10:47:37Z</updated>
	<author>
		<name>stephen-16</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;My end goal is to get live data from the tcpdump application (network traffic sniffer) into the SuperCollider environment so that I can produce sound based on the input from tcpdump. I have gotten some feedback, and am wondering if having a C/C++ program in the middle the accept piped data from tcpdump and then send it to Supercollider as OSC messages would be the best way to go? Any other suggestions? What would be the best way to get started with this? I really need to know how to setup a program to read data piped to it in the first place, and then I need to know how to take that data and send it as an OSC message.
&lt;br&gt;&lt;br&gt;All input is greatly appreciated!
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18431768&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/data-transport-tp18431768p18431768.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16998538</id>
	<title>Re: OSC_dev Digest, Vol 51, Issue 4</title>
	<published>2008-05-01T02:11:17Z</published>
	<updated>2008-05-01T02:11:17Z</updated>
	<author>
		<name>Langsam Wieder</name>
	</author>
	<content type="html">an usb pic for osc? i'm excited! since i successfully built the
&lt;br&gt;midibox &lt;a href=&quot;http://www.ucapps.de/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ucapps.de/&lt;/a&gt;&amp;nbsp;, i want to do the same with an osc
&lt;br&gt;controller!
&lt;br&gt;will it also be as easily buildable as the midibox?
&lt;br&gt;&lt;br&gt;how do you translate the osc messages to the tcp/udp port so the
&lt;br&gt;applications understand?
&lt;br&gt;&lt;br&gt;greetings
&lt;br&gt;fabb
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp;&amp;gt;&amp;gt; BTW:
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;gt;&amp;gt; the upcoming OSC hardware kit will implement time tags and
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;gt;&amp;gt; scheduling.
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;gt;&amp;gt; -Is this a new version of CNMAT's Connectivity Processor?
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;gt; Was never answered...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;No it is a microcontroller firmware for the USB PIC processors.
&lt;br&gt;&amp;gt; &amp;nbsp;Details will be published in the NIME08 proceedings.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;Unfortunately the project isn't up for public release yet but we are
&lt;br&gt;&amp;gt; &amp;nbsp;close.
&lt;/div&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16998538&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A-OSC_dev-Digest%2C-Vol-51%2C-Issue-4-tp16998538p16998538.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16951872</id>
	<title>Re: Invitation: OSC meeting at NIME08</title>
	<published>2008-04-28T18:53:52Z</published>
	<updated>2008-04-28T18:53:52Z</updated>
	<author>
		<name>Angelo Fraietta-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Arie van Schutterhoef wrote:
&lt;br&gt;&amp;gt;&amp;gt;Nime08 is in Genova, Italy. It will take place near or at the conference...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -Prevailing ignorance: are there already dates settled for this [for the
&lt;br&gt;&amp;gt; conference-not my ignorance]?
&lt;br&gt;&lt;br&gt;5-7 June
&lt;br&gt;&lt;a href=&quot;http://nime2008.casapaganini.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://nime2008.casapaganini.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Dr Angelo Fraietta
&lt;br&gt;A.Eng, A.Mus.A, BA(Hons), Ph.D.
&lt;br&gt;&lt;br&gt;PO Box 859
&lt;br&gt;Hamilton NSW 2303
&lt;br&gt;&lt;br&gt;Home Page
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.smartcontroller.com.au/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.smartcontroller.com.au/&lt;/a&gt;&lt;br&gt;&lt;br&gt;There are those who seek knowledge for the sake of knowledge - that is 
&lt;br&gt;CURIOSITY
&lt;br&gt;There are those who seek knowledge to be known by others - that is VANITY
&lt;br&gt;There are those who seek knowledge in order to serve - that is LOVE
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Bernard of Clairvaux (1090 - 1153)
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16951872&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/using-oscgroups-for-routing-between-apps-on-a-single-machine-tp16779708p16951872.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16951220</id>
	<title>Re: Invitation: OSC meeting at NIME08</title>
	<published>2008-04-28T17:42:45Z</published>
	<updated>2008-04-28T17:42:45Z</updated>
	<author>
		<name>Arie van Schutterhoef</name>
	</author>
	<content type="html">&amp;gt;Nime08 is in Genova, Italy. It will take place near or at the conference...
&lt;br&gt;-Prevailing ignorance: are there already dates settled for this [for the
&lt;br&gt;conference-not my ignorance]?
&lt;br&gt;&lt;br&gt;AvS
&lt;br&gt;&lt;br&gt;PS: So close in Europe. Would be nice talking to you in realtime...
&lt;br&gt;&lt;br&gt;......................................................................
&lt;br&gt;......................................................................
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` *===========================================================+++
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` |arsche.net sound-image-word &lt;a href=&quot;http://www.arsche.net/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.arsche.net/index.html&lt;/a&gt;&amp;nbsp;|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*===========================================================+++
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` |Schreck Ensemble/Assembly - live electro-acoustic music- &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.schreck.nl/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.schreck.nl/index.html&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` *===========================================================+++
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` |S T R A T I F I E R - a multi-dimensional controller- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.stratifier.nl/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.stratifier.nl/index.html&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` *============================================================++
&lt;br&gt;&amp;nbsp; &amp;nbsp; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&lt;br&gt;......................................................................
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16951220&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/using-oscgroups-for-routing-between-apps-on-a-single-machine-tp16779708p16951220.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16951091</id>
	<title>Re: Invitation: OSC meeting at NIME08</title>
	<published>2008-04-28T17:22:00Z</published>
	<updated>2008-04-28T17:22:00Z</updated>
	<author>
		<name>Adrian Freed</name>
	</author>
	<content type="html">&amp;gt; &amp;gt;I am organizing an informal OSC meet at NIME08
&lt;br&gt;&amp;gt;-Hopefully not being too much behest with ignorance, but where will this
&lt;br&gt;&amp;gt;glorious event take place?
&lt;br&gt;&lt;br&gt;Nime08 is in Genova, Italy. It will take place near or at the conference...
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16951091&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/using-oscgroups-for-routing-between-apps-on-a-single-machine-tp16779708p16951091.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16950278</id>
	<title>Re: Invitation: OSC meeting at NIME08</title>
	<published>2008-04-28T16:13:40Z</published>
	<updated>2008-04-28T16:13:40Z</updated>
	<author>
		<name>Andy W. Schmeder-2</name>
	</author>
	<content type="html">On Apr 28, 2008, at 3:09 PM, Arie van Schutterhoef wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; BTW:
&lt;br&gt;&amp;gt;&amp;gt; the upcoming OSC hardware kit will implement time tags and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; scheduling.
&lt;br&gt;&amp;gt;&amp;gt; -Is this a new version of CNMAT's Connectivity Processor?
&lt;br&gt;&amp;gt; Was never answered...
&lt;br&gt;&lt;br&gt;&lt;br&gt;No it is a microcontroller firmware for the USB PIC processors. &amp;nbsp; 
&lt;br&gt;Details will be published in the NIME08 proceedings.
&lt;br&gt;&lt;br&gt;Unfortunately the project isn't up for public release yet but we are &amp;nbsp;
&lt;br&gt;close.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Andy W. Schmeder
&lt;br&gt;andy [at] cnmat.berkeley.edu
&lt;br&gt;phone:	+1-510-643-9990 x.313
&lt;br&gt;cell: 	+1-510-717-6653
&lt;br&gt;&lt;br&gt;Programmer/Analyst II
&lt;br&gt;Center for New Music and Audio Technologies
&lt;br&gt;University of California at Berkeley
&lt;br&gt;&lt;a href=&quot;http://cnmat.berkeley.edu&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cnmat.berkeley.edu&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16950278&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/using-oscgroups-for-routing-between-apps-on-a-single-machine-tp16779708p16950278.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16949439</id>
	<title>Re: Invitation: OSC meeting at NIME08</title>
	<published>2008-04-28T15:09:11Z</published>
	<updated>2008-04-28T15:09:11Z</updated>
	<author>
		<name>Arie van Schutterhoef</name>
	</author>
	<content type="html">&amp;gt;I am organizing an informal OSC meet at NIME08
&lt;br&gt;-Hopefully not being too much behest with ignorance, but where will this
&lt;br&gt;glorious event take place?
&lt;br&gt;&lt;br&gt;AvS
&lt;br&gt;&lt;br&gt;BTW:
&lt;br&gt;&amp;gt;the upcoming OSC hardware kit will implement time tags and scheduling.
&lt;br&gt;&amp;gt;-Is this a new version of CNMAT's Connectivity Processor?
&lt;br&gt;Was never answered...
&lt;br&gt;&lt;br&gt;......................................................................
&lt;br&gt;......................................................................
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` *===========================================================+++
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` |arsche.net sound-image-word &lt;a href=&quot;http://www.arsche.net/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.arsche.net/index.html&lt;/a&gt;&amp;nbsp;|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*===========================================================+++
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` |Schreck Ensemble/Assembly - live electro-acoustic music- &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.schreck.nl/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.schreck.nl/index.html&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` *===========================================================+++
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` |S T R A T I F I E R - a multi-dimensional controller- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.stratifier.nl/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.stratifier.nl/index.html&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;` *============================================================++
&lt;br&gt;&amp;nbsp; &amp;nbsp; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&lt;br&gt;......................................................................
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16949439&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/using-oscgroups-for-routing-between-apps-on-a-single-machine-tp16779708p16949439.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16945729</id>
	<title>Invitation: OSC meeting at NIME08</title>
	<published>2008-04-28T11:53:19Z</published>
	<updated>2008-04-28T11:53:19Z</updated>
	<author>
		<name>Adrian Freed</name>
	</author>
	<content type="html">Following the tradition Matt started I am organizing an informal OSC meet at NIME08 - probably around a dinner meal. Please let me know if you are interested in attending and also if there are any particular things you would like to discuss at the meeting.
&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16945729&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/using-oscgroups-for-routing-between-apps-on-a-single-machine-tp16779708p16945729.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16935514</id>
	<title>Re: using oscgroups for routing between apps on a singlemachine</title>
	<published>2008-04-28T02:41:57Z</published>
	<updated>2008-04-28T02:41:57Z</updated>
	<author>
		<name>Ross Bencina-3</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML xmlns=&quot;http://www.w3.org/TR/REC-html40&quot; xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot;&gt;&lt;HEAD&gt;
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;META content=&quot;MSHTML 6.00.2900.3314&quot; name=GENERATOR&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;/HEAD&gt;
&lt;BODY lang=EN-US vLink=purple link=blue bgColor=#ffffff&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Hi Tim&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Yeah. The way the sockets are multiplexed doesn't 
really support the way you want to set things up at the moment.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;1) I think the main issue you need to sove is 
supporting multiple client applications on a single machine. The simplest way to 
solve this would be to support multiple localrxports (just keep a vector of them 
and forward incoming traffic to all of them). This wouldn't give each client 
application its own oscgroup user name, but it might be enough.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;2) Point-to-point routing is a bit different, and 
means being able to address OSC packets to specific users 
(endpoints)&amp;nbsp;rather than broadcasting them out to every listener. My idea 
for this would be to just routing messages within the osc packets sent to 
oscgroups so it knows which client(s) to forward to.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Much as I would like to help you implement this, my 
schedule is pretty busy at the moment. Feel free to take a look at the code and 
ask questions if things seem unclear.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Cheers&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Ross.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;BLOCKQUOTE style=&quot;PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px&quot;&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;----- Original Message ----- &lt;/DIV&gt;
  &lt;DIV style=&quot;BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black&quot;&gt;&lt;B&gt;From:&lt;/B&gt; 
  &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16935514&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tjt@...&lt;/a&gt; &lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;To:&lt;/B&gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16935514&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;osc_dev@...&lt;/a&gt; &lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Sent:&lt;/B&gt; Saturday, April 19, 2008 2:49 
  PM&lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Subject:&lt;/B&gt; [OSC_dev] using oscgroups for 
  routing between apps on a singlemachine&lt;/DIV&gt;
  &lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
  &lt;DIV class=Section1&gt;
  &lt;P class=MsoNormal&gt;I'd like to use oscgroups ( &lt;A href=&quot;http://www.audiomulch.com/~rossb/code/oscgroups/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.audiomulch.com/~rossb/code/oscgroups/&lt;/A&gt; 
  )&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;for routing messages between applications. &amp;nbsp;I've got 
  it working in an environment where each application&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;and the server run on separate machines, but I'd like to 
  route messages between applications on the same machine,&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;and I haven't been able to figure out how to do that. 
  &amp;nbsp;If I run only one OscGroupClient, multiple applications &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;can't all listen to its output port simultaneously, and if 
  I try to run &amp;nbsp;two OscGroupClient's on the same machine,&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;things seem to get confused.&amp;nbsp; In the README of 
  oscgroups, Ross says that one of the planned &amp;nbsp;&amp;nbsp;extensions 
  is&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;&quot;point-to-point routing in OscGroupClient&quot;, which sounds 
  like what I would want.&amp;nbsp;&amp;nbsp; Does anyone know of a way&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;to use oscgroups with multiple applications (that all want 
  to access the tx and rx ports of OscGroupClient)&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;on the same machine?&amp;nbsp;&amp;nbsp; Has anyone extended 
  OscGroupClient to do point-to-point routing?&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
  &lt;P class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...Tim...&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/DIV&gt;
  &lt;P&gt;
  &lt;HR&gt;

  &lt;P&gt;&lt;/P&gt;_______________________________________________&lt;BR&gt;OSC_dev mailing 
  list&lt;BR&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16935514&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;&lt;BR&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;BR&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16935514&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/using-oscgroups-for-routing-between-apps-on-a-single-machine-tp16779708p16935514.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16779708</id>
	<title>using oscgroups for routing between apps on a single machine</title>
	<published>2008-04-18T21:49:49Z</published>
	<updated>2008-04-18T21:49:49Z</updated>
	<author>
		<name>Tim Thompson</name>
	</author>
	<content type="html">&lt;html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 12 (filtered medium)&quot;&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;
&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;I'd like to use oscgroups ( &lt;a href=&quot;http://www.audiomulch.com/~rossb/code/oscgroups/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.audiomulch.com/~rossb/code/oscgroups/&lt;/a&gt;
)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;for routing messages between applications. &amp;nbsp;I've got it
working in an environment where each application&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;and the server run on separate machines, but I'd like to route
messages between applications on the same machine,&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;and I haven't been able to figure out how to do that. &amp;nbsp;If
I run only one OscGroupClient, multiple applications &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;can't all listen to its output port simultaneously, and if I
try to run &amp;nbsp;two OscGroupClient's on the same machine,&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;things seem to get confused.&amp;nbsp; In the README of
oscgroups, Ross says that one of the planned &amp;nbsp;&amp;nbsp;extensions is&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;quot;point-to-point routing in OscGroupClient&amp;quot;, which
sounds like what I would want.&amp;nbsp;&amp;nbsp; Does anyone know of a way&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;to use oscgroups with multiple applications (that all want
to access the tx and rx ports of OscGroupClient)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;on the same machine?&amp;nbsp;&amp;nbsp; Has anyone extended
OscGroupClient to do point-to-point routing?&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...Tim...&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16779708&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/using-oscgroups-for-routing-between-apps-on-a-single-machine-tp16779708p16779708.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16702539</id>
	<title>[ANN] NetUtil 0.34</title>
	<published>2008-04-15T06:40:16Z</published>
	<updated>2008-04-15T06:40:16Z</updated>
	<author>
		<name>Sciss</name>
	</author>
	<content type="html">hello,
&lt;br&gt;&lt;br&gt;this is a micro update of the java OSC library NetUtil. the code &amp;nbsp;
&lt;br&gt;remains the same as v0.33, but i added the missing javadoc comments &amp;nbsp;
&lt;br&gt;for OSCPacketCodec which was introduced in v0.33. In particular, the &amp;nbsp;
&lt;br&gt;docs of OSCPacketCodec.Atom briefly show how you would design codecs &amp;nbsp;
&lt;br&gt;to deal with extra types such as RGBA colour values or Boolean values.
&lt;br&gt;&lt;br&gt;this update v0.34 is synced with SVN revision 5, but anyone &amp;nbsp;
&lt;br&gt;interested in the development should preferably stick to SVN.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://sourceforge.net/projects/netutil&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/projects/netutil&lt;/a&gt;&lt;br&gt;&lt;br&gt;ciao, -sciss-
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16702539&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-ANN--NetUtil-0.34-tp16702539p16702539.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16404513</id>
	<title>Re: handling nil/inf in oscpack</title>
	<published>2008-03-31T10:22:06Z</published>
	<updated>2008-03-31T10:22:06Z</updated>
	<author>
		<name>Andy W. Schmeder-2</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;div&gt;Typically &quot;N&quot; goes to NULL or its equivalent in the target environment (C: int 0, Python: None, etc).&lt;/div&gt;&lt;div&gt;&lt;br class=&quot;webkit-block-placeholder&quot;&gt;&lt;/div&gt;&lt;div&gt;Mapping &quot;I&quot; to infinity is redundant with the existing capabilities of &quot;f&quot;, and also doesn't cover the standard use cases of that number class (e.g. positive and negative infinity) -- &amp;nbsp;if this was the original intention then it wasn't well thought-out (I have no idea...).&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; &quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;In Open Sound World, we mapped &quot;I&quot; to the impulse (i.e., &quot;bang&quot; for MaxMSP/PD users). &amp;nbsp;Also in CNMAT's resonators~ object the bang input is equivalent to a dirac impulse, so this sort of makes sense on that level.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I've seen other implementations setup some sort of class or typedef for these &quot;weird&quot; types and just pass that on to the user to interpret.&lt;/div&gt;&lt;div&gt;&lt;br class=&quot;webkit-block-placeholder&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;On Mar 29, 2008, at 12:16 AM, Ross Bencina wrote:&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; &quot;&gt;&lt;div bgcolor=&quot;#ffffff&quot; style=&quot;word-wrap: break-word; &quot;&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(20, 79, 174); -webkit-text-stroke-width: -1; &quot;&gt;Probably the correct fix for the stream interface would be to return INF as a float with value numeric_limits&amp;lt;float&amp;gt;::infinity()&amp;nbsp;and Nil perhaps as an int with value 0.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;font face=&quot;Arial&quot; size=&quot;2&quot;&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div apple-content-edited=&quot;true&quot;&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; &quot;&gt;&lt;div style=&quot;word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; &quot;&gt;&lt;div&gt;---&lt;/div&gt;&lt;div&gt;&lt;br class=&quot;khtml-block-placeholder&quot;&gt;&lt;/div&gt;&lt;div&gt;Andy W. Schmeder&lt;/div&gt;&lt;div&gt;andy [at] cnmat.berkeley.edu&lt;/div&gt;&lt;div&gt;phone:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;&lt;/span&gt;+1-510-643-9990 x.313&lt;/div&gt;&lt;div&gt;&lt;br class=&quot;khtml-block-placeholder&quot;&gt;&lt;/div&gt;&lt;div&gt;Programmer/Analyst II&lt;/div&gt;&lt;div&gt;Center for New Music and Audio Technologies&lt;/div&gt;&lt;div&gt;University of California at Berkeley&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://cnmat.berkeley.edu&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cnmat.berkeley.edu&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;OSC_dev mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16404513&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;OSC_dev@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.create.ucsb.edu/mailman/listinfo/osc_dev&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/handling-nil-inf-in-oscpack-tp16287337p16404513.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-16367565</id>
	<title>Re: handling nil/inf in oscpack</title>
	<published>2008-03-29T00:16:28Z</published>
	<updated>2008-03-29T00:16:28Z</updated>
	<author>
		<name>Ross Bencina-3</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;META content=&quot;MSHTML 6.00.2900.3268&quot; name=GENERATOR&gt;

&lt;/HEAD&gt;
&lt;BODY style=&quot;WORD-WRAP: break-word; webkit-nbsp-mode: space; webkit-line-break: after-white-space&quot; bgColor=#ffffff&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Hi Graham&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Very interesting. I have an oscpack/Lua binding 
too, we should compare notes.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;For the use you describe (with the case statement) 
I recommend using the argument iterator instead of the argument stream (see the 
example in oscpack for details).&amp;nbsp;That way the increment will be 
natural.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Probably the correct fix for the stream interface 
would be to return INF as a float with value 
numeric_limits&amp;lt;float&amp;gt;::infinity()&amp;nbsp;and Nil perhaps as an int with 
value 0.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;I agree an ignore manipulator might be handy 
too:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;args &amp;gt;&amp;gt; osc::IgnoreArgument;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;I should set up a sourceforge site for oscpack 
huh...&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Best wishes&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Ross.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;BLOCKQUOTE style=&quot;PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px&quot;&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;----- Original Message ----- &lt;/DIV&gt;
  &lt;DIV style=&quot;BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black&quot;&gt;&lt;B&gt;From:&lt;/B&gt; 
  &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16367565&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lists@...&lt;/a&gt; &lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;To:&lt;/B&gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=16367565&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;osc_dev@...&lt;/a&gt; &lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Sent:&lt;/B&gt; Wednesday, March 26, 2008 7:44 
  AM&lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Subject:&lt;/B&gt; Re: [OSC_dev] handling nil/inf 
  in oscpack&lt;/DIV&gt;
  &lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
  &lt;DIV&gt;FWIW, I made a nasty kludge for the problem by adding this to&amp;nbsp;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;class&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; 
  ReceivedMessageArgumentStream:&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV&gt;&lt;BR class=webkit-block-placeholder&gt;&lt;/DIV&gt;
  &lt;DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;void&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; hack_next()&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;{&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;p_++;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT class=Apple-style-span face=Monaco size=2&gt;&lt;SPAN class=Apple-style-span style=&quot;FONT-SIZE: 10px&quot;&gt;&lt;BR class=webkit-block-placeholder&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT class=Apple-style-span face=Monaco size=2&gt;&lt;SPAN class=Apple-style-span style=&quot;FONT-SIZE: 10px&quot;&gt;And doing this in my 
  handler:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT class=Apple-style-span face=Monaco size=2&gt;&lt;SPAN class=Apple-style-span style=&quot;FONT-SIZE: 10px&quot;&gt;
  &lt;DIV style=&quot;MIN-HEIGHT: 14px; MARGIN: 0px; FONT: 10px Monaco&quot;&gt;&lt;BR&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #236e25&quot; face=Monaco color=#236e25 size=2&gt;//process&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;unsigned&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;long&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; argc = m.ArgumentCount();&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;const&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;char&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; *addr &amp;nbsp; = m.AddressPattern() ? m.AddressPattern() : &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #891315&quot; face=Monaco color=#891315 size=2&gt;&quot;&quot;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;const&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;char&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; *tags &amp;nbsp; = m.TypeTags() &amp;amp;&amp;amp; argc ? m.TypeTags() : 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #891315&quot; face=Monaco color=#891315 size=2&gt;&quot;&quot;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;osc::ReceivedMessageArgumentStream args = 
  m.ArgumentStream();&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;P style=&quot;MIN-HEIGHT: 14px; MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR class=khtml-block-placeholder&gt;&lt;/P&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;//...&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;BR class=webkit-block-placeholder&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;for&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;(&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;int&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; i=&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #0000ff&quot; face=Monaco color=#0000ff size=2&gt;0&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;; i &amp;lt; argc; i++) {&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;switch&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;(tags[i])&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;case&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #0000ff&quot; face=Monaco color=#0000ff size=2&gt;'f'&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;: {&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;float&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; v; args 
  &amp;gt;&amp;gt; v;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;lua_pushnumber(L, 
  v);&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;} &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;break&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;P style=&quot;MIN-HEIGHT: 14px; MARGIN: 0px&quot;&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/P&gt;
  &lt;P style=&quot;MIN-HEIGHT: 14px; MARGIN: 0px&quot;&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;//.. etc. for other types&lt;BR class=webkit-block-placeholder&gt;&lt;/P&gt;
  &lt;DIV style=&quot;MIN-HEIGHT: 14px; MARGIN: 0px; FONT: 10px Monaco&quot;&gt;&lt;BR&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;case&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #0000ff&quot; face=Monaco color=#0000ff size=2&gt;'T'&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;: {&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;bool&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; v; args 
  &amp;gt;&amp;gt; v;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;lua_pushboolean(L, 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;true&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;);&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;} &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;break&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;case&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #0000ff&quot; face=Monaco color=#0000ff size=2&gt;'F'&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;: {&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;bool&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; v; args 
  &amp;gt;&amp;gt; v;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;lua_pushboolean(L, 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;false&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;);&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;} &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;break&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;;&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;case&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt; 
  &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #0000ff&quot; face=Monaco color=#0000ff size=2&gt;'N'&lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;: {&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;args.hack_next(); 
  &amp;nbsp;///&amp;lt;----- yuck&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;lua_pushnil(L);&lt;/FONT&gt;&lt;/DIV&gt;
  &lt;DIV style=&quot;MARGIN: 0px&quot;&gt;&lt;FONT style=&quot;FONT: 10px Monaco&quot; face=Monaco size=2&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;&lt;SPAN class=Apple-tab-span style=&quot;WHITE-SPACE: pre&quot;&gt;&lt;/SPAN&gt;} &lt;/FONT&gt;&lt;FONT style=&quot;FONT: 10px Monaco; COLOR: #760f50&quot; face=Monaco color=#760f50 size=2&gt;break&lt;/FONT&gt;&