/OSCKit

Open Sound Control (OSC) library written in Swift.

Primary LanguageSwiftMIT LicenseMIT

OSCKit

OSCKit

CI Build Status Platforms - macOS 10.13+ | iOS 11+ | tvOS 11+ | visionOS 1+ Swift 5.7+ Xcode 14+ License: MIT

Open Sound Control (OSC) library for macOS, iOS and tvOS written in Swift.

  • 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
  • Thread-safe
  • Fully unit tested
  • Full DocC documentation

Getting Started

The library is available as a Swift Package Manager (SPM) package.

Use the URL https://github.com/orchetect/OSCKit when adding the library to a project or Swift package.

See the getting started guide for a detailed walkthrough of how to get the most out of OSCKit.

The Examples folder also contains projects to quickly get started.

Documentation

See the online documentation or view it in Xcode's documentation browser by selecting the Product → Build Documentation menu.

This includes a getting started guide, links to examples, and troubleshooting tips.

Dependencies

  • CocoaAsyncSocket is used by the OSCKit target for network sockets.
  • SwiftASCII is used for ASCII string and character formatting and validation.

Author

Coded by a bunch of 🐹 hamsters in a trenchcoat that calls itself @orchetect.

License

Licensed under the MIT license. See LICENSE for details.

Sponsoring

If you enjoy using OSCKit and want to contribute to open-source financially, GitHub sponsorship is much appreciated. Feedback and code contributions are also welcome.

Community & Support

Please do not email maintainers for technical support. Several options are available for questions and feature ideas:

  • Questions and feature ideas can be posted to Discussions.
  • If an issue is a verifiable bug with reproducible steps it may be posted in Issues.

Contributions

Contributions are welcome. Posting in Discussions first prior to new submitting PRs for features or modifications is encouraged.