Skip to content
/ EosKit Public
forked from peerstelter/EosKit

A swift library for discovering and synchronizing show file data with an ETC Eos console using the OSC API.

License

Notifications You must be signed in to change notification settings

ColGren/EosKit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

“EosKit”/

EosKit

Communicate with an Eos console.

Overview

The EosKit package provides the classes needed for your apps to communicate with an Eos console.

Installation

Xcode 11+

Add the package dependency to your Xcode project using the following repository URL:

https://github.com/SammySmallman/EosKit

Swift Package Manager

Add the package dependency to your Package.swift and depend on "EosKit" in the necessary targets:

dependencies: [
    .package(url: "https://github.com/SammySmallman/EosKit", .branch("master"))
]

Usage

Import into your project files using Swift:

import EosKit

First Steps

Obtain an EosConsole to use in your app.

Automatic

Using EosBrowser and providing it a delegate that implements the EosConsoleDiscovererDelegate protocol, Eos consoles can be automatically discovered on multiple IP networks.

Create the EosBrowser:

let browser = EosBrowser()
browser.delegate = self
browser.start()

Conform to the EosConsoleDiscovererDelegate protocol:

func discoverer(_ discoverer: EosConsoleDiscoverer, didFindConsole console: EosConsole) {
    print(console.name)
}

func discoverer(_ discoverer: EosConsoleDiscoverer, didLoseConsole console: EosConsole) {
    print(console.name)
}

Semi Automatic (UDP unicast)

If you don't want to automatically discover Eos consoles or in the likely instances that broadcasted packets are dropped by managed switches, you can discover an Eos console via unicast if you have an IP address.

Create the EosFinder:

let ipAddress = "10.101.93.101"
let finder = EosFinder()
finder.delegate = self
finder.find(host: ipAddress)

Conform to the EosConsoleDiscovererDelegate protocol:

func discoverer(_ discoverer: EosConsoleDiscoverer, didFindConsole console: EosConsole) {
    print(console.name)
}

func discoverer(_ discoverer: EosConsoleDiscoverer, didLoseConsole console: EosConsole) {
    print(console.name)
}

Manually (No Discovery)

An EosConsole can be created and used without any discovery involved. So long as you can provide a name and a consoles IP address:

Create the EosConsole:

let console = EosConsole(name: "Sammys Eos Console", host: "10.101.93.101")

About

A swift library for discovering and synchronizing show file data with an ETC Eos console using the OSC API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%