mirror of
https://github.com/FunKey-Project/RetroFE.git
synced 2025-12-28 09:38:52 +01:00
Added support for attract mode playlist switch using attractModePlaylistTime configuration option.
This commit is contained in:
parent
801434188b
commit
8876c0989e
@ -24,6 +24,7 @@ AttractMode::AttractMode()
|
||||
, isActive_(false)
|
||||
, isSet_(false)
|
||||
, elapsedTime_(0)
|
||||
, elapsedPlaylistTime_(0)
|
||||
, activeTime_(0)
|
||||
{
|
||||
}
|
||||
@ -34,21 +35,23 @@ void AttractMode::reset( bool set )
|
||||
isActive_ = false;
|
||||
isSet_ = set;
|
||||
activeTime_ = 0;
|
||||
if (!set)
|
||||
elapsedPlaylistTime_ = 0;
|
||||
}
|
||||
|
||||
void AttractMode::update(float dt, Page &page)
|
||||
bool AttractMode::update(float dt, Page &page)
|
||||
{
|
||||
elapsedTime_ += dt;
|
||||
|
||||
elapsedTime_ += dt;
|
||||
elapsedPlaylistTime_ += dt;
|
||||
|
||||
// Check if it's time to switch playlists
|
||||
if (!isActive_ && elapsedPlaylistTime_ > idlePlaylistTime && idlePlaylistTime > 0)
|
||||
return true;
|
||||
|
||||
|
||||
// enable attract mode when idling for the expected time. Disable if idle time is set to 0.
|
||||
if(!isActive_ && (elapsedTime_ > idleTime && idleTime > 0))
|
||||
{
|
||||
isActive_ = true;
|
||||
isSet_ = true;
|
||||
elapsedTime_ = 0;
|
||||
activeTime_ = ((float)((1000+rand()) % 5000)) / 1000;
|
||||
}
|
||||
if(!isActive_ && isSet_ && elapsedTime_ > idleNextTime && idleNextTime > 0)
|
||||
if(!isActive_ && ((elapsedTime_ > idleTime && idleTime > 0) || (isSet_ && elapsedTime_ > idleNextTime && idleNextTime > 0)))
|
||||
{
|
||||
isActive_ = true;
|
||||
isSet_ = true;
|
||||
@ -72,6 +75,9 @@ void AttractMode::update(float dt, Page &page)
|
||||
isActive_ = false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -22,9 +22,10 @@ class AttractMode
|
||||
public:
|
||||
AttractMode();
|
||||
void reset( bool set = false );
|
||||
void update(float dt, Page &page);
|
||||
bool update(float dt, Page &page);
|
||||
float idleTime;
|
||||
float idleNextTime;
|
||||
float idlePlaylistTime;
|
||||
bool isActive();
|
||||
bool isSet();
|
||||
|
||||
@ -32,6 +33,6 @@ private:
|
||||
bool isActive_;
|
||||
bool isSet_;
|
||||
float elapsedTime_;
|
||||
float elapsedPlaylistTime_;
|
||||
float activeTime_;
|
||||
|
||||
};
|
||||
|
||||
@ -301,18 +301,21 @@ void RetroFE::run( )
|
||||
return;
|
||||
}
|
||||
|
||||
int attractModeTime = 0;
|
||||
int attractModeNextTime = 0;
|
||||
int attractModeTime = 0;
|
||||
int attractModeNextTime = 0;
|
||||
int attractModePlaylistTime = 0;
|
||||
std::string firstCollection = "Main";
|
||||
bool running = true;
|
||||
RETROFE_STATE state = RETROFE_NEW;
|
||||
bool running = true;
|
||||
RETROFE_STATE state = RETROFE_NEW;
|
||||
|
||||
config_.getProperty( "attractModeTime", attractModeTime );
|
||||
config_.getProperty( "attractModeNextTime", attractModeNextTime );
|
||||
config_.getProperty( "attractModePlaylistTime", attractModePlaylistTime );
|
||||
config_.getProperty( "firstCollection", firstCollection );
|
||||
|
||||
attract_.idleTime = static_cast<float>(attractModeTime);
|
||||
attract_.idleNextTime = static_cast<float>(attractModeNextTime);
|
||||
attract_.idleTime = static_cast<float>(attractModeTime);
|
||||
attract_.idleNextTime = static_cast<float>(attractModeNextTime);
|
||||
attract_.idlePlaylistTime = static_cast<float>(attractModePlaylistTime);
|
||||
|
||||
int initializeStatus = 0;
|
||||
|
||||
@ -888,7 +891,12 @@ void RetroFE::run( )
|
||||
{
|
||||
if (!splashMode)
|
||||
{
|
||||
attract_.update( deltaTime, *currentPage_ );
|
||||
if (attract_.update( deltaTime, *currentPage_ ))
|
||||
{
|
||||
attract_.reset( );
|
||||
currentPage_->nextPlaylist( );
|
||||
state = RETROFE_PLAYLIST_REQUEST;
|
||||
}
|
||||
}
|
||||
if ( menuMode_ )
|
||||
{
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
std::string retrofe_version_major = "0";
|
||||
std::string retrofe_version_minor = "8";
|
||||
std::string retrofe_version_build = "27";
|
||||
std::string retrofe_version_build = "28";
|
||||
|
||||
|
||||
std::string Version::getString( )
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user