Coder Social home page Coder Social logo

bpm's People

Contributors

allcontributors[bot] avatar dependabot[bot] avatar greyscaled avatar updownupdown avatar vapurrmaid avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

bpm's Issues

[LIB] Add setter to BPM

Description & Context

While immutable patterns are often desirable, I find myself wanting to access the BPM methods without having to construct a new object

Add eslint with a11y

Will need a base config that's extended with react stuff for the react pkg. Likely something along these lines:

{
  "root": true, // in root dir
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:import/errors",
    "plugin:import/typescript",
    "plugin:react/recommended", // react-app only
    "plugin:react-hooks/recommended", // react-app only
    "plugin:jsx-a11y/recommended" // react-app only
  ],
  "env": {
    "browser": true, // react-app only
    "node": true // lib only
  },
  "rules": {
    "@typescript-eslint/explicit-function-return-type": "off",
    "@typescript-eslint/no-unused-vars": "error",
    "@typescript-eslint/no-use-before-define": "off",
    "import/prefer-default-export": "off",
    "import/no-default-export": ["error"]
  }
}

lib/ should probably just be

{
  "extends": "../.elintrc",
  "env": {
    "node": true
  }
}

Add meta tags (OG etc)

Tasks

  • fb open graph tags
  • twitter tags
  • general meta description/author tags
  • seo tags etc

Improve beeper colours

  1. don't show a colour when the clicktrack is not playing
  2. the shades of blue are hard to distinguish on some lower-resolution mobile devices

Add favicon

Can be used in (but not limited to):

  • favicon
  • OG/meta tags etc (create sep issue)
  • README(s) (create sep issue and use a screenshot or gif)
  • repository image/icon (create sep issue)

Update deploy action to run on react-app releases

Description & Context

Right now, the deploy script runs on each change to master. While this is convenient, it means the deployed app is usually out of sync with the latest release.

Eventually, the latest release tag should be added to the frontend and it should be synchronized with actual releases.

Implement press-n-hold ability for bpm buttons

Having to click the decrease/increase buttons more than a handful of times is a poor UX. Instead, the buttons should be able to continuously update the BPM while they are in the pressed state.

Improve performance

On lower-end mobile devices, synth sounds sometimes "pop", likely due to performance implications

[FEAT] Drop A Track

Description & Context

It's often desirable to analyze an existing piece of music for it's BPM. We could allow an 'analysis' mode that:

  • requires the metronome to be off
  • analyzes an audio file
  • if a BPM can be determined, the beat's calculator displays its metrics
    • otherwise, displays a human-friendly message that the BPM was unable to be determined

Add volume slider

I was looking over sheet music and wanted to use the BPM app (the song is tricky to keep track of, very fast arpeggios), but the sound is super loud even when I have Spotify on max, making is impossible to use. I'd add a slider at the bottom to control volume, defaults to 65% or something like that so it doesn't look like it's fully centered and a decorative element.

Fix tagging/release scheme

Tags

  • @vapurrmaid/bpm@
  • @vapurrmaid/bpm-react-app@

Tasks

  • replace old tags with new ones
  • update GH releases
  • update release/automation scripts

Cleanup metronome.ts

  • refactor module into class
  • improve callback functionality
    • add an interface and give more context/info to the callback fns
  • fix how the internal metronome modulus works - 2 successive "even" numbers (1-2-3-4-0) 4 and 0

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.