nexus-js / ui

NexusUI: Web Audio Interfaces
http://nexus-js.github.io/ui/
844 stars 130 forks source link

Envelope editor with synced, fixed and frozen points #102

Open Nogbit opened 7 years ago

Nogbit commented 7 years ago

I have a backlog of items I would like to add to the Envelope editor. I can create separate issues for each of these if you like, but with so many the bigger question is how they impact the options.points array etc. These features are coming from this screenshot of my ADSR editor I've built. screenshot_2017-10-22_00-35-40

I can work on this and would like to do it before #101

Nogbit commented 7 years ago

Actually, syncing on X I can see being relevant as well in some use cases. So the points obj could look like the following once the features in my description above are implemented. I went with frozen here as that seems intuitive when also having the ability to freeze the add/remove of points.

points [
  {
    x: 1,
    y: 2,
    frozen: false,
    synced: [
      {
        index: 3
        x: true
        y: false
      }, {
        ... another point to sync this point with... 
      }
    ]
  }
]
mscottnelson commented 6 years ago

@Nogbit, do you have any outstanding MRs you'd like to make related to these features? If so, they would be welcome!

Nogbit commented 6 years ago

thanks for asking, I moved on to a different project so I no longer need this

starfishmod commented 6 years ago

I am trying to do something similar. As an extension to this I would like to be able to set the x/y min/max values to constrain the points in a certain area - which could work having fixed points?