Skip to content

Commit 05f8ff4

Browse files
committed
fix cluster mode
todo: fix startup issue
1 parent 0cdaa53 commit 05f8ff4

9 files changed

Lines changed: 35 additions & 15 deletions

File tree

src/OpenCOVER/audio/Audio.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@ void Audio::loadFile()
6161
ALvoid *sample = alutLoadMemoryFromFile(_url.c_str(), &format, &size, &frequency);
6262
if (sample == nullptr)
6363
{
64+
// Check for ALUT errors
65+
ALenum error = alutGetError();
66+
if (error != ALUT_ERROR_NO_ERROR) {
67+
// Print the error description
68+
printf("ALUT Error: %s\n", alutGetErrorString(error));
69+
return;
70+
}
6471
return;
6572
}
6673

src/OpenCOVER/audio/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
include $(COVISEDIR)/src/Makefile.default
2+
3+
bundle:
4+
cd $(BUILDDIR) && make bundle

src/OpenCOVER/audio/Player.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ bool Source::isPlaying()
101101
return playing;
102102
}
103103

104-
Player::Player(const Listener *listener)
105-
: listener(listener)
104+
Player::Player(const Listener *listener, bool isMaster)
105+
: listener(listener), isMaster(isMaster)
106106
{
107107
}
108108

@@ -114,7 +114,7 @@ void Player::update()
114114
}
115115
}
116116

117-
Player *Player::createPlayer(Listener *listener, const std::string &type)
117+
Player *Player::createPlayer(Listener *listener, const std::string &type, bool isMa)
118118
{
119119
#ifdef HAVE_AUDIO
120120
if (type.empty())
@@ -128,12 +128,12 @@ Player *Player::createPlayer(Listener *listener, const std::string &type)
128128
// config file and parse it itself.
129129
std::string host = coCoviseConfig::getEntry("value", "COVER.Audio.Host", "localhost");
130130
int port = coCoviseConfig::getInt("port", "COVER.Audio.Host", 31231);
131-
132-
return new PlayerAServer(listener, host, port);
131+
return new PlayerAServer(listener, host, port, isMa);
133132
}
134133
else if (boost::iequals(type, "openal"))
135134
{
136-
return new PlayerOpenAL(listener);
135+
return new PlayerOpenAL(listener,isMa);
136+
137137
}
138138
else if (boost::iequals(type, "none"))
139139
{

src/OpenCOVER/audio/Player.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,15 @@ class COVRAUDIOEXPORT Player
7070
friend class Source;
7171

7272
public:
73-
Player(const Listener *listener);
73+
Player(const Listener *listener, bool isMaster);
7474
virtual void update();
7575
virtual std::unique_ptr<Source> makeSource(const Audio *);
7676

77-
static Player *createPlayer(Listener *listener, const std::string &type);
77+
static Player *createPlayer(Listener *listener, const std::string &type, bool isMaster);
7878

7979
protected:
8080
const Listener *listener;
81+
bool isMaster;
8182

8283
std::set<Source *> sources;
8384
void registerSource(Source *source);

src/OpenCOVER/audio/PlayerAServer.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ inline int errno_sys()
4141
#endif
4242
}
4343

44-
PlayerAServer::PlayerAServer(const Listener *listener, const std::string &host, int port)
45-
: Player(listener)
44+
PlayerAServer::PlayerAServer(const Listener *listener, const std::string &host, int port, bool isMaster)
45+
: Player(listener,isMaster)
4646
, asFd(-1)
4747
, asHost(host)
4848
, asPort(port)
@@ -57,6 +57,14 @@ PlayerAServer::PlayerAServer(const Listener *listener, const std::string &host,
5757

5858
void PlayerAServer::connect()
5959
{
60+
cerr << "AServer::connect()" << endl;
61+
if (!isMaster)
62+
{
63+
asFd = -1;
64+
cerr << "AServer::connect() not Master" << endl;
65+
return;
66+
}
67+
cerr << "AServer::connect()2" << endl;
6068
if (asHost.empty() || asPort <= 0)
6169
{
6270
CERR << "audio server not configured" << endl;

src/OpenCOVER/audio/PlayerAServer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class Listener;
1818
class COVRAUDIOEXPORT PlayerAServer : public Player
1919
{
2020
public:
21-
PlayerAServer(const Listener *listener, const std::string &host, int port);
21+
PlayerAServer(const Listener *listener, const std::string &host, int port, bool isMaster);
2222
virtual ~PlayerAServer();
2323
virtual std::unique_ptr<opencover::audio::Source> makeSource(const Audio *audio) override;
2424

src/OpenCOVER/audio/PlayerOpenAL.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ using namespace opencover::audio;
2020
#include <iostream>
2121
#include <glm/gtx/string_cast.hpp>
2222

23-
PlayerOpenAL::PlayerOpenAL(const Listener *listener)
24-
: Player(listener)
23+
PlayerOpenAL::PlayerOpenAL(const Listener *listener, bool isMaster)
24+
: Player(listener, isMaster)
2525
{
2626
alDistanceModel(AL_NONE);
2727
alDopplerVelocity(343000); // everything is in millimeters :(

src/OpenCOVER/audio/PlayerOpenAL.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace opencover::audio
2121
class COVRAUDIOEXPORT PlayerOpenAL : public Player
2222
{
2323
public:
24-
PlayerOpenAL(const Listener *listener);
24+
PlayerOpenAL(const Listener *listener, bool isMaster);
2525
virtual void update();
2626

2727
virtual std::unique_ptr<opencover::audio::Source> makeSource(const Audio *audio);

src/OpenCOVER/cover/coVRPluginSupport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -905,7 +905,7 @@ coVRPluginSupport::coVRPluginSupport()
905905

906906
// Setup audio subsystem
907907
std::string audioPlayerType = coCoviseConfig::getEntry("value", "COVER.Plugin.Vrml97.Audio", "none");
908-
player = audio::Player::createPlayer(&listener, audioPlayerType);
908+
player = audio::Player::createPlayer(&listener, audioPlayerType, coVRMSController::instance()->isMaster());
909909

910910
pointerButton = NULL;
911911
mouseButton = NULL;

0 commit comments

Comments
 (0)