Code Monkey home page Code Monkey logo

pipresents-beep's People

Contributors

kent2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pipresents-beep's Issues

keys.cfg incorrect number of fields in control

Hello good sir!

I have problems with getting the key bindings to work properly. Earlier Ive been using gapless, there I changed the keys.cfg to add numbers such as, 1 = pp-key-1 ...and so on.

In the Control section of different shows in a media show I then e.x. added the command pp-key-1 play mp3, and it worked flawlessly, playing the track with the reference [mp3].

Now in pipresents beep, Im trying to do the same thing, but I get this error message:

"Profile Error: incorrect number of fields in control pp-key-1 play mp3."

This does not happen if I change it e.x. pp-key-1 pause, or any other of the standard commands. So the binding of pp-key-1 seems to be good.

It just doesn't seem to like it when I add the reference of the track I want to play, but this worked very well in gapless.

Any ideas on why this occurs? Is it just a user error, or has anything changed in this section between gapless and beep?

Fade between slides

I don't see fade transitions between slides/images as a feature. Can you provide any guidance on where to start implementing this myself?

help reading Arduino

Hi I tried to use your example ppserialcontrol

Basically I put everything ok with the Serial Port, but it doesn't run.
I will show you in python what I did in python with another code:

ser = serial.Serial()
        #ser.port = "/dev/ttyUSB0"
        ser.port = "/dev/ttyACM0"
        #ser.port = "/dev/ttyS2"
        ser.baudrate = 9600
        ser.bytesize = serial.EIGHTBITS #number of bits per bytes
        ser.parity = serial.PARITY_NONE #set parity check: no parity
        ser.stopbits = serial.STOPBITS_ONE #number of stop bits
        #ser.timeout = None          #block read
        ser.timeout = 0.01            #non-block read
        #ser.timeout = 2              #timeout block read
        ser.xonxoff = False     #disable software flow control
        ser.rtscts = False     #disable hardware (RTS/CTS) flow control
        ser.dsrdtr = False       #disable hardware (DSR/DTR) flow control
        ser.writeTimeout = 2     #timeout for write
    
        ##    Print sprite_list dans la console
        #    for sprite_line in sprite_list:
        #        print(sprite_line)
    
        ser.open()

       response = ser.read();

        if (response==b'1'):
            print("playvideo1") #first condition I need
        elif(response==b'2'):
            print("playvideo2") #second condition that I need 
        elif(response==b'3'):
            print("playvideo3") #third condition that I need


There is some way you can tell me in what I'm wrong?
or maybe I just need to play the video with pure python code?

I use the same port values on this code that in the pp_serialdriver.cfg

4K mediashow hang at the end f the video

Hi,
I'm using the lastest version of pipresent with latest recommended version of Pi OS. (Following install guide)

I have a setup with a mediashow that only play a 4K video at the moment and loop.
The show is starting well and play video smoothly on a Pi4 4GB using HDMI0.
At the end of the video, (aprox 5s. before the end) the screen goes black and the TV loose the signal and finaly goes in standby.
By looking at the tasks, a new instance of pp_vlcdriver.py is well started but it does not output anything.

I have a video memory set to 512 and core_freq_min=500.

I think there is something that goes wrong when trying to launch two instance of vlc for the transition, but I don't know how to overcome that. It's not a problem for me if there is a black gap between the loop of the video.

Thanks for your advice.

Best regards,
Yannick

Transition Screen for RadioButtonShow

Ken,

I am finally getting around to converting my liveshow to a radiobuttonshow. Using your example, I was able to create a radio button show that plays several videos in a loop state as the default. I have two push buttons attached to the GPIO pins, where each one controls a unique single video (subshow). I am able to press either button in the middle of whatever is currently playing and once the video is finished, the default looped videos begin playing. So for the most part, everything is working right now as I would have hoped it would.

My current issue is the transition between the default looped video and the subshow video. When I press either button, the screen flashes back to the desktop with a windowed version of the PP shown instead of staying in fullscreen mode. Once the subshow video is pulled up, it goes back to full screen and plays that video without any issues. After that subshow video finishes, the PP returns to the default looped videos without flashing back to the desktop.

Is this how it is suppose to function? Is there anything I can do to smooth out the transition so the desktop is not seen?

Thanks for the guidance in the past to move to the radio button show!

vlc-image-duration ignored?

I downloaded the latest version of Pipresents 1.4.6 and the latest python-vlc and it seems that every video I play in a mediashow using vlc is limited to 20 seconds regardless of the vlc-image-duration setting. I tried many values from 0 to 10000 but all videos still only play for 20 seconds. I don't see the same issue on other Raspberry Pis using Pipresents 1.4.5 and possibly older versions of python-vlc.

