Giter Club home page Giter Club logo

xibo-linux's Introduction

Xibo for Linux

xibo-player

Xibo for Linux is a Digital Signage Player for Xibo.

It is in its early stages of development and supports a subset of Xibo's overall features. It can be used in production, but should be thoroughly tested with the intended content. It is not recommended to assume that any of Xibo's features will function. Please test yourself to confirm.

To discuss this Player with us, please join our community.

Installation

Installation and upgrade instructions can be found here.

Contributing

We use GitHub Issues to track development and the next milestone is full of issues for which we would happily accept contributions. In addition, if a Xibo feature you want is not mile-stoned, or mile-stoned against a later version, please get in touch if you'd like to work on it. We maintain a Kanban Board to ensure we're not doing overlapping work.

Please check that you're happy for your work to be available under the project licence - the AGPLv3 or later.

Let us know you'd like to contribute by joining our community.

Build

If you would like to work on the Player you can build it locally using the instructions below.

Building from sources

We recommend you use snapcraft to build Xibo.

Building with Snapcraft

  • Install snapcraft, making sure you have version 4 or later (snap install snapcraft --classic)
  • Clone this repository
  • Run snapcraft in the root of the repository
  • A .snap file will be created which you can use to install from

Debugging

We provide a VSCode dev container that has everything needed to build/debug the application using VSCode. This devcontainer uses a base image which is built from the Dockerfile in the root folder.

To debug this application using VSCode.

  1. Copy the settings folder from a working player install into the /build/bin folder, making sure you have cmsSettings.xml and playerSettings.xml.
  2. Open cmsSettings.xml and adjust the localLibrary setting to be /workspaces/vscode/build/bin/library.
  3. Open the application directory using the remote containers plugin.
  4. Go to the aplication debug extesion at left panel and click on the green play button.

Tutorial video: https://user-images.githubusercontent.com/6628028/162645464-5eadcb2b-a53a-450e-805f-9589fba6f8f0.mp4

Issue 260 will improve steps 1 and 2 so that the options app can be used.

xibo-linux's People

Contributors

alexharrington avatar allcontributors[bot] avatar birkenfeld avatar dasgarner avatar davidkennedydev avatar dmitttri avatar maurofmferrao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

xibo-linux's Issues

Fix retrieving the duration property

For Widgets that provide HTML, we should always parse the HTML document for the DURATION comment and use that.
If the comment is not there, you use duration attribute.

Unit-testing

We need unit-tests for several modules for now:

  • ImageParser
  • AudioParser
  • WebViewParser
  • VideoParser
  • LayoutParser
  • RegionParser
  • CommandLineParser
  • MainLayout
  • Background

Improve duration attribute in media modules

Videos can have a special duration attribute of "0" which means "end detect". This allows the user to assign a video widget to the Layout without having to assess its duration. When a duration of 0 is provided it is the Players responsibility to detect when that video has completed and advance to the next item.
When a duration of 0 is provided the loop option should be ignored.
[From Xibo Documentation]

Layout scaling

The XLF provides the width/height of the Layout and the width/height/position of each Region. These are the dimensions the Layout was designed at - for example a Layout might be 1920x1080 in dimension. If the Player is 1920x1080 also, then a 1:1 rendering can occur, but if the player is 1280x720 or even 1080x1920, scaling must occur.
[From Xibo Documentation]

Audio module

  • Media handler refactoring
  • Write audio handler based on GStreamer framework
  • Write the parser for the audio module (media and option node)
  • Add ability to play audio in other media modules
  • Refactor parsing audio node in media
  • Add ability to stop audio
  • Audio volume

Refactor XlfParser

We need to remove the dependency on Region, Layout, and Media entities.

Move build process to CMake

  • Add commit number to the versioning system
  • Add cmake tests for launching
  • Copy needed libs for the target platform
  • Choose the minimal packages version

Transparency bug

  1. Investigate bug with transparent images over video
  2. Investigate overlapping over video
  3. Fix bug with transparency

Support for image rendering options

The Player is responsible for natively rendering images according to the following options:

  • scaleType: Either center or stretch.
  • align: Either left, center or right.
  • valign: Either top, middle or bottom.

[From Xibo Documentation]

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.