Giter Site home page Giter Site logo

songbookagent's Introduction

Language grade: C/C++ Copr build status Windows Build Test building on macOS

Downloads
If you are looking for installers for Windows or macOS, please visit the Downloads section at https://openkj.org

Linux users can grab OpenKJ stable versions from flathub: https://flathub.org/apps/details/org.openkj.OpenKJ

If you would like to install Linux versions of the unstable builds, please refer to the OpenKJ documentation wiki.

Documentation can be found at https://docs.openkj.org

If you need help with OpenKJ, you can reach out to [email protected] via email.

OpenKJ

Cross-platform open source karaoke show hosting software.

OpenKJ is a fully featured karaoke hosting program. A few features:

  • Save/track/load regular singers
  • Key changer
  • Tempo control
  • EQ
  • End of track silence detection (after last CDG draw command)
  • Rotation ticker on the CDG display
  • Option to use a custom background or display a rotating slide show on the CDG output dialog while idle
  • Fades break music in and out automatically when karaoke tracks start/end
  • Remote request server integration allowing singers to look up and submit songs via the web or mobile apps
  • Automatic performance recording
  • Autoplay karaoke mode
  • Lots of other little things

It currently handles media+g zip files (zip files containing an mp3, wav, or ogg file and a cdg file) and paired mp3 and cdg files. I'll be adding others in the future if anyone expresses interest. It also can play non-cdg based video files (mkv, mp4, mpg, avi) for both break music and karaoke.

Database entries for the songs are based on the file naming scheme. I've included the common ones I've come across which should cover 90% of what's out there. Custom patterns can be also defined in the program using regular expressions.

Requirements to build OpenKJ:

  • Qt 5.x
  • gstreamer 1.4 or above
  • spdlog
  • taglib

Linux

Build using cmake from the command line or in your IDE of choice

Mac

Building now works on OS X in Qt Creator using the native xcode compiler. Use the latest stable version of the GStreamer SDK from http://gstreamer.freedesktop.org.

Windows

Building now works on Windows in Qt Creator using the msvc build system (both 32 and 64 bit). Use the latest stable version of the GStreamer SDK from http://gstreamer.freedesktop.org. You will likely need to modify the paths in the OpenKJ.pro file to match your devel environment. Installers can be found at http://openkj.org/ if you just want to run the software and not build it yourself or help out with development.

songbookagent's People

Contributors

github-actions[bot] avatar ilightburn avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

songbookagent's Issues

Feature: OpenKJ Songbook - Latest Songs

OpenKJ Song Request App

Idea - Add button to see the latest additions to the song library

Features:

  1. Ability to specify how many of the latest songs to display - e.g. display the last 30 songs added to library.
  2. Ability to request songs from that specific section

Feature: OpenKJ Songbook - Current Song Queue

OpenKJ Song Request App

Idea - a button to show the current singers/song queue, so people can see who or what singers are in the queue, this could also be accompanied by an estimated wait time - this wait time will be different if requesting from a kiosk tablet vs their own smartphone - as the smartphone should be able to detect if they are already in the rotation and are just adding an additional song.

Features:

Option to display only singers names, only song names, or both.

Feature: OpenKJ Songbook - Most Requested Songs

OpenKJ Songbook Request App

Idea - Button to display the most requested songs per venue

Features:

  1. Ability to specify how many songs to display - e.g show the top 20 most requested songs for that venue.
  2. Ability to request that songs straight from that section

Feature Request: OpenKJ Songbook - Request Apps to give successful message

OpenKJ Songbook App
iOS, Android

At the moment when you submit a song, it just goes back to the main search screen, it doesn't give a 'Your song was submitted successfully' (or similar) message, so the patrons are sometimes unsure, and either submit it again (starting the same cycle) or come constantly ask.

Little thing, but could cause a bit of unnecessary drama.

Feature: OpenKJ Songbook - Top Karaoke Picks

OpenKJ Song Request App

Idea - Button to show the top karaoke picks, in case the singer needs some inspiration :)

Features:

  1. This will be a list created by the host
  2. Ability to specify if the list is global for all venues, or if its a list only for a specific venue

Feature: OpenKJ Songbook - Singers manage their own queue

OpenKJ Songbook App

Feature:

Give the singers the ability to manage their own songs from the app, be able to add or remove their songs at will, and change the order of them. This will only really be for users who use their smartphones to request, rather than the kiosk tablets. Unless you do something like Siglos Karaoke Professional does, where each user creates their own 'secret code' and use it whenever they go to the kiosk tablets to request/change songs.

Yeah what could possibly go wrong with that idea with drunk people ;)

So I think kiosk is exactly that, you come up, put a song in and thats in. Smartphone users, have more functionality to add/remove/reorder their songs.

However, without users having some sort of 'logon' from their smartphones, not quite sure how OpenKJ would be able to tell which singer is which, especially if the host renames a singer for one reason or another.