I tried dumping the value of self.vlc_image_duration_text in pp_vlcplayer.py and it seems to be set properly so I'm thinking it might be the latest python-vlc causing the issue but I'm not certain of this.

Precise sync timestamp output in artmediashow

Hi,

I’m still experimenting but here’s my issue:

Goal: I would like to get the precise system timestamp at which a looping video began playing.

  • My original setup used python to (1) register a timestamp (2) send an OSC message to pipresents on a port which would (3) open a mediashow. The issue here of course ended up being that the time it took to load the file and actually start it was inconsistent, along with the fact that there is likely some amount for the osc message to be arrive, even using 127.0.01. This offset time did not seem consistent.
  • My second attempt switched to a looping artmediashow. Now, pp is set up as a master rather than a slave, and the media file is configured to send an osc command when it starts. The python script is setup to listen on the appropriate port (nb: since the listening script is on the same machine, this did require changing the pp osc driver to listen for slaves on a hard coded port chosen to be different from the python script/slave port). When the python script receives a message from pp that the file just started it registers a timestamp. The only latency here should be the osc message traveling within the pi itself, plus any gap there may be between the video starting and when the osc message is actually sent off by pp. I have not yet gotten to observe the accuracy of this since I only have vnc access to the machine until Monday, however I imagine there is still some degree of latency. I also haven’t tested yet if it is better to use the start or end command though they seemed more or less simultaneous to me.

Most preferable to me though would be to just modify the existing pipresents distribution at the location where the new loop in the artmediashow actually begins, ie when the buffered second copy of the file begins. Just need to register the time stamp there, and then the time stamp itself can be sent off to wherever it needs to go (this can happen later if necessary since the timestamp was already registered).

I was wondering if you could point me in the right direction as to the location in the code where that actually happens.

Thanks so much, sorry for this super detailed issue!

Edit:

did some more digging through the code on my phone...

Looks like the place to register the timestamp would be in the sequence of events initiated by the videoplayer.go() call. Tracing that execution, I see it eventually leads down into the omxdriver, and in particular the omxdriver.send_unpause() action and eventually to the dbus interface. Haven’t gone poking around in there too much yet, but it seems like this would be a pretty valid candidate for getting an accurate timestamp. Hoping to not have to modify any of this code and that checking the time on receipt of an osc message sent by a track start command on an osc-master pp profile with a looping artmediashow show is reliable and close enough. In any case, it might be a nice extension to add this timestamp as a field to the omxdriver and by extension the video player. There could then be an additional osc command which transmits that timestamp.

"Display has no canvas" error

Hi Ken, I'm trying to set up an RPi 3B with RPi 7" touch (DSI0) and an external HDMI connected. The idea is to use the 7" touch for selection, and the HDMI for output. However I never get any output to the HDMI, I get "Profile Error: Display has no canvas HDMI0" no matter what I try - what am I missing? If I change Display to "DSI0" in profile the show will run on the 7" monitor.

I have tried the same setup with an RPi 4 with same result.

  • clean install of latest Buster & updates
  • followed Pi Presents install instructions

/roar

hyperlinkshow with hyperlinkshow as subshow

Hi Ken, first of all thank you for developing this great tool!
I am new to pipresents and I'm trying to create a hyperlinkshow which should work on a touchscreen. My question is now: is it possible to create a hyperlinkshow with a subshow that is also a hyperlinkshow? I would like to have a menu and a submenu which both work on the touchscreen?
or is it not possible to have submenus in hyperlinkshows?

I tried it but I always get an error message saying "first-track not found in medialist"

I included a first and a home track in the sub-hyperlinkshow but it doesn't seem to work.

Am I doing something wrong or is it just not possible to do this?

I use a raspi 4, pipresents beep and newest version of the raspian os with desktop, buster.

Thanks and all the best,
Lina

Profile Error: Touch driver is unable to find device raspberrypi-ts|

Not sure what this error is. I assume it is because I am using the pi 7" Touch screen. I was getting the error before about the rpi-backlight so I did sudo pip3 install rpi-backlight.
Now I am getting this error when trying to run then example code:
python3 /home/pi/pipresents/pipresents.py -p pp_mediashow_1p4 -f -b
I also have tried the touchscreen example code:
python3 /home/pi/pipresents/pipresents.py -p pp_touchscreen_1p4 -f -b

