diff --git a/OmniMIDI/Resource.aps b/OmniMIDI/Resource.aps index ddc09ba3..850c0dab 100644 Binary files a/OmniMIDI/Resource.aps and b/OmniMIDI/Resource.aps differ diff --git a/OmniMIDI/Resource.rc b/OmniMIDI/Resource.rc index 96f80e9c..0ec09ef9 100644 Binary files a/OmniMIDI/Resource.rc and b/OmniMIDI/Resource.rc differ diff --git a/OmniMIDI/SoundFontLoader.h b/OmniMIDI/SoundFontLoader.h index 16d1bf38..6471188c 100644 --- a/OmniMIDI/SoundFontLoader.h +++ b/OmniMIDI/SoundFontLoader.h @@ -78,7 +78,7 @@ static BOOL FontLoader(LPWSTR in_path) { { PrintMessageToDebugLog("NewSFLoader", "Initializing SoundFont..."); HSOUNDFONT SF = BASS_MIDI_FontInit(in_path, - BASS_UNICODE | BASS_MIDI_FONT_NOLIMITS | BASS_MIDI_FONT_MMAP | + BASS_UNICODE | BASS_MIDI_FONT_MMAP | (ManagedSettings.AudioRampIn ? BASS_MIDI_FONT_NORAMPIN : 0) | (ManagedSettings.LinAttMod ? BASS_MIDI_FONT_LINATTMOD : 0) | (ManagedSettings.LinDecVol ? BASS_MIDI_FONT_LINDECVOL : 0) | @@ -289,12 +289,12 @@ static BOOL FontLoader(LPWSTR in_path) { { PrintSoundFontToDebugLog(CurrentSF->Path, "Initializing SoundFont..."); HSOUNDFONT font = BASS_MIDI_FontInit(CurrentSF->Path, - BASS_UNICODE | BASS_MIDI_FONT_NOLIMITS | BASS_MIDI_FONT_MMAP | + BASS_UNICODE | BASS_MIDI_FONT_MMAP | (CurrentSF->XGBankMode ? BASS_MIDI_FONT_XGDRUMS : NULL) | - (ManagedSettings.AudioRampIn ? BASS_MIDI_FONT_NORAMPIN : 0) | - (ManagedSettings.LinAttMod ? BASS_MIDI_FONT_LINATTMOD : 0) | - (ManagedSettings.LinDecVol ? BASS_MIDI_FONT_LINDECVOL : 0) | - (ManagedSettings.NoSFGenLimits ? BASS_MIDI_FONT_NOLIMITS : 0)); + (ManagedSettings.AudioRampIn ? BASS_MIDI_FONT_NORAMPIN : NULL) | + (ManagedSettings.LinAttMod ? BASS_MIDI_FONT_LINATTMOD : NULL) | + (ManagedSettings.LinDecVol ? BASS_MIDI_FONT_LINDECVOL : NULL) | + (ManagedSettings.NoSFGenLimits ? BASS_MIDI_FONT_NOLIMITS : NULL)); if (!font) { PrintSoundFontToDebugLog(CurrentSF->Path, "An error has occurred while initializing the SoundFont."); @@ -312,8 +312,6 @@ static BOOL FontLoader(LPWSTR in_path) { CurrentSF->DestinationBankLSB }; - - if (ManagedSettings.PreloadSoundFonts && CurrentSF->Preload) { PrintSoundFontToDebugLog(CurrentSF->Path, "Preloading SoundFont..."); #if defined(_M_IX86) diff --git a/OmniMIDIConfigurator/OmniMIDIConfigurator/App.config b/OmniMIDIConfigurator/OmniMIDIConfigurator/App.config index 9a4b2e74..91ff110d 100644 --- a/OmniMIDIConfigurator/OmniMIDIConfigurator/App.config +++ b/OmniMIDIConfigurator/OmniMIDIConfigurator/App.config @@ -1,15 +1,15 @@ - + -
+
-
+
- + @@ -23,10 +23,10 @@ 0 - + - + choose @@ -41,10 +41,10 @@ True - + - + False @@ -136,16 +136,16 @@ - - + + - - + + - - + + diff --git a/OmniMIDIConfigurator/OmniMIDIConfigurator/Extensions/OM/Functions.cs b/OmniMIDIConfigurator/OmniMIDIConfigurator/Extensions/OM/Functions.cs index e0bf9353..787740f7 100644 --- a/OmniMIDIConfigurator/OmniMIDIConfigurator/Extensions/OM/Functions.cs +++ b/OmniMIDIConfigurator/OmniMIDIConfigurator/Extensions/OM/Functions.cs @@ -142,6 +142,7 @@ public SettingStruct(string S, int V) new SettingStruct ("Extra8Lists", 0), new SettingStruct ("FastHotkeys", 1), new SettingStruct ("FollowDefaultAudioDevice", 0), + new SettingStruct ("TGTSpeedHack", 0x3B9ACA00), new SettingStruct ("GetEvBuffSizeFromRAM", 0), new SettingStruct ("HyperPlayback", 0), new SettingStruct ("IgnoreNotesBetweenVel", 0), @@ -175,7 +176,9 @@ public SettingStruct(string S, int V) new SettingStruct ("VolumeMonitor", 0), new SettingStruct ("XASamplesPerFrame", 88), new SettingStruct ("XASPFSweepRate", 15), - new SettingStruct ("FastLibs", 0) + new SettingStruct ("XASPFSweepRate", 15), + new SettingStruct ("LinAttMod", 0), + new SettingStruct ("LinDecVol", 0) }; public static string GetProcessorArchitecture() diff --git a/OmniMIDIConfigurator/OmniMIDIConfigurator/Forms/OM/MainWindow.Designer.cs b/OmniMIDIConfigurator/OmniMIDIConfigurator/Forms/OM/MainWindow.Designer.cs index d32f63bf..6a5349ad 100644 --- a/OmniMIDIConfigurator/OmniMIDIConfigurator/Forms/OM/MainWindow.Designer.cs +++ b/OmniMIDIConfigurator/OmniMIDIConfigurator/Forms/OM/MainWindow.Designer.cs @@ -148,7 +148,7 @@ private void InitializeComponent() this.Set.Location = new System.Drawing.Point(4, 24); this.Set.Name = "Set"; this.Set.Padding = new System.Windows.Forms.Padding(3); - this.Set.Size = new System.Drawing.Size(826, 505); + this.Set.Size = new System.Drawing.Size(826, 506); this.Set.TabIndex = 1; this.Set.Text = "Settings"; this.Set.UseVisualStyleBackColor = true; @@ -257,7 +257,7 @@ private void InitializeComponent() // toolStripStatusLabel1 // this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; - this.toolStripStatusLabel1.Size = new System.Drawing.Size(687, 17); + this.toolStripStatusLabel1.Size = new System.Drawing.Size(718, 17); this.toolStripStatusLabel1.Spring = true; this.toolStripStatusLabel1.Text = " "; // diff --git a/OmniMIDIConfigurator/OmniMIDIConfigurator/OmniMIDIConfigurator.csproj b/OmniMIDIConfigurator/OmniMIDIConfigurator/OmniMIDIConfigurator.csproj index 92382064..b66b130f 100644 --- a/OmniMIDIConfigurator/OmniMIDIConfigurator/OmniMIDIConfigurator.csproj +++ b/OmniMIDIConfigurator/OmniMIDIConfigurator/OmniMIDIConfigurator.csproj @@ -9,7 +9,7 @@ WinExe OmniMIDIConfigurator OmniMIDIConfigurator - v4.6.2 + v4.8 512 true true diff --git a/OmniMIDIConfigurator/OmniMIDIConfigurator/Properties/Settings.Designer.cs b/OmniMIDIConfigurator/OmniMIDIConfigurator/Properties/Settings.Designer.cs index 9027d453..2854b1a4 100644 --- a/OmniMIDIConfigurator/OmniMIDIConfigurator/Properties/Settings.Designer.cs +++ b/OmniMIDIConfigurator/OmniMIDIConfigurator/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace OmniMIDIConfigurator.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.6.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/25e5fc92-d11c-4d66-8222-2dfff2a10e2d.vsidx b/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/25e5fc92-d11c-4d66-8222-2dfff2a10e2d.vsidx deleted file mode 100644 index 686db9e1..00000000 Binary files a/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/25e5fc92-d11c-4d66-8222-2dfff2a10e2d.vsidx and /dev/null differ diff --git a/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/2f97c64f-02bc-4c5d-b525-0335236f3fca.vsidx b/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/2f97c64f-02bc-4c5d-b525-0335236f3fca.vsidx new file mode 100644 index 00000000..e6bd4f2e Binary files /dev/null and b/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/2f97c64f-02bc-4c5d-b525-0335236f3fca.vsidx differ diff --git a/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/6c1348fa-16e3-4530-9c59-5541b3625bea.vsidx b/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/6c1348fa-16e3-4530-9c59-5541b3625bea.vsidx deleted file mode 100644 index 2d0b4fc0..00000000 Binary files a/OmniMIDIDriverRegister/.vs/OmniMIDIDriverRegister/FileContentIndex/6c1348fa-16e3-4530-9c59-5541b3625bea.vsidx and /dev/null differ diff --git a/OmniMIDIDriverRegister/OmniMIDIDriverRegister/OmniMIDIDefaultDialog.cs b/OmniMIDIDriverRegister/OmniMIDIDriverRegister/OmniMIDIDefaultDialog.cs index f0eb5271..64a09b92 100644 --- a/OmniMIDIDriverRegister/OmniMIDIDriverRegister/OmniMIDIDefaultDialog.cs +++ b/OmniMIDIDriverRegister/OmniMIDIDriverRegister/OmniMIDIDefaultDialog.cs @@ -20,7 +20,7 @@ private void KSDefaultDialog_Load(object sender, EventArgs e) private void RD_Click(object sender, EventArgs e) { - Program.Register(false); + Program.Register(); /* if (Environment.Is64BitOperatingSystem) @@ -37,7 +37,7 @@ private void RD_Click(object sender, EventArgs e) private void UnRD_Click(object sender, EventArgs e) { - Program.Unregister(false); + Program.Unregister(); /* if (Environment.Is64BitOperatingSystem) diff --git a/OmniMIDIDriverRegister/OmniMIDIDriverRegister/Program.cs b/OmniMIDIDriverRegister/OmniMIDIDriverRegister/Program.cs index bbaef7cf..3e05ee01 100644 --- a/OmniMIDIDriverRegister/OmniMIDIDriverRegister/Program.cs +++ b/OmniMIDIDriverRegister/OmniMIDIDriverRegister/Program.cs @@ -69,16 +69,12 @@ static void Main(string[] args) return; case "/register": - Register(false); - return; case "/registerv": - Register(true); + Register(); return; case "/unregister": - Unregister(false); - return; case "/unregisterv": - Unregister(true); + Unregister(); return; case "/rmidimap": RegisterMidiMapper(true, false); @@ -137,7 +133,7 @@ public static void ShowMessage(bool IsSilent, String Text, String Title, Message MessageBox.Show(Text, String.Format("OmniMIDI R/U Tool ~ {0}", Title), MessageBoxButtons.OK, TypeOfError); } - public static void Register(bool IsSilent /*, String WhichBit, RegistryKey WhichKey */) + public static void Register(/* bool IsSilent, String WhichBit, RegistryKey WhichKey */) { if (!RestartAsAdminIfRequired()) return; @@ -148,7 +144,7 @@ public static void Register(bool IsSilent /*, String WhichBit, RegistryKey Which Process P; SI.FileName = String.Format(@"{0}\{1}", Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "rundll32.exe"); - SI.Arguments = String.Format("OmniMIDI.dll,DriverRegistration RegisterDrv{0}", IsSilent ? "S" : String.Empty); + SI.Arguments = "OmniMIDI.dll,DriverRegistration RegisterDrv"; P = Process.Start(SI); P.WaitForExit(); @@ -189,7 +185,7 @@ public static void Register(bool IsSilent /*, String WhichBit, RegistryKey Which */ } - public static void Unregister(bool IsSilent /*, String WhichBit, RegistryKey WhichKey */) + public static void Unregister(/* bool IsSilent, String WhichBit, RegistryKey WhichKey */) { if (!RestartAsAdminIfRequired()) return; @@ -200,7 +196,7 @@ public static void Unregister(bool IsSilent /*, String WhichBit, RegistryKey Whi Process P; SI.FileName = String.Format(@"{0}\{1}", Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "rundll32.exe"); - SI.Arguments = String.Format("OmniMIDI.dll,DriverRegistration UnregisterDrv{0}", IsSilent ? "S" : String.Empty); + SI.Arguments = "OmniMIDI.dll,DriverRegistration UnregisterDrv"; P = Process.Start(SI); P.WaitForExit(); diff --git a/OmniMIDIv2/BASSSynth.cpp b/OmniMIDIv2/BASSSynth.cpp index cb31e1b0..1ac6197e 100644 --- a/OmniMIDIv2/BASSSynth.cpp +++ b/OmniMIDIv2/BASSSynth.cpp @@ -209,49 +209,27 @@ bool OmniMIDI::BASSSynth::LoadFuncs() { for (int i = 0; i < sizeof(BLibImports) / sizeof(BLibImports[0]); i++) { - ptr = (void*)GetProcAddress(BAudLib->Ptr(), BLibImports[i].GetName()); - if (ptr) - { - BLibImports[i].SetPtr(ptr); + if (BLibImports[i].SetPtr((void*)GetProcAddress(BAudLib->Ptr(), BLibImports[i].GetName()))) continue; - } - ptr = (void*)GetProcAddress(BMidLib->Ptr(), BLibImports[i].GetName()); - if (ptr) - { - BLibImports[i].SetPtr(ptr); + if (BLibImports[i].SetPtr((void*)GetProcAddress(BMidLib->Ptr(), BLibImports[i].GetName()))) continue; - } switch (Settings->AudioEngine) { case WASAPI: - ptr = (void*)GetProcAddress(BWasLib->Ptr(), BLibImports[i].GetName()); - if (ptr) - { - BLibImports[i].SetPtr(ptr); + if (BLibImports[i].SetPtr((void*)GetProcAddress(BWasLib->Ptr(), BLibImports[i].GetName()))) continue; - } break; case ASIO: - ptr = (void*)GetProcAddress(BAsiLib->Ptr(), BLibImports[i].GetName()); - if (ptr) - { - BLibImports[i].SetPtr(ptr); + if (BLibImports[i].SetPtr((void*)GetProcAddress(BAsiLib->Ptr(), BLibImports[i].GetName()))) continue; - } break; } if (BVstLib->IsOnline()) - { - ptr = (void*)GetProcAddress(BVstLib->Ptr(), BLibImports[i].GetName()); - if (ptr) - { - BLibImports[i].SetPtr(ptr); + if (BLibImports[i].SetPtr((void*)GetProcAddress(BVstLib->Ptr(), BLibImports[i].GetName()))) continue; - } - } } return true; @@ -274,7 +252,7 @@ bool OmniMIDI::BASSSynth::UnloadFuncs() { return false; for (int i = 0; i < sizeof(BLibImports) / sizeof(BLibImports[0]); i++) - BLibImports[i].SetPtr(nullptr); + BLibImports[i].SetPtr(); return true; } diff --git a/OmniMIDIv2/NtFuncs.h b/OmniMIDIv2/NtFuncs.h index 6b27bab3..31f2cce2 100644 --- a/OmniMIDIv2/NtFuncs.h +++ b/OmniMIDIv2/NtFuncs.h @@ -17,7 +17,7 @@ namespace NT { Funcs() { ntdll = GetModuleHandleA("ntdll"); - if (ntdll) { + if (!ntdll) { // ... How? LL = true; ntdll = LoadLibraryA("ntdll"); diff --git a/OmniMIDIv2/SynthMain.h b/OmniMIDIv2/SynthMain.h index 4a0f5937..f07c27d0 100644 --- a/OmniMIDIv2/SynthMain.h +++ b/OmniMIDIv2/SynthMain.h @@ -109,7 +109,23 @@ namespace OmniMIDI { void SetName(const char* pfuncname) { funcname = pfuncname; } const char* GetName() { return funcname; } - void SetPtr(void* pfuncptr) { *(funcptr) = pfuncptr; } + bool SetPtr(void* pfuncptr = (void*)-1){ + if (!pfuncptr) + return false; + + if ((size_t)pfuncptr == -1) + { + *(funcptr) = nullptr; + return true; + } + else { + if (pfuncptr != *(funcptr)) + *(funcptr) = pfuncptr; + } + + return true; + } + void* GetPtr() { return *(funcptr); } };