Skip to content

Commit 57d8839

Browse files
committed
lots of small updates
updated test server to include buttons to aid in test path created/renamed/deleted notifications :: added doxygen documentation for pretty much everything :: fixed a bug, ensured that the OSC port for detected servers defaults to the same port as the OSCQuery server if it's not explicitly supplied
1 parent 1debf82 commit 57d8839

17 files changed

+3136
-196
lines changed

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ The OSCQuery protocol defines a way for machines to query the properties of [OSC
99
The proposal itself is small, relatively simple, and is posted here: https://github.com/mrRay/OSCQueryProposal
1010

1111
This repository contains a number of different targets:
12-
* **VVOSCQueryProtocol.framework** is a Cocoa framework that provides classes which can be used to implement this protocol in software that already has an existing OSC implementation- it does so in a simple, generic and library-agnostic fashion. By itself, this framework does *NOT* send or receive OSC data, nor does it provide classes to let you create an OSC address space- this is all functionality that has already been implemented in a variety of other OSC libraries. Instead, this framework gives you the tools you need to add support for the OSCQuery protocol to whatever OSC implementation you're already working with.
12+
13+
14+
This framework aims to provide classes that implement the OSCQuery protocol in software that already has an existing OSC implementation. It does so in a simple, generic, OSC-library-agnostic fashion, so adding support for OSCQuery is a matter of "adding some code" instead of "change all of my existing OSC code to use this weird new protocol".
15+
16+
17+
* **VVOSCQueryProtocol.framework** is a Cocoa framework that provides classes which can be used to implement this protocol in software that already has an existing OSC implementation- it does so in a simple, generic and library-agnostic fashion, so adding support for OSCQuery is a matter of "adding some code" instead of "rip out all of my existing OSC code to use this weird new protocol/framework". By itself, this framework does *NOT* send or receive OSC data, nor does it provide classes to let you create an OSC address space- this is all functionality that has already been implemented in a variety of other OSC libraries. Instead, this framework gives you the tools you need to add support for the OSCQuery protocol to whatever OSC implementation you're already working with.
1318
* **Utilities for Users**
1419
* **OSCQuery Browser** is a GUI that lets you browse the contents of OSCQuery servers on the local network and send data to the various OSC nodes.
1520
* **OSCQuery Helper** is a Cocoa app that lets you add OSCQuery support to other applications that already support OSC, but do not yet support OSCQuery.
@@ -32,4 +37,4 @@ VVOSCQueryProtocol is a framework: it contains a dynamic library and all the hea
3237

3338
**Documentation:**
3439

35-
The API for VVOSCQueryProtocol.framework is minimal, and the header files are clean and have a high signal to noise ratio- there are only two main classes (client & server!), and VVOSCQueryProtocol.h does a good job of introducing them and giving you a quick overview. Fancier documentation is coming soon...
40+
The API for VVOSCQueryProtocol.framework is minimal, and the header files are clean and have a high signal to noise ratio- there are only two main classes (client & server!), and VVOSCQueryProtocol.h does a good job of introducing them and giving you a quick overview. The generated doxygen documentation is [available here](https://www.vidvox.net/rays_oddsnends/VVOSCQueryProtocol_Doxygen/html/index.html).

VVOSCQueryBrowser/ServerUIController.m

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ - (void) awakeFromNib {
5050

5151

5252
- (IBAction) urlFieldUsed:(id)sender {
53-
//NSLog(@"%s",__func__);
53+
NSLog(@"%s",__func__);
5454
if (![NSThread isMainThread]) {
5555
dispatch_async(dispatch_get_main_queue(), ^{ [self urlFieldUsed:sender]; });
5656
return;
@@ -100,7 +100,7 @@ - (IBAction) urlFieldUsed:(id)sender {
100100

101101

102102
- (void) newServerChosen:(VVOSCQueryRemoteServer*)n {
103-
//NSLog(@"%s ... %@",__func__,n);
103+
NSLog(@"%s ... %@",__func__,n);
104104
if (![NSThread isMainThread]) {
105105
dispatch_async(dispatch_get_main_queue(), ^{
106106
[self newServerChosen:n];
@@ -160,20 +160,20 @@ - (void) remoteServerWentOffline:(VVOSCQueryRemoteServer *)remoteServer {
160160
if (![NSThread isMainThread]) {
161161
NSLog(@"\t\tERR: NOT MAIN THREAD, %s",__func__);
162162
}
163-
163+
NSLog(@"%s",__func__);
164164
if (remoteServer != server)
165165
return;
166-
server = nil;
166+
//server = nil;
167167
[urlField setStringValue:@"/"];
168168
[self fullReloadData];
169-
[rawJSONTextView setString:@""];
169+
//[rawJSONTextView setString:@""];
170170
}
171171
- (void) remoteServer:(VVOSCQueryRemoteServer *)remoteServer websocketDeliveredJSONObject:(NSDictionary *)jsonObj {
172172
NSLog(@"%s ... %@",__func__,jsonObj);
173173
//NSLog(@"\t\tshould be checking for and handling PATH_CHANGED here, %s",__func__);
174174
}
175175
- (void) remoteServer:(VVOSCQueryRemoteServer *)remoteServer receivedOSCPacket:(const void *)packet sized:(size_t)packetSize {
176-
//NSLog(@"%s ... %p, %ld",__func__,packet,packetSize);
176+
NSLog(@"%s ... %p, %ld",__func__,packet,packetSize);
177177

178178

179179

@@ -364,7 +364,7 @@ - (void)outlineViewItemDidCollapse:(NSNotification *)notification {
364364

365365

366366
- (void) reloadRemoteNodes {
367-
//NSLog(@"%s",__func__);
367+
NSLog(@"%s",__func__);
368368
// we're going to strip any queries out of the URL field and then sanitize the path
369369
NSURL *url = [NSURL URLWithString:[urlField stringValue]];
370370
NSString *pathString = [[url absoluteString] stringBySanitizingForOSCPath];
@@ -379,7 +379,7 @@ - (void) reloadRemoteNodes {
379379
// convert the reply string to a JSON object (a dict)
380380
NSData *urlReplyData = [urlReplyString dataUsingEncoding:NSUTF8StringEncoding];
381381
NSDictionary *urlReplyDict = (urlReplyString==nil) ? nil : [NSJSONSerialization JSONObjectWithData:urlReplyData options:0 error:nil];
382-
//NSLog(@"\t\turlReplyDict is %@",urlReplyDict);
382+
NSLog(@"\t\turlReplyDict is %@",urlReplyDict);
383383

384384
[urlReplyRemoteNodes removeAllObjects];
385385
RemoteNode *tmpNode = [[RemoteNode alloc] initWithParent:nil dict:urlReplyDict];
@@ -399,7 +399,7 @@ - (void) reloadRemoteNodes {
399399
[rawJSONTextView setString:prettyString];
400400
}
401401
- (void) partialReloadData {
402-
//NSLog(@"%s",__func__);
402+
NSLog(@"%s",__func__);
403403
[self reloadRemoteNodes];
404404

405405
// tell the outline view to reload its data

VVOSCQueryProtocol.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
1A04695020EC251C002E591D /* MIDIOSCQueryHelperAppIcon.iconset in Resources */ = {isa = PBXBuildFile; fileRef = 1A04694F20EC251C002E591D /* MIDIOSCQueryHelperAppIcon.iconset */; };
3131
1A04696020ECF845002E591D /* oscqueryhtml in Resources */ = {isa = PBXBuildFile; fileRef = 1A04695F20ECF845002E591D /* oscqueryhtml */; };
3232
1A0B5F55203E0EC800948FDA /* ZWRObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A0B5F53203E0EC800948FDA /* ZWRObject.m */; };
33-
1A0B5F56203E0EC800948FDA /* ZWRObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A0B5F54203E0EC800948FDA /* ZWRObject.h */; };
33+
1A0B5F56203E0EC800948FDA /* ZWRObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A0B5F54203E0EC800948FDA /* ZWRObject.h */; settings = {ATTRIBUTES = (Public, ); }; };
3434
1A0E2F361FD6D3CB00F0855D /* VVOSCQueryBrowserAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A0E2F351FD6D3CB00F0855D /* VVOSCQueryBrowserAppDelegate.m */; };
3535
1A0E2F381FD6D3CB00F0855D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1A0E2F371FD6D3CB00F0855D /* Assets.xcassets */; };
3636
1A0E2F3B1FD6D3CB00F0855D /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1A0E2F391FD6D3CB00F0855D /* MainMenu.xib */; };
@@ -611,6 +611,8 @@
611611
1A480FDC1FC89A9D00F86354 /* VVOSCQueryReply.m */,
612612
1A480FDF1FC8A0EC00F86354 /* VVOSCQuery.h */,
613613
1A480FE01FC8A0EC00F86354 /* VVOSCQuery.m */,
614+
1A0B5F54203E0EC800948FDA /* ZWRObject.h */,
615+
1A0B5F53203E0EC800948FDA /* ZWRObject.m */,
614616
1A04695F20ECF845002E591D /* oscqueryhtml */,
615617
1AF1087C1FCDD7F3004566A8 /* internal */,
616618
);
@@ -712,8 +714,6 @@
712714
1AF1087C1FCDD7F3004566A8 /* internal */ = {
713715
isa = PBXGroup;
714716
children = (
715-
1A0B5F54203E0EC800948FDA /* ZWRObject.h */,
716-
1A0B5F53203E0EC800948FDA /* ZWRObject.m */,
717717
1A906E7E1FCC8D1700F0E412 /* NSNetServiceAdditions.h */,
718718
1A906E7F1FCC8D1700F0E412 /* NSNetServiceAdditions.m */,
719719
1AF108781FCDC509004566A8 /* NSStringAdditions.h */,
@@ -748,12 +748,12 @@
748748
1A4D91B61FD41817007138A8 /* WSPPClient.hpp in Headers */,
749749
1AF1087A1FCDC509004566A8 /* NSStringAdditions.h in Headers */,
750750
1A336E901FC871870007877C /* VVOSCQueryServer.h in Headers */,
751+
1A0B5F56203E0EC800948FDA /* ZWRObject.h in Headers */,
751752
1A7C48F71FD586DB00AE4287 /* VVOSCQueryStringUtilities.hpp in Headers */,
752753
1AF108581FCD7EF8004566A8 /* VVOSCQueryConstants.h in Headers */,
753754
1AF108761FCD9DC0004566A8 /* CURLDL.h in Headers */,
754755
1A906E801FCC8D1700F0E412 /* NSNetServiceAdditions.h in Headers */,
755756
1A336E941FC871900007877C /* VVOSCQueryRemoteServer.h in Headers */,
756-
1A0B5F56203E0EC800948FDA /* ZWRObject.h in Headers */,
757757
1AB89C311FD1EE1B0094A66B /* WSPPServer.hpp in Headers */,
758758
1AB4FB2C1FCC6C91005E3028 /* VVOSCQueryServerDetectorDomain.h in Headers */,
759759
1A480FE51FCAD55D00F86354 /* VVOSCQueryServerDetector.h in Headers */,

0 commit comments

Comments
 (0)