But I still get: 1.39 Profile Error: PiPresents: Touch driver is unable to find device raspberrypi-ts|
😭

Any help, I tried searching pypi.org for is it was another pip install but didn't find anything.

Question: Show Control on End and OSC Commands

Hey again 😁

I have a profile configured with 3 shows: loop,spear and bow. loop is meant to be played on loop. If the user presses the SPEAR button an OSC command is sent to openexclusive the show spear. A BOW opens show bow the same way.

The shows spear and bow are configured to run once, then they have a Show Control at End command set to open loop.

This works like a charm until the users presses the SPEAR button while the bow show is running. This triggers the openexclusive OSC command which in turn triggers the Show Control at End command and the loop show is played. But I want the spear show to play. How can I achieve that?

I tried opening spear and bow without closing loop but the shows do not alway take the whole screen and one can see parts of loop running in the background.

Moving from RP 3 to RP 4 and videos are not playing anymore

I tried to move my show that consists mainly of 10 min looped videos from RP 3b+ to RP 4 for performance reasons. Now when I try to play my show on RP4 nothing happens and the Terminal is returning this message from pipresents.py: "unpause for show False". Everything works beautifully with my setup on RP3 including switching to OMXPlayer due to VLC hanging a lot but can't start my videos on RP 4. I even reinstalled everything from scratch rather than using my flashed RP 3 card and still can't even play the video from the sample shows on my RP4. Any idea? Thank you!

Website update required

Dear Mr. Thompson, Hi Ken,

First compliments on the great project you delivered. I'm now investigation how to best use it to show images, video and other for my mother in law in care home.

One item I saw on the website - home page is that the last alinea is not in line with the downloads page... It is still refering to the previous versions... or at least, that is how I read it.
May I suggest you remove that page and only add a referal to the downlaod page/ Github...

Kind regards,

Frank Henkes
Hoofddorp, The Netherlands

P.S.: I may be filing some feature requests as I missing functions for:

easy to load full folder content (with images) into a show;
easy overview of images allowing to re-order and set timing;
easy remote update whilst not storing images/video on public server/services
using Google Drive or Photo as storage for the images/video

Logo Design

Hi, how are you? I'd like to collaborate on your open source project and propose free logo/icon design for this project. If it's something you're interested in, please, let me know!
Best Regards
Zuur

start and stop a live show with one button

Hi,

I have a project where one button should start a liveshow. when the liveshow is running the same button pressed should stop the liveshow. But that does not work. Only a start trigger works. But if I use it as end trigger also the start trigger does not work anymore. Some delay should do the trick? I don't understand why it overrules each other. It is a push button so only the falling command triggers.

Videos and Images in different layers

Hello,
I'm starting a new project involving layers and I'm not familiar with this in Pipresents.
I want to display small images above playing videos. The images will be triggered touching some areas on a touchscreen while a video is playing, then closed touching them (or after a few seconds) without interrupting the video.
Is it possible with pipresents ?
With a Radiobuttonshow ?
With VLC or OMX player ?
Thanks for your help !

Remote Desktop With Autostart

So I was able to get my pipresents to autostart on boot through the following method:

To get it to autostart, a new directory needs to be created here:

/home/pi/.config/lxsession/LXDE-pi

Copy the "autostart" file from /etc/xdg/lxsession/LXDE-pi and paste it into the file location above.
Add the following to the end of the file that was just copied:

/usr/bin/python /home/pi/pipresents/pipresents.py -o /home/pi -p myprofile -f -b

Now when I boot the pi up, my profile show starts fine which is great. However, when I access the pi through remote desktop, xrdp, the pi starts the boot sequence again and runs a video on top of the already started video slightly transparent. I know the solution here is to not remote desktop in, but I prefer to remote in over ssh in.

Any thoughts on how to prevent a show from starting on a remote desktop portal?

Audio Issues and help troubleshooting

Hello Ken,

I would very much appreciate some advice if you have time.
I have previously installed beep on a pi3 with no issues and loved it.

