Skip to content

Releases: orchetect/OSCKit

0.5.1

08 May 05:33
Compare
Choose a tag to compare

Maintenance Update

  • Mitigation for Swift 5.10 @_implementationOnly compiler warnings
  • Minor docs updates

0.5.0

10 Apr 07:03
Compare
Choose a tag to compare

New

  • Added new OSCSocket class that combines server and client using a single local UDP port
  • Added OSCKitSocketExample project to demonstrate OSCSocket
  • OSCClient
    • Added ability to specify local port with init(localPort:)
    • Added isPortReuseEnabled property
    • Added isIPv4BroadcastEnabled property
  • OSCServer
    • Added isPortReuseEnabled property
    • Added isIPv4BroadcastEnabled property
    • Now defaults to main queue using default QoS if not specified
  • Added native support for CGFloat as an OSC message value type

Improvements

  • Full DocC documentation available online, and buildable within Xcode
  • Thinned external dependencies from 4 to 2
  • Minor cleanup, unit test updates, and API clarification

0.4.3

13 Sep 23:38
Compare
Choose a tag to compare
  • OSCAddressSpace: Refactored address registration and matching logic
  • OSCAddressSpace: methods(matching:) now returns only method IDs and not container IDs
  • Removed inlining
  • Inline documentation updated

0.4.2

09 Sep 21:42
Compare
Choose a tag to compare

Hotfix Patch

  • Fixes builds on Xcode 14 RC 1 and Xcode 14.0 due to macOS SDK removal

Note:

This release is identical to 0.4.1 but resolves a temporary issue where OSCKit fails to build in Xcode 14.0 public release.

0.4.1

22 Aug 01:01
Compare
Choose a tag to compare
  • Added ability to optionally store a closure for each OSC method that is registered with OSCAddressSpace.
    Invoking dispatch(_: OSCMessage) will execute the closure (on current queue or on a specified queue) for each method that matches the OSC message address pattern.
  • Added an example project demonstrating the use of OSC method closures

0.4.0

13 Aug 09:37
Compare
Choose a tag to compare

Welcome to OSCKit 0.4.0!

0.4.0 is a complete refactor and overhaul from the ground up.

  • OSC address pattern matching and dispatch
  • Convenient OSC message value type masking, validation and strong-typing
  • Modular: use the provided UDP network layer by default, or use your own
  • Support for custom OSC types by way of protocol adoption
  • Thread-safe
  • Fully unit tested

Check out the example projects to see it in action, and browse the README for an overview of functionality.

Note: Swift 5.7+ and Xcode 14+ are minimum requirements. OSCKit 0.3.1 can be used with Xcode 13.

0.3.1

07 Aug 08:01
Compare
Choose a tag to compare
  • Added full OSC time tag support with NTP era rollover
  • OSCServer now has timeTagMode parameter to set scheduling behavior
  • OSCServer receive handler closure now forwards time tag information
  • Updated example project
  • Updated documentation

Note: This will be the last release before a major refactor in release 0.4.0 to improve how OSC values are handled.

Note: 0.4.0 will require Xcode 14+ and Swift 5.7+

0.3.0

02 Aug 06:12
Compare
Choose a tag to compare

New Release: OSCKit 0.3.0

Note: This release has numerous API changes.

Networking Now Included

OSCKit by default now contains a built-in networking layer.

  • New OSCClient and OSCServer classes using CocoaAsyncSocket under the hood. (See OSCKitExample project for a demonstration.)
  • Or use import OSCKitCore if you plan on implementing your own UDP sockets.

OSC Address

  • New OSCAddress struct: adds useful methods partaining to an OSC address.
  • Added full OSC address pattern matching support.
  • New OSCDispatcher class: automates address pattern matching and dispatches received OSC messages.
  • [OSCMessage.Value] now has a masked() category method to mask an array of OSC values and cast to concrete types.

Misc

  • Added Codable conformance to OSCBundle, OSCMessage and OSCAddress.
  • Refreshed example projects.
  • Various improvements and fixes.
  • Improved inline docs and formatting.

0.2.2

02 Aug 20:48
Compare
Choose a tag to compare
  • Fixed example project so it works on localhost as expected

0.2.1

28 Jul 05:49
d215e8d
Compare
Choose a tag to compare
  • Added Example project using Apple's Network.framework
  • Set up GitHub CI for build testing and unit testing