Coder Social home page Coder Social logo

nebelhom / slideshow4raspberrypi Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 94 KB

A very simple script to run through a set of images to show on screen for a digital photoframe used on a raspberry pi

License: Mozilla Public License 2.0

Python 100.00%

slideshow4raspberrypi's People

Contributors

faber81 avatar nebelhom avatar

Watchers

 avatar  avatar  avatar

slideshow4raspberrypi's Issues

AttributeError: 'NoneType' object has no attribute 'items'

Traceback (most recent call last):
   File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 392, in <module>
     SlideShowApp().run()
   File "/home/nebelhom/anaconda3/envs/Slideshow/lib/python3.9/site-packages/kivy/app.py", line 949, in run
     self._run_prepare()
   File "/home/nebelhom/anaconda3/envs/Slideshow/lib/python3.9/site-packages/kivy/app.py", line 919, in _run_prepare
     root = self.build()
   File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 384, in build
     root = RootWidget()
   File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 62, in __init__
     self.picture = Picture(img_dir=IMG_DIR,
   File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 126, in __init__
     self.set_angle()
   File "/home/nebelhom/SlideShow4RaspberryPi/main.py", line 175, in set_angle
     o = hf.get_img_orientation(self.source)
   File "/home/nebelhom/SlideShow4RaspberryPi/helper_func.py", line 140, in get_img_orientation
     for k, v in img._getexif().items()
 AttributeError: 'NoneType' object has no attribute 'items'

Most likely to do with missing exif data --> give a standard solution for missing exif

Make SlideShow more responsive

I have noticed that the script does not respond very quickly to keyboard buttons and mouseclicks. For such a simple script this is unexpected.

Is most likely to do with pygame.time.delay(3000) found here that freezes responsiveness to the script.

Can we investigate how we can delay the slide change without freezing the entire application. This can be a pain if we want the image to stay there for 15-30 minutes or more...

Transfer to kivy

The absence of capabilities of pygame to have a simple file dialog moved this project to kivy.

This issue will be used to transfer the existing main file to kivy.

Create a simple GUI to interact

Ideally touchscreen compatibly GUI for raspbian that allows to quickly define the image folder path, orientation, etc.

Using Kivy

Use one click to show interactions to go from slideshow to menu

Think, one click shows interaction button for X seconds, then fade it out if there is no interaction

Create a config file for important parameters

This should be a simple file saving the important parameters.

e.g. orientation (landscape or portrait), path to image files, time to switch between images and some more

If config file is incomplete (i.e. some values are empty or invalid), then ask for information prior to running the application.

Ideally do this after GUI was written, i.e. after issue #18 was completed

Integrate optional motion sensor

This issue is for when the software is completely up and running.

Write a python script that interacts with a motion sensor via the GPIO pins, so that it switches off after an arbitrary time interval 30 minutes of no movements and on when movement is detected (to save some energy)

This script should be optional depending on a person's setup.

=> Integrate also into the CLI using a flag

Add a basic CLI

The CLI file should make life a little easier to start the program RE: feeding in specific variables, e.g. directory location, portrait or landscape, time to switch etc.

Timer Thread always re-started - make sure to stop and restart script on sleep

The purpose of the script is to act as a slide show for pictures on a raspberry pi. Currently we create a new Timer thread everytime the old one is finished, this may lead to very long thread names as the threads are numbered chronologically.

When picture frame goes into the sleep mode, make sure the script stops and restarts

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.