I decided to build a new setup with a pi4 to take advantage of the dual display feature.
here is what my setup looks like:
-Rpi4 running Beep
-1x DSI screen (official 7" display)
-1x computer monitor connected to HDMI0
-I have a headphones connected to the A/V 3.5mm for audio

My problem is that under certain situations I get audio garbel/distortion or sometime no audio at all.(I am trying to use local or A/V audio in all test instances)
-The problem is less noticeable when I only have one display connected. but extreme when I have both displays connected.

The terminal window states " amixer: Cannot find the given element from control hw:0"
The terminal window states "uncollected garbage 100"
I sure this is relevant somehow.

Any suggestions on what I could to to remedy this issue?

Thanks,

Mike

VL6180X Support

Hi,
would there be support for VL6180X in the future?
I would like to adjust my screen brightness depending on ambient light and trigger Play/Pause using this sensor.

Also, would there be at least a fade transition added in the future? Cut transition is a bit jarring.

Image window without grey/yellow thinny border in no full screen mode.

Hi Ken.
First of all I want to congratulate you for making such excellent software and sharing it openly with us. Just 1 week ago I am starting to test and use it and it is incredible.

I have a Raspberry Pi4 that I manage remotely with VNC.
In the HDMI1 output (it would be the second output physical) I have a screen connected.
In the HDMI0 output I have nothing, but it is forced to work from the boot.txt.
I don't want to use the software in fullscreen because I lose VNC remote management of the device on the first screen.
Modify the openbox files according to your suggestions with no , and also other modifications on my own like border = no, border pix = 0, etc.
I can't remove the small gray or yellow border from the window!
Edit all the theme files that I found. I don't know more to try.
Is there a way to achieve this without having to use it in Full Screen so as not to lose remote control of the device?
Its only appears in images, not in video.

IMG_0085
IMG_0084

I hope I have explained myself well.

Thank you.
Regards.

Franco from Argentina.

Question: Live Reload of configuration

Is this possible? I want to change the duration of a track without shutting down and restarting pp.

I guess its not, since you load the config on pp-start and keep it in memory thereafter. Right?

"Rpi-backlight" Needed when using the Raspberry pi 7" Display

I just wanted to make a ticket so if someone else has this issue they can look at it.
I downloaded the examples then copied the pp_home out to /home/pi/pp_home/
I tried the example code: python3 /home/pi/pipresents/pipresents.py -p pp_mediashow_1p4
Then got the error:
1.45 Profile Error: PiPresents: touchscreen connected but rpi-backlight is not installed

The fix was easy but not what the pypi website shows
I had to do: sudo pip3 install rpi-backlight

pp_openclose start with image

Hi Ken,

Sorry, not really an issue, a query...

I am playing with the pp_openclose profile and would like it to start with showing image1.jpg then when a switch P1_18 is sent to ground image2.jpg is shown. When P1_18 is released image1.jpg is shown again (rather than the black screen).
I have attempted to make changes to the config files with no avail or with errors.
Would you be able to point me in the right direction?

Thanks.

liveshow - sync mode fails on startup

If I have a liveshow with the sync-feature enabled with .lock file PP does not update its media-folder on startup. It simply removes the .lock file, but the files to move are not moved.

make the start of unclutter configurable

I wrote a wrapper around PiPresents to start / stop / control PiPresents to manage the execution of different profiles.
To reliably kill PiPresents I am using *nix feature to kill a process (PiPresents) by its process group id. In that way I won't end up dangling / orphanged omxplayers all over my device.

My displays do start unclutter as a service, since i never need the cursor and the displays sometimes do other stuff besides PiPresents. But since PiPresents does start unclutter, unclutter itself it is marked as child-process of PiPresents. So killing PiPresents in the way I do leads to unclutter being killed too.

So i propose to add an option to toggle the start of unclutter when running PiPresents.

I can draft a PR if you like.

Text colour button missing

Hi Ken,
Just getting round to re-building my display.

I'm using v1.41 and when in - Image Tracks - Text

  • The button at the right hand end of the Track Text Colour is missing.
  • The Pause Text Colour is populated with '#ffffff'

If i manually edit either of these boxes the new value is not saved.

Every thing else appears to be working OK

Kind regards,
Stewart

Full screen

I have been using pipresents for a number of years. Finally decided to start a fresh install with Buster/Beep.

Everything installed fine, set up a new profile (mediashow) and it plays fine. My problem is that the screen blanks and the video plays, but the video is in a small format in the upper left of the screen.

The example profiles work fine full screen so it is clear that it is a setup problem. I have poured though the example profiles and the manual and am getting nowhere.

Thanks!

Lee

Going to track by inputted number

How would I go about implementing a way to go to a given track by inputting its number into a number pad? I know one way would be to set up an individual event handler for every track, but I'm hoping there's a simpler solution, perhaps?

Provide CR at the end of serialdriver output

Hi,
I'm trying to output at the end of serialdriver output string without success.
Is seems that we can't do that. Even if I'm trying to add \n at the end of the command config, python read it as \n.

The only workaround found is to append a byte before sending the string in pp_serialdriver.py

bytes.append(0x0D)
bytes_sent = pp_serialdriver.ser.write(bytes)

Do you know another solution ?

Best regards,
Yannick

OMX Player Error

Every now and then my pi's are getting the following error:

"Profile Error: omxplayer ended before loading track"

I am using the liveshow playlist. I have increased the memory on all the pi's to 256MB as recommended in the setup files. I have not went through any log files yet. This error has happened several times since deploying three pi's to the field. Happens maybe once a day. Any ideas on what could be causing this? What information can I obtain to help find the solution to the problem?

Older PP version issues:
KenT2/pipresents-gapless#1
KenT2/pipresents-gapless#13
KenT2/pipresents-gapless#61

Artliveshow with cache - Symlinks

Hi again,

i am using the artliveshow-type and am having the following structure:

image

As you can see i have the folder available_media which contains all the media i can use for the show and am simply symlinking them in the live_tracks_cache (which are then getting copied to live_tracks after touching the .lock-file).

This prevents huge writes to the sd-card in case of frequent changes to the displayed media (since symlinks are smaller than a whole file) which will lead to longer lifetime.

It seems to work fine, at least it played through a night without errors and frequent changes to the media (done by a little script and a cron-job).

Are there any reason which might advise me to not do it this way? If not, i think we should consider adding an example of this to the manual.

I like your package more and more :-)