Perhaps some sort of UUID that is linked to each singer, and their corresponding smartphone?

Probably a pipe dream at the moment, but would be a cool feature to have.

I was at a gig the other night, where they were using KJams and the corresponding kiosk app, and it was actually pretty powerful. It shows the current rotation and all the singers names, you can tap yours and add more songs, remove songs and re-order your songs. It does prompt you for a password when you tap on a name, however no passwords were set, so people could change any singer's queue. I mean in reality, probably not an issue, but could be annoying for those idiots that would mess with other singers.

Feature: OpenKJ Songbook - In-App Ticker Message

OpenKJ Song Request App

Idea:

Customizable ticker message that scrolls across the bottom or top of the app, for things like:

Current Rotation, drink and food specials, birthday messages, etc

Features:

  1. Enable or Disable each type of message - e.g. enable all, only display current rotation and drink specials
  2. Option to configure when each type of message appears - e.g. show drink specials after every '2' current rotation scrolls ... insert a different type of message after each Current Rotation scroll . i.e. Current Rotation, Drink Specials, Current Rotation, Food Specials, Current Rotation, Birthday Message etc

Bug: OpenKJ Songbook - Saved Favourites error when file is replaced

Android & iOS

@coyote1357 As we discussed previously I had an issue when a singer had a song saved as a favourite, I then removed the song from my library and replaced it with a better version. The only difference in the filename is the discID and track#, the artist and title were identical.

When we spoke previously, you advised it doesn't look at the discID or track number for this, only artist and title. Then venue was either The Hamilton Hotel or Zi Bar and the song was Train - Drops of Jupiter.

Any update on this?

F4BDED77-2834-489B-AE6C-34E449BC007C

Bug : Android SongBook - Favorites broken

screenshot_20190224-154901_okj songbook

As per attached image - song actually is available and works OK when selected from Search.

Another problem in the App - after selecting a song from Search, the Submit dialog appears, if the singer name is changed and Enter is struck ( the Submit button is not tapped ) a request goes through without on-screen confirmation, but appears to be double requested when it reaches the Agent.

I notice also that the Search button no longer exists, so that will train users to use keyboard Enter ?

Otherwise all good - win64 stable from Feb13 seems good here.

JOC

Feature: OpenKJ Songbook - maximum number of requests

Maximum number of requests per singer, and per show

Ability for a host to set a limit on the number of requests that a Singer can have in the list.

Let's say you set the limit to 4. If a singer has 4 songs in the request list, and they try to submit another one, they will get a message saying they have hit the limit for the venue and need to sing one before adding another. As soon as they sing one song (meaning they only have 3 more in the list), they will then be able to add another request.

Note: this will not prevent them from using a kiosk tablet to enter more songs, unless you can think of a way to lock that down other than disabling song requests completely.

This will be for people using the app on their phones, and a mechanism needs to be created so openkj can determine which singer is which .... perhaps something like a UUID that is based on the phone itself, so even if they try to change their name, it won’t allow it if they have hit the limit

One step further from this is to also be able to set a nightly limit for the total number of song requests that can be submitted eg 60 songs .... once the limit is reached everyone will get a message saying the nightly limit has been reached and to please see the host.

Using both the per singer and nightly limit will assist the host a lot to make sure they’ll requests don’t overrun them.

There should also be an option to enable or disable a message on the ticker advising of the nightly limit has been reached.

Feature Request: OpenKJ Songbook - Kiosk Mode

I think it would be a great addition to have a kiosk mode for the Android an iOS apps.

Nothing fancy, just in settings a new entry called Kiosk Mode, in there is just a password/passcode field to set the password to exit kiosk mode, and a toggle button to run kiosk mode on.

When it’s in kiosk mode:

  1. it doesn’t keep the last singers name populated in the request fields

  2. If you try to access the settings menu, you are prompted for the exit password

This would allow hosts to use Android or iOS tablets with less issues as patrons can’t mess with it, and minimize the risk of drunks submitted songs under the previous singers name.

The current workarounds are:

  1. Use the web version - it doesn’t keep the previous singers name, however the webpage layout is really small on tablets and smartphones, so it’s a bit painful for drunks and people with vision impairment.

  2. Use the app version and cross your fingers :)

Feature: OpenKJ Songbook - Duplicate Song Options

Feature 1:

Prevent duplicate requests that are already in queue - if song is already in the rotation, in the search results it states “Already Requested” next to it, so users will be unable to request it again ... once the songs has been sang, it will become available again to request.

Feature 2:

Prevent duplicates for whole show (e.g. no duplicates will be requested in a single night) - if song is already in the rotation, in the search results it states “Already Requested” next to it, so users will be unable to request it again ... the song will be unavailable for request for the remainder of that show, unless entered manually by the host.

