Permalink
Browse files

uses schedule_defer instead of a Thread to poll ZeroConf events

That way everything happens in the Main thread



git-svn-id: https://osctools.svn.sourceforge.net/svnroot/osctools/trunk@28 8d86b230-aa17-0410-9ab0-97cb6adfeffd
  • Loading branch information...
1 parent 5e97b27 commit e409864e6276020e77f97d2a365b26f90d55f16e remymuller committed Sep 1, 2009
View
26 maxmsp externals/oscbonjour/oscbonjour.xcodeproj/muller.pbxuser
@@ -30,7 +30,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 906,
+ 1386,
20,
48,
43,
@@ -72,6 +72,10 @@
PBXPerProjectTemplateStateSaveDate = 273443578;
PBXWorkspaceStateSaveDate = 273443578;
};
+ perUserProjectItems = {
+ 45CF058F104C76B400EED14E /* PBXBookmark */ = 45CF058F104C76B400EED14E /* PBXBookmark */;
+ 45CF0590104C76B400EED14E /* PBXTextBookmark */ = 45CF0590104C76B400EED14E /* PBXTextBookmark */;
+ };
sourceControlManager = 45A57D6A0B04F81200FF8034 /* Source Control */;
userBuildSettings = {
};
@@ -112,6 +116,20 @@
modificationTime = 271635871.695774;
state = 1;
};
+ 45CF058F104C76B400EED14E /* PBXBookmark */ = {
+ isa = PBXBookmark;
+ fRef = 56F0EDEB0B04DDAD00FAAA58 /* oscbonjour.cpp */;
+ };
+ 45CF0590104C76B400EED14E /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 56F0EDEB0B04DDAD00FAAA58 /* oscbonjour.cpp */;
+ name = "oscbonjour.cpp: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 2136;
+ vrLoc = 1829;
+ };
45EB42961030808500AB8A5C /* Thread.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1084, 2842}}";
@@ -128,9 +146,9 @@
};
56F0EDEB0B04DDAD00FAAA58 /* oscbonjour.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1084, 3878}}";
- sepNavSelRange = "{3219, 0}";
- sepNavVisRange = "{8260, 1296}";
+ sepNavIntBoundsRect = "{{0, 0}, {1564, 3990}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{1829, 2136}";
sepNavVisRect = "{{0, 0}, {1186, 555}}";
};
};
View
208 maxmsp externals/zeroconf.maxhelp
@@ -1,9 +1,9 @@
{
"patcher" : {
"fileversion" : 1,
- "rect" : [ 431.0, 90.0, 640.0, 506.0 ],
+ "rect" : [ 504.0, 44.0, 640.0, 506.0 ],
"bglocked" : 0,
- "defrect" : [ 431.0, 90.0, 640.0, 506.0 ],
+ "defrect" : [ 504.0, 44.0, 640.0, 506.0 ],
"openrect" : [ 0.0, 0.0, 0.0, 0.0 ],
"openinpresentation" : 0,
"default_fontsize" : 12.0,
@@ -15,269 +15,267 @@
"toolbarvisible" : 1,
"boxanimatetime" : 200,
"imprint" : 0,
- "enablehscroll" : 1,
- "enablevscroll" : 1,
"boxes" : [ {
"box" : {
- "fontname" : "Verdana",
+ "maxclass" : "newobj",
+ "text" : "udpsend localhost 9000",
"fontsize" : 10.0,
+ "patching_rect" : [ 79.0, 292.0, 130.0, 19.0 ],
"id" : "obj-17",
- "maxclass" : "newobj",
"numinlets" : 1,
- "numoutlets" : 0,
- "patching_rect" : [ 79.0, 292.0, 130.0, 19.0 ],
- "text" : "udpsend localhost 9000"
+ "fontname" : "Verdana",
+ "numoutlets" : 0
}
}
, {
"box" : {
- "id" : "obj-16",
"maxclass" : "button",
- "numinlets" : 1,
- "numoutlets" : 1,
"outlettype" : [ "bang" ],
- "patching_rect" : [ 78.0, 222.0, 20.0, 20.0 ]
+ "patching_rect" : [ 78.0, 222.0, 20.0, 20.0 ],
+ "id" : "obj-16",
+ "numinlets" : 1,
+ "numoutlets" : 1
}
}
, {
"box" : {
- "fontname" : "Arial",
- "fontsize" : 12.0,
- "id" : "obj-14",
"maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 1,
+ "text" : "prepend name",
"outlettype" : [ "" ],
+ "fontsize" : 12.0,
"patching_rect" : [ 119.0, 224.0, 100.0, 20.0 ],
- "text" : "prepend name"
+ "id" : "obj-14",
+ "numinlets" : 1,
+ "fontname" : "Arial",
+ "numoutlets" : 1
}
}
, {
"box" : {
- "fontname" : "Verdana",
+ "maxclass" : "newobj",
+ "text" : "print _RESOLVE_",
"fontsize" : 10.0,
+ "patching_rect" : [ 222.0, 292.0, 97.0, 19.0 ],
"id" : "obj-10",
- "maxclass" : "newobj",
"numinlets" : 1,
- "numoutlets" : 0,
- "patching_rect" : [ 222.0, 292.0, 97.0, 19.0 ],
- "text" : "print _RESOLVE_"
+ "fontname" : "Verdana",
+ "numoutlets" : 0
}
}
, {
"box" : {
- "fontname" : "Verdana",
- "fontsize" : 10.0,
- "id" : "obj-11",
"maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 1,
+ "text" : "zeroconf.resolve @name \"Un autre service\" @type _osc._udp @domain local.",
"outlettype" : [ "" ],
+ "fontsize" : 10.0,
"patching_rect" : [ 78.0, 255.0, 399.0, 19.0 ],
- "text" : "zeroconf.resolve @name \"Un autre service\" @type _osc._udp @domain local."
+ "id" : "obj-11",
+ "numinlets" : 1,
+ "fontname" : "Verdana",
+ "numoutlets" : 1
}
}
, {
"box" : {
- "fontname" : "Verdana",
+ "maxclass" : "newobj",
+ "text" : "zeroconf.service @name \"Open Sound Control UDP Service\" @port 4321 @type _osc._udp",
"fontsize" : 10.0,
+ "patching_rect" : [ 72.0, 400.0, 465.0, 19.0 ],
"id" : "obj-5",
- "maxclass" : "newobj",
"numinlets" : 1,
- "numoutlets" : 0,
- "patching_rect" : [ 72.0, 400.0, 465.0, 19.0 ],
- "text" : "zeroconf.service @name \"Open Sound Control UDP Service\" @port 4321 @type _osc._udp"
+ "fontname" : "Verdana",
+ "numoutlets" : 0
}
}
, {
"box" : {
- "fontname" : "Verdana",
+ "maxclass" : "newobj",
+ "text" : "zeroconf.service @name \"Un autre service\" @port 6666 @type _osc._udp",
"fontsize" : 10.0,
+ "patching_rect" : [ 72.0, 423.0, 380.0, 19.0 ],
"id" : "obj-6",
- "maxclass" : "newobj",
"numinlets" : 1,
- "numoutlets" : 0,
- "patching_rect" : [ 72.0, 423.0, 380.0, 19.0 ],
- "text" : "zeroconf.service @name \"Un autre service\" @port 6666 @type _osc._udp"
+ "fontname" : "Verdana",
+ "numoutlets" : 0
}
}
, {
"box" : {
- "fontname" : "Verdana",
+ "maxclass" : "newobj",
+ "text" : "zeroconf.service @name \"Open Sound Control UDP Service\" @port 12345 @type _osc._udp",
"fontsize" : 10.0,
+ "patching_rect" : [ 72.0, 377.0, 471.0, 19.0 ],
"id" : "obj-4",
- "maxclass" : "newobj",
"numinlets" : 1,
- "numoutlets" : 0,
- "patching_rect" : [ 72.0, 377.0, 471.0, 19.0 ],
- "text" : "zeroconf.service @name \"Open Sound Control UDP Service\" @port 12345 @type _osc._udp"
+ "fontname" : "Verdana",
+ "numoutlets" : 0
}
}
, {
"box" : {
- "id" : "obj-9",
"maxclass" : "button",
- "numinlets" : 1,
- "numoutlets" : 1,
"outlettype" : [ "bang" ],
- "patching_rect" : [ 191.0, 135.0, 20.0, 20.0 ]
+ "patching_rect" : [ 191.0, 135.0, 20.0, 20.0 ],
+ "id" : "obj-9",
+ "numinlets" : 1,
+ "numoutlets" : 1
}
}
, {
"box" : {
- "fontname" : "Arial",
+ "maxclass" : "umenu",
+ "outlettype" : [ "int", "", "" ],
+ "items" : [ "Open Sound Control UDP Service", ",", "Open Sound Control UDP Service (2)", ",", "Un autre service" ],
"fontsize" : 12.0,
+ "patching_rect" : [ 78.0, 190.0, 266.0, 20.0 ],
"id" : "obj-7",
- "items" : [ "Open Sound Control UDP Service", ",", "Open Sound Control UDP Service (2)", ",", "Un autre service" ],
- "maxclass" : "umenu",
+ "types" : [ ],
"numinlets" : 1,
- "numoutlets" : 3,
- "outlettype" : [ "int", "", "" ],
- "patching_rect" : [ 78.0, 190.0, 100.0, 20.0 ],
- "types" : [ ]
+ "fontname" : "Arial",
+ "numoutlets" : 3
}
}
, {
"box" : {
- "fontname" : "Verdana",
- "fontsize" : 10.0,
- "id" : "obj-3",
"maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 1,
+ "text" : "zeroconf.browser @type _smb._tcp @domain local.",
"outlettype" : [ "" ],
+ "fontsize" : 10.0,
"patching_rect" : [ 78.0, 163.0, 268.0, 19.0 ],
- "text" : "zeroconf.browser @type _smb._tcp @domain local."
+ "id" : "obj-3",
+ "numinlets" : 1,
+ "fontname" : "Verdana",
+ "numoutlets" : 1
}
}
, {
"box" : {
- "fontname" : "Arial",
- "fontsize" : 12.0,
- "id" : "obj-2",
"maxclass" : "newobj",
- "numinlets" : 1,
- "numoutlets" : 1,
+ "text" : "prepend browse",
"outlettype" : [ "" ],
+ "fontsize" : 12.0,
"patching_rect" : [ 78.0, 134.0, 100.0, 20.0 ],
- "text" : "prepend browse"
+ "id" : "obj-2",
+ "numinlets" : 1,
+ "fontname" : "Arial",
+ "numoutlets" : 1
}
}
, {
"box" : {
- "fontname" : "Arial",
+ "maxclass" : "umenu",
+ "outlettype" : [ "int", "", "" ],
+ "items" : [ "_osc._udp", ",", "_afpovertcp._tcp", ",", "_smb._tcp" ],
"fontsize" : 12.0,
+ "patching_rect" : [ 78.0, 105.0, 148.0, 20.0 ],
"id" : "obj-1",
- "items" : [ "_osc._udp", ",", "_afpovertcp._tcp", ",", "_smb._tcp" ],
- "maxclass" : "umenu",
+ "types" : [ ],
"numinlets" : 1,
- "numoutlets" : 3,
- "outlettype" : [ "int", "", "" ],
- "patching_rect" : [ 78.0, 105.0, 100.0, 20.0 ],
- "types" : [ ]
+ "fontname" : "Arial",
+ "numoutlets" : 3
}
}
],
"lines" : [ {
"patchline" : {
- "destination" : [ "obj-2", 0 ],
+ "source" : [ "obj-9", 0 ],
+ "destination" : [ "obj-3", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-1", 1 ]
+ "midpoints" : [ 200.5, 158.5, 87.5, 158.5 ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-10", 0 ],
+ "source" : [ "obj-7", 0 ],
+ "destination" : [ "obj-16", 0 ],
"hidden" : 0,
- "midpoints" : [ 87.5, 281.5, 231.5, 281.5 ],
- "source" : [ "obj-11", 0 ]
+ "midpoints" : [ ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-17", 0 ],
+ "source" : [ "obj-7", 1 ],
+ "destination" : [ "obj-14", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-11", 0 ]
+ "midpoints" : [ 211.0, 216.5, 128.5, 216.5 ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-11", 0 ],
+ "source" : [ "obj-3", 0 ],
+ "destination" : [ "obj-7", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-14", 0 ]
+ "midpoints" : [ ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-11", 0 ],
+ "source" : [ "obj-2", 0 ],
+ "destination" : [ "obj-3", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-16", 0 ]
+ "midpoints" : [ ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-3", 0 ],
+ "source" : [ "obj-16", 0 ],
+ "destination" : [ "obj-11", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-2", 0 ]
+ "midpoints" : [ ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-7", 0 ],
+ "source" : [ "obj-14", 0 ],
+ "destination" : [ "obj-11", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-3", 0 ]
+ "midpoints" : [ 128.5, 249.0, 87.5, 249.0 ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-14", 0 ],
+ "source" : [ "obj-11", 0 ],
+ "destination" : [ "obj-17", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-7", 1 ]
+ "midpoints" : [ ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-16", 0 ],
+ "source" : [ "obj-11", 0 ],
+ "destination" : [ "obj-10", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-7", 0 ]
+ "midpoints" : [ 87.5, 281.5, 231.5, 281.5 ]
}
}
, {
"patchline" : {
- "destination" : [ "obj-3", 0 ],
+ "source" : [ "obj-1", 1 ],
+ "destination" : [ "obj-2", 0 ],
"hidden" : 0,
- "midpoints" : [ ],
- "source" : [ "obj-9", 0 ]
+ "midpoints" : [ 152.0, 129.0, 87.5, 129.0 ]
}
}
View
47 maxmsp externals/zeroconf_browser/zeroconf.browser.cpp
@@ -29,6 +29,7 @@
#include "ext_obex.h"
#include "zeroconf/NetServiceBrowser.h"
#include "zeroconf/NetService.h"
+#include "zeroconf/NetServiceThread.h"
#include <iostream>
#include <string>
#include <set>
@@ -60,7 +61,7 @@ class Browser : public NetServiceBrowser, public NetServiceBrowserListener
setListener(this);
}
- void search(const std::string &type, const std::string &domain)
+ void search(const std::string &type, const std::string &domain, bool launchThread)
{
if(!type.empty())
{
@@ -69,7 +70,7 @@ class Browser : public NetServiceBrowser, public NetServiceBrowserListener
ScopedLock lock(mCriticalSection);
mServices.clear();
}
- searchForServicesOfType(type, domain);
+ searchForServicesOfType(type, domain, launchThread);
}
}
@@ -103,13 +104,20 @@ class Browser : public NetServiceBrowser, public NetServiceBrowserListener
virtual void didRemoveService(NetServiceBrowser *pNetServiceBrowser, NetService *pNetService, bool moreServicesComing)
{
+ bool erased = false;
{
- ScopedLock lock(mCriticalSection);
- mServices.erase(pNetService->getName());
+ std::set<std::string>::iterator it = mServices.find(pNetService->getName());
+ if(it != mServices.end())
+ {
+ erased = true;
+ ScopedLock lock(mCriticalSection);
+ mServices.erase(it);
+ }
}
- if(!moreServicesComing)
- outputListOfServices();
+ //if(!moreServicesComing) // doesn't seem to be ever set to false
+ if(erased)
+ outputListOfServices();
}
virtual void willSearch(NetServiceBrowser *pNetServiceBrowser) { }
@@ -120,9 +128,29 @@ class Browser : public NetServiceBrowser, public NetServiceBrowserListener
//------------------------------------------------------------------------------
t_class *zeroconf_browser_class;
+void zeroconf_browser_poll(zeroconf_browser *x, t_symbol *sym, short argc, t_atom *arv)
+{
+ // poll for results
+ if(x->mpBrowser->getDNSServiceRef())
+ {
+ DNSServiceErrorType err = kDNSServiceErr_NoError;
+ if(NetServiceThread::poll(x->mpBrowser->getDNSServiceRef(), 0.001, err) && err > 0)
+ {
+ object_post((t_object*)x, "error %d", err);
+ x->mpBrowser->stop();
+ }
+ else if(x->mpBrowser->getDNSServiceRef()) // we check again, because it might have change in reaction to a callback
+ {
+ schedule_defer(x, (method)zeroconf_browser_poll, 1000, NULL, 0, NULL); // reschedule in 1 sec
+ }
+ }
+}
+
void zeroconf_browser_bang(zeroconf_browser *x)
-{
- x->mpBrowser->search(x->type->s_name, x->domain->s_name);
+{
+ x->mpBrowser->search(x->type->s_name, x->domain->s_name, false);
+
+ schedule_defer(x, (method)zeroconf_browser_poll, 1000, NULL, 0, NULL);
}
void zeroconf_browser_browse(zeroconf_browser *x, t_symbol *s, long argc, t_atom *argv)
@@ -180,6 +208,8 @@ void *zeroconf_browser_new(t_symbol *s, long argc, t_atom *argv)
x->domain = gensym("local.");
x->mpBrowser = new Browser(x);
attr_args_process(x, argc, argv);
+
+ zeroconf_browser_bang(x);
}
return (x);
}
@@ -189,7 +219,6 @@ int main(void)
t_class *c = class_new("zeroconf.browser", (method)zeroconf_browser_new, (method)zeroconf_browser_free, (long)sizeof(zeroconf_browser), 0L, A_GIMME, 0);
class_addmethod(c, (method)zeroconf_browser_bang, "bang", 0);
- class_addmethod(c, (method)zeroconf_browser_bang, "loadbang", 0);
class_addmethod(c, (method)zeroconf_browser_browse, "browse", A_GIMME, 0);
class_addmethod(c, (method)zeroconf_browser_assist, "assist", A_CANT, 0);
View
337 maxmsp externals/zeroconf_browser/zeroconf.browser.xcodeproj/muller.pbxuser
@@ -1,7 +1,7 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
- activeBuildConfigurationName = Development;
+ activeBuildConfigurationName = Deployment;
activeExecutable = 4542E66D10304FFB00C13320 /* MaxMSP Runtime */;
activeTarget = 2FBBEAD608F335360078DB84 /* max-external */;
addToTargets = (
@@ -73,32 +73,30 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 273442662;
- PBXWorkspaceStateSaveDate = 273442662;
+ PBXPerProjectTemplateStateSaveDate = 273531797;
+ PBXWorkspaceStateSaveDate = 273531797;
};
perUserProjectItems = {
4542E6C510305E2600C13320 = 4542E6C510305E2600C13320 /* PBXTextBookmark */;
- 45CC337B1030B9060057043E = 45CC337B1030B9060057043E /* PBXTextBookmark */;
- 45CC337D1030B9060057043E = 45CC337D1030B9060057043E /* PBXTextBookmark */;
+ 4594F4DD104DC10D005828D9 = 4594F4DD104DC10D005828D9 /* PBXTextBookmark */;
+ 4594F4DF104DC10D005828D9 = 4594F4DF104DC10D005828D9 /* PBXTextBookmark */;
+ 4594F4EC104DC124005828D9 = 4594F4EC104DC124005828D9 /* PBXTextBookmark */;
+ 4594F574104DCF8B005828D9 /* PBXTextBookmark */ = 4594F574104DCF8B005828D9 /* PBXTextBookmark */;
+ 4594F582104DD01E005828D9 /* PBXTextBookmark */ = 4594F582104DD01E005828D9 /* PBXTextBookmark */;
+ 4594F585104DD08D005828D9 /* PBXTextBookmark */ = 4594F585104DD08D005828D9 /* PBXTextBookmark */;
+ 4594F588104DD15E005828D9 /* PBXTextBookmark */ = 4594F588104DD15E005828D9 /* PBXTextBookmark */;
+ 4594F589104DD15E005828D9 /* PBXTextBookmark */ = 4594F589104DD15E005828D9 /* PBXTextBookmark */;
+ 4594F58A104DD15E005828D9 /* PBXTextBookmark */ = 4594F58A104DD15E005828D9 /* PBXTextBookmark */;
+ 4594F58B104DD15E005828D9 /* PBXTextBookmark */ = 4594F58B104DD15E005828D9 /* PBXTextBookmark */;
+ 4594F58C104DD15E005828D9 /* PBXTextBookmark */ = 4594F58C104DD15E005828D9 /* PBXTextBookmark */;
+ 4594F591104DD216005828D9 /* PBXTextBookmark */ = 4594F591104DD216005828D9 /* PBXTextBookmark */;
+ 4594F592104DD216005828D9 /* PBXTextBookmark */ = 4594F592104DD216005828D9 /* PBXTextBookmark */;
+ 4594F595104DD278005828D9 /* PBXTextBookmark */ = 4594F595104DD278005828D9 /* PBXTextBookmark */;
+ 4594F596104DD2DC005828D9 /* PBXTextBookmark */ = 4594F596104DD2DC005828D9 /* PBXTextBookmark */;
+ 4594F598104DD3BA005828D9 /* PBXTextBookmark */ = 4594F598104DD3BA005828D9 /* PBXTextBookmark */;
+ 4594F5A5104DD8C1005828D9 /* PBXTextBookmark */ = 4594F5A5104DD8C1005828D9 /* PBXTextBookmark */;
45CC33EA1030D0B20057043E = 45CC33EA1030D0B20057043E /* PBXTextBookmark */;
45CC33EC1030D0B20057043E = 45CC33EC1030D0B20057043E /* PBXTextBookmark */;
- 45EB41AE1030755300AB8A5C = 45EB41AE1030755300AB8A5C /* PBXTextBookmark */;
- 45EB41B21030755300AB8A5C = 45EB41B21030755300AB8A5C /* PBXTextBookmark */;
- 45EB42ED10315FEC00AB8A5C = 45EB42ED10315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42EE10315FEC00AB8A5C = 45EB42EE10315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42F010315FEC00AB8A5C = 45EB42F010315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42F110315FEC00AB8A5C = 45EB42F110315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42F210315FEC00AB8A5C = 45EB42F210315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42F310315FEC00AB8A5C = 45EB42F310315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42F410315FEC00AB8A5C = 45EB42F410315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42F510315FEC00AB8A5C = 45EB42F510315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42F610315FEC00AB8A5C = 45EB42F610315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB42F710315FEC00AB8A5C = 45EB42F710315FEC00AB8A5C /* PBXTextBookmark */;
- 45EB43731031690B00AB8A5C = 45EB43731031690B00AB8A5C /* PBXTextBookmark */;
- 45EB43761031690B00AB8A5C = 45EB43761031690B00AB8A5C /* PBXTextBookmark */;
- 45EB43771031690B00AB8A5C = 45EB43771031690B00AB8A5C /* PBXTextBookmark */;
- 45EB4380103169C400AB8A5C = 45EB4380103169C400AB8A5C /* PBXTextBookmark */;
- 45EB4381103169C800AB8A5C = 45EB4381103169C800AB8A5C /* PBXTextBookmark */;
};
sourceControlManager = 4542E5F8103049ED00C13320 /* Source Control */;
userBuildSettings = {
@@ -142,9 +140,9 @@
};
4542E64910304E8400C13320 /* NetService.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1051, 3752}}";
- sepNavSelRange = "{3289, 0}";
- sepNavVisRange = "{3132, 1046}";
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 4004}}";
+ sepNavSelRange = "{6966, 0}";
+ sepNavVisRange = "{6902, 1455}";
};
};
4542E64B10304E8400C13320 /* CriticalSection.cpp */ = {
@@ -154,11 +152,18 @@
sepNavVisRange = "{0, 839}";
};
};
- 4542E64D10304E8400C13320 /* NetServiceThread.cpp */ = {
+ 4542E64C10304E8400C13320 /* NetServiceThread.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1051, 1022}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 740}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 762}";
+ sepNavVisRange = "{0, 1720}";
+ };
+ };
+ 4542E64D10304E8400C13320 /* NetServiceThread.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 1050}}";
+ sepNavSelRange = "{1490, 0}";
+ sepNavVisRange = "{0, 1161}";
};
};
4542E64F10304E8400C13320 /* Thread.cpp */ = {
@@ -234,14 +239,14 @@
hitCount = 0;
ignoreCount = 0;
lineNumber = 141;
- modificationTime = 271673681.247368;
+ modificationTime = 273534856.302075;
state = 0;
};
4542E6B710305AED00C13320 /* NetServiceBrowser.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1051, 2324}}";
- sepNavSelRange = "{1961, 67}";
- sepNavVisRange = "{1901, 766}";
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 2338}}";
+ sepNavSelRange = "{1999, 26}";
+ sepNavVisRange = "{750, 1682}";
};
};
4542E6B810305AED00C13320 /* NetServiceBrowser.h */ = {
@@ -253,243 +258,207 @@
};
4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {936, 2842}}";
- sepNavSelRange = "{3733, 0}";
- sepNavVisRange = "{3155, 1054}";
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 3262}}";
+ sepNavSelRange = "{6038, 0}";
+ sepNavVisRange = "{5344, 1319}";
};
};
4542E6C510305E2600C13320 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
name = "zeroconf.browser.cpp: 90";
rLen = 0;
- rLoc = 4427;
+ rLoc = 4713;
rType = 0;
vrLen = 826;
vrLoc = 1404;
};
- 45CC337B1030B9060057043E /* PBXTextBookmark */ = {
+ 4594F4DD104DC10D005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */;
- name = "maxmspsdk.xcconfig: 14";
+ fRef = 4542E6B710305AED00C13320 /* NetServiceBrowser.cpp */;
+ name = "NetServiceBrowser.cpp: 123";
rLen = 0;
- rLoc = 568;
+ rLoc = 3853;
rType = 0;
- vrLen = 1308;
- vrLoc = 0;
+ vrLen = 1401;
+ vrLoc = 2568;
};
- 45CC337D1030B9060057043E /* PBXTextBookmark */ = {
+ 4594F4DF104DC10D005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */;
- name = "maxmspsdk.xcconfig: 14";
- rLen = 0;
- rLoc = 568;
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 124";
+ rLen = 602;
+ rLoc = 4113;
rType = 0;
- vrLen = 1308;
- vrLoc = 0;
+ vrLen = 1558;
+ vrLoc = 3255;
};
- 45CC33EA1030D0B20057043E /* PBXTextBookmark */ = {
+ 4594F4EC104DC124005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E6B810305AED00C13320 /* NetServiceBrowser.h */;
- name = "NetServiceBrowser.h: 44";
- rLen = 730;
- rLoc = 1603;
- rType = 0;
- vrLen = 1685;
- vrLoc = 3507;
- };
- 45CC33EC1030D0B20057043E /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 4542E6B710305AED00C13320 /* NetServiceBrowser.cpp */;
- name = "NetServiceBrowser.cpp: 135";
- rLen = 0;
- rLoc = 4236;
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 124";
+ rLen = 602;
+ rLoc = 4113;
rType = 0;
- vrLen = 1102;
- vrLoc = 3844;
+ vrLen = 1528;
+ vrLoc = 3285;
};
- 45EB41AE1030755300AB8A5C /* PBXTextBookmark */ = {
+ 4594F574104DCF8B005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E64B10304E8400C13320 /* CriticalSection.cpp */;
- name = "CriticalSection.cpp: 1";
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 108";
rLen = 0;
- rLoc = 0;
+ rLoc = 3440;
rType = 0;
- vrLen = 705;
- vrLoc = 0;
+ vrLen = 1548;
+ vrLoc = 2151;
};
- 45EB41B21030755300AB8A5C /* PBXTextBookmark */ = {
+ 4594F582104DD01E005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E64B10304E8400C13320 /* CriticalSection.cpp */;
- name = "CriticalSection.cpp: 1";
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 110";
rLen = 0;
- rLoc = 0;
+ rLoc = 3619;
rType = 0;
- vrLen = 705;
- vrLoc = 0;
+ vrLen = 1710;
+ vrLoc = 2157;
};
- 45EB42ED10315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F585104DD08D005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E6B810305AED00C13320 /* NetServiceBrowser.h */;
- name = "NetServiceBrowser.h: 98";
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 106";
rLen = 0;
- rLoc = 4939;
+ rLoc = 3418;
rType = 0;
- vrLen = 1910;
- vrLoc = 3304;
+ vrLen = 1736;
+ vrLoc = 2157;
};
- 45EB42EE10315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F588104DD15E005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E6B710305AED00C13320 /* NetServiceBrowser.cpp */;
name = "NetServiceBrowser.cpp: 46";
- rLen = 67;
- rLoc = 1961;
+ rLen = 26;
+ rLoc = 1999;
rType = 0;
- vrLen = 766;
- vrLoc = 1901;
+ vrLen = 1669;
+ vrLoc = 750;
};
- 45EB42F010315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F589104DD15E005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
- name = "zeroconf.browser.cpp: 83";
+ name = "zeroconf.browser.cpp: 106";
rLen = 0;
- rLoc = 2250;
+ rLoc = 3418;
rType = 0;
- vrLen = 878;
- vrLoc = 1791;
+ vrLen = 1722;
+ vrLoc = 2171;
};
- 45EB42F110315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F58A104DD15E005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E6B810305AED00C13320 /* NetServiceBrowser.h */;
- name = "NetServiceBrowser.h: 98";
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 106";
rLen = 0;
- rLoc = 4939;
+ rLoc = 3418;
rType = 0;
- vrLen = 1910;
- vrLoc = 3304;
+ vrLen = 1736;
+ vrLoc = 2157;
};
- 45EB42F210315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F58B104DD15E005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E6B710305AED00C13320 /* NetServiceBrowser.cpp */;
name = "NetServiceBrowser.cpp: 46";
- rLen = 67;
- rLoc = 1961;
+ rLen = 26;
+ rLoc = 1999;
rType = 0;
- vrLen = 1097;
- vrLoc = 3964;
+ vrLen = 1669;
+ vrLoc = 750;
};
- 45EB42F310315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F58C104DD15E005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E6B810305AED00C13320 /* NetServiceBrowser.h */;
- name = "NetServiceBrowser.h: 98";
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 113";
rLen = 0;
- rLoc = 4939;
+ rLoc = 3746;
rType = 0;
- vrLen = 1910;
- vrLoc = 3304;
+ vrLen = 1718;
+ vrLoc = 2171;
};
- 45EB42F410315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F591104DD216005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
+ comments = "warning: unused variable 'at'";
fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
- name = "zeroconf.browser.cpp: 73";
rLen = 0;
- rLoc = 2249;
- rType = 0;
- vrLen = 777;
- vrLoc = 1577;
+ rLoc = 149;
+ rType = 1;
};
- 45EB42F510315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F592104DD216005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E6B710305AED00C13320 /* NetServiceBrowser.cpp */;
- name = "NetServiceBrowser.cpp: 46";
- rLen = 67;
- rLoc = 1961;
- rType = 0;
- vrLen = 1100;
- vrLoc = 3960;
- };
- 45EB42F610315FEC00AB8A5C /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 4542E6B810305AED00C13320 /* NetServiceBrowser.h */;
- name = "NetServiceBrowser.h: 98";
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 144";
rLen = 0;
- rLoc = 4939;
+ rLoc = 4765;
rType = 0;
- vrLen = 1910;
- vrLoc = 3304;
+ vrLen = 1428;
+ vrLoc = 3773;
};
- 45EB42F710315FEC00AB8A5C /* PBXTextBookmark */ = {
+ 4594F595104DD278005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E6B710305AED00C13320 /* NetServiceBrowser.cpp */;
- name = "NetServiceBrowser.cpp: 46";
- rLen = 67;
- rLoc = 1961;
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 131";
+ rLen = 0;
+ rLoc = 4408;
rType = 0;
- vrLen = 766;
- vrLoc = 1901;
+ vrLen = 1568;
+ vrLoc = 1687;
};
- 45EB43731031690B00AB8A5C /* PBXTextBookmark */ = {
+ 4594F596104DD2DC005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 45EB43741031690B00AB8A5C /* dbcuelist.c */;
- name = "dbcuelist.c: 1";
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 110";
rLen = 0;
- rLoc = 0;
+ rLoc = 3619;
rType = 0;
- vrLen = 710;
- vrLoc = 2481;
+ vrLen = 1862;
+ vrLoc = 2329;
};
- 45EB43741031690B00AB8A5C /* dbcuelist.c */ = {
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.c.c;
- name = dbcuelist.c;
- path = "/Users/muller/projects/osctools/maxmsp externals/MaxSDK-5.0.6/examples/dbcuelist/dbcuelist.c";
- sourceTree = "<absolute>";
- };
- 45EB43761031690B00AB8A5C /* PBXTextBookmark */ = {
+ 4594F598104DD3BA005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
- name = "zeroconf.browser.cpp: 151";
+ name = "zeroconf.browser.cpp: 118";
rLen = 0;
- rLoc = 4242;
+ rLoc = 3663;
rType = 0;
- vrLen = 751;
- vrLoc = 4017;
+ vrLen = 1637;
+ vrLoc = 2629;
};
- 45EB43771031690B00AB8A5C /* PBXTextBookmark */ = {
+ 4594F5A5104DD8C1005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 45EB43781031690B00AB8A5C /* dbcuelist.c */;
- name = "dbcuelist.c: 1";
+ fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
+ name = "zeroconf.browser.cpp: 212";
rLen = 0;
- rLoc = 0;
+ rLoc = 6038;
rType = 0;
- vrLen = 710;
- vrLoc = 2481;
+ vrLen = 1319;
+ vrLoc = 5344;
};
- 45EB43781031690B00AB8A5C /* dbcuelist.c */ = {
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.c.c;
- name = dbcuelist.c;
- path = "/Users/muller/projects/osctools/maxmsp externals/MaxSDK-5.0.6/examples/dbcuelist/dbcuelist.c";
- sourceTree = "<absolute>";
- };
- 45EB4380103169C400AB8A5C /* PBXTextBookmark */ = {
+ 45CC33EA1030D0B20057043E /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
- name = "zeroconf.browser.cpp: 119";
- rLen = 0;
- rLoc = 3733;
+ fRef = 4542E6B810305AED00C13320 /* NetServiceBrowser.h */;
+ name = "NetServiceBrowser.h: 44";
+ rLen = 730;
+ rLoc = 1603;
rType = 0;
- vrLen = 987;
- vrLoc = 3346;
+ vrLen = 1685;
+ vrLoc = 3507;
};
- 45EB4381103169C800AB8A5C /* PBXTextBookmark */ = {
+ 45CC33EC1030D0B20057043E /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E6BB10305AFC00C13320 /* zeroconf.browser.cpp */;
- name = "zeroconf.browser.cpp: 119";
+ fRef = 4542E6B710305AED00C13320 /* NetServiceBrowser.cpp */;
+ name = "NetServiceBrowser.cpp: 135";
rLen = 0;
- rLoc = 3733;
+ rLoc = 4236;
rType = 0;
- vrLen = 966;
- vrLoc = 3346;
+ vrLen = 1102;
+ vrLoc = 3844;
};
}
View
59 maxmsp externals/zeroconf_browser/zeroconf.browser.xcodeproj/muller.perspectivev3
@@ -237,8 +237,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -291,7 +289,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {306, 996}}</string>
+ <string>{{0, 0}, {306, 990}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -301,14 +299,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {323, 1014}}</string>
+ <string>{{0, 0}, {323, 1008}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>306</real>
</array>
<key>RubberWindowFrame</key>
- <string>0 123 1920 1055 0 0 1920 1178 </string>
+ <string>0 129 1920 1049 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -319,6 +317,8 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -333,11 +333,22 @@
<string>4542E60B10304A7500C13320</string>
<key>PBXProjectModuleLabel</key>
<string>zeroconf.browser.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>4594F5A5104DD8C1005828D9</string>
+ <key>history</key>
+ <array>
+ <string>4594F588104DD15E005828D9</string>
+ <string>4594F591104DD216005828D9</string>
+ </array>
<key>prevStack</key>
<array>
<string>4542E6C510305E2600C13320</string>
<string>45CC33EA1030D0B20057043E</string>
<string>45CC33EC1030D0B20057043E</string>
+ <string>4594F58A104DD15E005828D9</string>
+ <string>4594F58B104DD15E005828D9</string>
</array>
</dict>
<key>SplitCount</key>
@@ -351,18 +362,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {1592, 777}}</string>
+ <string>{{0, 0}, {1592, 772}}</string>
<key>RubberWindowFrame</key>
- <string>0 123 1920 1055 0 0 1920 1178 </string>
+ <string>0 129 1920 1049 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>777pt</string>
+ <string>772pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>232pt</string>
+ <string>231pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -376,9 +387,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {1592, 205}}</string>
- <key>RubberWindowFrame</key>
- <string>0 123 1920 1055 0 0 1920 1178 </string>
+ <string>{{10, 27}, {1592, 204}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -432,7 +441,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {1112, 173}}</string>
+ <string>{{10, 27}, {1592, 204}}</string>
+ <key>RubberWindowFrame</key>
+ <string>0 129 1920 1049 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,11 +471,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>45CF052E104C676F00EED14E</string>
+ <string>4594F575104DCF8B005828D9</string>
<string>1CA23ED40692098700951B8B</string>
- <string>45CF052F104C676F00EED14E</string>
+ <string>4594F576104DCF8B005828D9</string>
<string>4542E60A10304A7500C13320</string>
- <string>45CF0530104C676F00EED14E</string>
+ <string>4594F577104DCF8B005828D9</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -611,14 +622,14 @@
</array>
<key>TableOfContents</key>
<array>
- <string>45CF0531104C676F00EED14E</string>
+ <string>4594F578104DCF8B005828D9</string>
<string>1CCC7628064C1048000F2A68</string>
<string>1CCC7629064C1048000F2A68</string>
- <string>45CF0532104C676F00EED14E</string>
- <string>45CF0533104C676F00EED14E</string>
- <string>45CF0534104C676F00EED14E</string>
- <string>45CF0535104C676F00EED14E</string>
- <string>45CF0536104C676F00EED14E</string>
+ <string>4594F579104DCF8B005828D9</string>
+ <string>4594F57A104DCF8B005828D9</string>
+ <string>4594F57B104DCF8B005828D9</string>
+ <string>4594F57C104DCF8B005828D9</string>
+ <string>4594F57D104DCF8B005828D9</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
@@ -648,10 +659,12 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>4594F57F104DCF8B005828D9</string>
+ <string>4594F580104DCF8B005828D9</string>
<string>/Users/muller/projects/osctools/maxmsp externals/zeroconf_browser/zeroconf.browser.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>0 123 1920 1055 0 0 1920 1178 </string>
+ <string>0 129 1920 1049 0 0 1920 1178 </string>
<key>WindowToolsV3</key>
<array>
<dict>
View
28 maxmsp externals/zeroconf_resolve/zeroconf.resolve.cpp
@@ -4,6 +4,7 @@
#include "ext.h"
#include "ext_obex.h"
#include "zeroconf/NetService.h"
+#include "zeroconf/NetServiceThread.h"
#include <iostream>
using namespace ZeroConf;
@@ -60,6 +61,26 @@ class Service : public NetService, NetServiceListener
//------------------------------------------------------------------------------
t_class *zeroconf_resolve_class;
+void zeroconf_resolve_poll(zeroconf_resolve *x, t_symbol *sym, short argc, t_atom *arv)
+{
+ // poll for results
+ if(x->mpService && x->mpService->getDNSServiceRef())
+ {
+ DNSServiceErrorType err = kDNSServiceErr_NoError;
+ if(NetServiceThread::poll(x->mpService->getDNSServiceRef(), 0.001, err))
+ {
+ if(err > 0)
+ object_post((t_object*)x, "error %d", err);
+ x->mpService->stop();
+ }
+ }
+
+ if(x->mpService && x->mpService->getDNSServiceRef()) // we check again, because it might have change in reaction to a callback
+ {
+ schedule_defer(x, (method)zeroconf_resolve_poll, 1000, NULL, 0, NULL); // reschedule in 1 sec
+ }
+}
+
void zeroconf_resolve_bang(zeroconf_resolve *x)
{
if(x->mpService)
@@ -70,7 +91,9 @@ void zeroconf_resolve_bang(zeroconf_resolve *x)
x->type->s_name,
x->name->s_name,
x);
- x->mpService->resolveWithTimeout(10.0);
+ x->mpService->resolveWithTimeout(10.0, false);
+
+ schedule_defer(x, (method)zeroconf_resolve_poll, 1000, NULL, 0, NULL); // reschedule in 1 sec
}
void zeroconf_resolve_assist(zeroconf_resolve *x, void *b, long m, long a, char *s)
@@ -105,6 +128,8 @@ void *zeroconf_resolve_new(t_symbol *s, long argc, t_atom *argv)
x->domain = gensym("local.");
x->out = outlet_new(x, NULL);
attr_args_process(x, argc, argv);
+
+ zeroconf_resolve_bang(x);
}
return (x);
}
@@ -114,7 +139,6 @@ int main(void)
t_class *c = class_new("zeroconf.resolve", (method)zeroconf_resolve_new, (method)zeroconf_resolve_free, (long)sizeof(zeroconf_resolve), 0L, A_GIMME, 0);
class_addmethod(c, (method)zeroconf_resolve_bang, "bang", 0);
- class_addmethod(c, (method)zeroconf_resolve_bang, "loadbang", 0);
class_addmethod(c, (method)zeroconf_resolve_assist, "assist", A_CANT, 0);
CLASS_ATTR_SYM(c, "name", 0, zeroconf_resolve, name);
View
145 maxmsp externals/zeroconf_resolve/zeroconf.resolve.xcodeproj/muller.pbxuser
@@ -1,7 +1,7 @@
// !$*UTF8*$!
{
089C1669FE841209C02AAC07 /* Project object */ = {
- activeBuildConfigurationName = Development;
+ activeBuildConfigurationName = Deployment;
activeExecutable = 4542E66D10304FFB00C13320 /* MaxMSP Runtime */;
activeTarget = 2FBBEAD608F335360078DB84 /* max-external */;
addToTargets = (
@@ -34,7 +34,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 576,
+ 1353,
20,
48,
43,
@@ -73,20 +73,21 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 273442649;
- PBXWorkspaceStateSaveDate = 273442649;
+ PBXPerProjectTemplateStateSaveDate = 273531453;
+ PBXWorkspaceStateSaveDate = 273531453;
};
perUserProjectItems = {
4542E62910304C4200C13320 = 4542E62910304C4200C13320 /* PBXTextBookmark */;
4542E62B10304C4200C13320 = 4542E62B10304C4200C13320 /* PBXTextBookmark */;
- 45EB42B91031587100AB8A5C = 45EB42B91031587100AB8A5C /* PBXTextBookmark */;
- 45EB42BA1031587A00AB8A5C = 45EB42BA1031587A00AB8A5C /* PBXTextBookmark */;
- 45EB43C31031703E00AB8A5C = 45EB43C31031703E00AB8A5C /* PBXTextBookmark */;
- 45EB43C41031703E00AB8A5C = 45EB43C41031703E00AB8A5C /* PBXTextBookmark */;
- 45EB43C51031703E00AB8A5C = 45EB43C51031703E00AB8A5C /* PBXTextBookmark */;
- 45EB43C61031703E00AB8A5C = 45EB43C61031703E00AB8A5C /* PBXTextBookmark */;
- 45EB43C71031703E00AB8A5C = 45EB43C71031703E00AB8A5C /* PBXTextBookmark */;
- 45EB43C81031704500AB8A5C = 45EB43C81031704500AB8A5C /* PBXTextBookmark */;
+ 4594F433104DA1FE005828D9 = 4594F433104DA1FE005828D9 /* PBXTextBookmark */;
+ 4594F434104DA1FE005828D9 = 4594F434104DA1FE005828D9 /* PBXTextBookmark */;
+ 4594F435104DA1FE005828D9 = 4594F435104DA1FE005828D9 /* PBXTextBookmark */;
+ 4594F436104DA1FE005828D9 = 4594F436104DA1FE005828D9 /* PBXBookmark */;
+ 4594F437104DA1FE005828D9 = 4594F437104DA1FE005828D9 /* PBXTextBookmark */;
+ 4594F438104DA1FE005828D9 = 4594F438104DA1FE005828D9 /* PBXTextBookmark */;
+ 4594F439104DA1FE005828D9 = 4594F439104DA1FE005828D9 /* PBXTextBookmark */;
+ 4594F43A104DA1FE005828D9 = 4594F43A104DA1FE005828D9 /* PBXTextBookmark */;
+ 45CF0581104C74E500EED14E = 45CF0581104C74E500EED14E /* PBXTextBookmark */;
};
sourceControlManager = 4542E5F8103049ED00C13320 /* Source Control */;
userBuildSettings = {
@@ -143,23 +144,23 @@
};
4542E64810304E8400C13320 /* NetService.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1230, 2016}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 2170}}";
sepNavSelRange = "{5662, 75}";
- sepNavVisRange = "{4639, 1716}";
+ sepNavVisRange = "{4536, 2118}";
};
};
4542E64910304E8400C13320 /* NetService.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {659, 3472}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 966}";
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 4032}}";
+ sepNavSelRange = "{7930, 0}";
+ sepNavVisRange = "{5109, 2209}";
};
};
4542E64D10304E8400C13320 /* NetServiceThread.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {659, 1036}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 556}";
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 971}}";
+ sepNavSelRange = "{562, 0}";
+ sepNavVisRange = "{0, 1364}";
};
};
4542E64F10304E8400C13320 /* Thread.cpp */ = {
@@ -236,91 +237,95 @@
modificationTime = 271602334.88739;
state = 1;
};
- 45CC33AF1030C0D40057043E /* zeroconf.resolve.cpp */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {936, 1778}}";
- sepNavSelRange = "{2502, 0}";
- sepNavVisRange = "{2168, 942}";
- };
- };
- 45EB42B91031587100AB8A5C /* PBXTextBookmark */ = {
+ 4594F433104DA1FE005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 45CC33AF1030C0D40057043E /* zeroconf.resolve.cpp */;
- name = "zeroconf.resolve.cpp: 44";
+ name = "zeroconf.resolve.cpp: 69";
rLen = 0;
- rLoc = 1203;
+ rLoc = 1733;
rType = 0;
- vrLen = 932;
- vrLoc = 1985;
+ vrLen = 1645;
+ vrLoc = 182;
};
- 45EB42BA1031587A00AB8A5C /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 45CC33AF1030C0D40057043E /* zeroconf.resolve.cpp */;
- name = "zeroconf.resolve.cpp: 44";
- rLen = 0;
- rLoc = 1203;
- rType = 0;
- vrLen = 932;
- vrLoc = 1985;
- };
- 45EB43C31031703E00AB8A5C /* PBXTextBookmark */ = {
+ 4594F434104DA1FE005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E64810304E8400C13320 /* NetService.h */;
name = "NetService.h: 108";
rLen = 75;
rLoc = 5662;
rType = 0;
- vrLen = 1716;
- vrLoc = 4639;
+ vrLen = 2118;
+ vrLoc = 4536;
};
- 45EB43C41031703E00AB8A5C /* PBXTextBookmark */ = {
+ 4594F435104DA1FE005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 45CC33AF1030C0D40057043E /* zeroconf.resolve.cpp */;
- name = "zeroconf.resolve.cpp: 29";
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 258";
rLen = 0;
- rLoc = 574;
+ rLoc = 7930;
rType = 0;
- vrLen = 919;
- vrLoc = 0;
+ vrLen = 2209;
+ vrLoc = 5109;
};
- 45EB43C51031703E00AB8A5C /* PBXTextBookmark */ = {
+ 4594F436104DA1FE005828D9 /* PBXBookmark */ = {
+ isa = PBXBookmark;
+ fRef = 4542E64D10304E8400C13320 /* NetServiceThread.cpp */;
+ };
+ 4594F437104DA1FE005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 45CC33AF1030C0D40057043E /* zeroconf.resolve.cpp */;
- name = "zeroconf.resolve.cpp: 29";
+ name = "zeroconf.resolve.cpp: 69";
rLen = 0;
- rLoc = 574;
+ rLoc = 1733;
rType = 0;
- vrLen = 919;
- vrLoc = 0;
+ vrLen = 1645;
+ vrLoc = 182;
};
- 45EB43C61031703E00AB8A5C /* PBXTextBookmark */ = {
+ 4594F438104DA1FE005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E64810304E8400C13320 /* NetService.h */;
name = "NetService.h: 108";
rLen = 75;
rLoc = 5662;
rType = 0;
- vrLen = 1716;
- vrLoc = 4639;
+ vrLen = 2118;
+ vrLoc = 4536;
};
- 45EB43C71031703E00AB8A5C /* PBXTextBookmark */ = {
+ 4594F439104DA1FE005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 45CC33AF1030C0D40057043E /* zeroconf.resolve.cpp */;
- name = "zeroconf.resolve.cpp: 103";
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 258";
rLen = 0;
- rLoc = 2502;
+ rLoc = 7930;
+ rType = 0;
+ vrLen = 2209;
+ vrLoc = 5109;
+ };
+ 4594F43A104DA1FE005828D9 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4542E64D10304E8400C13320 /* NetServiceThread.cpp */;
+ name = "NetServiceThread.cpp: 52";
+ rLen = 8;
+ rLoc = 1118;
rType = 0;
- vrLen = 600;
- vrLoc = 2170;
+ vrLen = 976;
+ vrLoc = 388;
+ };
+ 45CC33AF1030C0D40057043E /* zeroconf.resolve.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1531, 1904}}";
+ sepNavSelRange = "{1733, 0}";
+ sepNavVisRange = "{182, 1645}";
+ };
};
- 45EB43C81031704500AB8A5C /* PBXTextBookmark */ = {
+ 45CF0581104C74E500EED14E /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 45CC33AF1030C0D40057043E /* zeroconf.resolve.cpp */;
- name = "zeroconf.resolve.cpp: 103";
+ name = "zeroconf.resolve.cpp: 35";
rLen = 0;
- rLoc = 2502;
+ rLoc = 673;
rType = 0;
- vrLen = 942;
- vrLoc = 2168;
+ vrLen = 1669;
+ vrLoc = 182;
};
}
View
51 maxmsp externals/zeroconf_resolve/zeroconf.resolve.xcodeproj/muller.perspectivev3
@@ -237,8 +237,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -285,13 +283,12 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>11</integer>
- <integer>10</integer>
+ <integer>6</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {306, 778}}</string>
+ <string>{{0, 0}, {306, 990}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -301,14 +298,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {323, 796}}</string>
+ <string>{{0, 0}, {323, 1008}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>306</real>
</array>
<key>RubberWindowFrame</key>
- <string>50 341 1143 837 0 0 1920 1178 </string>
+ <string>0 129 1920 1049 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -319,27 +316,41 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>4542E60A10304A7500C13320</string>
<key>PBXProjectModuleLabel</key>
- <string>zeroconf.resolve.cpp</string>
+ <string>NetServiceThread.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>4542E60B10304A7500C13320</string>
<key>PBXProjectModuleLabel</key>
- <string>zeroconf.resolve.cpp</string>
+ <string>NetServiceThread.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>4594F43A104DA1FE005828D9</string>
<key>history</key>
<array>
<string>4542E62910304C4200C13320</string>
+ <string>4594F433104DA1FE005828D9</string>
+ <string>4594F434104DA1FE005828D9</string>
+ <string>4594F435104DA1FE005828D9</string>
+ <string>4594F436104DA1FE005828D9</string>
</array>
<key>prevStack</key>
<array>
<string>4542E62B10304C4200C13320</string>
+ <string>45CF0581104C74E500EED14E</string>
+ <string>4594F437104DA1FE005828D9</string>
+ <string>4594F438104DA1FE005828D9</string>
+ <string>4594F439104DA1FE005828D9</string>
</array>
</dict>
<key>SplitCount</key>
@@ -353,18 +364,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {815, 591}}</string>
+ <string>{{0, 0}, {1592, 804}}</string>
<key>RubberWindowFrame</key>
- <string>50 341 1143 837 0 0 1920 1178 </string>
+ <string>0 129 1920 1049 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>591pt</string>
+ <string>804pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>200pt</string>
+ <string>199pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -378,9 +389,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {815, 173}}</string>
+ <string>{{10, 27}, {1592, 172}}</string>
<key>RubberWindowFrame</key>
- <string>50 341 1143 837 0 0 1920 1178 </string>
+ <string>0 129 1920 1049 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -443,7 +454,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>815pt</string>
+ <string>1592pt</string>
</dict>
</array>
<key>Name</key>
@@ -462,11 +473,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>45CF0516104C675B00EED14E</string>
+ <string>4594F43B104DA1FE005828D9</string>
<string>1CA23ED40692098700951B8B</string>
- <string>45CF0517104C675B00EED14E</string>
+ <string>4594F43C104DA1FE005828D9</string>
<string>4542E60A10304A7500C13320</string>
- <string>45CF0518104C675B00EED14E</string>
+ <string>4594F43D104DA1FE005828D9</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -653,7 +664,7 @@
<string>/Users/muller/projects/osctools/maxmsp externals/zeroconf_resolve/zeroconf.resolve.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>50 341 1143 837 0 0 1920 1178 </string>
+ <string>0 129 1920 1049 0 0 1920 1178 </string>
<key>WindowToolsV3</key>
<array>
<dict>
View
33 maxmsp externals/zeroconf_service/zeroconf.service.cpp
@@ -4,6 +4,7 @@
#include "ext.h"
#include "ext_obex.h"
#include "zeroconf/NetService.h"
+#include "zeroconf/NetServiceThread.h"
#include <iostream>
using namespace ZeroConf;
@@ -53,6 +54,30 @@ class Service : public NetService, public NetServiceListener
//------------------------------------------------------------------------------
t_class *zeroconf_service_class;
+void zeroconf_service_poll(zeroconf_service *x, t_symbol *sym, short argc, t_atom *arv)
+{
+ // poll for results
+ if(x->mpService && x->mpService->getDNSServiceRef())
+ {
+ DNSServiceErrorType err = kDNSServiceErr_NoError;
+ if(NetServiceThread::poll(x->mpService->getDNSServiceRef(), 0.001, err))
+ {
+ if(err > 0)
+ {
+ x->mpService->stop();
+ object_post((t_object*)x, "error %d", err);
+ }
+ }
+ else
+ {
+ if(x->mpService && x->mpService->getDNSServiceRef()) // we check again, because it might have change in reaction to a callback
+ {
+ schedule_defer(x, (method)zeroconf_service_poll, 1000, NULL, 0, NULL); // reschedule in 1 sec
+ }
+ }
+ }
+}
+
void zeroconf_service_bang(zeroconf_service *x)
{
if(x->mpService)
@@ -66,7 +91,9 @@ void zeroconf_service_bang(zeroconf_service *x)
x->name->s_name,
x->port,
x);
- x->mpService->publish();
+ x->mpService->publish(false);
+
+ schedule_defer(x, (method)zeroconf_service_poll, 1000, NULL, 0, NULL); // reschedule in 1 sec
}
void zeroconf_service_assist(zeroconf_service *x, void *b, long m, long a, char *s)
@@ -101,7 +128,10 @@ void *zeroconf_service_new(t_symbol *s, long argc, t_atom *argv)
x->domain = gensym("");
x->port = 0;
attr_args_process(x, argc, argv);
+
+ zeroconf_service_bang(x);
}
+
return (x);
}
@@ -110,7 +140,6 @@ int main(void)
t_class *c = class_new("zeroconf.service", (method)zeroconf_service_new, (method)zeroconf_service_free, (long)sizeof(zeroconf_service), 0L, A_GIMME, 0);
class_addmethod(c, (method)zeroconf_service_bang, "bang", 0);
- class_addmethod(c, (method)zeroconf_service_bang, "loadbang", 0);
class_addmethod(c, (method)zeroconf_service_assist, "assist", A_CANT, 0);
CLASS_ATTR_SYM(c, "name", 0, zeroconf_service, name);
View
465 maxmsp externals/zeroconf_service/zeroconf.service.xcodeproj/muller.pbxuser
@@ -2,15 +2,36 @@
{
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Development;
+ activeExecutable = 4594F51F104DC7EA005828D9 /* max5RT */;
activeTarget = 2FBBEAD608F335360078DB84 /* max-external */;
+ breakpoints = (
+ 4594F53C104DC8CC005828D9 /* NetService.cpp:236 */,
+ );
codeSenseManager = 45CC33C41030C4090057043E /* Code sense */;
+ executables = (
+ 4594F51F104DC7EA005828D9 /* max5RT */,
+ );
perUserDictionary = {
+ PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 22,
+ 300,
+ 1361.58349609375,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXExecutablesDataSource_ActiveFlagID,
+ PBXExecutablesDataSource_NameID,
+ PBXExecutablesDataSource_CommentsID,
+ );
+ };
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 138,
+ 1474,
20,
48,
43,
@@ -27,37 +48,48 @@
PBXFileDataSource_Target_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 273442675;
- PBXWorkspaceStateSaveDate = 273442675;
+ PBXPerProjectTemplateStateSaveDate = 273531178;
+ PBXWorkspaceStateSaveDate = 273531178;
};
perUserProjectItems = {
- 45CF053F104C677D00EED14E /* PBXTextBookmark */ = 45CF053F104C677D00EED14E /* PBXTextBookmark */;
- 45EB42D21031588F00AB8A5C = 45EB42D21031588F00AB8A5C /* PBXTextBookmark */;
- 45EB42D31031589400AB8A5C = 45EB42D31031589400AB8A5C /* PBXTextBookmark */;
- 45EB439E10316D6800AB8A5C = 45EB439E10316D6800AB8A5C /* PBXTextBookmark */;
- 45EB439F10316D6800AB8A5C = 45EB439F10316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A010316D6800AB8A5C = 45EB43A010316D6800AB8A5C /* PBXTextBookmark */;
+ 4594F43E104DA1FF005828D9 = 4594F43E104DA1FF005828D9 /* PBXTextBookmark */;
+ 4594F521104DC7ED005828D9 /* PBXTextBookmark */ = 4594F521104DC7ED005828D9 /* PBXTextBookmark */;
+ 4594F522104DC7ED005828D9 /* PBXTextBookmark */ = 4594F522104DC7ED005828D9 /* PBXTextBookmark */;
+ 4594F523104DC7ED005828D9 /* PBXTextBookmark */ = 4594F523104DC7ED005828D9 /* PBXTextBookmark */;
+ 4594F524104DC7ED005828D9 /* PBXTextBookmark */ = 4594F524104DC7ED005828D9 /* PBXTextBookmark */;
+ 4594F52B104DC81C005828D9 /* PBXTextBookmark */ = 4594F52B104DC81C005828D9 /* PBXTextBookmark */;
+ 4594F52C104DC830005828D9 /* PBXTextBookmark */ = 4594F52C104DC830005828D9 /* PBXTextBookmark */;
+ 4594F539104DC896005828D9 /* PBXTextBookmark */ = 4594F539104DC896005828D9 /* PBXTextBookmark */;
+ 4594F53F104DC8F8005828D9 /* PBXTextBookmark */ = 4594F53F104DC8F8005828D9 /* PBXTextBookmark */;
+ 4594F542104DC95D005828D9 /* PBXTextBookmark */ = 4594F542104DC95D005828D9 /* PBXTextBookmark */;
+ 4594F544104DC972005828D9 /* PBXTextBookmark */ = 4594F544104DC972005828D9 /* PBXTextBookmark */;
+ 4594F546104DC98C005828D9 /* PBXTextBookmark */ = 4594F546104DC98C005828D9 /* PBXTextBookmark */;
+ 4594F547104DCA72005828D9 /* PBXTextBookmark */ = 4594F547104DCA72005828D9 /* PBXTextBookmark */;
+ 4594F548104DCA72005828D9 /* PBXTextBookmark */ = 4594F548104DCA72005828D9 /* PBXTextBookmark */;
+ 4594F549104DCA72005828D9 /* PBXTextBookmark */ = 4594F549104DCA72005828D9 /* PBXTextBookmark */;
+ 4594F54A104DCAC5005828D9 /* PBXTextBookmark */ = 4594F54A104DCAC5005828D9 /* PBXTextBookmark */;
+ 4594F54B104DCAC5005828D9 /* PBXTextBookmark */ = 4594F54B104DCAC5005828D9 /* PBXTextBookmark */;
+ 4594F54C104DCAC5005828D9 /* PBXTextBookmark */ = 4594F54C104DCAC5005828D9 /* PBXTextBookmark */;
+ 4594F54D104DCAC5005828D9 /* PBXTextBookmark */ = 4594F54D104DCAC5005828D9 /* PBXTextBookmark */;
+ 4594F559104DCD41005828D9 /* PBXTextBookmark */ = 4594F559104DCD41005828D9 /* PBXTextBookmark */;
+ 4594F55A104DCD41005828D9 /* PBXTextBookmark */ = 4594F55A104DCD41005828D9 /* PBXTextBookmark */;
+ 4594F55B104DCD41005828D9 /* PBXTextBookmark */ = 4594F55B104DCD41005828D9 /* PBXTextBookmark */;
+ 4594F55C104DCD41005828D9 /* PBXTextBookmark */ = 4594F55C104DCD41005828D9 /* PBXTextBookmark */;
+ 4594F55D104DCD41005828D9 /* PBXTextBookmark */ = 4594F55D104DCD41005828D9 /* PBXTextBookmark */;
+ 4594F573104DCF8B005828D9 /* PBXTextBookmark */ = 4594F573104DCF8B005828D9 /* PBXTextBookmark */;
+ 4594F59D104DD816005828D9 /* PBXTextBookmark */ = 4594F59D104DD816005828D9 /* PBXTextBookmark */;
+ 45CF058C104C76B200EED14E = 45CF058C104C76B200EED14E /* PBXTextBookmark */;
45EB43A110316D6800AB8A5C = 45EB43A110316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A210316D6800AB8A5C = 45EB43A210316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A310316D6800AB8A5C = 45EB43A310316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A410316D6800AB8A5C = 45EB43A410316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A510316D6800AB8A5C = 45EB43A510316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A610316D6800AB8A5C = 45EB43A610316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A710316D6800AB8A5C = 45EB43A710316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A810316D6800AB8A5C = 45EB43A810316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43A910316D6800AB8A5C = 45EB43A910316D6800AB8A5C /* PBXTextBookmark */;
- 45EB43AB10316D7900AB8A5C = 45EB43AB10316D7900AB8A5C /* PBXTextBookmark */;
- 45EB43AC10316D7900AB8A5C = 45EB43AC10316D7900AB8A5C /* PBXTextBookmark */;
};
sourceControlManager = 45CC33C31030C4090057043E /* Source Control */;
userBuildSettings = {
};
};
22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1652, 1820}}";
- sepNavSelRange = "{1644, 0}";
- sepNavVisRange = "{691, 1466}";
+ sepNavIntBoundsRect = "{{0, 0}, {1652, 2156}}";
+ sepNavSelRange = "{3327, 0}";
+ sepNavVisRange = "{2642, 1102}";
};
};
2FBBEAD608F335360078DB84 /* max-external */ = {
@@ -72,188 +104,365 @@
};
4542E64910304E8400C13320 /* NetService.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {519, 3836}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 1274}";
+ sepNavIntBoundsRect = "{{0, 0}, {1859, 4228}}";
+ sepNavSelRange = "{4092, 0}";
+ sepNavVisRange = "{8301, 382}";
};
};
- 45CC33C31030C4090057043E /* Source Control */ = {
- isa = PBXSourceControlManager;
- fallbackIsa = XCSourceControlManager;
- isSCMEnabled = 0;
- scmConfiguration = {
- };
- };
- 45CC33C41030C4090057043E /* Code sense */ = {
- isa = PBXCodeSenseManager;
- indexTemplatePath = "";
- };
- 45CF053F104C677D00EED14E /* PBXTextBookmark */ = {
+ 4594F43E104DA1FF005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
name = "zeroconf.service.cpp: 64";
rLen = 0;
- rLoc = 1644;
+ rLoc = 2346;
rType = 0;
- vrLen = 1466;
+ vrLen = 1463;
vrLoc = 691;
};
- 45EB42D21031588F00AB8A5C /* PBXTextBookmark */ = {
+ 4594F51F104DC7EA005828D9 /* max5RT */ = {
+ isa = PBXExecutable;
+ activeArgIndices = (
+ );
+ argumentStrings = (
+ );
+ autoAttachOnCrash = 1;
+ breakpointsEnabled = 1;
+ configStateDict = {
+ "PBXLSLaunchAction-0" = {
+ PBXLSLaunchAction = 0;
+ PBXLSLaunchStartAction = 1;
+ PBXLSLaunchStdioStyle = 2;
+ PBXLSLaunchStyle = 0;
+ class = PBXLSRunLaunchConfig;
+ commandLineArgs = (
+ );
+ displayName = "Executable Runner";
+ environment = {
+ };
+ identifier = com.apple.Xcode.launch.runConfig;
+ remoteHostInfo = "";
+ startActionInfo = "";
+ };
+ };
+ customDataFormattersEnabled = 1;
+ debuggerPlugin = GDBDebugging;
+ disassemblyDisplayState = 0;
+ dylibVariantSuffix = "";
+ enableDebugStr = 1;
+ environmentEntries = (
+ );
+ executableSystemSymbolLevel = 0;
+ executableUserSymbolLevel = 0;
+ launchableReference = 4594F520104DC7EA005828D9 /* MaxMSP Runtime.app */;
+ libgmallocEnabled = 0;
+ name = max5RT;
+ savedGlobals = {
+ };
+ sourceDirectories = (
+ );
+ variableFormatDictionary = {
+ };
+ };
+ 4594F520104DC7EA005828D9 /* MaxMSP Runtime.app */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = wrapper.application;
+ name = "MaxMSP Runtime.app";
+ path = "/Applications/Max5/MaxMSP Runtime.app";
+ sourceTree = "<absolute>";
+ };
+ 4594F521104DC7ED005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
- name = "zeroconf.service.cpp: 115";
+ name = "zeroconf.service.cpp: 60";
rLen = 0;
- rLoc = 2491;
+ rLoc = 1598;
rType = 0;
- vrLen = 840;
- vrLoc = 1874;
+ vrLen = 2078;
+ vrLoc = 681;
+ };
+ 4594F522104DC7ED005828D9 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ comments = "error: 'dnsServiceRef' was not declared in this scope";
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ rLen = 1;
+ rLoc = 264;
+ rType = 1;
};
- 45EB42D31031589400AB8A5C /* PBXTextBookmark */ = {
+ 4594F523104DC7ED005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
- name = "zeroconf.service.cpp: 115";
+ name = "zeroconf.service.cpp: 60";
rLen = 0;
- rLoc = 2491;
+ rLoc = 1598;
rType = 0;
- vrLen = 840;
- vrLoc = 1874;
+ vrLen = 2078;
+ vrLoc = 681;
};
- 45EB439E10316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F524104DC7ED005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
- name = "NetService.cpp: 1";
+ name = "NetService.cpp: 264";
rLen = 0;
- rLoc = 0;
+ rLoc = 8210;
rType = 0;
- vrLen = 1274;
- vrLoc = 0;
+ vrLen = 1483;
+ vrLoc = 1350;
};
- 45EB439F10316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F52B104DC81C005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E64810304E8400C13320 /* NetService.h */;
- name = "NetService.h: 114";
- rLen = 7;
- rLoc = 5882;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 264";
+ rLen = 0;
+ rLoc = 8210;
rType = 0;
- vrLen = 722;
- vrLoc = 5765;
+ vrLen = 1428;
+ vrLoc = 1350;
};
- 45EB43A010316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F52C104DC830005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
- name = "zeroconf.service.cpp: 36";
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 264";
rLen = 0;
- rLoc = 687;
+ rLoc = 8210;
rType = 0;
- vrLen = 565;
- vrLoc = 190;
+ vrLen = 1428;
+ vrLoc = 1350;
};
- 45EB43A110316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F539104DC896005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
- name = "zeroconf.service.cpp: 25";
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 264";
rLen = 0;
- rLoc = 392;
+ rLoc = 8210;
rType = 0;
- vrLen = 454;
- vrLoc = 4;
+ vrLen = 1428;
+ vrLoc = 1350;
+ };
+ 4594F53C104DC8CC005828D9 /* NetService.cpp:236 */ = {
+ isa = PBXFileBreakpoint;
+ actions = (
+ );
+ breakpointStyle = 0;
+ continueAfterActions = 0;
+ countType = 0;
+ delayBeforeContinue = 0;
+ fileReference = 4542E64910304E8400C13320 /* NetService.cpp */;
+ functionName = "NetService::resolveWithTimeout(double timeOutInSeconds, bool launchThread)";
+ hitCount = 0;
+ ignoreCount = 0;
+ lineNumber = 236;
+ modificationTime = 273534856.284019;
+ state = 0;
+ };
+ 4594F53F104DC8F8005828D9 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 264";
+ rLen = 0;
+ rLoc = 8210;
+ rType = 0;
+ vrLen = 1428;
+ vrLoc = 1350;
+ };
+ 4594F542104DC95D005828D9 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 265";
+ rLen = 0;
+ rLoc = 8210;
+ rType = 0;
+ vrLen = 1428;
+ vrLoc = 1350;
+ };
+ 4594F544104DC972005828D9 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 265";
+ rLen = 0;
+ rLoc = 8210;
+ rType = 0;
+ vrLen = 1428;
+ vrLoc = 1350;
+ };
+ 4594F546104DC98C005828D9 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 265";
+ rLen = 0;
+ rLoc = 8210;
+ rType = 0;
+ vrLen = 1428;
+ vrLoc = 1350;
};
- 45EB43A210316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F547104DCA72005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E64810304E8400C13320 /* NetService.h */;
- name = "NetService.h: 1";
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 282";
rLen = 0;
- rLoc = 0;
+ rLoc = 8520;
rType = 0;
- vrLen = 1215;
- vrLoc = 4964;
+ vrLen = 456;
+ vrLoc = 8109;
};
- 45EB43A310316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F548104DCA72005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
- name = "NetService.cpp: 1";
+ name = "NetService.cpp: 264";
rLen = 0;
- rLoc = 0;
+ rLoc = 8210;
rType = 0;
- vrLen = 1274;
- vrLoc = 0;
+ vrLen = 253;
+ vrLoc = 8356;
};
- 45EB43A410316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F549104DCA72005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E64810304E8400C13320 /* NetService.h */;
- name = "NetService.h: 110";
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 116";
rLen = 0;
- rLoc = 5767;
+ rLoc = 4092;
rType = 0;
- vrLen = 2026;
- vrLoc = 2021;
+ vrLen = 382;
+ vrLoc = 8301;
};
- 45EB43A510316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F54A104DCAC5005828D9 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 116";
+ rLen = 0;
+ rLoc = 4092;
+ rType = 0;
+ vrLen = 1986;
+ vrLoc = 4915;
+ };
+ 4594F54B104DCAC5005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
- name = "zeroconf.service.cpp: 28";
+ name = "zeroconf.service.cpp: 60";
rLen = 0;
- rLoc = 580;
+ rLoc = 1598;
rType = 0;
- vrLen = 477;
- vrLoc = 243;
+ vrLen = 1483;
+ vrLoc = 910;
};
- 45EB43A610316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F54C104DCAC5005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E64810304E8400C13320 /* NetService.h */;
- name = "NetService.h: 97";
- rLen = 91;
- rLoc = 4867;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 116";
+ rLen = 0;
+ rLoc = 4092;
rType = 0;
- vrLen = 1232;
- vrLoc = 4536;
+ vrLen = 1986;
+ vrLoc = 4915;
};
- 45EB43A710316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F54D104DCAC5005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
- name = "zeroconf.service.cpp: 36";
+ name = "zeroconf.service.cpp: 65";
rLen = 0;
- rLoc = 687;
+ rLoc = 1822;
rType = 0;
- vrLen = 567;
- vrLoc = 188;
+ vrLen = 1449;
+ vrLoc = 910;
};
- 45EB43A810316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F559104DCD41005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 4542E64810304E8400C13320 /* NetService.h */;
- name = "NetService.h: 114";
- rLen = 7;
- rLoc = 5882;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;
+ name = "NetService.cpp: 196";
+ rLen = 18;
+ rLoc = 5981;
rType = 0;
- vrLen = 722;
- vrLoc = 5765;
+ vrLen = 1573;
+ vrLoc = 2495;
};
- 45EB43A910316D6800AB8A5C /* PBXTextBookmark */ = {
+ 4594F55A104DCD41005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
- name = "zeroconf.service.cpp: 69";
+ name = "zeroconf.service.cpp: 65";
rLen = 0;
- rLoc = 1835;
+ rLoc = 1822;
rType = 0;
- vrLen = 531;
- vrLoc = 1517;
+ vrLen = 1398;
+ vrLoc = 961;
};
- 45EB43AB10316D7900AB8A5C /* PBXTextBookmark */ = {
+ 4594F55B104DCD41005828D9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- comments = "error: expected `)' before 'x'";
fRef = 22CF11AD0EE9A8840054F513 /* zeroconf.service.cpp */;
- rLen = 1;
- rLoc = 64;
- rType = 1;
+ name = "zeroconf.service.cpp: 65";
+ rLen = 0;
+ rLoc = 1822;
+ rType = 0;
+ vrLen = 1449;
+ vrLoc = 910;
+ };
+ 4594F55C104DCD41005828D9 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 4542E64910304E8400C13320 /* NetService.cpp */;