magic-lantern


Namemagic-lantern JSON
Version 0.0.13 PyPI version JSON
download
home_pageNone
SummaryA presentation tool for kiosks, digital signage, slide shows.
upload_time2024-09-04 17:23:32
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # magic-lantern
A presentation tool for kiosks, digital signage, slide shows.

Supports *png* and *jpg*.  *PDF* files are also supported; each page is internally converted to an image file.

You can specify a single directory/folder for the images, or organise them into folders and provide a configuration file to control the sequence of images. This sequence is called the "*slide show*".



## Installation

### Windows

[pipx](https://pipx.pypa.io/stable/), via [Scoop](https://scoop.sh/)

```
scoop install pipx
pipx ensurepath
pipx install magic-lantern
```

### Debian

```bash
pipx install magic-lantern
```

## Usage

See 

```bash
magic-lantern --help
```

When running, use the following keys to control the slideshow:
- **space bar**: play / pause
- **q**: quit
- **p**, **left arrow**: previous image
- **n**, **right arrow**: previous image
- **y**, display of year (on/off)

## Reset

To reload the configuration and slide show: 
```bash
pkill -USR1 magic-lantern
```

This is useful if you have the app running automatically (e.g. Gnome autostart) and have updated the slide show.

## Configuration 
You can provide a simple path to a collection of images...

```
magic-lantern /usr/share/backgrounds
```

... or you can supply a configuration file:
```
magic-lantern -c ~/slideshow/example.toml
```
See [example.toml](docs/example.toml).  

The configuration file can specify multiple ***albums*** to include in the slideshow.  The behaviour of each album can be unique.  The file contains two sections:

- The first part of the file contains any default/global values.  They apply to all the subsequent albums if not overridden.  These are optional but are included in the example.

- The remainder of the file defines the albums.  Each album points to a directory containing images to include in the slide show.  Images are added automatically. Images can be separated into different albums depending on their intended behaviour. 
Options given here override the defaults provided previously.

### TOML configuration keys

This is a list of keys, their scope, etc., defined in the configuration file:

#### exclude
- *scope*: global 
- *type*: list of strings
- *value*: list the folders to exclude from the image search
- *default*: empty list.  All png/jpg/pdf files will be included.

#### fullscreen
- *scope*: global
- *type*: bool
- *value*: turn on full-screen mode
- *default*: false

#### weight
- *scope*: global and album
- *type*: integer
- *value*: give the weight to an album when choosing them randomly. When the slide show is generated, each image is taken from each album, chosen [randomly](https://docs.python.org/3/library/random.html#random.choices), according the the given weights.

- *default*: 1

#### interval
- *scope*: global and album
- *type*: integer
- *value*: give the time in seconds after a slide before the next one. 
- *default*: 5

#### [[albums]]
In TOML this specifies an array of key/value pairs.  Each of these entries define each album being configured. 

#### folder
- *scope*: album
- *type*: string
- *value*: points to the path of the directory containing the album.  Can be an absolute path, or relative to the configuration file.

#### order
- *scope*: album
- *type*: one of
    - `"sequence"`: photos in this album are picked in sequence
    - `"random"`: photos in this album are picked randomly
    - `"atomic"`: photos in this album are picked in sequence, and grouped together.  Once each image has been displayed, the slide show resumes with the next.
- *value*: defines the behaviour of the slideshow for each album.
- *default*: `"sequence"`



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "magic-lantern",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Norman Lorrain <normanlorrain@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/72/01/eae9e20c5964b3e80a34db821e86720758d993f47ee90e28037af970c9ff/magic_lantern-0.0.13.tar.gz",
    "platform": null,
    "description": "# magic-lantern\nA presentation tool for kiosks, digital signage, slide shows.\n\nSupports *png* and *jpg*.  *PDF* files are also supported; each page is internally converted to an image file.\n\nYou can specify a single directory/folder for the images, or organise them into folders and provide a configuration file to control the sequence of images. This sequence is called the \"*slide show*\".\n\n\n\n## Installation\n\n### Windows\n\n[pipx](https://pipx.pypa.io/stable/), via [Scoop](https://scoop.sh/)\n\n```\nscoop install pipx\npipx ensurepath\npipx install magic-lantern\n```\n\n### Debian\n\n```bash\npipx install magic-lantern\n```\n\n## Usage\n\nSee \n\n```bash\nmagic-lantern --help\n```\n\nWhen running, use the following keys to control the slideshow:\n- **space bar**: play / pause\n- **q**: quit\n- **p**, **left arrow**: previous image\n- **n**, **right arrow**: previous image\n- **y**, display of year (on/off)\n\n## Reset\n\nTo reload the configuration and slide show: \n```bash\npkill -USR1 magic-lantern\n```\n\nThis is useful if you have the app running automatically (e.g. Gnome autostart) and have updated the slide show.\n\n## Configuration \nYou can provide a simple path to a collection of images...\n\n```\nmagic-lantern /usr/share/backgrounds\n```\n\n... or you can supply a configuration file:\n```\nmagic-lantern -c ~/slideshow/example.toml\n```\nSee [example.toml](docs/example.toml).  \n\nThe configuration file can specify multiple ***albums*** to include in the slideshow.  The behaviour of each album can be unique.  The file contains two sections:\n\n- The first part of the file contains any default/global values.  They apply to all the subsequent albums if not overridden.  These are optional but are included in the example.\n\n- The remainder of the file defines the albums.  Each album points to a directory containing images to include in the slide show.  Images are added automatically. Images can be separated into different albums depending on their intended behaviour. \nOptions given here override the defaults provided previously.\n\n### TOML configuration keys\n\nThis is a list of keys, their scope, etc., defined in the configuration file:\n\n#### exclude\n- *scope*: global \n- *type*: list of strings\n- *value*: list the folders to exclude from the image search\n- *default*: empty list.  All png/jpg/pdf files will be included.\n\n#### fullscreen\n- *scope*: global\n- *type*: bool\n- *value*: turn on full-screen mode\n- *default*: false\n\n#### weight\n- *scope*: global and album\n- *type*: integer\n- *value*: give the weight to an album when choosing them randomly. When the slide show is generated, each image is taken from each album, chosen [randomly](https://docs.python.org/3/library/random.html#random.choices), according the the given weights.\n\n- *default*: 1\n\n#### interval\n- *scope*: global and album\n- *type*: integer\n- *value*: give the time in seconds after a slide before the next one. \n- *default*: 5\n\n#### [[albums]]\nIn TOML this specifies an array of key/value pairs.  Each of these entries define each album being configured. \n\n#### folder\n- *scope*: album\n- *type*: string\n- *value*: points to the path of the directory containing the album.  Can be an absolute path, or relative to the configuration file.\n\n#### order\n- *scope*: album\n- *type*: one of\n    - `\"sequence\"`: photos in this album are picked in sequence\n    - `\"random\"`: photos in this album are picked randomly\n    - `\"atomic\"`: photos in this album are picked in sequence, and grouped together.  Once each image has been displayed, the slide show resumes with the next.\n- *value*: defines the behaviour of the slideshow for each album.\n- *default*: `\"sequence\"`\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A presentation tool for kiosks, digital signage, slide shows.",
    "version": "0.0.13",
    "project_urls": {
        "Homepage": "https://github.com/normanlorrain/magic-lantern"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cbd9ee800b90fabc5afe51667e1af65b9ddab186234f4ab53810e959baa631e3",
                "md5": "74ee4eff1b2aab8cc34da1e157165810",
                "sha256": "a8d54d38cf0be8b9881e2921fcfb87fe66263cf93a0c8204fcec5ec3fdfdbffd"
            },
            "downloads": -1,
            "filename": "magic_lantern-0.0.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "74ee4eff1b2aab8cc34da1e157165810",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 14599,
            "upload_time": "2024-09-04T17:23:28",
            "upload_time_iso_8601": "2024-09-04T17:23:28.617157Z",
            "url": "https://files.pythonhosted.org/packages/cb/d9/ee800b90fabc5afe51667e1af65b9ddab186234f4ab53810e959baa631e3/magic_lantern-0.0.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7201eae9e20c5964b3e80a34db821e86720758d993f47ee90e28037af970c9ff",
                "md5": "f72e704f319ee10adf4656bfb07a4609",
                "sha256": "451bff949a1d8d007715dab405038d727894bee1f7691202926ba80f3e6d51fc"
            },
            "downloads": -1,
            "filename": "magic_lantern-0.0.13.tar.gz",
            "has_sig": false,
            "md5_digest": "f72e704f319ee10adf4656bfb07a4609",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 11988255,
            "upload_time": "2024-09-04T17:23:32",
            "upload_time_iso_8601": "2024-09-04T17:23:32.569820Z",
            "url": "https://files.pythonhosted.org/packages/72/01/eae9e20c5964b3e80a34db821e86720758d993f47ee90e28037af970c9ff/magic_lantern-0.0.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-04 17:23:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "normanlorrain",
    "github_project": "magic-lantern",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "magic-lantern"
}
        
Elapsed time: 0.64603s