NOTE: this will require the introduction of a “new show” based function in OpenKJ - just like CompuHost, Siglos Karaoki etc have - #185 in OpenKJ issues

Bug: OpenKJ Songbook (Android) - Favorites don't work

Songs can be added to Favorites, but selecting them from there results in "Song Not Available" message.

My phone is a Galaxy S8 and the software says it was updated 17hrs ago (but I think it's been broken for me and others since Feb at least.)

JOC

Feature Request: OpenKJ Songbook Agent - Version Number

OpenKJ Songbook Agent - All Windows and Mac versions
Windows 10
Mac OS 10.13.6 and 10.14

Currently on both Windows and MacOS versions of the Songbook Agent, I can't find anywhere that displays the version number, so you can't what version you are running.

Feature: OpenKJ Songbook - Random Song Picker

OpenKJ song request app

Idea - have a button that selects a random song for the singer and asks if they wish to sing that one. This is good for singers who may lack inspiration or who just can't be bother deciding :)

Features:

Option to specify if it uses the entire library or if it only looks at a specific list that the host can create.

Improvement: OpenKJ Songbook Platform - Sorting Venues List

At the moment the list of venues is not sorting in alphabetical order, so in both the okjsongbook.com list and the dropdown box in the Request area in OpenKJ, the venues are out of order.

image

Could this please be sorted alphabetically in both the web UI and OpenKJ?

Feature Request: OpenKJ & Songbook Agent - Allow Exclusions for Remote Requests

OpenKJ
OpeKJ Songbook Agent
All versions

At the moment, when importing songs into OpenKJ, it allows you to add either a top level folder, with all the individual sub-folders within it, individual folders or a mix of both. The songbook agent doesn't have quite as much flexibility, and only allows you to specify a single folder to build the songbook from. You can opt to use the Import CSV option, however this could be hard to manage when exclusions and song additions and removals start happening.

It would be great to have the same importing functionality in both OpenKJ and the Songbook Agent, plus the ability to import items into the karaoke DB, but exclude them from being sent to the online songbook.

This could be useful for karaoke songs that you want in your DB, but do not want/need singers to see, such as traditional everyone sing-a-long songs like happy birthday or similar.

For the exclusion it could be something like a tree based display, where based on the folders you have added, there is a column 'Exclude from Remote Requests' and then a checkbox next to each of the folders. Tick the ones you do not wish to include in the remote requests songbook etc.

Feature Request: OpenJ Songbook - Host and Venue Branding

Not sure if this is already on the list, but it would be really great to be able to customise the message that displays to singers on the songbook page, so it can be tailored to the host and/or venue, and being able to either upload a logo for the host/company and also the venue.

Something like this:

image

Obviously there is a songbook UI upgrade planned for some stage in the future, however I thought this might be fairly straight forward to implement, whilst giving the UI a little bit of a facelift :)

Feature: OpenKJ Songbook - Estimated Wait Time In-App

OpenKJ Song Request App

Idea - Display a persistent estimated wait time (EWT) at the top or bottom of the app, showing roughly how long until their song will be up.

Features:

  1. Ability to disable or enable
  2. Ability to omit or include singers with empty queues from the estimation
  3. If included empty singers, you can use the same setting from OpenKJ to specify how many minutes gets assigned from an empty singer
  4. If submitting from a kiosk tablet, it doesn't know who the person is, so the EWT would only be able to be based upon how many songs are in the current rotation and the corresponding collective duration of those songs.
  5. If requesting from their own smartphone, you could have a unique identifier assigned behind the scenes that know what songs they have in their queue, and gives them and EWT to the next song, and EWT to the song they are submitting.

Feature Request: OpenKJ Songbook Agent - WAV support

OpenKJ - All Windows and Mac versions
Windows 10
Mac OS 10.13.6 and 10.14

This is related to #131 ..... songbook agent also just needs to allow non-zipped WAV (and other audio format) files to be imported.

Feature: OpenKJ Songbook - Custom/Themed Songlists for app

Feature:

Ability to create a custom/themed songbook to display on a given night or for specific venue, that is a selection of your main song library.

For example, you might want to run a theme night for Disney & Musicals, and only want to display those songs in the app for people to request.

Nothing happens to your main library, you simply have the function to create additional songbooks and select what you want to include, then when 'Update Remote DB' you can just select which songbook to upload for that venue.

NOTE: If removing or updating files from main library, there will need to be some sort of check to also update/clean additional songbooks for those changes.

NOTE: This is where a previous suggestion I logged regarding a new 'tags' based metadata system would be really helpful in building those additional songbooks. As you could filter on specific tags to quickly add what you need ... .e.g. show me all of my disney songs - add, then show me all of my musicals - add ... save additional songbook - 'Disney and Musicals'.

The tags request is #143 in OpenKJ issues list.

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.