Giter Site home page Giter Site logo

fkat's People

Contributors

jakaarl avatar

Watchers

 avatar

fkat's Issues

Investigate tech stack options

For some POC stuff, Node.js/Express with Jade templates is fine. However, the choices aren't carved in stone. Options for the following should be explored and listed, with strengths and weaknesses:

  1. programming language
  2. web framework/library (MVC or such)
  3. web sockets (or whatever push technology we choose) library
  4. template engine and/or other UI tools and libraries
  5. other utility libraries (eg. ID3 tag support, audio streaming)

The ideal programming language for fKAT would be:

  • high-level, fKAT is not an OS or a device driver!
  • readable - concise is good, but readable is better!
  • productive (this is highly subjective)

Stretch goals:

  • interesting to use/learn
  • something familiar enough, but not too much so
  • the above two would kind of rule out Java, but...
  • static typing!!!!1111 (yes, this is why I'm not happy with JS)

Framework/library targets:

  • sufficiently abstract, with nice API for web sockets and whatever stuff we need
  • not Spring, I get to use that plenty (no hard feelings, I love Spring)

Display background picture

The presentation screen should (in addition to playing back music/sfx) show a background picture chosen from the keeper screen. Background picture should be changeable and change occur within a couple of seconds.

Implement music/effects library

  • should be able to store music/effect files or references to them (see corresponding prestudy issue)
    • removing, naming, possibly assigning "tags" or "labels"?

Playlist creation, editing and removal

  • should be able to create, store, restore and edit a play list of music/effects
    • playlist is an ordered list of music/effects from the library
    • playlist has a name, possibly "tags" or "labels", other metadata?

Play music/effects

Play music and/or sfx as controlled by the "keeper console". Sound should reflect what is done in the keeper console within a tolerable time (1-2 sec delay max?).

Enable "scenes" functionality

Introduce the concept of "scenes". A scene consists of a set of resources: a playlist of music collection or sound effects (with trigger button and/or hotkey), optional background picture (or a series of pictures). Keeper should be able to select and/or navigate scenes somehow.

Potential extra features:

  • randomization and looping of tracks and pictures
  • navigation (button and/or hotkey) of tracks and pictures
  • sound effects keyed to pictures?
  • branching "scene sequences"?

Simple music/effect player

  • should be able to listen to music/effects from the library
  • should be able to play, pause, move fwd/back a playlist

Library view / playlist edit screen mock-up

Make a mock-up screen which enables:

  • browsing the library
    • some sort of search/filter
  • browsing existing playlists
  • creating playlists
  • loading and editing playlists
  • saving playlists

Having a session store or such temporary solution is fine for "persisting" the playlist. Library can be hard-coded sample data for now.

Investigate options for music/effect library

Requirements:

  • library should be persisted, so that it can be "restored" at a later time
    • does not necessarily imply storing on server, could store references to local files?
    • if local storage proves difficult, server is OK - will head in that direction later anyway

Investigate push technologies

Investigate and possibly choose push technology for implementing the "keeper console" that controls the "presentation client".

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.