Radiobuttonshows that stay open in the background after being commanded to close.

I am trying to make the same button, e.x. pp-key-1, with the same “play” command, play new video files, by redirecting the user from one radioshow to another, with media shows in between with “open” and “close” radioshow/media show as show control commands.…

I have a project like this, with no issues in Pipresents gapless...

In Beep, I have tried several combinations, and also the exact same build as I have in Pipresents gapless. But the same problem occurs.

The radioshows do not close, they stay open in the background. What happens then is that when I press the same button, e.x. pp-key-1, it starts the video on the current radioshow, and on the past (supposed to be closed) radioshow at the same time, and the videos are in conflict.

I have tried having show control “close” commands both on the radioshows themselves, on the tracks and on the mediashows, nothing seems to actually close the radioshows, except the "openexclusive" command.

The "openexclusive" command doesn’t really work for me, as I have a mediashow with music going on at the same time, with a static background image, to further hide the loading time when opening different shows and tracks.

The build with the controls and commands looks something like this:

Start
Start shows: mediashow1

mediashow1 with start, continue, single run, End trigger parameters: pp-key-1
Video.mov with show control at beginning: open bgmusic
Sound.mp3 with background image and show control command at beginning: open radiobuttonshow1

bgmusic
music.mp3 with background image.jpg

radiobuttonshow1 with First Track: [first], Controls: pp-key-1 play [next] and Show Control at End: close radiobuttonshow1
Video.mov [first]
Sound.mp3 [next] with background image and show control commands at beginning and end: open mediashow2, close radiobuttonshow1

mediashow2 with start, continue, single run, End trigger parameters: pp-key-1
Video.mov
Sound.mp3 with background image and show control command at beginning: open radiobuttonshow2

radiobuttonshow2 with open [first] track, controls pp-key-1 play [next] and Show Control at End close radiobuttonshow2
Video.mov [first]
Sound.mp3 [next] with background image and show control command at beginning and end: open mediashow3, close radiobuttonshow2

mediashow3 with start, continue, single run, End trigger parameters: pp-key-1
Video.mov
Sound.mp3 with background image and show control command at beginning: open radiobuttonshow3

radiobuttonshow3 with open [first] track, controls pp-key-1 play [next] and Show Control at End close radiobuttonshow3
Video.mov [first]
Sound.mp3 [next] with background image and show control command at beginning and end: open mediashow1, close radiobuttonshow3

In radiobuttonshow3 it goes back to the first mediashow, so the whole thing is a loop.

This build works without issues in pipresents gapless. Why does it not work the same way in beep?

playing video in layers

is it possible to play a video over a playing video?
if i do now i gives a strange effect 2 videos fighting to be on top of the screen
i found the openexclusive function that does most of it but i wish that the screen does not go black on starting the video

Profile Error: xrand r display not recognised default

Pi4B

cmd:
python3 /home/pi/pipresents/pipresents.py -p pp_mediashow_1p4

error out:

Maps: {'DSI0': 0, 'HDMI0': 2, 'HDMI': 2, 'A/V': 3, 'HDMI1': 7} {0: 'DSI0', 2: 'HDMI0', 3: 'A/V', 7: 'HDMI1'}
Pi Model: 4
xrandr: Failed to get size of gamma for output default

