kyabia

command module
v0.0.0-...-2c601b1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2019 License: MIT Imports: 27 Imported by: 0

README

Kyabia - Karaoke Video Arbiter

A simple wishlist system for Karaoke events. Provides a song database as well as a playlist for upcoming songs. The song database can be auto-filled by scraping video files from local directories.

Installation

Binary distribution

Attention: For scraping the video files, Kyabia uses ffmpeg - or to be more exact - the ffprobe command shipped together with ffmpeg. Make sure you have ffmpeg installed on your machine, before running Kyabia.

Just download the archive for your operating system and extract it to the directory of choice.
Kyabia can then directly be run from within that folder:

> ./kyabia

By default, it will search for a config.json file inside the current working directory. A good starting point for a configuration file is the config.json.tpl also contaied in the release archive.

User database

Until Kyabia gets a user database implementation, only one user can be defined from within the configuration file. This user is intended to be used by the Karaoke event host(s) in order to manage the playlist(s) and scan the video files.

Build from source

After cloning the repository via

git clone https://github.com/derWhity/kyabia.git

the software can directly be built by using the

go build

command from within the repository. Go will automatically download and compile all dependencies.

In order to have a working UI for Kyabia, the web UI should also be cloned from https://github.com/derWhity/kyabia-web and built according to its README.md. The resulting build from inside the dist folder then needs to be copied into a directory named ui residing in the same folder as the kyabia binary.

Notes

The Go gopher used as base for this project's logo was originally designed by Renee French and licensed as Creative Commons Attribution 3.0

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
ctxhelper
Package ctxhelper provides helper functions for working with the context
Package ctxhelper provides helper functions for working with the context
log
migrate
Package migrate handles SQL database migration for the internal Kyabia database
Package migrate handles SQL database migration for the internal Kyabia database
models
Package models contains the models used in the Kyabia application
Package models contains the models used in the Kyabia application
repos
Package repos contains the repository interfaces needed in Kyabia It exists to prevent circular dependencies between kyabia and the repo implementations
Package repos contains the repository interfaces needed in Kyabia It exists to prevent circular dependencies between kyabia and the repo implementations
repos/event/sqlite
Package sqlite provides an event repository that stores its data inside a SQLite database
Package sqlite provides an event repository that stores its data inside a SQLite database
repos/playlist/sqlite
Package sqlite contains a repository for playlists that stores its data inside a SQLite database
Package sqlite contains a repository for playlists that stores its data inside a SQLite database
repos/session/inmem
Package inmem provides a session repository that holds the session data in-memory
Package inmem provides a session repository that holds the session data in-memory
repos/user/inmem
Package inmem provides a user repository that works from memory.
Package inmem provides a user repository that works from memory.
repos/video/sqlite
Package sqlite provides a video repository that uses SQLite for storing video information
Package sqlite provides a video repository that uses SQLite for storing video information
scraper
Package scraper provides video file scraping functionality
Package scraper provides video file scraping functionality

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL