stegocute is a multimedia server interface written in Qt

marchal fb9671ce1f Linux bundle, settings files updates 8 months ago
data fb9671ce1f Linux bundle, settings files updates 8 months ago
font 8d796b1756 small graphical rework (new icon, new title font) 1 year ago
image 8ec7fc2d66 mac specific version handling, various fixes 1 year ago
qml 6b854e100d shader addition + support of fixedcolor 1 year ago
source fb9671ce1f Linux bundle, settings files updates 8 months ago
.gitignore 502ea48150 gitignore and info files 1 year ago
LICENSE 502ea48150 gitignore and info files 1 year ago
README.md 3456af9302 updated documentation with linux and source instructions 1 year ago
menu.qml 1a5e987510 implementing shader selector 1 year ago
qml.qrc 8ec7fc2d66 mac specific version handling, various fixes 1 year ago
stegocute.pro fb9671ce1f Linux bundle, settings files updates 8 months ago

README.md

stegocute

stegocute is a multimedia server interface written with Qt. Its goal is to provide a lightweight interface to a system, allowing it to be used as the core of a media center machine.

stegOS

This software is made as a part of a global ecosystem called stegOS. We're making multiple software, which are optimal for using against each other. You can find more information in the stegOS repository.

Installing and launching

Download

You can find the latest build release in the releases page or build it directly from source. Its only dependency is Qt 5 and a few of its extensions.

Linux

You just need to input the following command: ./stegocute. The files that you will have to configure are all present in the data folder next to the software.

If you wish to move the files in standard locations to fully integrate stegocute with your system, please feel free to do so. Also note that the software can take the settings file as an argument, in the following fashion: ./stegocute /path/to/stegocute.json.

You can now proceed to the next section to understand the core system and how to make all this work suiting your tastes.

macOS

Installing & launching

You just need to launch stegocute.app. When first launched, it will copy all the necessary files to your system. These are located at ~/Library/Application Support/stego/. You will have to configure some files present here to fully use stegocute.

Please note that to fully use this software, macOS may ask you to give access to give Accessibility Access to it. You can do it by going to System Preferences > Security & Privacy > Privacy > Accessibility and checking the box stegocute.app. If this access isn't granted, the scripts can fail to launch, possibly causing crashes in those.

You can now proceed to the next section to understand the core system and how to make all this work suiting your tastes.

From source

Since stegocute is an open-source project, you always have the option to build directly from source and modifying part of the software as you like.

You just need to have Qt installed, launch the command qmake that will generate a Makefile. Then, you will be able to type in make.

To generate a portable macOS .app, you can use the following command:

/path/to/macdeployqt     /path/to/stegocute.app     -qmldir=/path/to/stegocute/qml

Setting up

Core system

As the nature of stegocute is to be highly customisable, its way of working is a bit different from what you'd expect. The core idea is that most of its feature are to be an interface, rather than being everything useful in a multimedia machine. So, except for a view features, stegocute only calls binded scripts.

The path to these scripts is defined in the configuration file. There are a few example scripts available in the /script folder. So, for example, let's say we want to play a video. In stegocute, there is a video interface, acting as an explorer for files. When pressing enter while selecting a video, the script /script/video.sh will be called. You can put whatever you want inside it! For example:

mpv --fs --ontop "$1" --audio-device=alsa/hdmi:CARD=HDMI,DEV=0

The main idea was to not be limited as to what we can do. If you wanna use VLC instead of mpv, feel free to do so! Here the configuration puts the player in fullscreen, takes of course the path to the video, and select the correct audio device, as the machine is plugged in HDMI. This makes it extremely modular, and if something doesn't work for you, you always have the possibility to change it.

Scripts

As of version 1.0, the home screen is not configurable (it is a planned feature of version 2.0). Hence, only these visible scripts are configurable:

  • video.sh $1
  • rss.sh $1
  • browser.sh
  • music.sh

The $1 means stegocute will forward an argument to the script. In the case of video.sh it is the path of the video ; in the case of rss.sh it is the URL of the item.

Also available are these scripts:

  • exit.sh is called each time a program launched from the home screen is closed. We use it in conjunction with stegopad to set up the profile, but you can be as creative as you want!
  • shutdown.sh is called when calling the shutdown button of the home screen.

Configuration

There are a few available options to configure, and that you will have to set if you want to use stegocute. Here is a sample configuration file, data/settings.json:

{
	"script": "/etc/stego/script",
	"video": "/home/stego/videos",
	"save": "/etc/stego/save.json",
	"rss": [
		"/etc/stego/rss/user.opml"
	],
	"image": "/etc/stego/backgrounds/bg1.png",
	"shader": true
}
  • script is where stegocute will search for the corresponding scripts for video, RSS, etc.
  • video is the path where your videos are, so that stegocute will use it as the root path for the video menu.
  • save is the path to your save file, for stegocute data.
  • rss is the OPML files used to read your RSS feeds from. You can have as many as you want!
  • image is used to set a background image. There are a few available in /data/backgrounds. This setting overrides the shader configuration. You can remove this line, call it _image, or whatever if you wanna use shaders.
  • shader enables the shader for a visually enhanced home screen. However, please note this can have performance issues if your machine is really really old or if you are using macOS. This setting is overriden by the image configuration.

Issues

If you have any issues with the configuration, it is very probably because it is badly formated and is not readable by stegocute as a result. You can use a validator to check if your file is correctly formated.

Commands

  • up / down / left / right move around the interface
  • enter go to the selected item
  • backspace go back

Please note that if you have multiple RSS files, you can move around them with the left / right keys. If you want gamepad support, please use stegopad. For more information on the stegOS ecosystem, please visit this page.

Going further

Roadmap

The roadmap of what we're planning to implement is available in the issues pages.

Contribution

We're open to any contribution. Feel free to contact us, pull request, and so on!