Code Monkey home page Code Monkey logo

cyma's Introduction

GithubBanner

Hi, my name is Luna. I'm an experimental musician, CS student, and I develop VST/CLAP plug-ins and websites. 99% of my repos are private, I may make some of them public once they are in a presentable state.

I'm working on logo_mini Cyma, a Rust library of controls and visualizers for VST/CLAP plugin UIs.

cyma's People

Contributors

223230 avatar magnetophon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

magnetophon

cyma's Issues

Feature request: gain reduction meter

As a reminder of our conversation on Discord:

For dynamics processors, it would be great to have a gain reduction meter.
A gain change meter, that can go up as well as down, would be even better.
This is since upward compressors and expanders dynamically add gain instead of reducing it.

I imagine it will be a line at 0dB, and an area when it goes above or below that.
Does that make sense?

Thanks again for this wonderful library!

Universal `Meter` and `Graph`

Currently, "*Graph" and "*Meter" views are planned for:

  • Peak volume
  • Loudness
  • Gain reduction

...and more may come in the future. The issue is that implementing these as seperate views will lead to a lot of code duplication as the logic behind different types of meters and graphs is largely identical - aside from the scaling of values.

So, maybe an abstract solution that is a bit more flexible would be better. Something like a universal Graph and Meter that can display peak volume, gain reduction, and anything else you throw at it, depending on the context. In the same vein, the scaling (linear/dB/freq/etc) should probably be handled using some ubiquitous scaling Enum that all visualizers can go on to use.

It's worth thinking about this as soon as possible as it would involve a major breaking change, especially as more views get added.

Use modifiers where applicable

Modifiers should be used in place of those parameters that are often left untouched or frequently set to a default. For example:

  • ValueScaling
  • Inversion (f.e. of peak graph, etc)
  • Orientation

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.