Pi 4, Python 3, 2 Displays , and Pi Presents Beep

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




This entry was posted in Uncategorized. Bookmark the permalink.

4 Responses to Pi 4, Python 3, 2 Displays , and Pi Presents Beep

  1. AC says:

    Any way I could get one video to play across two displays? Sort of like a video wall? Or same video on each display just warped to only show half each?

    Sorry for reviving an old post.

    • KenT says:

      Play across two displays – no

      Same on each display – yes. Just have 2 shows each with one video track playing the same video, each one cropped. Trigger one show from a show control command in the other show or a third show. Sync will not be prefect but might be acceptable. The crop will need to be done with an omxplayer option

      • AC says:

        Wow! Thanks for the quick reply.

        I’ll give this a shot and see if the sync is acceptable for the application. Really appreciate the work you’ve done with PiPresents.

        Out of curiosity, is this a limitation of the Pi or just the software engineering it would take is more intensive thus not available through PiPresents? Just wondering if there is an option with the Pi or if I should look for different hardware.

        • KenT says:

          PP just plays tracks using existing players. omxplayer cannot. It looks like the special version of VLC for the Pi cannot, though I’m not sure.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s