mirror of
https://github.com/eliasstepanik/VoicemeeterSliderControlCSharp.git
synced 2026-01-11 12:38:27 +00:00
Create README.md
This commit is contained in:
parent
982a5cc654
commit
cae64fd404
131
README.md
Normal file
131
README.md
Normal file
@ -0,0 +1,131 @@
|
||||
# Volume Control Voicemeeter C#
|
||||
|
||||
This project is based on deej and the Voicemeeter API.
|
||||
It enables you to control Voicemeeter with analog Arduino Input
|
||||
|
||||
## Installation
|
||||
|
||||
1.Use the Arduino IDE to upload this code to the Arduino.
|
||||
|
||||
```C
|
||||
const int NUM_SLIDERS = 11; //Edit based on the sliders you have.
|
||||
const int analogInputs[NUM_SLIDERS] = {A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10}; //Edit based on the sliders you have.
|
||||
|
||||
int analogSliderValues[NUM_SLIDERS];
|
||||
|
||||
void setup() {
|
||||
for (int i = 0; i < NUM_SLIDERS; i++) {
|
||||
pinMode(analogInputs[i], INPUT);
|
||||
}
|
||||
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
updateSliderValues();
|
||||
sendSliderValues(); // Actually send data (all the time)
|
||||
// printSliderValues(); // For debug
|
||||
delay(10);
|
||||
}
|
||||
|
||||
void updateSliderValues() {
|
||||
for (int i = 0; i < NUM_SLIDERS; i++) {
|
||||
float AverageTemperature = 0;
|
||||
int MeasurementsToAverage = 16;
|
||||
for(int r = 0; r < MeasurementsToAverage; ++r)
|
||||
{
|
||||
AverageTemperature += analogRead(analogInputs[i]);
|
||||
delay(1);
|
||||
}
|
||||
AverageTemperature /= MeasurementsToAverage;
|
||||
analogSliderValues[i] = AverageTemperature;
|
||||
}
|
||||
}
|
||||
|
||||
void sendSliderValues() {
|
||||
String builtString = String("");
|
||||
|
||||
for (int i = 0; i < NUM_SLIDERS; i++) {
|
||||
builtString += String((int)analogSliderValues[i]);
|
||||
|
||||
if (i < NUM_SLIDERS - 1) {
|
||||
builtString += String("|");
|
||||
}
|
||||
}
|
||||
|
||||
Serial.println(builtString);
|
||||
}
|
||||
|
||||
void printSliderValues() {
|
||||
for (int i = 0; i < NUM_SLIDERS; i++) {
|
||||
String printedString = String("Slider #") + String(i + 1) + String(": ") + String(analogSliderValues[i]) + String(" mV");
|
||||
Serial.write(printedString.c_str());
|
||||
|
||||
if (i < NUM_SLIDERS - 1) {
|
||||
Serial.write(" | ");
|
||||
} else {
|
||||
Serial.write("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
2. Download Autohotkey and run this script or use the pre compiled Version.
|
||||
```ahk
|
||||
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
|
||||
; #Warn ; Enable warnings to assist with detecting common errors.
|
||||
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
|
||||
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
|
||||
Run, VoicemeeterSliderControl.exe , , Hide
|
||||
|
||||
|
||||
#z::
|
||||
Process, Close, VoicemeeterSliderControl.exe
|
||||
|
||||
#u::
|
||||
Run, VoicemeeterSliderControl.exe , , Hide
|
||||
```
|
||||
|
||||
3. Put the AHK script in the same folder as the VoicemeeterSliderControl.exe file.
|
||||
4. Edit the Config.json to fit your needs!
|
||||
```json
|
||||
{
|
||||
"PortName":"COM3",
|
||||
"BaudRate":9600,
|
||||
"SliderSets":[
|
||||
{
|
||||
"Slider":0,
|
||||
"VoicemeeterValue":"Bus[0].Gain"
|
||||
},
|
||||
{
|
||||
"Slider":1,
|
||||
"VoicemeeterValue":"Bus[1].Gain"
|
||||
},
|
||||
{
|
||||
"Slider":2,
|
||||
"VoicemeeterValue":"Bus[2].Gain"
|
||||
},
|
||||
{
|
||||
"Slider":3,
|
||||
"VoicemeeterValue":"Strip[5].Gain"
|
||||
},
|
||||
{
|
||||
"Slider":4,
|
||||
"VoicemeeterValue":"Strip[6].Gain"
|
||||
},
|
||||
{
|
||||
"Slider":5,
|
||||
"VoicemeeterValue":"Strip[7].Gain"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||

|
||||
|
||||
5. Run it! When you run it, it starts automatically! (With Win+z and Win+u you can start or stop it.)
|
||||
### Contributing
|
||||
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
||||
|
||||
Please make sure to update tests as appropriate.
|
||||
|
||||
## License
|
||||
[MIT](https://choosealicense.com/licenses/mit/)
|
||||
Loading…
x
Reference in New Issue
Block a user