The December update of Raspberry Pi OS has broken Audio Device Selection

The December 2020 version of the Raspberry Pi OS has yet again modified the way that application software selects the audio device. The OS now uses PulseAudio which is becoming the standard way to control audio on Linux operating systems. It has a number of advantages for Pi Presents:

  1. Audio outputs from more than one show can be mixed together
  2. Multiple USB audio devices can be used
  3. Bluetooth audio devices are easily supported.

I have updated both Pi Presents Beep and Pi Presents Gapless so that device selection from profiles works with both old and new versions of the OS.

There is a new configuration file /pipresents/pp_config/pp_audio.cfg. You can use this to change the audio system from pulseaudio if you are using an earlier operating system and, for Beep when using pulseaudio, configure USB and bluetooth audio devices. Instructions in ReleaseNotes.txt and pp_audio.cfg

There are a few bugs in the new operating system particularly if two monitors are used on a Pi4. Also I would recommend a new install rather than an upgrade as this seems to work better.

Stay safe.

Posted in Uncategorized | Leave a comment

GermanTranslation of the manual for Pi Presents Beep

Peter Vasen has very kindly produced a German translation of the Pi Presents Beep manual to add to his Pi Presents Gapless manual. You can download it at

If you wish to contact Peter you can do it via his website

Posted in Uncategorized | Leave a comment

May 2020 Raspbian Update breaks Audio Device selection for Audio Tracks and Beeps

The May 2020 version of the Raspberry Pi OS has modified the way that application software selects the audio device. This means that the only way to control the selection with the new RPi OS is by the Task Bar selector.

I have updated both Pi Presents Beep and Pi Presents Gapless so that device selection work with both old and new versions of the OS. The method of selection between old and new versions may not work for the old OS particulary if you have at some time used a USB sound device. Read thhe Release notes to fix this.

Beep has also adopted a set of Audio Device names that match those printed on the Pi’s printed circuit board and the taskbar menu. Pi Presents will accept the old names but if you edit the profile you will need to select the new names.

Posted in Uncategorized | Leave a comment

Pi Presents Beep, two updates

I have just pushed a second recent update to pipresents-beep which brings it to Version 1.4.4c. It fixes the PPmanager deletion bug highlighted in the previous post. In addition there are several improvements:

Updated Remi which is the library behind pp_manager and pp_web_editor. The primary advantage is that the programs now operate on single port each, which makes it much easier where LAN’s have locked down ports and for operating through a firewall (Note: PP and Remi should not be regarded as secure applications.)

Support for dynamic updating of liveshow media by remote programs. This is a lock protocol which ensures that tracks are not modified while they are being played.

Full implementation of monitor support. All combinations of monitor numbers, rotations and positions are now possible on any model of Pi including calculation of touchscreen coordinates.

Other minor improvements and bug fixes. Please read the changelog.txt

Most of the changes require a change to configuration data. Please read the manual and release_notes.txt
Stay Safe

Posted in Uncategorized | Leave a comment

IMPORTANT: Serious bug in

Hi All
I have just found a nasty bug in the web based manager Fortunately I doubt if many people use this part of the suite as I have not had any angry emails saying where have all my profiles or media gone.

In if you use the manage menu option to delete a profile or media and do not select an item then deletion is allowed but ALL the profiles or media are deleted.

The bug is present in pipresents-gapless and pipresents-beep.

I have pushed a fix to the pipresents-gapless Github a few minutes ago. I will not update Beep for few days as I am in the middle of an update to pp_web_editor and pp_manager. It was testing the update that revealed the problem, and yes all my profiles disappeared (fortunately I am an enthusiastic backer upper 🙂

Keep Safe


Posted in Uncategorized | 1 Comment

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




Posted in Uncategorized | 4 Comments

Retirement of Pi Presents Next (Version 1.2)

Having met my objectives for Pi Presents Gapless I have decided to make it the stable version of Pi Presents and hence to retire Pi Presents Next.

I will support Pi Presents Next for another year to allow you to upgrade to Gapless.

I have added a file upgrade_1p2_1p3.txt to the Gapless repository which gives instructions and hints for the upgrade. As always I will answer queries on the [pipresents-gapless] Github or via the contact form on this site.

I hope you will enjoy using the new software as much as I have enjoyed developing it with lots of input from many of you. It is difficult to estimate the number of people using Pi Presents but I have had contact with over 500 people from a few miles from where I live to Australia.


Posted in Uncategorized | 2 Comments

Version 1.3.5

A few enhancements since my last post:

The time of day scheduler is now programmed by the web based editor instead of the schedule.json file.

An I/O plugin for PN532 RFID tag reader.This allows ‘museum in a box’ type functionality which has been featured on the Raspberry Pi blog.

CEC commands to turn TV on/standby

Posted in Uncategorized | 14 Comments

Version 1.3.4c (Gapless)

I seem to have got out of the habit of making posts for each release of Pi Presents, however development has continued. This post give an overview of the many new features since November 2016.

In addition to the major improvements below there are many smaller enhancements. Look at the changelog.txt or the manual for details.

– The Input/Output device drivers have been separated out from the core of Pi Presents and have a defined API so that I/O plugins can be written for new devices. I have coded several I/O plugins to demonstrate the techniques but these may require modification for your own devices:

  • keyboard (recode of original)
  • gpio (recode of original)
  • enhanced keyboard allowing strings to trigger events and be read by track plugins
  • Wireless remote controls and other input devices that use evdev
  • UART (through USB) for RS232 interface and projector control
  • Pimoroni Four Letter Phat via I2C
  • Pimorini ScrollHD Phat via I2C
  • ADC via I2C
  • DAC via I2C

– The counter feature uses Show Control commands to increment the value of counters. These can be read by track plugins and allows interactive quizzes to be implemented. The enhanced keyboard I/O plugin allows strings to be entered so that answers need not be multiple choice.

– Open Sound Control has been rewritten and enhanced and now plays nicely with control applications such as QLab.

– Pause now has a timeout

– Show Control commands to generate events and to power the display

– The Raspberry Pi camera can be used in Pi Presents to display live video and to take pictures. The feature is implemented as a track plugin so details of its use can be varied.

– Pi Presents can now send email alerts when it starts, exits, or detects an error

– Media can now reside inside a profile so that profiles can be made stand alone

– Enhancements to the web based editor and manager, and retirement of the original editor.

– The editor now updates profiles automatically whenever there is a change of profile format. The old profile is backed up.

– Direct linking of GPIO input and output to allow LED indicators on buttons

– Video tracks now has ‘freeze at start’ which give an instant start for video playout applications and an improved ‘magic picture’ application.

– Liveshows can now run specified tracks or shows if the livelist is empty

Posted in Uncategorized | 1 Comment

Bugfix release – Version 1.3.1h (gapless)

I have recently uploaded Pi Presents version 1.3.1h to Github.

A few people have reported intermittent problems with playing video with the new dbus interface to omxplayer introduced in 1.3.1g. This version hopefully fixes those problems. In addition to fixes to Pi Presents I found it necessary to increase the GPU Memory from the default 64 MB to 128 Mb if playing videos. Instructions on how to do this are in the Release Notes.

Now that Wheezy is unsupported I have removed the requirement to use sudo when using GPIO (actually its use is inhibited). There are also a couple of other minor bug fixes.

Posted in Uncategorized | 4 Comments