ilumnatr / EosSyncLib

C++ library for accessing Eos show data in real time

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EosSyncLib

A C++ library (with no 3rd party dependencies) for accessing Eos show data in real time

Eos Integration via OSC.pdf

EosFamily_ShowControl_UserGuide_RevB

About this ETCLabs Project

EosSyncLib is open-source software (developed by a combination of end users and ETC employees in their free time) designed to interact with Electronic Theatre Controls products. This is not official ETC software. For challenges using, integrating, compiling, or modifying this software, we encourage posting on the Issues page of this project. ETC Support is not familiar with this software and will not be able to assist if issues arise. (Hopefully issues won't happen, and you'll have a lot of fun with these tools and toys!)

We also welcome pull requests for bug fixes and feature additions.

This Fork

The purpose of this fork is to add Linux compatibility with as little change as possible to the overall codebase, and without breaking compatibility with other platforms.

Simple Example

#include "EosSyncLib.h"
#include "EosTimer.h"

int main(int argc, char **argv)
{
	// initialize library & connect to Eos
	EosTimer::Init();
	EosSyncLib eosSyncLib;
	if( eosSyncLib.Initialize("127.0.0.1",EosSyncLib::DEFAULT_PORT) )
	{
		// synchronize with Eos
		do
		{
			eosSyncLib.Tick();
			EosTimer::SleepMS(10);
		}
		while( !eosSyncLib.IsConnectedAndSynchronized() );

		// print all groups in the show
		std::string str;
		const EosTargetList::TARGETS &groups = eosSyncLib.GetGroups().GetTargets();
		for(EosTargetList::TARGETS::const_iterator i=groups.begin(); i!=groups.end(); i++)		
		{
			const EosTarget::sDecimalNumber &groupNumber = i->first;
			EosTarget::GetStringFromNumber(groupNumber, str);
			printf("Group %s\n", str.c_str());
		}

		eosSyncLib.Shutdown();
	}
	return 0;
}

About

C++ library for accessing Eos show data in real time

License:MIT License


Languages

Language:C++ 95.8%Language:Makefile 3.8%Language:QMake 0.3%