mirror of
https://github.com/FunKey-Project/RetroFE.git
synced 2026-01-12 00:59:12 +01:00
Added attractModePlaylistCollectionNumber to switch playlists after a certain number of collection changes in Attract Mode.
This commit is contained in:
parent
b2ee4b8db6
commit
c8a12bac13
@ -71,8 +71,9 @@ RetroFE::RetroFE( Configuration &c )
|
||||
, keyDelayTime_(.3f)
|
||||
, reboot_(false)
|
||||
{
|
||||
menuMode_ = false;
|
||||
attractMode_ = false;
|
||||
menuMode_ = false;
|
||||
attractMode_ = false;
|
||||
attractModePlaylistCollectionNumber_ = 0;
|
||||
}
|
||||
|
||||
|
||||
@ -734,20 +735,35 @@ bool RetroFE::run( )
|
||||
|
||||
if (rememberMenu && lastMenuPlaylists_.find( currentPage_->getCollectionName( ) ) != lastMenuPlaylists_.end( ))
|
||||
{
|
||||
currentPage_->selectPlaylist( lastMenuPlaylists_[currentPage_->getCollectionName( )] ); // Switch to last playlist
|
||||
currentPage_->selectPlaylist( lastMenuPlaylists_[currentPage_->getCollectionName( )] ); // Switch to last playlist
|
||||
currentPage_->setScrollOffsetIndex( lastMenuOffsets_[currentPage_->getCollectionName( )] );
|
||||
}
|
||||
else
|
||||
{
|
||||
currentPage_->selectPlaylist( autoPlaylist );
|
||||
}
|
||||
|
||||
if ( rememberMenu && lastMenuOffsets_.find( currentPage_->getCollectionName( ) ) != lastMenuOffsets_.end( ) )
|
||||
{
|
||||
currentPage_->setScrollOffsetIndex( lastMenuOffsets_[currentPage_->getCollectionName( )] );
|
||||
}
|
||||
|
||||
currentPage_->onNewItemSelected( );
|
||||
state = RETROFE_COLLECTION_DOWN_MENU_ENTER;
|
||||
currentPage_->onNewItemSelected( );
|
||||
|
||||
if ( attractMode_ ) // Check playlist change in attract mode
|
||||
{
|
||||
attractModePlaylistCollectionNumber_ += 1;
|
||||
int attractModePlaylistCollectionNumber = 0;
|
||||
config_.getProperty( "attractModePlaylistCollectionNumber", attractModePlaylistCollectionNumber );
|
||||
// Check if playlist should be changed
|
||||
if ( attractModePlaylistCollectionNumber_ > 0 && attractModePlaylistCollectionNumber_ >= attractModePlaylistCollectionNumber )
|
||||
{
|
||||
attractModePlaylistCollectionNumber_ = 0;
|
||||
currentPage_->nextPlaylist( );
|
||||
std::string attractModeSkipPlaylist = "";
|
||||
config_.getProperty( "attractModeSkipPlaylist", attractModeSkipPlaylist );
|
||||
if (currentPage_->getPlaylistName( ) == attractModeSkipPlaylist)
|
||||
currentPage_->nextPlaylist( );
|
||||
state = RETROFE_PLAYLIST_REQUEST;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
@ -763,9 +779,14 @@ bool RetroFE::run( )
|
||||
case RETROFE_COLLECTION_DOWN_ENTER:
|
||||
if ( currentPage_->isIdle( ) )
|
||||
{
|
||||
currentPage_->setScrolling(Page::ScrollDirectionForward);
|
||||
currentPage_->scroll(true);
|
||||
currentPage_->updateScrollPeriod( );
|
||||
int attractModePlaylistCollectionNumber = 0;
|
||||
config_.getProperty( "attractModePlaylistCollectionNumber", attractModePlaylistCollectionNumber );
|
||||
if (!( attractMode_ && attractModePlaylistCollectionNumber > 0 && attractModePlaylistCollectionNumber_ == 0 ))
|
||||
{
|
||||
currentPage_->setScrolling(Page::ScrollDirectionForward);
|
||||
currentPage_->scroll(true);
|
||||
currentPage_->updateScrollPeriod( );
|
||||
}
|
||||
state = RETROFE_COLLECTION_DOWN_SCROLL;
|
||||
}
|
||||
break;
|
||||
@ -1346,14 +1367,24 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput( Page *page )
|
||||
(input_.keystate(UserInput::KeyCodeCollectionLeft) && (!page->isHorizontalScroll( ) || !input_.keystate(UserInput::KeyCodeLeft))))
|
||||
{
|
||||
attract_.reset( );
|
||||
state = RETROFE_COLLECTION_UP_REQUEST;
|
||||
bool backOnCollection = false;
|
||||
config_.getProperty( "backOnCollection", backOnCollection );
|
||||
if ( page->getMenuDepth( ) == 1 || !backOnCollection )
|
||||
state = RETROFE_COLLECTION_UP_REQUEST;
|
||||
else
|
||||
state = RETROFE_BACK_REQUEST;
|
||||
}
|
||||
|
||||
else if ((input_.keystate(UserInput::KeyCodeCollectionDown) && ( page->isHorizontalScroll( ) || !input_.keystate(UserInput::KeyCodeDown))) ||
|
||||
(input_.keystate(UserInput::KeyCodeCollectionRight) && (!page->isHorizontalScroll( ) || !input_.keystate(UserInput::KeyCodeRight))))
|
||||
{
|
||||
attract_.reset( );
|
||||
state = RETROFE_COLLECTION_DOWN_REQUEST;
|
||||
bool backOnCollection = false;
|
||||
config_.getProperty( "backOnCollection", backOnCollection );
|
||||
if ( page->getMenuDepth( ) == 1 || !backOnCollection )
|
||||
state = RETROFE_COLLECTION_DOWN_REQUEST;
|
||||
else
|
||||
state = RETROFE_BACK_REQUEST;
|
||||
}
|
||||
|
||||
else if (input_.keystate(UserInput::KeyCodePageUp))
|
||||
|
||||
@ -134,6 +134,7 @@ private:
|
||||
AttractMode attract_;
|
||||
bool menuMode_;
|
||||
bool attractMode_;
|
||||
int attractModePlaylistCollectionNumber_;
|
||||
bool reboot_;
|
||||
|
||||
std::map<std::string, unsigned int> lastMenuOffsets_;
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
std::string retrofe_version_major = "0";
|
||||
std::string retrofe_version_minor = "9";
|
||||
std::string retrofe_version_build = "34";
|
||||
std::string retrofe_version_build = "35";
|
||||
|
||||
|
||||
std::string Version::getString( )
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user