mirror of
https://github.com/FunKey-Project/RetroFE.git
synced 2026-01-23 00:04:48 +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)
|
, keyDelayTime_(.3f)
|
||||||
, reboot_(false)
|
, reboot_(false)
|
||||||
{
|
{
|
||||||
menuMode_ = false;
|
menuMode_ = false;
|
||||||
attractMode_ = false;
|
attractMode_ = false;
|
||||||
|
attractModePlaylistCollectionNumber_ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -734,20 +735,35 @@ bool RetroFE::run( )
|
|||||||
|
|
||||||
if (rememberMenu && lastMenuPlaylists_.find( currentPage_->getCollectionName( ) ) != lastMenuPlaylists_.end( ))
|
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
|
else
|
||||||
{
|
{
|
||||||
currentPage_->selectPlaylist( autoPlaylist );
|
currentPage_->selectPlaylist( autoPlaylist );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( rememberMenu && lastMenuOffsets_.find( currentPage_->getCollectionName( ) ) != lastMenuOffsets_.end( ) )
|
|
||||||
{
|
|
||||||
currentPage_->setScrollOffsetIndex( lastMenuOffsets_[currentPage_->getCollectionName( )] );
|
|
||||||
}
|
|
||||||
|
|
||||||
currentPage_->onNewItemSelected( );
|
|
||||||
state = RETROFE_COLLECTION_DOWN_MENU_ENTER;
|
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;
|
break;
|
||||||
|
|
||||||
@ -763,9 +779,14 @@ bool RetroFE::run( )
|
|||||||
case RETROFE_COLLECTION_DOWN_ENTER:
|
case RETROFE_COLLECTION_DOWN_ENTER:
|
||||||
if ( currentPage_->isIdle( ) )
|
if ( currentPage_->isIdle( ) )
|
||||||
{
|
{
|
||||||
currentPage_->setScrolling(Page::ScrollDirectionForward);
|
int attractModePlaylistCollectionNumber = 0;
|
||||||
currentPage_->scroll(true);
|
config_.getProperty( "attractModePlaylistCollectionNumber", attractModePlaylistCollectionNumber );
|
||||||
currentPage_->updateScrollPeriod( );
|
if (!( attractMode_ && attractModePlaylistCollectionNumber > 0 && attractModePlaylistCollectionNumber_ == 0 ))
|
||||||
|
{
|
||||||
|
currentPage_->setScrolling(Page::ScrollDirectionForward);
|
||||||
|
currentPage_->scroll(true);
|
||||||
|
currentPage_->updateScrollPeriod( );
|
||||||
|
}
|
||||||
state = RETROFE_COLLECTION_DOWN_SCROLL;
|
state = RETROFE_COLLECTION_DOWN_SCROLL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1346,14 +1367,24 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput( Page *page )
|
|||||||
(input_.keystate(UserInput::KeyCodeCollectionLeft) && (!page->isHorizontalScroll( ) || !input_.keystate(UserInput::KeyCodeLeft))))
|
(input_.keystate(UserInput::KeyCodeCollectionLeft) && (!page->isHorizontalScroll( ) || !input_.keystate(UserInput::KeyCodeLeft))))
|
||||||
{
|
{
|
||||||
attract_.reset( );
|
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))) ||
|
else if ((input_.keystate(UserInput::KeyCodeCollectionDown) && ( page->isHorizontalScroll( ) || !input_.keystate(UserInput::KeyCodeDown))) ||
|
||||||
(input_.keystate(UserInput::KeyCodeCollectionRight) && (!page->isHorizontalScroll( ) || !input_.keystate(UserInput::KeyCodeRight))))
|
(input_.keystate(UserInput::KeyCodeCollectionRight) && (!page->isHorizontalScroll( ) || !input_.keystate(UserInput::KeyCodeRight))))
|
||||||
{
|
{
|
||||||
attract_.reset( );
|
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))
|
else if (input_.keystate(UserInput::KeyCodePageUp))
|
||||||
|
|||||||
@ -134,6 +134,7 @@ private:
|
|||||||
AttractMode attract_;
|
AttractMode attract_;
|
||||||
bool menuMode_;
|
bool menuMode_;
|
||||||
bool attractMode_;
|
bool attractMode_;
|
||||||
|
int attractModePlaylistCollectionNumber_;
|
||||||
bool reboot_;
|
bool reboot_;
|
||||||
|
|
||||||
std::map<std::string, unsigned int> lastMenuOffsets_;
|
std::map<std::string, unsigned int> lastMenuOffsets_;
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
std::string retrofe_version_major = "0";
|
std::string retrofe_version_major = "0";
|
||||||
std::string retrofe_version_minor = "9";
|
std::string retrofe_version_minor = "9";
|
||||||
std::string retrofe_version_build = "34";
|
std::string retrofe_version_build = "35";
|
||||||
|
|
||||||
|
|
||||||
std::string Version::getString( )
|
std::string Version::getString( )
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user