Number of Displays - randr: 1
Displays Connected- randr: ['default']
Display Dimensions - randr: {'default': 1920} {'default': 1080}
Display Position - randr: {'default': 0} {'default': 0}
Display Rotation - randr: {'default': '0mm'}

Number of Displays - tvservice: 2
Displays Connected - tvservice: [2, 7]
Display Dimensions - tvservice: {2: 1920, 7: 1920} {2: 1080, 7: 1080}
1.44  Profile Error:  PiPresents:  xrand r display not recognised default
Traceback (most recent call last):
  File "/home/pi/pipresents/pipresents.py", line 889, in <module>
    pp = PiPresents()
  File "/home/pi/pipresents/pipresents.py", line 279, in __init__
    self.end('error',message)
  File "/home/pi/pipresents/pipresents.py", line 699, in end
    self.tidy_up()
  File "/home/pi/pipresents/pipresents.py", line 748, in tidy_up
    self.dm.terminate()
  File "/home/pi/pipresents/pp_displaymanager.py", line 224, in terminate
    self.terminate_backlight()
  File "/home/pi/pipresents/pp_displaymanager.py", line 1046, in terminate_backlight
    if self.backlight is not None:
AttributeError: 'DisplayManager' object has no attribute 'backlight'

Automatic Slideshow of Pictures + Videos When USB Inserted

Good Afternoon -

I'm trying to get Pi Presents to do something specific and so far have not been able to accomplish it, so wanted to post to see if it was possible and if so; hopefully get some direction.

Apologies if this isn't the best place to post this, but is the only one I could find :)

Project Goal
This project is for non-tech savvy grandparents without internet to easily view pictures & videos of grandchildren on their TV.

Desired Configuration
Configure Pi Presents on a RasPi which will do the following:

  • At idle, stay at a static idle screen / background
  • USB stick(s) will contains a mix of media files
  • Once USB is inserted, start a slideshow of all media content (pictures & videos) which loops until stick is removed.
  • Images would be displayed for 5 seconds and if/when a video is encountered, it would simply play start -> end OR they could use a keyboard (via FLIRC) to change to the next / previous media
  • Removing USB stick goes back to idle screen
    I considered converting everything to a video slideshow, but trying to make it easy for multiple family members to copy media to a flash drive & mail it to them to view.

As mentioned, I've so far been unable to make the above work. If you have any suggestions, please let me know. Thank You!

Liveshow Playlist Issues

I am having a little trouble with the liveshow tracks only playing the first one in the list. I have four mp4 files in a directory, and when I start the show it will only play the first one over and over. Am I missing a setting that I need to have on? I have tried playing them in order and shuffle with no difference. I have it set to repeat and my track count limit is at 0.

PiPresents: No displays connected

Hi Ken,

First of all, thank you for creating PiPresents!

I use PiPresents in a canteen at my local sportsclub to display the latest contest video's and the latest news. I've written a script which downloads the content from a Dropbox account and generated the appropriate Json playlist each night.

However, since the upgrade to 1.4.4, when the TV is off, I'll get a error which stops PiPresents:
pi@raspberrypi:~/pipresents $ 3.58 Profile Error: PiPresents: No displays connected

The full debug of PiPresents is :

1.21 PiPresents: Pi Presents is starting, Version:1.4.4a at 2019-09-18 09:38.37
1.21 PiPresents: sys.path[0] -  location of code: /home/pi/pipresents
1.21 PiPresents:
Raspbian: Raspberry Pi reference 2019-07-10
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 175dfb027ffabd4b8d5080097af0e51ed9a4a56c, stage4

1.77 PiPresents:
omxplayer - Commandline multimedia player for the Raspberry Pi
        Build date: Thu, 01 Aug 2019 12:50:43 +0000
        Version   : f543a0d [master]
        Repository: https://github.com/popcornmix/omxplayer.git

1.79 PiPresents:
GPU Memory: gpu=256M

1.79 PiPresents: Desktop is LXDE-pi
1.79 PiPresents: User is: pi
1.79 PiPresents: Waiting up to 5 seconds for network
1.81 PiPresents: Time after network check is 2019-09-18 09:38.37
1.81 PiPresents: Found pp_web.cfg in /home/pi/pipresents/pp_config/pp_web.cfg
1.84 PiPresents: Network details My Pi eth0 10.1.100.2
1.85 PiPresents: Found pp_email.cfg at /home/pi/pipresents/pp_config/pp_email.cfg
1.85 PiPresents: pp_home directory is: /home/pi/pp_home
1.85 PiPresents: Trying pp_home at: /home/pi/pp_home (1)
1.85 PiPresents: Found Requested Home Directory, using pp_home at: /home/pi/pp_home
1.85 PiPresents: Found Requested profile - pp_profile directory is: /home/pi/pp_home/pp_profiles/pp_pride
1.93  Profile Error:  PiPresents:  No displays connected

