Skip to content

ghollingworth/slideshow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Touch Slideshow for Raspberry Pi

A touch-enabled image slideshow application designed for Raspberry Pi with touch displays. Features automatic slideshow progression with intuitive touch gestures for manual control, panning, and zooming.

Features

  • Automatic Slideshow: Images advance automatically with configurable timing
  • Touch Controls: Tap to pause/resume, drag to pan, pinch to zoom
  • Full-Screen Display: Optimized for touch displays and kiosks
  • Multiple Formats: Supports JPG, PNG, BMP, GIF image formats
  • Smooth Scaling: High-quality image scaling with aspect ratio preservation
  • Gesture Support: Natural touch gestures for image manipulation

Hardware Requirements

  • Raspberry Pi (3B+ or newer recommended)
  • Touch display (official 7" touchscreen or compatible)
  • MicroSD card (16GB+ recommended)
  • Power supply

Software Requirements

  • Raspberry Pi OS (Bullseye or newer)
  • Python 3.7+
  • X11 or Wayland display server

Installation

  1. Clone or download this project to your Raspberry Pi:

    cd ~/
    git clone <repository-url> slideshow
    # OR copy files manually to ~/slideshow/
  2. Navigate to the project directory:

    cd ~/slideshow
  3. Run the setup script (recommended):

    ./run.sh

    This will:

    • Create a Python virtual environment
    • Install required dependencies
    • Check for images and start the slideshow

    OR install manually:

    # Create virtual environment
    python3 -m venv venv
    source venv/bin/activate
    
    # Install dependencies
    pip install -r requirements.txt
  4. Add your images:

    • Copy your image files to the images/ directory
    • Supported formats: JPG, JPEG, PNG, BMP, GIF
    • The application will automatically scale images to fit your display

Usage

Quick Start

  1. Add image files to the images/ directory
  2. Run: ./run.sh
  3. The slideshow will start in fullscreen mode

Manual Start

# Basic usage
python slideshow.py

# Custom image directory
python slideshow.py --images /path/to/your/images

# Custom slideshow interval (in seconds)
python slideshow.py --interval 10

# Both options
python slideshow.py --images /home/pi/Pictures --interval 8

Touch Controls

Gesture Action
Single Tap Pause/Resume slideshow
Single Finger Drag Pan image when paused
Two Finger Pinch Zoom in/out with multi-touch
Two Finger Spread Zoom out with multi-touch

About

Simple AI written slideshow application with multitouch functionality

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published