88 lines
3.5 KiB
C++
88 lines
3.5 KiB
C++
/*
|
|
* To change this license header, choose License Headers in Project Properties.
|
|
* To change this template file, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
|
|
/*
|
|
* File: MySPITApp.h
|
|
* Author: Hagi
|
|
*
|
|
* Created on 17. April 2019, 18:24
|
|
*/
|
|
|
|
#ifndef MYSPITAPP_H
|
|
#define MYSPITAPP_H
|
|
|
|
#include "SPIT_Client.h"
|
|
#include <chrono>
|
|
#include <string>
|
|
#include "SPITType.h"
|
|
#include "SPITObject.h"
|
|
#include "SPITPlayer.h"
|
|
#include "SAD_DetectedServer.hpp"
|
|
|
|
using namespace std;
|
|
|
|
class MyApp {
|
|
public:
|
|
MyApp();
|
|
// Client's infos is set by the client
|
|
static string s_ClientName;
|
|
static string s_ProjectName;
|
|
void init();
|
|
|
|
private:
|
|
SPIT_Client _SpitClient; // pointer to an instance of the SPIT_Client, which do the main work for you
|
|
|
|
// Server's project infos filled by eventProjectReport
|
|
static string m_ServerProjectID;
|
|
static string m_ServerProjectName;
|
|
static int m_ServerFramesPerSecond; // set when the server reports his project, see eventProjectReport
|
|
// liveSHOWsoftware will use 44100 frames per second as time resolution
|
|
// All times are given in frames,
|
|
|
|
public:
|
|
//----- ServerAutoDetection -----
|
|
static void onServerDetected(const SAD_DetectedServer &p_DetectedServer); // a SPITServer is detected
|
|
static void onServerLost(const SAD_DetectedServer &p_DetectedServer); // a prior detected SPITServer is lost
|
|
|
|
//----- Connection -----
|
|
void eventConnectionStatus(string p_ServerID, string p_ServerComputerName, string p_ServerName, int p_ServerStepTime, int p_ConnectionStatus, int p_OldConnectionStatus);
|
|
|
|
//----- Project -----
|
|
static void onStartProjectTransfer();
|
|
static void onEndProjectTransfer();
|
|
static void onProjectReport(string p_ProjectID, string p_ProjectName, int p_FramesPerSeoond);
|
|
static void onProjectClosed(string p_ProjectID);
|
|
|
|
//----- SPITType -----
|
|
static void onSpitType(bool p_New, const SPITType &p_SPITType);
|
|
static void onSpitTypeRemote(bool p_New, const SPITType &p_SPITType);
|
|
static void onSpitTypeRemoved(const SPITType &p_SPITType);
|
|
static void onSpitTypeRemoteRemoved(const SPITType &p_SPITType);
|
|
|
|
//----- SPITObject -----
|
|
static void onSpitObject(bool p_New, const SPITType &p_SPITType, const SPITObject &p_SPITObject);
|
|
static void onSpitObjectRemote(bool p_New, const SPITType &p_SPITType, const SPITObject &p_SPITObject);
|
|
static void onSpitObjectRemoved(const SPITType &p_SPITType, const SPITObject &p_SPITObject);
|
|
static void onSpitObjectRemoteRemoved(const SPITType &p_SPITType, const SPITObject &p_SPITObject);
|
|
|
|
//----- Play SPITObjects -----
|
|
static void onPlay(string p_PlayerID, string p_PlayerName, char p_PlayerType, bool p_PlayerIsRunning, long long p_TimeFrames);
|
|
static void onPlayObject(string p_PlayerID, bool p_Started, bool p_Stopped, const SPITType &p_SPITType, const SPITObject &p_SPITObject, const SPITPlayer::PlayObject &p_PlayObject);
|
|
|
|
//----- Server changes status of one of his REMOTE SPITObjects -----
|
|
// REMOTE only Server->Client RemoteObject's play status
|
|
static void onPlayRemoteObjectStatus(const SPITType &p_SPITType, const SPITObject &p_SPITObject, long long p_FrameInsideObject, int p_Value);
|
|
|
|
void sendRemoteObject(string p_SPITObjectID, int p_Valueppm = 0, char p_ValueFlag = 0x00);
|
|
//-----
|
|
void testLiveShowRemote();
|
|
|
|
//------ User's options normally should not be used, the server is master of things ------
|
|
public:
|
|
};
|
|
|
|
#endif /* MYSPITAPP_H */
|