-
Notifications
You must be signed in to change notification settings - Fork 43
/
ReleaseNotes.txt
354 lines (221 loc) · 19.8 KB
/
ReleaseNotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
Version 1.3.5h 2/1/2021
========================
The Dec 2020 version of Raspberry Pi OS has changed the system for selecting the audio device, this time from alsa to pulseaudio. This has yet again disabled the control of audio device by Pi Presents.
This version implements the pulseaudio method of control and also retains the old methods for people using earlier versions of Raspbian.
There is a new configuration file /pipresents/pp_config/pp_audio.cfg. If you are using the Dec 2020 version of RPi OS then the configuration set in this file does not require change.
If you want to use an older version of Raspbian then you must edit pp_audio.cfg. The previous method of detecting .asoundrc does not now work to detect the audio system in use.
As of writing there are a few bugs in the RPi OS:
- People have had problems upgrading from the previous version of RPi OS, mainly audio not playing on some devices. A fresh install works better.
- It is not a good idea to change the default audio device from the task bar while PP is running.
Version 1.3.5g 16/6/2020
========================
The May 2020 version of Raspbian (now Raspberry Pi OS) has changed the system for selecting the audio device. This has disabled the control of audio device by Pi Presents. However it is still possible to control it from the Task Bar.
This version implements the new method of control and also retains the old method for people using earlier versions of Raspbian. To select which method to use PP detects the existence a file called .asoundrc which is always in the /home/pi directory for the new audio system but generally not in the old system, provided a USB sound device is not in use, when it is present. So this version of PP will not work with an earlier version of Raspbian if a USB audio device has been used. The workaround for this is to delete .asoundrc if the USB device is not currently attached, or to find the variable audio_sys in pp_audioplayer.py and uncomment the line audio_sys='pi'.
Version 1.3.5a 1/5/2018
=======================
This version integrates editing the time of day schedule with the web editor.
The schedule.json file is no longer used. Keep it temporarily as you will require it to manually populate the profile.
The schedule is in the schedule tab of each show and of the Start show (pp_core section of schedule.json)
The content is the same, the primary change to format is that the fields of the time lines are reversed (now 13:50 open)
Version 1.3.4d 25/03/2018
==============
This version fixes a long standing memory leak when using subshows. The fix involved the most complex part
of PP so I hope I have not introduced other bugs. Please contact me if a previously working application is now broken
version 1.3.4b
==============
This version adds a new interface method to I/O plugins which is called by the I/O plugin manager.
All I/O plugins need to have the following method added:
# allow track plugins (or anything else) to access input values
def get_input(self,channel):
return False, None
version 1.3.4a
==============
This version adds a new field to shows and tracks to provide the value of the paue timeout
You will need to update all your profiles by using the web editor
version 1.3.3c
===============
This version is a redesign of the OSC interface
The format of the profiles do not require update except that:
- the osc configuration file, /pp_io_config/osc.cfg, content is different. If you have any profiles with OSC configutration file delete this file and recreate it using the web editor's osc>create menu item.
- The show control commands for osc will require modification. They are now of the form 'osc unit command paramters (see manual)'
the osc message /core/output has changed to /osc/animate
The configuration files for the test programs pp_oscremote.py and pp_oscmonitor.py in /pipresents/pp_config have been replaced. They can be edited using the editor built into the programs.
version 1.3.3b
=================
This version doccuments the I/O plugins API and provides examples
It fixes a few bugs
No changes to the profiles or configuration files required.
Version 1.3.3a
=================
Version 1.3.3a introduce I/O plugins and quiz counters. There is a fix to liveshows and other smaller enhancements and fixes.
You will need to update your profiles using the editor.
I/O Plugins
-----------
input/output is now implemented as plugins so people can write their own. The following changes are required to introduce configuration files:
If you have a modified gpio.cfg or keys.cfg in /pipresents/pp_config then these should be moved to /pipresents/pp_io_config
gpio.cfg and keys.cfg in a profile remain in /pp_io_config
Any keys.cfg file you have created will require moodification to add the following section
[DRIVER]
title = Tkinter Keys
enabled = yes
bind-printing = yes
module= pp_kbddriver
See updated /pipresents/pp_io_config/keys.cfg
Any gpio.cfg file you have created yourself will require moodification to add the following section
[DRIVER]
title = GPIO
enabled = yes
tick-interval = 50
module= pp_gpiodriver
See updated /pipresents/pp_resources/pp_templates/gpio.cfg
/dev/input I/O plugin
---------------------
There is a new I/O plugin pp_inputdevicedriver.py which suppports devices such as wireless remote controls
To use this it will be necessary to install evdev (sudo apt-get install evdev)
Shutting Down the RPi from Pi Presents
-----------------------------------------
The method of achieving this has changed. The delay is now implemented by the I/O plugin so gpio.cfg requires change to any pin used for shutdown:
# shutdown the Rpi after 5 seconds
# changed for version 1.3.3a
[P1-12]
direction = in
rising-name =
falling-name =
one-name =
#event is sent after the button is pressed fo 5 seconds NOTE CHANGE OF SYMBOLIC NAME
zero-name = pp-shutdownnow
# 50mS*100
repeat = 100
threshold = 8
pull-up-down = up
See updated /pipresents/pp_resources/pp_templates/gpio.cfg
Liveshows
---------
Liveshows have been improved to cope with a lockup condition when an empty liveshow was a subshow. It was not possible to return to the parent show.
There is a new field in the profile called an Escape Track
The List Empty Track is now mandatory. The Escape Track is now esential if the List Empty track is a show, it must not be a show. See updated example pp_liveshowempty_1p3
Version 1.3.2a
=================
Version 1.3.2a continues the improvements to Remote Management including a revamp of the look and feel of the Manager and Web Editor. Otherwise there is a large number of enhancements to the core show/player.
The existing editor pp_editor.py will be discontinued after this issue. It is replaced by the web based editor pp_web_editor.py. pp_web_editor.py displays in a browser. It works well on the local Pi and can also be used remotely from any computer with a browser.
The old editor has been updated for this version of Pi Presents but not rigoursly tested. Please use the new editor.
The improvements to the core functionality require changes to the fields in a profile. The example profiles have been updated and you should download the latest set of profiles from Github. Profiles made under previous versions of PP will not run with this version and will produce an error message. However if you edit those profiles they will automatically be updated, a backup being made first.
After using the editor to update the fields of the profile some of the field content will require manual update.
Liveshow
Liveshows have been enhanced such that if the livelist is empty an alternative track or show can be played. This is controlled by the List Empty Track field of the liveshow. After update this will be blank resulting in a blank display for an empty list. Replace this with a media track or a show track if required.
Version 1.3.1i
* Significant improvements to Remote Management.
- The content of pp_web.cfg has changed so do not copy it across from the previous version.
There are additional and renamed fields in the manager and manager editable section to add livetracks and change copy to import.
Unit has moved to the network section ip has been removed to be replaced by preferred_interface and force_ip which for most user will need to left blank
- There is a new configuration file pp_email.cfg. Out of the box it disables email alerts, read the manual to set up email alerts.
* Fixes bugs that were causing instability playing videos.
In 1.3.1g I changed the omxplayer interface to use dbus. 1.3.1h and 1.3.1i improves the stability of this interface. In addition to changes to the code I have found that it is essential to:
1. Increase GPU memory from the default 64 MB to 256 MB. This is achieved using the Raspbian menu Preferences>Raspberry Pi Configuration>Performance, increase the 64 to 256.
2. Use a version of omxplayer dated 23 Sept 2016 or later. Thsi version is in the latest version of Raspbian or can be obtained from here http://omxplayer.sconde.net/ (I recommend keeping Raspbian up to date).
Running Pi Presents with the -d option will produce a log which tells you the version and gpu memory you are currently using
* A log which is designed to help debuf Time of Day Scheduler problems. Enable with -d 256.
* Other minor improvements, see changelog.txt
-------------------------------------
Version 1.3.1h
A bug fix release primarily to improve the reliability of playing videos.
* In 1.3.1g I changed the omxplayer interface to use dbus. 1.3.1h improves the reliability of this interface. In addition to changes to the code I have found that it is essential to increase GPU memory from the default 64 MB to 128 MB. This is achieved using the Raspbian menu Preferences>Raspberry Pi Configuration>Performance, increase the ???? to 128.
* Jessie does not require sudo when using gpio, however Pi Presents did, a hangover from Wheezy. I have removed this requirement and, for other reasons stopped Pi Presents being used with sudo.
* Other minor improvements, see changelog.txt
Version 1.3.1g
A bug fix release.
* The last version to use omplayer compatible with Raspbian Wheezy was issued on 29/4/2016 hence this will be the last version of Pi Presents Gapless to be tested on Raspbian Wheezy.
* In an attempt to remove occasional hangs when playing videos (1 in 24 hours when running a 1 second video!) this version uses dbus as the interface with omxplayer instead of Pexpect (Pexpect is still used for other players). Dbus is now the preferred interface for omxplayer so should provide better long term support. The Dbus interface in pp_omxdriver.py is experimental and not complete in that it does not implement all key bindings for run-time controls. (You can add addittional bindings to the KEY_MAP dictionary at the start of pp_omxdriver.py). Should you need to revert the repository contains the Pexpect version of the interface in pp_omxdriver_px.py.
* Raspbian Jessie uses systemd; it appears that user programs in the autostart file can now be started before the operating system is fully runnning. This requires a change to the autostart process as described in the manual and for Pi Presents and the Web Based Manager pp_manager.py to wait until the operating system boot is complete.
Version 1.3.1c
This release makes use of a later version of omxplayer. Anything after 21 July 2014 (92aad3f) will do. The latest version of Raspbian has a suitable (but not the latest version).
Version 1.3.1b 24/5/2015
* In radiobuttonshow you can now re-start a track while it is playing.
This is very useful when using radiobuttonshow as a slave track player.(The recommended way of using OSC)
To stop re-starting a track while it is playing bind the symbolic name to null in track Controls
Version 1.3.1a 3/5/2015
This version has many new fields so the major version number has increased from 1.2 to 1.3
* This version of Pi Presents will not run shows prepared under previous versions of pp_editor.
* Using the Version 1.3 editor on a previous version of a profile will automatically upgrade the profile fields to the current version. However there are many additional changes you will have to do manually. The changes described in the last section of the manual.
* You may find it easier to construct your profiles from the templates/examples than to do all the moodifications that are necessary.
---------------------------------------------------------------------
Version 1.2.3d 22/6/2014
If you want an example of the repeat command in a hyperlinkshow download pp_hyperlinkshow_1p2 example profile
Version 1.2.3b 28/11/2013
bug correction release
liveshow now works with -l option
pp_menu_1p2 example profile updated. No need to download just run editor on it with --forceupdate then correct the xxx window errors
manual updated to change warped to warp in the various Window fields
Version 1.2.3 17/11/2013
uzbl needs to be installed - sudo apt-get update sudo apt-get install uzbl
There has been a change of profile since 1.2.2. However I have not changed the profile major version number since this is a beta. You must update the profiles by force; to do this run the editor with the --forceupdate command line option.
To ease the updating task there is an editor menu option 'tools>update' which will update all profiles in a pp_home.
Play safe, keep backups!
In addition the following will need to be changed:
The format of Image Window has changed to allow 4 resizing options.
You will need to edit the Image Window field of every show and any image tracks as follows:
centred > original
1 2 > original 1 2
1 2 3 4 > shrink 1234 You may prefer fit or warp to shrink (see manual)
The format of Video Window (was OMX window) has changed to match Image Window and to allow 4 resizing options in future.
You will need to edit the Video Window field in every show and any video tracks
centred > original
1 2 > original 1 2
1 2 3 4 > warp 1 2 3 4
The menushow parameters have changed significantly to accomodate the much enhanced menu displays.
The best way to convert from an old menushow to the new is to delete the old show
and replace it with a new one by doing show>new>menu in the editor. Details:
- Remember the Show Reference of the old menu and the file name of its Medialist.
- Delete the menu show but not its medialist
- Create a new menu and give it the same show reference as the old when it is being created.
- You may get a message saying the medialist already exists, just click OK
- Edit the Medialist field in the new menu to be the old medialist name.
- If the old menu and its medialist had different names you may now have an additional EMPTY medialst
with the name of the menu. You can delete it.
You should then have a menu looking a bit like the old except it has bullets. Now read the menu to improve it.
The pp_menu_1p2 example shows what can be achieved.
The new menu has the menu background disabled by default.
In Track Defaults in mediashows and menus and in the menu itself the Hint Text Y position
is noo wrt to the top of the screen rather than the bottom. There is also a Hont Text x position.
There are new examples, additional media and the changes above made to the examples. Best to re-download the [pipresents-next-examples].
Version 1.2.2a (beta)
There has been a change of profile since 1.2.1d. However I have not changed the profile major version number since this is a beta. You must update the profiles by force; to do this run the editor with the --forceupdate command line option.
To ease the updating task there is a now an editor menu option 'tools>update' which will update all profiles in a pp_home.
Play safe, keep backups!
In addition the following will need to be changed:
Audio Tracks - change Duration from 0 to <blank>. Zero now means zero duration; <blank> will allow the track to run to completion. Other values of Duration can be used, see the manual.
Mediashows - change the Trigger for Start field to match the new input binding system:
* To trigger off the Return or Down cursor keys:
Trigger For Start -> input or input-quiet Start Trigger-> <blank>
* To trigger off a GPIO button:
Trigger For Start -> input or input-quiet Start Trigger-> pp-play (symbolic name bound to P1-18)
* To trigger off a PIR:
Trigger For Start -> input or input-quiet Start Trigger-> PIR (bound to P1-11)
PIR and pp-play are now symbolic names not internal operations.
All Shows - Users of earlier versions of [pipresents-next] will need to update OMX Window from <blank> to centred.
Mediashows - change the Trigger For Next field:
* Change from none to continue (just a tidy up of the meaning, operation is the same).
* Change from GPIO to input and change the Next Input field to be a symbolic name.
Control Tracks - These have been removed. All other track types now have Show Control fields at Beginning and End of the track.
gpio.cfg - the format has been modified. Any edits you have made to previous gpio.cfg will need to be made to copies of the new file. Also all operations such as play, stop have been changed to symbolic names e.g. pp-play, pp-stop to accomodate the redesigned input event binding system, do not change these back.
resources.cfg - new messages have been added and the text improved. Some of the mediashowmesages have been reorgaanised.
Version 1.2.1d (beta)
There has been a change of profile since 1.2.1c I have added a number of new fields and a new type of track. However I have not changed the profile version number since this is a beta. You must update the profiles; to do this run the editor with the --forceupdate command line option.
To ease the updating task there is a now editor menu option 'tools>update' which will update all profiles in a pp_home.
Version 1.2.1
MPlayer must now be installed before using Pi Presents - sudo apt-get install mplayer
This version has many new fields so the version number has increased from 1.1 to 1.2
* This version of Pi Presents will not run shows prepared under previous versions of pp_editor
* Using the editor on a previous version of a profile will automatically upgrade the profile to the current version HOWEVER SEE BELOW!!!
* There is one change you might have to do manually. If you used PIR as the trigger for a mediashow change the 'Start Trigger' field to GPIO and enter PIR into the 'trigger input' field.
There is a simplified way to do fullscreen so the --fullscreen (-f) command option now has no parameters. Also there is no need to edit the lxde-rc.xml file or change the taskbar to autohide. However if lxde-rc.xml is already edited just leave it it will not affect operation.
The Version 1.1.x examples use omxplayer to play audio tracks. MPlayer can now be used. To do this in this beta you will need to delete the track and re-create it.
In version 1.1.x at the end of a mediashow the screen went blank, this does not happen in version 1.2.1 as, in order to reduce the flicker between tracks I leave the previous track on display while displaying the next. You will need to add a 1 second blank message track if you want a blank screen.
This and future versions can potentially blow up your Pi as it controls the digital outputs. Until you are familiar with it I suggest ensuring all GPIO pins are disconnected when using Pi Presents.
Take care when modifying gpio.cfg, little error checking is done by Pi Presents
Enjoy, feedback welcome.
Version 1.1.2
On a Windows PC the editor did not reliably save medialists. I have added a workaround which asks the user to re-try the save it seems to always work on the second or third time.
unclutter must be installed before using Pi Presents (sudo apt-get install unclutter)
In my tests liveshow coped well with deleting tracks at any time. However I can see there are potential problems as files could be deleted at the moment they are being read. If you have problems please report them and I will improve the mutual exclusion.
Take care when modifying resources.cfg, little error checking is done by Pi Presents.