If I start PiPresents when the TV is on, it displays me the following:

Number of Displays 1
Displays Connected [2]
Development Display 2
Display Dimensions - real {2: 1920} {2: 1080}
Window x offset {0: 0, 2: 0, 3: 0, 7: 0}
Window Dimensions - non-full {2: 1920} {2: 1080}
Display Dimensions - screensize {2: 1920} {2: 1080}
Canvas Widget {2: <tkinter.Canvas object .!canvas>}
Canvas Dimensions {2: 1920} {2: 1080}
Maps {'DSI0': 0, 'HDMI0': 2, 'HDMI': 2, 'A/V': 3, 'HDMI1': 7} {0: 'DSI0', 2: 'HDMI0', 3: 'A/V', 7: 'HDMI1'}

Full debug when TV is powered on:

1.27 PiPresents: Pi Presents is starting, Version:1.4.4a at 2019-09-18 09:46.47
1.27 PiPresents: sys.path[0] -  location of code: /home/pi/pipresents
1.27 PiPresents:
Raspbian: Raspberry Pi reference 2019-07-10
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 175dfb027ffabd4b8d5080097af0e51ed9a4a56c, stage4

1.83 PiPresents:
omxplayer - Commandline multimedia player for the Raspberry Pi
        Build date: Thu, 01 Aug 2019 12:50:43 +0000
        Version   : f543a0d [master]
        Repository: https://github.com/popcornmix/omxplayer.git

1.85 PiPresents:
GPU Memory: gpu=256M

1.86 PiPresents: Desktop is LXDE-pi
1.86 PiPresents: User is: pi
1.86 PiPresents: Waiting up to 5 seconds for network
1.88 PiPresents: Time after network check is 2019-09-18 09:46.47
1.88 PiPresents: Found pp_web.cfg in /home/pi/pipresents/pp_config/pp_web.cfg
1.92 PiPresents: Network details My Pi eth0 10.1.100.2
1.92 PiPresents: Found pp_email.cfg at /home/pi/pipresents/pp_config/pp_email.cfg
1.92 PiPresents: pp_home directory is: /home/pi/pp_home
1.92 PiPresents: Trying pp_home at: /home/pi/pp_home (1)
1.92 PiPresents: Found Requested Home Directory, using pp_home at: /home/pi/pp_home
1.92 PiPresents: Found Requested profile - pp_profile directory is: /home/pi/pp_home/pp_profiles/pp_pride
Pi Model 2
Number of Displays 1
Displays Connected [2]
Development Display 2
Display Dimensions - real {2: 1920} {2: 1080}
Window x offset {0: 0, 2: 0, 3: 0, 7: 0}
Window Dimensions - non-full {2: 1920} {2: 1080}
Display Dimensions - screensize {2: 1920} {2: 1080}
Canvas Widget {2: <tkinter.Canvas object .!canvas>}
Canvas Dimensions {2: 1920} {2: 1080}
Maps {'DSI0': 0, 'HDMI0': 2, 'HDMI': 2, 'A/V': 3, 'HDMI1': 7} {0: 'DSI0', 2: 'HDMI0', 3: 'A/V', 7: 'HDMI1'}
2.56 PiPresents: 1 Displays are connected:
2.57 PiPresents:    - HDMI0 Id: 2 1920*1080
2.57 PiPresents:    - HDMI0 Id: 2 1920*1080
2.58 IOPluginManager: keys.cfg read from /home/pi/pipresents/pp_io_config/keys.cfg
2.59 IOPluginManager: Tkinter KeysInitialised
2.59 ShowManager: Starting Show: mymediashow from: start



