Code Monkey home page Code Monkey logo

havomi's People

Contributors

dependabot[bot] avatar ho0ber avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

jean-alves96

havomi's Issues

Add assignable media and other buttons

From discord:
I do think I'll make it possible to rebind the media buttons however you like at some point. We'll set up reasonable defaults, but then if someone really wants a media function (like putting next on the record button) it's easy to change.

That'll also allow folks to make better use of all of the assorted buttons that really only apply to use in a DAW and not for most our uses - I'll probably do the basics like "launch a file", "lock computer", "sleep", "quit" but then also add options for explicit ways to save and load config because I know that once I have a config set up I probably don't want to wipe it out because I bumped a config button. I'll just have an "auto-save" feature on by default, but make it easy to turn off and bind save/load options

Add Nanokontrol2 and Studio support

I need to actually go find my nk2 for this, ideally. Once the basic nk2 is done, then port the config to the sudio using the draft from discord

Add "Focus" Application

As I am looking for replacements to MIDI Mixer which unfortunately is abandoned, one feature that I really liked about it that would really help elevate Havomi is the ability to assign "Focus" to one of the sliders. This would affect the currently focused application's volume, allowing a quick way to always adjust the currently most important application, especially useful for gaming.

Add select light functionality

Currently select lights don't function.

Here's the intended behavior:
โ€ข When an application has live audio sessions, light the select light, otherwise off, even if a channel is assigned a target

Add mute functionality

Add basic mute functionality - currently none implemented at all.

This should be as simple as adding event handling and LED sync.

Add version-based releases

  • If branch == main
  • build as usual
  • if a release does not already exist for the version in the VERSION file, public artifact as a release
  • if tag is new, build and create release

Add periodic session checking/updating

While we can do smarter hooks eventually, the simpler approach for now is to periodically poll device volume channels.

The simple approach here is:

  1. Get a handle on the master device volume session to hold on to
  2. then, every X seconds, poll for all application volume sessions and just fire the raw data down the pipe
  3. In the event handler, compare active sessions to channel's target's sessions and set or unset a "dead" flag on channels to show if their sessions are dead?

Alter the "feedback" config element to better support non-parallel controls

The current "feedback: true/false" approach is a bit naive. Instead it should be "direction: in/out/both" or something similar, to allow a control to have different entries for input and output.

This might also be a good time to refactor the way status updates are pushed to the board - right now there are a lot of different methods called to update multiple stuff.

Add config file to save channel targets

Probably in AppData/Local - figure out the canonical way to do this in windows.

I'm imagining a YAML config much like the device configs:

channels:
    1:
        type: ApplicationVolume
        name: Spotify.exe
    2:
        type: DeviceVolume
        name: Master

Add a basic UI in the form of a system tray app

We're looking for a simple menu with only the following, initially:

  • Quit
  • Device file/device selection
  • "Auto-connect this device"
  • Fader assignments

In the future, we can add:

  • Fader assignments with icons
  • Color selection
  • Config file manual saving/loading
  • Channel naming

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.