Version 1.2.0 update - longer battery life when animation disabled


Most visible updates

  • Less power used when not animating rain. This gives roughly an hour more runtime compared to the default. By default the app runs for more than six hours on my device from 100% full down to the default 30% battery threshold, with animation disabled, it should run for more than 7 hours. To turn this on, open the system menu and uncheck “animate”. (The biggest factor in lowering the power usage is updating the screen less often when not animating the rain)
  • Fade audio in when resuming from pause or locked states.
  • Added animations for card view, launching the app, wrapping paper, and icon-highlight
  • Updated testing features adding several new modes and creating global functions for each, so they can be enabled from non-Mac Simulators. Updated the help text displayed when connected to a Simulator:
| Hello curious person!
|
| Backyard Rain Soundscape supports several development & testing commands.  
| On Mac, use single letter keyboard shortcuts. On any platform use the "Enter
| Command" Simulator's Console window to eval the listed function name. 
|
| d   toggle debug status overlay
|         eval: toggle_debug_ui()
|         ti: target intensity - from user input
|         i:  actual intensity right now, including offset 
|             from slow rain intensity variation
|         lv: light rain volume level
|         mv: medium rain volume level
|         hv: hard rain volume level
| i   take a screenshot and save into: images/screenshot-EPOCH.gif
|         eval: screenshot()
| b   toggle battery safety mode
|         eval: toggle_battery_alert()
| v   toggle rain intensity variation
|         eval: toggle_riv_enabled()
| p   start logging power percentage & voltage to a CSV file
|         eval: start_power_log()
|
| In the Simulator, choose "Control Device with Simulator", then 
| type one of the above keys on the computer running Simulator.
|
| Happy listening! 

Details

Most folks can skip the rest of this and download the new version, it’s probably only interesting to other Playdate developers… and even then, only maybe. ;)

  • Debug: added volume level chart to debug mode. The changes in sound for the varrying rain intensity is created by crossfading between three different lengths of looping recordings. The chart on the right shows the SDK :setVolume() level for each of the three loops.
  • Debug: added command to disable background rain intensity variation. A very slow oscillating offset is added to user input for the rain intensity, it varies up and down in an 8 minute cycle. Between this and the different loop lengths, its unlikely that the exact same pattern of sound will ever be produced by the app. But really, I only added the hook to disable this for power testing.
  • Did a bunch of Lua fiddling to (slightly) improve perf, hopefully leading to less battery usage. After a bunch of testing, it looks like this doesn’t have much effect. Only lowering the FPS when rain animation is disabled had a noticeable affect on overall runtime.
  • Debug: added power logging mode, which allowed creating graphs… which mostly served to show that even though I cut CPU usage by ~10% of total available, only the FPS change affected overall runtime:
  • Fixed glitch in thunder audio when A button was repeatedly pressed quickly
  • Updated artwork: a bit of room between words, added NS logo
  • Fixed various race conditions accidentally added when optimizing :/

Files

BNDL_NS_backyard_rain_120.zip 27 MB
Jul 22, 2023

Get Backyard Rain Soundscape

Buy Now$5.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.