ho0ber / havomi Goto Github PK
View Code? Open in Web Editor NEWHardware Volume Mixer
License: GNU General Public License v3.0
Hardware Volume Mixer
License: GNU General Public License v3.0
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
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
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.
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 basic mute functionality - currently none implemented at all.
This should be as simple as adding event handling and LED sync.
also maybe a save-lock feature so you don't mess up a config you like
Probably can just do this with the menu instead
This probably means switching out of MC mode OR switching to ignore most input data from the pitchwheel inputs.
for instance mod pitch by 128 unless it == min or max
This is a little annoying, but not totally crazy.
Just like assign_mod, but for altering saved channel colors
While we can do smarter hooks eventually, the simpler approach for now is to periodically poll device volume channels.
The simple approach here is:
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.
The XTE uses the knobs at the top to allow the user to pick the audio session. I want to do the same in the XTM, but they are already the main volume knobs, so that won't work without making a modifier button alter their behavior temporarily.
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
Probably put this in the wiki and add a link to the readme?
When running a .scr, havomi doesn't work.
Add support for feedback = true in shared buttons to simply light them
Depends on #4
Was getting this a lot when recklessly scrolling through sessions with knobs. Shouldn't be an issue for normal use.
This can be addressed by not grabbing the master audio session with each knob spin.
Here's more on the issue: AndreMiras/pycaw#19
We're looking for a simple menu with only the following, initially:
In the future, we can add:
Mute status changes don't seem to trigger an update to the lights
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.