diff --git a/MIDIModificationFramework b/MIDIModificationFramework
index 2d966bd..de0b6fe 160000
--- a/MIDIModificationFramework
+++ b/MIDIModificationFramework
@@ -1 +1 @@
-Subproject commit 2d966bdfb03d5ebf53e4ddd04a13b0203b03f080
+Subproject commit de0b6fe3835612838d815b86263c4b06abce8a5c
diff --git a/OmniConverter/Directory.Build.props b/OmniConverter/Directory.Build.props
index fe625ad..9774105 100644
--- a/OmniConverter/Directory.Build.props
+++ b/OmniConverter/Directory.Build.props
@@ -1,5 +1,5 @@
- 1.0.0.37
+ 1.0.0.51
\ No newline at end of file
diff --git a/OmniConverter/Extensions/Audio/Renderers/BASSRenderer.cs b/OmniConverter/Extensions/Audio/Renderers/BASSRenderer.cs
index 056501b..24bd70c 100644
--- a/OmniConverter/Extensions/Audio/Renderers/BASSRenderer.cs
+++ b/OmniConverter/Extensions/Audio/Renderers/BASSRenderer.cs
@@ -296,7 +296,7 @@ public override bool SendCustomFXEvents(int channel, short reverb, short chorus)
public override void SendEvent(byte[] data)
{
var status = data[0];
- var param1 = data[1];
+ var param1 = data.Length >= 2 ? data[1] : 0;
var param2 = data.Length >= 3 ? data[2] : 0;
int eventParams;
@@ -307,14 +307,17 @@ public override void SendEvent(byte[] data)
case MIDIEventType.NoteOn:
if (reference.CachedSettings.Event.FilterVelocity && param2 >= reference.CachedSettings.Event.VelocityLow && param2 <= reference.CachedSettings.Event.VelocityHigh)
return;
+
if (reference.CachedSettings.Event.FilterKey && (param1 < reference.CachedSettings.Event.KeyLow || param1 > reference.CachedSettings.Event.KeyHigh))
return;
+
eventParams = param2 << 8 | param1;
break;
case MIDIEventType.NoteOff:
if (reference.CachedSettings.Event.FilterKey && (param1 < reference.CachedSettings.Event.KeyLow || param1 > reference.CachedSettings.Event.KeyHigh))
return;
+
eventParams = param1;
break;
@@ -339,7 +342,7 @@ public override void SendEvent(byte[] data)
break;
default:
- BassMidi.StreamEvents(Handle, MidiEventsMode.Raw, data, data.Length);
+ BassMidi.StreamEvents(Handle, MidiEventsMode.Raw | MidiEventsMode.NoRunningStatus, data, data.Length);
return;
}
diff --git a/OmniConverter/Extensions/Audio/Renderers/FluidSynthRenderer.cs b/OmniConverter/Extensions/Audio/Renderers/FluidSynthRenderer.cs
index 90e64a6..599943e 100644
--- a/OmniConverter/Extensions/Audio/Renderers/FluidSynthRenderer.cs
+++ b/OmniConverter/Extensions/Audio/Renderers/FluidSynthRenderer.cs
@@ -223,22 +223,21 @@ public override void SendEvent(byte[] data)
{
case MIDIEventType.SystemMessageStart:
{
- string sysexbuf = string.Empty;
+ byte[] refactor = new byte[data.Length - 2];
+ byte[] dummy = new byte[refactor.Length];
- foreach (byte ch in data)
- sysexbuf += $"{ch:X}";
-
- try
- {
- if (handle.Sysex(data, null, false))
- Debug.PrintToConsole(Debug.LogType.Message, $"SysEx parsed! >> {sysexbuf}");
- }
- catch
+ for (int i = 1; i < data.Length - 1; i++)
+ refactor[i - 1] = data[i];
+
+ if (!handle.Sysex(refactor, 0, refactor.Length, dummy, 0, dummy.Length))
{
+ string sysexbuf = string.Empty;
+
+ foreach (byte ch in refactor)
+ sysexbuf += $"{ch:X}";
Debug.PrintToConsole(Debug.LogType.Error, $"Invalid SysEx! >> {sysexbuf}");
}
-
}
return;
diff --git a/OmniConverter/Extensions/MIDI/MIDI.cs b/OmniConverter/Extensions/MIDI/MIDI.cs
index 91f8ae3..8fae257 100644
--- a/OmniConverter/Extensions/MIDI/MIDI.cs
+++ b/OmniConverter/Extensions/MIDI/MIDI.cs
@@ -165,6 +165,7 @@ public static List> GetMetaEvents(IEnumerable
-
+
diff --git a/OmniConverter/Forms/SettingsWindow.axaml.cs b/OmniConverter/Forms/SettingsWindow.axaml.cs
index 7678daa..fcf357b 100644
--- a/OmniConverter/Forms/SettingsWindow.axaml.cs
+++ b/OmniConverter/Forms/SettingsWindow.axaml.cs
@@ -194,6 +194,7 @@ private void AudioRendererChanged(object? sender, SelectionChangedEventArgs e)
switch ((EngineID)SelectedRenderer.SelectedIndex)
{
case EngineID.BASS:
+ case EngineID.FluidSynth:
BASS_MaxVoices.Value = Program.Settings.Synth.MaxVoices;
BASSSettingsPanel.IsVisible = true;
diff --git a/nfluidsynth b/nfluidsynth
index 6a5835b..0bc2a56 160000
--- a/nfluidsynth
+++ b/nfluidsynth
@@ -1 +1 @@
-Subproject commit 6a5835bd1afdc14f8f2def051d8250e6e755cd1f
+Subproject commit 0bc2a56ee063d0155c3c2ec1d252df27823f778d