vanilla commit
This commit is contained in:
commit
a3f943efa1
1
build/Release/VVOSC.framework/Headers
Symbolic link
1
build/Release/VVOSC.framework/Headers
Symbolic link
@ -0,0 +1 @@
|
||||
Versions/Current/Headers
|
1
build/Release/VVOSC.framework/Resources
Symbolic link
1
build/Release/VVOSC.framework/Resources
Symbolic link
@ -0,0 +1 @@
|
||||
Versions/Current/Resources
|
1
build/Release/VVOSC.framework/VVOSC
Symbolic link
1
build/Release/VVOSC.framework/VVOSC
Symbolic link
@ -0,0 +1 @@
|
||||
Versions/Current/VVOSC
|
1
build/Release/VVOSC.framework/VVOSC.framework
Symbolic link
1
build/Release/VVOSC.framework/VVOSC.framework
Symbolic link
@ -0,0 +1 @@
|
||||
VVOSC.framework
|
@ -0,0 +1,28 @@
|
||||
//
|
||||
// AddressValPair.h
|
||||
// VVOSC
|
||||
//
|
||||
// Created by bagheera on 12/11/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@interface AddressValPair : NSObject {
|
||||
NSString *address;
|
||||
id val;
|
||||
}
|
||||
|
||||
+ (id) createWithAddress:(NSString *)a val:(id)v;
|
||||
- (id) initWithAddress:(NSString *)a val:(id)v;
|
||||
|
||||
- (NSString *) address;
|
||||
- (id) val;
|
||||
|
||||
@end
|
34
build/Release/VVOSC.framework/Versions/A/Headers/OSCBundle.h
Normal file
34
build/Release/VVOSC.framework/Versions/A/Headers/OSCBundle.h
Normal file
@ -0,0 +1,34 @@
|
||||
//
|
||||
// OSCBundle.h
|
||||
// OSC
|
||||
//
|
||||
// Created by bagheera on 9/20/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
#import "OSCMessage.h"
|
||||
|
||||
|
||||
|
||||
|
||||
@interface OSCBundle : NSObject {
|
||||
NSMutableArray *elementArray; // array of messages or bundles
|
||||
}
|
||||
|
||||
+ (void) parseRawBuffer:(unsigned char *)b ofMaxLength:(int)l toInPort:(id)p;
|
||||
|
||||
+ (id) create;
|
||||
|
||||
- (void) addElement:(id)n;
|
||||
- (void) addElementArray:(NSArray *)a;
|
||||
|
||||
- (int) bufferLength;
|
||||
- (void) writeToBuffer:(unsigned char *)b;
|
||||
|
||||
@end
|
93
build/Release/VVOSC.framework/Versions/A/Headers/OSCInPort.h
Normal file
93
build/Release/VVOSC.framework/Versions/A/Headers/OSCInPort.h
Normal file
@ -0,0 +1,93 @@
|
||||
//
|
||||
// OSCInPort.h
|
||||
// OSC
|
||||
//
|
||||
// Created by bagheera on 9/20/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
|
||||
//#import <sys/types.h>
|
||||
//#import <sys/socket.h>
|
||||
#import <netinet/in.h>
|
||||
|
||||
#import <pthread.h>
|
||||
#import "AddressValPair.h"
|
||||
#import "OSCPacket.h"
|
||||
#import "OSCBundle.h"
|
||||
#import "OSCMessage.h"
|
||||
|
||||
|
||||
@protocol OSCInPortDelegateProtocol
|
||||
- (void) oscMessageReceived:(NSDictionary *)d;
|
||||
- (void) receivedOSCVal:(id)v forAddress:(NSString *)a;
|
||||
@end
|
||||
|
||||
@protocol OSCDelegateProtocol
|
||||
- (void) oscMessageReceived:(NSDictionary *)d;
|
||||
- (void) receivedOSCVal:(id)v forAddress:(NSString *)a;
|
||||
@end
|
||||
|
||||
|
||||
@interface OSCInPort : NSObject {
|
||||
BOOL deleted; // whether or not i'm deleted- ensures that socket gets closed
|
||||
BOOL bound; // whether or not the socket is bound
|
||||
int sock; // socket file descriptor. remember, everything in unix is files!
|
||||
struct sockaddr_in addr; // struct that describes *my* address (this is an in port)
|
||||
short port; // the port number i'm receiving from
|
||||
BOOL running; // whether or not i should keep running
|
||||
BOOL busy;
|
||||
unsigned char buf[8192]; // the socket gets data and dumps it here immediately
|
||||
|
||||
pthread_mutex_t lock;
|
||||
NSTimer *threadTimer;
|
||||
int threadTimerCount;
|
||||
NSAutoreleasePool *threadPool;
|
||||
|
||||
NSString *portLabel; // the "name" of the port (added to distinguish multiple osc input ports for bonjour)
|
||||
NSNetService *zeroConfDest; // bonjour service for publishing this input's address...only active if there's a portLabel!
|
||||
|
||||
NSMutableDictionary *scratchDict; // key of dict is address port; object at key is a mut. array. coalesced messaging.
|
||||
NSMutableArray *scratchArray; // array of AddressValPair objects. used for serial messaging.
|
||||
id delegate; // my delegate gets notified of incoming messages
|
||||
}
|
||||
|
||||
+ (id) createWithPort:(short)p;
|
||||
+ (id) createWithPort:(short)p labelled:(NSString *)n;
|
||||
- (id) initWithPort:(short)p;
|
||||
- (id) initWithPort:(short)p labelled:(NSString *)n;
|
||||
|
||||
- (void) prepareToBeDeleted;
|
||||
|
||||
- (NSDictionary *) createSnapshot;
|
||||
|
||||
- (BOOL) createSocket;
|
||||
- (void) start;
|
||||
- (void) stop;
|
||||
- (void) launchOSCLoop:(id)o;
|
||||
- (void) OSCThreadProc:(NSTimer *)t;
|
||||
- (void) parseRawBuffer:(unsigned char *)b ofMaxLength:(int)l;
|
||||
|
||||
// if the delegate im
|
||||
- (void) handleParsedScratchDict:(NSDictionary *)d;
|
||||
- (void) handleScratchArray:(NSArray *)a;
|
||||
|
||||
- (void) addValue:(id)val toAddressPath:(NSString *)p;
|
||||
|
||||
- (short) port;
|
||||
- (void) setPort:(short)n;
|
||||
- (NSString *) portLabel;
|
||||
- (void) setPortLabel:(NSString *)n;
|
||||
- (NSNetService *) zeroConfDest;
|
||||
- (BOOL) bound;
|
||||
|
||||
- (id) delegate;
|
||||
- (void) setDelegate:(id)n;
|
||||
|
||||
@end
|
144
build/Release/VVOSC.framework/Versions/A/Headers/OSCManager.h
Normal file
144
build/Release/VVOSC.framework/Versions/A/Headers/OSCManager.h
Normal file
@ -0,0 +1,144 @@
|
||||
//
|
||||
// OSCManager.h
|
||||
// OSC
|
||||
//
|
||||
// Created by bagheera on 9/20/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
#import "OSCZeroConfManager.h"
|
||||
#import "OSCInPort.h"
|
||||
#import "OSCOutPort.h"
|
||||
#import <pthread.h>
|
||||
|
||||
/*
|
||||
TOP-LEVEL OVERVIEW
|
||||
|
||||
this osc manager class is all you need to add to your app. it has methods for
|
||||
adding and removing ports. you can have as many osc managers as you like, but
|
||||
you should really only need one instance.
|
||||
|
||||
input ports have a delegate- delegate methods are called as the port receives data.
|
||||
it's important to note that the delegate methods must be thread-safe: each input
|
||||
port is running on its own (non-main) thread.
|
||||
|
||||
data is sent via the output ports (convenience methods for doing this are built
|
||||
into the osc manager).
|
||||
|
||||
|
||||
|
||||
|
||||
GENERAL OSC STRUCTURE AND OVERVIEW
|
||||
|
||||
this framework was written from the OSC spec found here:
|
||||
http://opensoundcontrol.org/spec-1_0
|
||||
|
||||
- an OSC packet is the basic unit of transmitting OSC data.
|
||||
- an OSC packet consists of:
|
||||
- contents- contiguous block of binary data (either a bundle or a message), and then the
|
||||
- size- number of 8-bit bytes that comprise 'contents'- ALWAYS multiple of 4!
|
||||
- an OSC message consists of:
|
||||
- an OSC address pattern (starting with '/'), followed by
|
||||
- an OSC type tag string, followed by
|
||||
- zero or more 'OSC arguments'
|
||||
- an OSC bundle consists of:
|
||||
- the OSC-string "#bundle", followed by
|
||||
- an OSC time tag, followed by
|
||||
- zero or more 'OSC bundle elements'
|
||||
- an OSC bundle element consists of:
|
||||
- 'size' (int32)- number of 8-bit bytes in the contents- ALWAYS multiple of 4!
|
||||
- 'contents'- either another OSC bundle, or an OSC message
|
||||
|
||||
|
||||
|
||||
|
||||
PORTS- SENDING AND RECEIVING UDP/TCP DATA
|
||||
|
||||
some basic information, gleaned from:
|
||||
http://beej.us/guide/bgnet/output/html/multipage/index.html
|
||||
|
||||
struct sockaddr {
|
||||
unsigned short sa_family; // address family, AF_xxx
|
||||
char sa_data[14]; // 14 bytes of protocol address
|
||||
}
|
||||
struct sockaddr_in {
|
||||
short int sin_family; // address family
|
||||
unsigned short int sin_port; // port number
|
||||
struct in_addr sin_addr; // internet address
|
||||
unsigned char sin_zero[8]; // exists so sockaddr_in has same length as sockaddr
|
||||
}
|
||||
|
||||
recv(int sockfd, void *buf, int len, unsigned int flags);
|
||||
- sockfd is the socket descriptor to read from
|
||||
- buf is the buffer to read the information into
|
||||
- len is the max length of the buffer
|
||||
- flags can be set to 0
|
||||
recvfrom(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen);
|
||||
- from is a pointer to a local struct sockaddr that will be filled with the IP & port of the originating machine
|
||||
- fromlen is a pointer to a local int that should be initialized to a sizeof(struct sockaddr)- contains length of address actually stored in from on return
|
||||
...as well as the 4 params listed above in recv()
|
||||
|
||||
int select(int numfds, fd_set *readrds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
|
||||
*/
|
||||
|
||||
@interface OSCManager : NSObject {
|
||||
NSMutableArray *inPortArray;
|
||||
NSMutableArray *outPortArray;
|
||||
|
||||
pthread_rwlock_t inPortLock;
|
||||
pthread_rwlock_t outPortLock;
|
||||
|
||||
id delegate;
|
||||
|
||||
OSCZeroConfManager *zeroConfManager; // bonjour/zero-configuration manager
|
||||
}
|
||||
|
||||
- (void) deleteAllInputs;
|
||||
- (void) deleteAllOutputs;
|
||||
// methods for creating input ports
|
||||
- (OSCInPort *) createNewInputFromSnapshot:(NSDictionary *)s;
|
||||
- (OSCInPort *) createNewInputForPort:(int)p withLabel:(NSString *)l;
|
||||
- (OSCInPort *) createNewInputForPort:(int)p;
|
||||
- (OSCInPort *) createNewInput;
|
||||
// methods for creating output ports
|
||||
- (OSCOutPort *) createNewOutputFromSnapshot:(NSDictionary *)s;
|
||||
- (OSCOutPort *) createNewOutputToAddress:(NSString *)a atPort:(int)p withLabel:(NSString *)l;
|
||||
- (OSCOutPort *) createNewOutputToAddress:(NSString *)a atPort:(int)p;
|
||||
- (OSCOutPort *) createNewOutput;
|
||||
|
||||
// typically, the manager is the input port's delegate- input ports tell delegates when they receive data
|
||||
// this method is called and contains coalesced messages (grouped by address path)
|
||||
- (void) oscMessageReceived:(NSDictionary *)d;
|
||||
// this method is called every time any osc val is processed
|
||||
- (void) receivedOSCVal:(id)v forAddress:(NSString *)a;
|
||||
|
||||
// methods for working with ports
|
||||
- (NSString *) getUniqueInputLabel;
|
||||
- (NSString *) getUniqueOutputLabel;
|
||||
- (OSCInPort *) findInputWithLabel:(NSString *)n;
|
||||
- (OSCOutPort *) findOutputWithLabel:(NSString *)n;
|
||||
- (OSCOutPort *) findOutputWithAddress:(NSString *)a andPort:(int)p;
|
||||
- (OSCOutPort *) findOutputForIndex:(int)i;
|
||||
- (OSCInPort *) findInputWithZeroConfName:(NSString *)n;
|
||||
- (void) removeInput:(id)p;
|
||||
- (void) removeOutput:(id)p;
|
||||
- (NSArray *) outPortLabelArray;
|
||||
|
||||
// subclassable methods for customizing
|
||||
- (id) inPortClass;
|
||||
- (NSString *) inPortLabelBase;
|
||||
- (id) outPortClass;
|
||||
|
||||
// misc
|
||||
- (id) delegate;
|
||||
- (void) setDelegate:(id)n;
|
||||
- (NSMutableArray *) inPortArray;
|
||||
- (NSMutableArray *) outPortArray;
|
||||
|
||||
@end
|
@ -0,0 +1,43 @@
|
||||
//
|
||||
// OSCMessage.h
|
||||
// OSC
|
||||
//
|
||||
// Created by bagheera on 9/20/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
#import <pthread.h>
|
||||
|
||||
|
||||
|
||||
@interface OSCMessage : NSObject {
|
||||
NSString *address;
|
||||
NSMutableArray *typeArray;
|
||||
NSMutableArray *argArray;
|
||||
pthread_rwlock_t lock;
|
||||
}
|
||||
|
||||
+ (void) parseRawBuffer:(unsigned char *)b ofMaxLength:(int)l toInPort:(id)p;
|
||||
+ (id) createMessageToAddress:(NSString *)a;
|
||||
- (id) initWithAddress:(NSString *)a;
|
||||
|
||||
- (void) addInt:(int)n;
|
||||
- (void) addFloat:(float)n;
|
||||
#if IPHONE
|
||||
- (void) addColor:(UIColor *)c;
|
||||
#else
|
||||
- (void) addColor:(NSColor *)c;
|
||||
#endif
|
||||
- (void) addBOOL:(BOOL)n;
|
||||
- (void) addString:(NSString *)n;
|
||||
|
||||
- (int) bufferLength;
|
||||
- (void) writeToBuffer:(unsigned char *)b;
|
||||
|
||||
@end
|
@ -0,0 +1,58 @@
|
||||
//
|
||||
// OSCOutPort.h
|
||||
// OSC
|
||||
//
|
||||
// Created by bagheera on 9/20/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#import "OSCPacket.h"
|
||||
#import "OSCBundle.h"
|
||||
#import "OSCMessage.h"
|
||||
|
||||
|
||||
|
||||
|
||||
@interface OSCOutPort : NSObject {
|
||||
BOOL deleted;
|
||||
int sock;
|
||||
struct sockaddr_in addr;
|
||||
int port;
|
||||
NSString *addressString;
|
||||
NSString *portLabel; // used it to distinguish between multiple osc outputs
|
||||
}
|
||||
|
||||
+ (id) createWithAddress:(NSString *)a andPort:(int)p;
|
||||
+ (id) createWithAddress:(NSString *)a andPort:(int)p labelled:(NSString *)l;
|
||||
- (id) initWithAddress:(NSString *)a andPort:(int)p;
|
||||
- (id) initWithAddress:(NSString *)a andPort:(int)p labelled:(NSString *)l;
|
||||
- (void) prepareToBeDeleted;
|
||||
|
||||
- (NSDictionary *) createSnapshot;
|
||||
|
||||
- (BOOL) createSocket;
|
||||
|
||||
- (void) sendThisBundle:(OSCBundle *)b;
|
||||
- (void) sendThisMessage:(OSCMessage *)m;
|
||||
- (void) sendThisPacket:(OSCPacket *)p;
|
||||
|
||||
- (void) setAddressString:(NSString *)n;
|
||||
- (void) setPort:(int)p;
|
||||
- (void) setAddressString:(NSString *)n andPort:(int)p;
|
||||
|
||||
- (NSString *) portLabel;
|
||||
- (void) setPortLabel:(NSString *)n;
|
||||
|
||||
- (int) port;
|
||||
- (NSString *) addressString;
|
||||
|
||||
@end
|
37
build/Release/VVOSC.framework/Versions/A/Headers/OSCPacket.h
Normal file
37
build/Release/VVOSC.framework/Versions/A/Headers/OSCPacket.h
Normal file
@ -0,0 +1,37 @@
|
||||
//
|
||||
// OSCPacket.h
|
||||
// OSC
|
||||
//
|
||||
// Created by bagheera on 9/20/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#import "OSCBundle.h"
|
||||
#import "OSCMessage.h"
|
||||
|
||||
/*
|
||||
this class requires a bundle or message on create/init. the buffer/msg
|
||||
is NOT retained by this class in any way- it's used to immediately create
|
||||
the buffer which will be sent.
|
||||
*/
|
||||
|
||||
@interface OSCPacket : NSObject {
|
||||
int bufferLength;
|
||||
unsigned char *payload;
|
||||
}
|
||||
|
||||
+ (void) parseRawBuffer:(unsigned char *)b ofMaxLength:(int)l toInPort:(id)p;
|
||||
+ (id) createWithContent:(id)c;
|
||||
- (id) initWithContent:(id)c;
|
||||
|
||||
- (int) bufferLength;
|
||||
- (unsigned char *) payload;
|
||||
|
||||
@end
|
@ -0,0 +1,44 @@
|
||||
//
|
||||
// OSCZeroConfDomain.h
|
||||
// VVOSC
|
||||
//
|
||||
// Created by bagheera on 12/9/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
#import <pthread.h>
|
||||
#import <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
|
||||
|
||||
|
||||
@interface OSCZeroConfDomain : NSObject {
|
||||
NSString *domainString;
|
||||
NSNetServiceBrowser *serviceBrowser;
|
||||
|
||||
NSMutableArray *servicesArray;
|
||||
pthread_rwlock_t servicesLock;
|
||||
|
||||
id domainManager;
|
||||
}
|
||||
|
||||
+ (id) createWithDomain:(NSString *)d andDomainManager:(id)m;
|
||||
- (id) initWithDomain:(NSString *)d andDomainManager:(id)m;
|
||||
|
||||
// NSNetServiceBrowser delegate methods
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)n didFindService:(NSNetService *)x moreComing:(BOOL)m;
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)n didNotSearch:(NSDictionary *)err;
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)n didRemoveService:(NSNetService *)s moreComing:(BOOL)m;
|
||||
|
||||
// NSNetService delegate methods
|
||||
- (void)netService:(NSNetService *)n didNotResolve:(NSDictionary *)err;
|
||||
- (void)netServiceDidResolveAddress:(NSNetService *)n;
|
||||
|
||||
@end
|
@ -0,0 +1,39 @@
|
||||
//
|
||||
// OSCZeroConfManager.h
|
||||
// VVOSC
|
||||
//
|
||||
// Created by bagheera on 12/9/08.
|
||||
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#if IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
#import "OSCZeroConfDomain.h"
|
||||
#import <pthread.h>
|
||||
|
||||
|
||||
|
||||
|
||||
@interface OSCZeroConfManager : NSObject {
|
||||
NSNetServiceBrowser *domainBrowser;
|
||||
|
||||
NSMutableDictionary *domainDict;
|
||||
pthread_rwlock_t domainLock;
|
||||
|
||||
id oscManager;
|
||||
}
|
||||
|
||||
- (id) initWithOSCManager:(id)m;
|
||||
|
||||
- (void) serviceRemoved:(NSNetService *)s;
|
||||
- (void) serviceResolved:(NSNetService *)s;
|
||||
|
||||
// NSNetServiceBrowser delegate methods
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)n didFindDomain:(NSString *)d moreComing:(BOOL)m;
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)n didNotSearch:(NSDictionary *)err;
|
||||
|
||||
@end
|
9
build/Release/VVOSC.framework/Versions/A/Headers/VVOSC.h
Normal file
9
build/Release/VVOSC.framework/Versions/A/Headers/VVOSC.h
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
|
||||
#import "AddressValPair.h"
|
||||
#import "OSCManager.h"
|
||||
#import "OSCZeroConfManager.h"
|
||||
#import "OSCPacket.h"
|
||||
#import "OSCBundle.h"
|
||||
#import "OSCMessage.h"
|
||||
|
Binary file not shown.
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>VVOSC</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>0.1.2</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.vidvox.VVOSC</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>VVOSC</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.1.2</string>
|
||||
</dict>
|
||||
</plist>
|
BIN
build/Release/VVOSC.framework/Versions/A/VVOSC
Executable file
BIN
build/Release/VVOSC.framework/Versions/A/VVOSC
Executable file
Binary file not shown.
1
build/Release/VVOSC.framework/Versions/Current
Symbolic link
1
build/Release/VVOSC.framework/Versions/Current
Symbolic link
@ -0,0 +1 @@
|
||||
A
|
BIN
build/Release/sc3ctrl
Executable file
BIN
build/Release/sc3ctrl
Executable file
Binary file not shown.
27
build/Release/sc3ctrl.dSYM/Contents/Info.plist
Normal file
27
build/Release/sc3ctrl.dSYM/Contents/Info.plist
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.xcode.dsym.sc3ctrl</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>dSYM</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>dSYM_UUID</key>
|
||||
<dict>
|
||||
<key>i386</key>
|
||||
<string>3318CB70-EB25-6384-E7F4-69918E59B470</string>
|
||||
<key>ppc</key>
|
||||
<string>1429EEE0-2EEE-3E06-E7F5-133928D9356C</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
BIN
build/Release/sc3ctrl.dSYM/Contents/Resources/DWARF/sc3ctrl
Normal file
BIN
build/Release/sc3ctrl.dSYM/Contents/Resources/DWARF/sc3ctrl
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl
Executable file
BIN
build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl
Executable file
Binary file not shown.
@ -0,0 +1 @@
|
||||
/Developer/Projects/sc3ctrl/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl.o
|
Binary file not shown.
BIN
build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl
Executable file
BIN
build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl
Executable file
Binary file not shown.
@ -0,0 +1 @@
|
||||
/Developer/Projects/sc3ctrl/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl.o
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl.hmap
Normal file
BIN
build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl.hmap
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/categories.pbxbtree
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/categories.pbxbtree
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/cdecls.pbxbtree
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/cdecls.pbxbtree
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/decls.pbxbtree
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/decls.pbxbtree
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/files.pbxbtree
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/files.pbxbtree
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/imports.pbxbtree
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/imports.pbxbtree
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/pbxindex.header
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/pbxindex.header
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/protocols.pbxbtree
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/protocols.pbxbtree
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/refs.pbxbtree
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/refs.pbxbtree
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/control
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/control
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/strings
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/strings
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/subclasses.pbxbtree
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/subclasses.pbxbtree
Normal file
Binary file not shown.
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/symbols0.pbxsymbols
Normal file
BIN
build/sc3ctrl.build/sc3ctrl.pbxindex/symbols0.pbxsymbols
Normal file
Binary file not shown.
79
sc3ctrl.1
Normal file
79
sc3ctrl.1
Normal file
@ -0,0 +1,79 @@
|
||||
.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
|
||||
.\"See Also:
|
||||
.\"man mdoc.samples for a complete listing of options
|
||||
.\"man mdoc for the short list of editing options
|
||||
.\"/usr/share/misc/mdoc.template
|
||||
.Dd 20/December/2008 \" DATE
|
||||
.Dt sc3ctrl 1 \" Program name and manual section number
|
||||
.Os Darwin
|
||||
.Sh NAME \" Section Header - required - don't modify
|
||||
.Nm sc3ctrl,
|
||||
.\" The following lines are read in generating the apropos(man -k) database. Use only key
|
||||
.\" words here as the database is built based on the words here and in the .ND line.
|
||||
.Nm Other_name_for_same_program(),
|
||||
.Nm Yet another name for the same program.
|
||||
.\" Use .Nm macro to designate other names for the documented program.
|
||||
.Nd This line parsed for whatis database.
|
||||
.Sh SYNOPSIS \" Section Header - required - don't modify
|
||||
.Nm
|
||||
.Op Fl abcd \" [-abcd]
|
||||
.Op Fl a Ar path \" [-a path]
|
||||
.Op Ar file \" [file]
|
||||
.Op Ar \" [file ...]
|
||||
.Ar arg0 \" Underlined argument - use .Ar anywhere to underline
|
||||
arg2 ... \" Arguments
|
||||
.Sh DESCRIPTION \" Section Header - required - don't modify
|
||||
Use the .Nm macro to refer to your program throughout the man page like such:
|
||||
.Nm
|
||||
Underlining is accomplished with the .Ar macro like this:
|
||||
.Ar underlined text .
|
||||
.Pp \" Inserts a space
|
||||
A list of items with descriptions:
|
||||
.Bl -tag -width -indent \" Begins a tagged list
|
||||
.It item a \" Each item preceded by .It macro
|
||||
Description of item a
|
||||
.It item b
|
||||
Description of item b
|
||||
.El \" Ends the list
|
||||
.Pp
|
||||
A list of flags and their descriptions:
|
||||
.Bl -tag -width -indent \" Differs from above in tag removed
|
||||
.It Fl a \"-a flag as a list item
|
||||
Description of -a flag
|
||||
.It Fl b
|
||||
Description of -b flag
|
||||
.El \" Ends the list
|
||||
.Pp
|
||||
.\" .Sh ENVIRONMENT \" May not be needed
|
||||
.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
|
||||
.\" .It Ev ENV_VAR_1
|
||||
.\" Description of ENV_VAR_1
|
||||
.\" .It Ev ENV_VAR_2
|
||||
.\" Description of ENV_VAR_2
|
||||
.\" .El
|
||||
.Sh FILES \" File used or created by the topic of the man page
|
||||
.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
|
||||
.It Pa /usr/share/file_name
|
||||
FILE_1 description
|
||||
.It Pa /Users/joeuser/Library/really_long_file_name
|
||||
FILE_2 description
|
||||
.El \" Ends the list
|
||||
.\" .Sh DIAGNOSTICS \" May not be needed
|
||||
.\" .Bl -diag
|
||||
.\" .It Diagnostic Tag
|
||||
.\" Diagnostic informtion here.
|
||||
.\" .It Diagnostic Tag
|
||||
.\" Diagnostic informtion here.
|
||||
.\" .El
|
||||
.Sh SEE ALSO
|
||||
.\" List links in ascending order by section, alphabetically within a section.
|
||||
.\" Please do not reference files that do not exist without filing a bug report
|
||||
.Xr a 1 ,
|
||||
.Xr b 1 ,
|
||||
.Xr c 1 ,
|
||||
.Xr a 2 ,
|
||||
.Xr b 2 ,
|
||||
.Xr a 3 ,
|
||||
.Xr b 3
|
||||
.\" .Sh BUGS \" Document known, unremedied bugs
|
||||
.\" .Sh HISTORY \" Document history if command behaves in a unique manner
|
10
sc3ctrl.h
Normal file
10
sc3ctrl.h
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
* sc3ctrl.h
|
||||
* sc3ctrl
|
||||
*
|
||||
* Created by Robin Watson on 21/December/2008.
|
||||
* Copyright 2008 __MyCompanyName__. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
void interpretContentsOfEnvironmentVariable(char *var);
|
45
sc3ctrl.m
Normal file
45
sc3ctrl.m
Normal file
@ -0,0 +1,45 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <VVOSC/VVOSC.h>
|
||||
|
||||
|
||||
void interpretContentsOfEnvironmentVariable(const char *var) {
|
||||
char *utf8cmd = getenv(var);
|
||||
|
||||
if(utf8cmd == NULL) {
|
||||
NSLog(@"$%s is NULL", var);
|
||||
return;
|
||||
}
|
||||
|
||||
NSString *cmd = [NSString stringWithUTF8String:utf8cmd];
|
||||
OSCManager *manager = [[OSCManager alloc] init];
|
||||
|
||||
OSCOutPort *outport = [manager createNewOutputToAddress:@"127.0.0.1" atPort:57120];
|
||||
OSCMessage *msg = [OSCMessage createMessageToAddress:@"/sc3ctrl/cmd"];
|
||||
[msg addString:cmd];
|
||||
|
||||
NSLog(@"Sending cmd %@", cmd);
|
||||
|
||||
[outport sendThisMessage:msg];
|
||||
[manager release];
|
||||
}
|
||||
|
||||
int main (int argc, const char **argv) {
|
||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
if(argv[1] == NULL) {
|
||||
NSLog(@"Usage: sc3ctrl -x");
|
||||
} else {
|
||||
NSString *arg = [NSString stringWithUTF8String:argv[1]];
|
||||
|
||||
if([arg isEqual:@"-x"]) {
|
||||
if(argv[2] == NULL) {
|
||||
interpretContentsOfEnvironmentVariable("SC3_INTERPRET_TEXT");
|
||||
} else {
|
||||
interpretContentsOfEnvironmentVariable((const char *)argv[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[pool drain];
|
||||
return 0;
|
||||
}
|
BIN
sc3ctrl.xcodeproj/TemplateIcon.icns
Normal file
BIN
sc3ctrl.xcodeproj/TemplateIcon.icns
Normal file
Binary file not shown.
238
sc3ctrl.xcodeproj/project.pbxproj
Normal file
238
sc3ctrl.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,238 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
567162810EFD45740047EA2B /* VVOSC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 567162800EFD45740047EA2B /* VVOSC.framework */; };
|
||||
8DD76F9A0486AA7600D96B5E /* sc3ctrl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
|
||||
8DD76F9F0486AA7600D96B5E /* sc3ctrl.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859EA3029092ED04C91782 /* sc3ctrl.1 */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
8DD76F9E0486AA7600D96B5E /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 8;
|
||||
dstPath = /usr/share/man/man1/;
|
||||
dstSubfolderSpec = 0;
|
||||
files = (
|
||||
8DD76F9F0486AA7600D96B5E /* sc3ctrl.1 in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
08FB7796FE84155DC02AAC07 /* sc3ctrl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = sc3ctrl.m; sourceTree = "<group>"; };
|
||||
08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sc3ctrl_Prefix.pch; sourceTree = "<group>"; };
|
||||
567162800EFD45740047EA2B /* VVOSC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VVOSC.framework; path = Projects/vvosc/build/Release/VVOSC.framework; sourceTree = DEVELOPER_DIR; };
|
||||
567162BF0EFE62AD0047EA2B /* sc3ctrl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sc3ctrl.h; path = Projects/sc3ctrl/sc3ctrl.h; sourceTree = DEVELOPER_DIR; };
|
||||
8DD76FA10486AA7600D96B5E /* sc3ctrl */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = sc3ctrl; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C6859EA3029092ED04C91782 /* sc3ctrl.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = sc3ctrl.1; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */,
|
||||
567162810EFD45740047EA2B /* VVOSC.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
08FB7794FE84155DC02AAC07 /* sc3ctrl */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
567162BF0EFE62AD0047EA2B /* sc3ctrl.h */,
|
||||
08FB7795FE84155DC02AAC07 /* Source */,
|
||||
C6859EA2029092E104C91782 /* Documentation */,
|
||||
08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
|
||||
1AB674ADFE9D54B511CA2CBB /* Products */,
|
||||
);
|
||||
name = sc3ctrl;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB7795FE84155DC02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */,
|
||||
08FB7796FE84155DC02AAC07 /* sc3ctrl.m */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08FB779EFE84155DC02AAC07 /* Foundation.framework */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1AB674ADFE9D54B511CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
567162800EFD45740047EA2B /* VVOSC.framework */,
|
||||
8DD76FA10486AA7600D96B5E /* sc3ctrl */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
C6859EA2029092E104C91782 /* Documentation */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C6859EA3029092ED04C91782 /* sc3ctrl.1 */,
|
||||
);
|
||||
name = Documentation;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8DD76F960486AA7600D96B5E /* sc3ctrl */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "sc3ctrl" */;
|
||||
buildPhases = (
|
||||
8DD76F990486AA7600D96B5E /* Sources */,
|
||||
8DD76F9B0486AA7600D96B5E /* Frameworks */,
|
||||
8DD76F9E0486AA7600D96B5E /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = sc3ctrl;
|
||||
productInstallPath = "$(HOME)/bin";
|
||||
productName = sc3ctrl;
|
||||
productReference = 8DD76FA10486AA7600D96B5E /* sc3ctrl */;
|
||||
productType = "com.apple.product-type.tool";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
08FB7793FE84155DC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "sc3ctrl" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
hasScannedForEncodings = 1;
|
||||
mainGroup = 08FB7794FE84155DC02AAC07 /* sc3ctrl */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8DD76F960486AA7600D96B5E /* sc3ctrl */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8DD76F990486AA7600D96B5E /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8DD76F9A0486AA7600D96B5E /* sc3ctrl.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB927508733DD40010E9CD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(DEVELOPER_DIR)/Projects/vvosc/build/Release\"",
|
||||
);
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = sc3ctrl_Prefix.pch;
|
||||
INSTALL_PATH = /usr/local/bin;
|
||||
PRODUCT_NAME = sc3ctrl;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1DEB927608733DD40010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(DEVELOPER_DIR)/Projects/vvosc/build/Release\"",
|
||||
);
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = sc3ctrl_Prefix.pch;
|
||||
INSTALL_PATH = /usr/local/bin;
|
||||
PRODUCT_NAME = sc3ctrl;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1DEB927908733DD40010E9CD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = macosx10.4;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1DEB927A08733DD40010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
INSTALL_PATH = "@executable_path/../Frameworks";
|
||||
LD_DYLIB_INSTALL_NAME = "";
|
||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path";
|
||||
PREBINDING = NO;
|
||||
SDKROOT = macosx10.4;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "sc3ctrl" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB927508733DD40010E9CD /* Debug */,
|
||||
1DEB927608733DD40010E9CD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "sc3ctrl" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB927908733DD40010E9CD /* Debug */,
|
||||
1DEB927A08733DD40010E9CD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
|
||||
}
|
1197
sc3ctrl.xcodeproj/rfw21.pbxuser
Normal file
1197
sc3ctrl.xcodeproj/rfw21.pbxuser
Normal file
File diff suppressed because it is too large
Load Diff
1505
sc3ctrl.xcodeproj/rfw21.perspectivev3
Normal file
1505
sc3ctrl.xcodeproj/rfw21.perspectivev3
Normal file
File diff suppressed because it is too large
Load Diff
7
sc3ctrl_Prefix.pch
Normal file
7
sc3ctrl_Prefix.pch
Normal file
@ -0,0 +1,7 @@
|
||||
//
|
||||
// Prefix header for all source files of the 'sc3ctrl' target in the 'sc3ctrl' project.
|
||||
//
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
18
supercollider/SC3Controller.sc
Normal file
18
supercollider/SC3Controller.sc
Normal file
@ -0,0 +1,18 @@
|
||||
// OSCresponderNode(nil, '/testme', { |...args| args.postln }).add
|
||||
|
||||
SC3Controller {
|
||||
classvar nodes;
|
||||
|
||||
*initClass {
|
||||
nodes = List[];
|
||||
|
||||
Platform.case(\osx) {
|
||||
StartUp.add {
|
||||
var node;
|
||||
node = OSCresponderNode(nil, '/sc3ctrl/cmd') { |t, r, msg|
|
||||
msg[1].asString.interpretPrint
|
||||
}.add
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user