Giter VIP home page Giter VIP logo

kaleidoscope's Introduction

kaleidoscope's People

Contributors

dependabot[bot] avatar neverlink avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kaleidoscope's Issues

Seamless Looping

Could be built over #2

Video/MP3 Audio:

  • Find silence points in the use them as loop region

Gapless audio formats:

  • Loop points at the start and end

Fix progress bar / timecode glitch

Seems to happen when opening new videos with an instance already running, some player is either not killed off or the event attached to it keeps running

Override default video orientation

Override the default orientation for a video if a certain filename keyword is detected

  • i.e myvideo-horizontal.mp4 will display the video horizontally, even if the video in reality is rendered vertically.

Get FPS value

Get video.webkitDecodedFrameCount after first second, divide by currentTime and round the result

Alternative progressBar update

Currently updates as often as possible which is clunky.
Possibly create a linear animation with duration equal to (currentTime - duration) * playbackRate
Might require a custom slider element (currently using <input type=range>). Such an element would be useful for other features anyway

Load/save preferences via local storage

Extends #29

Deprecate preferences.json
Add flags like:

  • isFirstLaunch - whether to show welcome screen with helpful information
  • checkForUpdates - on launch, ping Gitub for new releases
  • allowSingleInstanceOnly - to replace the current session or open a new player

Update/log the last volume level, keybind preferences, etc.

Decide splitscreen orientation intelligently

        console.log(mainWindow.webContents.getOwnerBrowserWindow().getBounds());

        let display = screen.getPrimaryDisplay();
        let screenX = parseInt(display['size']['width'] * display['scaleFactor']);
        let screenY = parseInt(display['size']['height'] * display['scaleFactor']);

        let windowSize = mainWindow.getSize()
        windowX = windowSize[0];
        windowY = windowSize[1];

        // logic to decide splitscreen direction
        

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.