Skip to content

Commit 7064872

Browse files
Full percussion support in UI
- Percussion channel is named in all supported languages and instruments are now disabling if percussion channel is selected.
1 parent 9e786b2 commit 7064872

10 files changed

Lines changed: 4093 additions & 4055 deletions

NeoBleeper/SettingsWindow.cs

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1447,9 +1447,18 @@ private void RefreshMidiOutputDevices()
14471447
label_channel.Enabled = true;
14481448
comboBox_midi_output_channel.SelectedIndex = TemporarySettings.MIDIDevices.MIDIOutputDeviceChannel;
14491449
comboBox_midi_output_channel.Enabled = true;
1450-
label_instrument.Enabled = true;
1451-
comboBox_midi_output_instrument.SelectedIndex = TemporarySettings.MIDIDevices.MIDIOutputInstrument;
1452-
comboBox_midi_output_instrument.Enabled = true;
1450+
if (TemporarySettings.MIDIDevices.MIDIOutputDeviceChannel != 9)
1451+
{
1452+
label_instrument.Enabled = true;
1453+
comboBox_midi_output_instrument.SelectedIndex = TemporarySettings.MIDIDevices.MIDIOutputInstrument;
1454+
comboBox_midi_output_instrument.Enabled = true;
1455+
}
1456+
else
1457+
{
1458+
label_instrument.Enabled = false;
1459+
comboBox_midi_output_instrument.Enabled = false;
1460+
comboBox_midi_output_instrument.SelectedIndex = -1; // Deselect instrument
1461+
}
14531462
}
14541463
else
14551464
{
@@ -1521,19 +1530,47 @@ private void checkBox_use_midi_output_CheckedChanged(object sender, EventArgs e)
15211530

15221531
private void comboBox_midi_output_devices_SelectedIndexChanged(object sender, EventArgs e)
15231532
{
1533+
if(comboBox_midi_output_devices.SelectedIndex < 0)
1534+
{
1535+
return; // No device selected or deselected due to no available devices
1536+
}
15241537
TemporarySettings.MIDIDevices.MIDIOutputDevice = comboBox_midi_output_devices.SelectedIndex;
15251538
MIDIIOUtils.ChangeOutputDevice(TemporarySettings.MIDIDevices.MIDIOutputDevice);
15261539
Logger.Log("MIDI output device selected: " + comboBox_midi_output_devices.SelectedItem.ToString(), Logger.LogTypes.Info);
15271540
}
15281541

15291542
private void comboBox_midi_output_channel_SelectedIndexChanged(object sender, EventArgs e)
15301543
{
1544+
if(comboBox_midi_output_channel.SelectedIndex < 0)
1545+
{
1546+
return; // No channel selected or deselected due to no available devices
1547+
}
15311548
TemporarySettings.MIDIDevices.MIDIOutputDeviceChannel = comboBox_midi_output_channel.SelectedIndex;
1532-
Logger.Log("MIDI output channel selected: " + comboBox_midi_output_channel.SelectedItem.ToString(), Logger.LogTypes.Info);
1549+
Logger.Log("MIDI output channel selected: Channel " + ((comboBox_midi_output_channel.SelectedIndex + 1) != 10 ?
1550+
(comboBox_midi_output_channel.SelectedIndex + 1).ToString() :
1551+
(comboBox_midi_output_channel.SelectedIndex + 1).ToString() + " (Percussion)"),
1552+
Logger.LogTypes.Info); // +1 to convert zero-based index to one-based channel number while logging
1553+
if (TemporarySettings.MIDIDevices.MIDIOutputDeviceChannel == 9) // Percussion channel
1554+
{
1555+
label_instrument.Enabled = false; // Disable the label
1556+
comboBox_midi_output_instrument.Enabled = false; // Disable instrument selection
1557+
comboBox_midi_output_instrument.SelectedIndex = -1; // Deselect instrument
1558+
Logger.Log("Percussion or sound effects channel selected; instrument selection disabled.", Logger.LogTypes.Info);
1559+
}
1560+
else
1561+
{
1562+
label_instrument.Enabled = true; // Enable the label
1563+
comboBox_midi_output_instrument.SelectedIndex = TemporarySettings.MIDIDevices.MIDIOutputInstrument;
1564+
comboBox_midi_output_instrument.Enabled = true; // Enable instrument selection
1565+
}
15331566
}
15341567

15351568
private void comboBox_midi_output_instrument_SelectedIndexChanged(object sender, EventArgs e)
15361569
{
1570+
if(comboBox_midi_output_instrument.SelectedIndex < 0)
1571+
{
1572+
return; // No instrument selected or deselected by percussion channel or no available devices
1573+
}
15371574
TemporarySettings.MIDIDevices.MIDIOutputInstrument = comboBox_midi_output_instrument.SelectedIndex;
15381575
MIDIIOUtils.ChangeInstrument(MIDIIOUtils._midiOut, TemporarySettings.MIDIDevices.MIDIOutputInstrument,
15391576
TemporarySettings.MIDIDevices.MIDIOutputDeviceChannel);

NeoBleeper/SettingsWindow.de.resx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@
159159
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
160160
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
161161
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAApE0AAAJNU0Z0AUkBTAIBARIB
162-
AAE4AQgBOAEIARIBAAESAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABSAMAAVoDAAEBAQABIAUAAUAB
162+
AAFIAQgBSAEIARIBAAESAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABSAMAAVoDAAEBAQABIAUAAUAB
163163
Zf8A/wB0AAMiATECZgFfAeUEAvgAAlIBUQGkAfIB1AGbAf8B9QHeAbMB/wH1Ad4BswH/AfUB3gGzAf8B
164164
9QHeAbMB/wH1Ad4BswH/AfUB3gGzAf8B5wHIAaAB/wHnAcgBoAH/AecByAGgAf8B5wHIAaAB/wHnAcgB
165165
oAH/AecByAGgAf8B5wHIAaAB/wHZAYwBKQH/FAADNQFVBAABEAHHAf4B/wgAARABxwH+Af8EAAM1AVUI
@@ -1283,7 +1283,7 @@ möglicherweise nur als kostenpflichtiger Dienst verfügbar. Bitte stellen Sie s
12831283
<value>Kanal 9</value>
12841284
</data>
12851285
<data name="comboBox_midi_output_channel.Items9" xml:space="preserve">
1286-
<value>Kanal 10</value>
1286+
<value>Kanal 10 (Schlagzeug)</value>
12871287
</data>
12881288
<data name="comboBox_midi_output_channel.Items10" xml:space="preserve">
12891289
<value>Kanal 11</value>

NeoBleeper/SettingsWindow.es.resx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
145145
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
146146
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAApE0AAAJNU0Z0AUkBTAIBARIB
147-
AAHMAQcBzAEHARIBAAESAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABSAMAAVoDAAEBAQABIAUAAUAB
147+
AAHcAQcB3AEHARIBAAESAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABSAMAAVoDAAEBAQABIAUAAUAB
148148
Zf8A/wB0AAMiATECZgFfAeUEAvgAAlIBUQGkAfIB1AGbAf8B9QHeAbMB/wH1Ad4BswH/AfUB3gGzAf8B
149149
9QHeAbMB/wH1Ad4BswH/AfUB3gGzAf8B5wHIAaAB/wHnAcgBoAH/AecByAGgAf8B5wHIAaAB/wHnAcgB
150150
oAH/AecByAGgAf8B5wHIAaAB/wHZAYwBKQH/FAADNQFVBAABEAHHAf4B/wgAARABxwH+Af8EAAM1AVUI
@@ -1126,7 +1126,7 @@ como servicio de pago. Asegúrese de que su clave API corresponda a una cuenta d
11261126
<value>Canal 9</value>
11271127
</data>
11281128
<data name="comboBox_midi_output_channel.Items9" xml:space="preserve">
1129-
<value>Canal 10</value>
1129+
<value>Canal 10 (Percusión)</value>
11301130
</data>
11311131
<data name="comboBox_midi_output_channel.Items10" xml:space="preserve">
11321132
<value>Canal 11</value>

0 commit comments

Comments
 (0)