Coder Social home page Coder Social logo

channels's People

Contributors

dependabot[bot] avatar jesse-mm avatar petervdn avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

channels's Issues

Change where events are dispatched

Currently all on the main instance, which results in that you have to check if it's an event that you are interested in (see if event.target is the one you are dealing with).

Probably move these events (volume, panning changes) to the place that is affected (the channel, for example)

Rename HasVolume / VolumeNodes

Not sure yet about a new name. Bus?

Was named like this because was primarily about volume (contains gain nodes) but now it contains:

  • panner node
  • optional effects

Related renames:

  • createVolumeNodesGraph
  • This can also maybe result in combining VolumeChangeEvent and PanningChangeEvent to the new name. (is already possible, but i dont like VolumeNodesEvent since it would exposes the irrelevant word VolumeNodes to the outside)

Implement custom effects

Users should be able to use effects, probably by setting them on a VolumeNodes instance. This will allow for effect to be set on channels and the main output.

Create publish scripts

At the moment, everything is done manually:

  • run tests
  • building
  • update version
  • tagging
  • commit
  • publish

Add eslint

Please add eslint to the repository.

npm i --save-dev @mediamonks/eslint-config @mediamonks/eslint-config-typescript

Add the following configuration to the package.json

"eslintConfig": {
  "overrides": [
    {
      "files": ["*.ts"],
      "parserOptions": {
        "project": "./tsconfig.json"
      },
      "extends": [
        "@mediamonks/eslint-config",
        "@mediamonks/eslint-config-typescript",
      ]
    }
  ]
},

Use @mediamonks/prettier-config

Install the @mediamonks/prettier-config dependency.

npm i --save-dev @mediamonks/prettier-config

Configure the prettier config in the package.json

"prettier": "@mediamonks/prettier-config",

Limit defaultPlayStopProps

These are now a combination of props for play() and stop() but not all of these make sense to use in that context (effects for example).

Add onComplete to play methods

Not sure yet how this should work, should there be a difference in a (non-looped) sound ending and a sound being stopped?

Test use-channels against correct Channels version

Right now, channels is built when publishing use-channels (otherwise the use-channels tests fail). Probably better to check out the referenced channels version to tests against that (or maybe even every valid version in semver range?)

Get rid of Channel type for optionalChannel param

Some methods (on main instance) accept a channel: string | Channel param but the Channel part is a bit useless, since if you have the reference you can probably do it easier by calling a similar method on that reference.

Add way to stop sounds immediately

Currently, playing sounds can have fadeOutTime set on the channel they are playing on. This for example affects the stopAll command, which should not be the case.

There probably should be an overrideFadeOuts or immediate (which defaults to true) param on the stopAll method, but not sure if there are more places where adjustments are needed.

Remove initialMuted prop

Seems like a useless prop, since you can set initialVolume to 0.

Also: rename initialVolume to volume

Implement loop points

This data probably needs to go in the data prop of ICreateSample (which is untyped atm).

Restructure test files

Currently, everthing lives in Channels.test.ts which makes it hard to keep track of everything. Probably split up and move into smaller case-based testfiles in a separate folder.

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.