For a while now I have frozen development of [pipresents-gapless] and have continued further development in a new repo [pipresents-beep]. Initially this was intended to have some minor upgrades, the first being short beep sounds when keys are pressed, hence Beep!
However three things have recently happened which has turned Beep into something of more importance:
End of Life for Python 2
Suppport for Python 2 will end on 31 December 2019. This means no more updates, including security weaknesses. Although no date has been announced it is likely that Python 2 will soon be dropped from Raspbian as it follows the Debian flavour of Linux. I have converted Pi Presents to run on Python3, and only Python3, in Beep and will not be backporting it to Gapless. The primary advantage of Python3 from a user point of view is that text uses Unicode so ‘non-Latin’ character sets should be useable.
Pi 4 and 2 Displays
Pi Presents can now use the two displays enabled by Pi4 and Buster. The two displays can be attached to the two HDMI ports or the official DSI touchcreen can be used with a HDMI display attached to HDMI0. A Show can now be displayed on one or other of the Displays by editing the new Display field in a Show. It is also possible to direct video to the second display, while text and graphics are shown on the first.
Official DSI Touchscreen
I have bought one of these. As a single display they work out of the box, as one of two displays the scaling of the touch is wrong and requires use of an xinput command to correct it, which Pi Presents does.
Touch works well with Click Areas. The size of the screen might limit how useful the touchscreen is in real use. However as part of a two display system it has lots of potential as touches on one display can control Shows on the other larger display.
Pi 3 Users
Pi 3 and earlier models have only one display. Although you can connect a touchscreen and a HDMI display only one display can be used. With the exception that it is possible to direct video to the second display, while text and graphics are shown on the first. The latest version of Pi Presents Beep was developed on Buster and has not been tested on Stretch so to use Beep on a Pi3 you should upgrade to Buster.
How You Can Help
You should consider converting to Python 3 soon. Python 2 is going to disappear from Raspbian in the not too distant future.
Given the wide ranging modification made to Pi Presents for two displays and Python 3, and also that the Raspbian Buster display subsystem is a major new development; I do not recommend adopting Beep and throwing away your working Gapless system immeadiately. However it would assist me greatly if you could test your existing applications on Beep and report any problems on Github in the Beep repo.
The upgrade process is not difficult, install Buster from scratch on a new card do not upgrade, install Python 3 versions of some packages, remember to type python3 in the command line, and use the editor to upgrade the profile.
Other Enhancements
- Play short sounds when keys are pressed or touchscreen is touched
- Counters can be stored between runs
- Message text, track text and Show Text can now have html markup
- show control commands can be triggered by an input event
- statistics recording device driver seperated out to allow alternative recording device
- repeat command in mediashow to repeat a track