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