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.