If you auto-formatted your code you can see that in loop() you had all of the processing within the if (buttonState == 1) conditional. buttonState is 1 (HIGH) when the switch is open and so you immediately turned on the LED. When buttonState was 0 (LOW) you never turned the LED off because everything was within the if (buttonState == 1) conditional.
void loop() {
buttonState = digitalRead(buttonPin);
// status?
if (buttonState == 1) {
// switch closed
if (muteStatus == 0) {
// mute and light up LED
digitalWrite(ledPin, HIGH);
// send CC 85 on channel 2 with value 0 to mute
// mute group 6 on a Behringer X32
midiCc(2, 85, 0);
muteStatus = 1;
}
buttonState = digitalRead(buttonPin);
if (buttonState == 0) {
// switch open
if (muteStatus == 1) {
// unmute and dim LED
digitalWrite(ledPin, LOW);
// send CC 85 on channel 2 with value 127 to mute
// unmute group 6 on a Behringer X32
midiCc(2, 85, 127);
muteStatus = 0;
}
}
// workaround to prevent fluttering of button state
delay(10);
}
}