Screensaver while playing option
This commit is contained in:
Binary file not shown.
@@ -83,7 +83,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="inputwrap">
|
<div class="inputwrap">
|
||||||
<span class="inputtitle">screensaver timeout (sec)</span>
|
<span class="inputtitle">screensaver timeout (sec)</span>
|
||||||
<input type="number" id="screensavertimeout" class="textinput inputchange" name="screensavertimeout" value="" maxlength="3" min="0" max="65520" />
|
<input type="number" id="screensavertimeout" class="textinput inputchange" name="screensavertimeout" value="" maxlength="3" min="5" max="65520" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row group group_tft group_oled group_nextion hidden">
|
||||||
|
<div class="inputwrap">
|
||||||
|
<span class="inputtitle">screensaver while playing</span>
|
||||||
|
<div class="checkbox off nous" id="screensaverplayingenabled"></div>
|
||||||
|
</div>
|
||||||
|
<div class="inputwrap">
|
||||||
|
<span class="inputtitle">screensaver timeout (min)</span>
|
||||||
|
<input type="number" id="screensaverplayingtimeout" class="textinput inputchange" name="screensaverplayingtimeout" value="" maxlength="3" min="1" max="1080" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ void Config::init() {
|
|||||||
EEPROM.begin(EEPROM_SIZE);
|
EEPROM.begin(EEPROM_SIZE);
|
||||||
sdResumePos = 0;
|
sdResumePos = 0;
|
||||||
screensaverTicks = 0;
|
screensaverTicks = 0;
|
||||||
|
screensaverPlayingTicks = 0;
|
||||||
isScreensaver = false;
|
isScreensaver = false;
|
||||||
bootInfo();
|
bootInfo();
|
||||||
#if RTCSUPPORTED
|
#if RTCSUPPORTED
|
||||||
@@ -97,6 +98,10 @@ void Config::_setupVersion(){
|
|||||||
saveValue(store.mdnsname, buf, MDNS_LENGTH);
|
saveValue(store.mdnsname, buf, MDNS_LENGTH);
|
||||||
saveValue(&store.skipPlaylistUpDown, false);
|
saveValue(&store.skipPlaylistUpDown, false);
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
saveValue(&store.screensaverPlayingEnabled, false);
|
||||||
|
saveValue(&store.screensaverPlayingTimeout, (uint16_t)5);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -353,6 +358,8 @@ void Config::setDefaults() {
|
|||||||
store.screensaverTimeout = 20;
|
store.screensaverTimeout = 20;
|
||||||
snprintf(store.mdnsname, MDNS_LENGTH, "yoradio-%x", getChipId());
|
snprintf(store.mdnsname, MDNS_LENGTH, "yoradio-%x", getChipId());
|
||||||
store.skipPlaylistUpDown = false;
|
store.skipPlaylistUpDown = false;
|
||||||
|
store.screensaverPlayingEnabled = false;
|
||||||
|
store.screensaverPlayingTimeout = 5;
|
||||||
eepromWrite(EEPROM_START, store);
|
eepromWrite(EEPROM_START, store);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
#if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0)
|
#if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0)
|
||||||
#define ESP_ARDUINO_3 1
|
#define ESP_ARDUINO_3 1
|
||||||
#endif
|
#endif
|
||||||
#define CONFIG_VERSION 3
|
#define CONFIG_VERSION 4
|
||||||
|
|
||||||
enum playMode_e : uint8_t { PM_WEB=0, PM_SDCARD=1 };
|
enum playMode_e : uint8_t { PM_WEB=0, PM_SDCARD=1 };
|
||||||
enum BitrateFormat { BF_UNCNOWN, BF_MP3, BF_AAC, BF_FLAC, BF_OGG, BF_WAV };
|
enum BitrateFormat { BF_UNCNOWN, BF_MP3, BF_AAC, BF_FLAC, BF_OGG, BF_WAV };
|
||||||
@@ -136,6 +136,8 @@ struct config_t
|
|||||||
bool rotate90;
|
bool rotate90;
|
||||||
bool screensaverEnabled;
|
bool screensaverEnabled;
|
||||||
uint16_t screensaverTimeout;
|
uint16_t screensaverTimeout;
|
||||||
|
bool screensaverPlayingEnabled;
|
||||||
|
uint16_t screensaverPlayingTimeout;
|
||||||
char mdnsname[24];
|
char mdnsname[24];
|
||||||
bool skipPlaylistUpDown;
|
bool skipPlaylistUpDown;
|
||||||
};
|
};
|
||||||
@@ -181,6 +183,7 @@ class Config {
|
|||||||
bool emptyFS;
|
bool emptyFS;
|
||||||
uint16_t vuThreshold;
|
uint16_t vuThreshold;
|
||||||
uint16_t screensaverTicks;
|
uint16_t screensaverTicks;
|
||||||
|
uint16_t screensaverPlayingTicks;
|
||||||
bool isScreensaver;
|
bool isScreensaver;
|
||||||
public:
|
public:
|
||||||
Config() {};
|
Config() {};
|
||||||
|
|||||||
@@ -289,6 +289,7 @@ void Display::_swichMode(displayMode_e newmode) {
|
|||||||
_pager.setPage( pages[PG_SCREENSAVER]);
|
_pager.setPage( pages[PG_SCREENSAVER]);
|
||||||
}else{
|
}else{
|
||||||
config.screensaverTicks=SCREENSAVERSTARTUPDELAY;
|
config.screensaverTicks=SCREENSAVERSTARTUPDELAY;
|
||||||
|
config.screensaverPlayingTicks=SCREENSAVERSTARTUPDELAY;
|
||||||
config.isScreensaver = false;
|
config.isScreensaver = false;
|
||||||
}
|
}
|
||||||
if (newmode == VOL) {
|
if (newmode == VOL) {
|
||||||
@@ -533,7 +534,7 @@ void Display::_time(bool redraw) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(config.isScreensaver && network.timeinfo.tm_sec % 60 == 0)
|
if(config.isScreensaver && network.timeinfo.tm_sec % 60 == 0)
|
||||||
_clock.moveTo({clockConf.left, random(TFT_FRAMEWDT+clockConf.textsize, (dsp.height()-TFT_FRAMEWDT*2)), 0});
|
_clock.moveTo({clockConf.left, static_cast<uint16_t>(random(TFT_FRAMEWDT+clockConf.textsize, (dsp.height()-dsp.plItemHeight-TFT_FRAMEWDT*2))), 0});
|
||||||
_clock.draw();
|
_clock.draw();
|
||||||
/*#ifdef USE_NEXTION
|
/*#ifdef USE_NEXTION
|
||||||
nextion.printClock(network.timeinfo);
|
nextion.printClock(network.timeinfo);
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ void NetServer::processQueue(){
|
|||||||
config.vuThreshold,
|
config.vuThreshold,
|
||||||
config.store.mdnsname);
|
config.store.mdnsname);
|
||||||
break;
|
break;
|
||||||
case GETSCREEN: sprintf (wsbuf, "{\"flip\":%d,\"inv\":%d,\"nump\":%d,\"tsf\":%d,\"tsd\":%d,\"dspon\":%d,\"br\":%d,\"con\":%d,\"scre\":%d,\"scrt\":%d}",
|
case GETSCREEN: sprintf (wsbuf, "{\"flip\":%d,\"inv\":%d,\"nump\":%d,\"tsf\":%d,\"tsd\":%d,\"dspon\":%d,\"br\":%d,\"con\":%d,\"scre\":%d,\"scrt\":%d,\"scrpe\":%d,\"scrpt\":%d}",
|
||||||
config.store.flipscreen,
|
config.store.flipscreen,
|
||||||
config.store.invertdisplay,
|
config.store.invertdisplay,
|
||||||
config.store.numplaylist,
|
config.store.numplaylist,
|
||||||
@@ -308,7 +308,9 @@ void NetServer::processQueue(){
|
|||||||
config.store.brightness,
|
config.store.brightness,
|
||||||
config.store.contrast,
|
config.store.contrast,
|
||||||
config.store.screensaverEnabled,
|
config.store.screensaverEnabled,
|
||||||
config.store.screensaverTimeout);
|
config.store.screensaverTimeout,
|
||||||
|
config.store.screensaverPlayingEnabled,
|
||||||
|
config.store.screensaverPlayingTimeout);
|
||||||
break;
|
break;
|
||||||
case GETTIMEZONE: sprintf (wsbuf, "{\"tzh\":%d,\"tzm\":%d,\"sntp1\":\"%s\",\"sntp2\":\"%s\"}",
|
case GETTIMEZONE: sprintf (wsbuf, "{\"tzh\":%d,\"tzm\":%d,\"sntp1\":\"%s\",\"sntp2\":\"%s\"}",
|
||||||
config.store.tzHour,
|
config.store.tzHour,
|
||||||
@@ -507,13 +509,30 @@ void NetServer::onWsMessage(void *arg, uint8_t *data, size_t len, uint8_t client
|
|||||||
}
|
}
|
||||||
if (strcmp(cmd, "screensavertimeout") == 0) {
|
if (strcmp(cmd, "screensavertimeout") == 0) {
|
||||||
uint16_t valb = atoi(val);
|
uint16_t valb = atoi(val);
|
||||||
valb = constrain(valb,0,65520);
|
valb = constrain(valb,5,65520);
|
||||||
config.saveValue(&config.store.screensaverTimeout, valb);
|
config.saveValue(&config.store.screensaverTimeout, valb);
|
||||||
#ifndef DSP_LCD
|
#ifndef DSP_LCD
|
||||||
display.putRequest(NEWMODE, PLAYER);
|
display.putRequest(NEWMODE, PLAYER);
|
||||||
#endif
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (strcmp(cmd, "screensaverplayingenabled") == 0) {
|
||||||
|
bool valb = static_cast<bool>(atoi(val));
|
||||||
|
config.saveValue(&config.store.screensaverPlayingEnabled, valb);
|
||||||
|
#ifndef DSP_LCD
|
||||||
|
display.putRequest(NEWMODE, PLAYER);
|
||||||
|
#endif
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (strcmp(cmd, "screensaverplayingtimeout") == 0) {
|
||||||
|
uint16_t valb = atoi(val);
|
||||||
|
valb = constrain(valb,1,1080);
|
||||||
|
config.saveValue(&config.store.screensaverPlayingTimeout, valb);
|
||||||
|
#ifndef DSP_LCD
|
||||||
|
display.putRequest(NEWMODE, PLAYER);
|
||||||
|
#endif
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (strcmp(cmd, "tzh") == 0) {
|
if (strcmp(cmd, "tzh") == 0) {
|
||||||
int8_t vali = atoi(val);
|
int8_t vali = atoi(val);
|
||||||
config.saveValue(&config.store.tzHour, vali);
|
config.saveValue(&config.store.tzHour, vali);
|
||||||
@@ -613,6 +632,8 @@ void NetServer::onWsMessage(void *arg, uint8_t *data, size_t len, uint8_t client
|
|||||||
config.saveValue(&config.store.numplaylist, false);
|
config.saveValue(&config.store.numplaylist, false);
|
||||||
config.saveValue(&config.store.screensaverEnabled, false);
|
config.saveValue(&config.store.screensaverEnabled, false);
|
||||||
config.saveValue(&config.store.screensaverTimeout, (uint16_t)20);
|
config.saveValue(&config.store.screensaverTimeout, (uint16_t)20);
|
||||||
|
config.saveValue(&config.store.screensaverPlayingEnabled, false);
|
||||||
|
config.saveValue(&config.store.screensaverPlayingTimeout, (uint16_t)5);
|
||||||
display.putRequest(NEWMODE, CLEAR); display.putRequest(NEWMODE, PLAYER);
|
display.putRequest(NEWMODE, CLEAR); display.putRequest(NEWMODE, PLAYER);
|
||||||
requestOnChange(GETSCREEN, clientId);
|
requestOnChange(GETSCREEN, clientId);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -53,6 +53,9 @@ void ticks() {
|
|||||||
if(config.store.screensaverEnabled && display.mode()==PLAYER && !player.isRunning()){
|
if(config.store.screensaverEnabled && display.mode()==PLAYER && !player.isRunning()){
|
||||||
if(config.screensaverTicks++ > config.store.screensaverTimeout+SCREENSAVERSTARTUPDELAY) display.putRequest(NEWMODE, SCREENSAVER);
|
if(config.screensaverTicks++ > config.store.screensaverTimeout+SCREENSAVERSTARTUPDELAY) display.putRequest(NEWMODE, SCREENSAVER);
|
||||||
}
|
}
|
||||||
|
if(config.store.screensaverPlayingEnabled && display.mode()==PLAYER && player.isRunning()){
|
||||||
|
if(config.screensaverPlayingTicks++ > config.store.screensaverPlayingTimeout*60+SCREENSAVERSTARTUPDELAY) display.putRequest(NEWMODE, SCREENSAVER);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#if RTCSUPPORTED
|
#if RTCSUPPORTED
|
||||||
if(config.isRTCFound()){
|
if(config.isRTCFound()){
|
||||||
|
|||||||
@@ -191,6 +191,7 @@ void Player::_play(uint16_t stationId) {
|
|||||||
config.vuThreshold = 0;
|
config.vuThreshold = 0;
|
||||||
//display.putRequest(PSTOP);
|
//display.putRequest(PSTOP);
|
||||||
config.screensaverTicks=SCREENSAVERSTARTUPDELAY;
|
config.screensaverTicks=SCREENSAVERSTARTUPDELAY;
|
||||||
|
config.screensaverPlayingTicks=SCREENSAVERSTARTUPDELAY;
|
||||||
if(config.getMode()!=PM_SDCARD) {
|
if(config.getMode()!=PM_SDCARD) {
|
||||||
display.putRequest(PSTOP);
|
display.putRequest(PSTOP);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user