Skip to content

Commit c7530fb

Browse files
authored
allow local displays when forwarding to dmdserver (#79)
1 parent 896dc42 commit c7530fb

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

include/DMDUtil/Config.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,19 @@ class DMDUTILAPI Config
8080
void SetPixelcade(bool pixelcade) { m_pixelcade = pixelcade; }
8181
void SetPixelcadeDevice(const char* port) { m_pixelcadeDevice = port; }
8282
const char* GetPixelcadeDevice() const { return m_pixelcadeDevice.c_str(); }
83-
void SetDMDServer(bool dmdServer) { m_dmdServer = dmdServer; }
83+
void SetDMDServer(bool dmdServer)
84+
{
85+
m_dmdServer = dmdServer;
86+
// backward compatibility, use SetLocalDisplaysActive() afterwards to use both.
87+
m_localDisplaysActive = !dmdServer;
88+
}
8489
bool IsDmdServer() { return m_dmdServer; }
8590
void SetDMDServerAddr(const char* addr) { m_dmdServerAddr = addr; }
8691
const char* GetDMDServerAddr() const { return m_dmdServerAddr.c_str(); }
8792
void SetDMDServerPort(int port) { m_dmdServerPort = port; }
8893
int GetDMDServerPort() const { return m_dmdServerPort; }
94+
void SetLocalDisplaysActive(bool localDisplaysActive) { m_localDisplaysActive = localDisplaysActive; }
95+
bool IsLocalDisplaysActive() { return m_localDisplaysActive; }
8996
DMDUtil_LogLevel GetLogLevel() const { return m_logLevel; }
9097
void SetLogLevel(DMDUtil_LogLevel logLevel) { m_logLevel = logLevel; }
9198
DMDUtil_LogCallback GetLogCallback() const { return m_logCallback; }
@@ -121,6 +128,7 @@ class DMDUTILAPI Config
121128
bool m_zedmdWiFiEnabled;
122129
std::string m_zedmdWiFiAddr;
123130
bool m_dmdServer;
131+
bool m_localDisplaysActive;
124132
std::string m_dmdServerAddr;
125133
int m_dmdServerPort;
126134
bool m_pixelcade;

src/Config.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ Config::Config()
3636
m_dmdServer = false;
3737
m_dmdServerAddr = "localhost";
3838
m_dmdServerPort = 6789;
39+
m_localDisplaysActive = true;
3940
m_logLevel = DMDUtil_LogLevel_INFO;
4041
m_logCallback = nullptr;
4142
memset(&m_pupTriggerCallbackContext, 0, sizeof(m_pupTriggerCallbackContext));

src/DMD.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,11 +499,13 @@ void DMD::FindDisplays()
499499
if (m_finding) return;
500500

501501
Config* const pConfig = Config::GetInstance();
502+
502503
if (pConfig->IsDmdServer())
503504
{
504505
ConnectDMDServer();
505506
}
506-
else
507+
508+
if (pConfig->IsLocalDisplaysActive())
507509
{
508510
m_finding = true;
509511

0 commit comments

Comments
 (0)