SwiftOSC is a Swift Open Sound Control (OSC) 1.1 client and server framework.
pod 'SwiftOSC', '~> 2.0'
OR
Clone or download repository from Github.
Open SwiftOSC.xcworkspace and build SwiftOSC frameworks.
Embed SwiftOSC into project.
Import SwiftOSC framework into your project
import SwiftOSCCreate Server
var server = OSCServer(port: 8080)Setup server delegate to handle incoming OSC Data
class OSCHandler: OSCServerDelegate {
func didReceive(_ message: OSCMessage){
if let integer = message.arguments[0] as? Int {
print("Received int \(integer)")
} else {
print(message)
}
}
}
server.delegate = OSCHandler()Import SwiftOSC framework into your project
import SwiftOSCCreate OSCClient
var client = OSCClient(host: "localhost", port: 8080)Create an OSCAddressPattern and OSCMessage
var message = OSCMessage(
OSCAddressPattern("/")!,
100,
5.0,
"Hello World",
true,
false,
nil,
OSCBlob(), // aka Data()
OSCImpulse(),
OSCTimetag(1) // aka UInt64()
)Send message
client.send(message)- OSCClient loses connection following returning from being in the background. Call client.restart() in this situation.\
Devin Roth is a composer and programmer. When not composing, teaching, or being a dad, Devin attempts to make his life more efficient by writing programs.
For additional information on Open Sound Control visit http://opensoundcontrol.org/.