2.60 MediaShow: mymediashow 0: Starting show
2.60 MediaShow: mymediashow 0: Waiting for trigger: start
2.60 MediaShow: mymediashow 0: Track type is: image
2.60 MediaShow: Track type is: image
2.60 MediaShow: Track to load is: /home/pi/pp_home/media/Dranken.jpg
3.47 MediaShow: Show Id 0 load complete with status: loaded  message: image track loaded
3.53 ImagePlayer: >show track received from show Id: 0
13.59 MediaShow: pause at end of showing track with reason: pause_at_end and message: user quit or duration exceeded
13.59 MediaShow: mymediashow 0: Waiting for trigger: start
13.59 MediaShow: mymediashow 0: Track type is: image
13.59 MediaShow: Track type is: image
13.59 MediaShow: Track to load is: /home/pi/pp_home/media/Dranken.jpg
14.17 MediaShow: Show Id 0 load complete with status: loaded  message: image track loaded
14.18 ImagePlayer: >close received from show Id: 0
14.24 ImagePlayer: >show track received from show Id: 0
24.30 MediaShow: pause at end of showing track with reason: pause_at_end and message: user quit or duration exceeded
24.30 MediaShow: mymediashow 0: Waiting for trigger: start
24.30 MediaShow: mymediashow 0: Track type is: image
24.30 MediaShow: Track type is: image
24.30 MediaShow: Track to load is: /home/pi/pp_home/media/Dranken.jpg
24.88 MediaShow: Show Id 0 load complete with status: loaded  message: image track loaded
24.89 ImagePlayer: >close received from show Id: 0
24.95 ImagePlayer: >show track received from show Id: 0

Is there some way or value to skip the display check?

Thanks again for PiPresents,
Kind Regards
Patrick

Question: List Empty Track for Artliveshow

Me again, sorry to bother you so much lately :-)

There is an option to show a default track for a liveshow (List Empty Track). But this option does not seem to work on artliveshow. Is this just a bug or is this feature not implemented? If not, how can I be of help enabling this?

Audio not sync with video

Hi!
On pi4 with buster my audio from a mp4 is not in sync.
In my config.txt i have gpu_mem=512
Is there more to do to get it in sync?
Thanks!

control with osc

Hi, meanwhile I have a multiwindow profile with 4 simultaneous shows (1 local video and 1 livestream in vlc and 2 static webpages in chromium) running and doing first tests with osc but notting happens.

In osc configuration name: wulp, ip: 192.168.1.210, slave: yes and port: 9001.
I am new in udp and osc.

Which command should exit all shows (for example)? Is that 'osc wulp closeall' or '/pipresents/wulp/core/closeall'.
Both trigger no reaction when running the shows but I'm using an android app to test that.

When I try to run the supplied python (pycharm with python 3.7) program pp_oscremote.py there's an error "cannot import name 'ForkingMixIn' from 'socketserver'" so I don't know if there's something wrong at sender, receiver, or both.

Thanks in advance, David.

Statistics Production

Hi Ken,
I'm trying to use the stats to record the amount of times a Show is selected, controlled by a GPIO button call.
I'm using PP 1.4.1a and i'm including the '-d 128'.
In the output file i'm only getting entries indicating when PP was started although there is activity on the Terminal Screen but no visible text.

What have i missed, should i be adding other commands/calls in?

We have discussed this feature in the past but I have only just come to build it in to my program.

Many thanks,
Stewart

VLC hangs a lot

Hey there. I just switched from omx-player to vlc and am getting a lot of freezes. Roughly every other rotation of the artliveshow vlc just hangs somewhere in the video and shows one frame forever.

If you need any more information I am happy to provide them. For now I will keep using the last version of PiPresents still using omx-player.

Control Shows by CLI

Hi Ken,

great, really great package. I got one question though: I try to create a little art show, where i need to be able to start / stop / select different shows from a remote machine. Is there a way to send commands to the running pipresents instance on the pi without using OSC?

Send CURL command

Hello,
thanks for this awesome project!

Is it possible to send a CURL command when a track starts and when it ends?

Make radiobuttonshow etc. 'gapless'

Ken, I have now done this so it runs full screen and disabled blanking and everything works perfectly except while my video screensaver is running and i select a video, it drops out to the image background for about a half second before while it loads the video. Is there any way to have the screensaver video freeze on the it's current frame or have that video continue until the newly selected video begins playing? Also if I trigger a video while another is currently playing I get the same behavior of it dropping to a background image for a second where ideally it would freeze on a frame to be truly gapless. If I launch a video and it plays to completion, it will freeze on the last frame and be gapless while loading back to the screensaver.

This ia a limitation of PP. In a mediashow I disguise the gap by pausing the video near its end while the next video loads. With a radiobuttonshow I don't do this. However your post has given me an idea of how it might be done. Meanwhile the fudge below might work:

For the gpio's that start the videos use the press edge to send the pause command and the trailing edge to send the play command. My proper fix would do achieve the same by pausing the video in the play command code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.