Hydrogenaudio Forums

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: deus-ex on 2013-01-16 11:14:39

Title: foo_midi
Post by: deus-ex on 2013-01-16 11:14:39
Hi Kode54,

I was checking out the newly introduced ADLmidi emulator lately and I have a few comments/suggestions:

1. Suggestion to rearrange the foo_midi decoder configuration page in order gain more space for the FM patch drop down list, thus the entire FM patch strings are readable.
    I.e. exchange the location of the BASSMIDI and MUNT options with ADLmidi options. This way the width of the FM patch drop down list can be greatly increased.

2. Shouldn't the ADLmidi options be grayed out unless ADLmidi is the selected output plug-in?

3. Suggestion to sort the FM patch entries in alphabetical order, i.e. sort first by AIL, OP3, SB, TMB, Bisqwit, then by the game titles.
    Even better would be to have a list made of the game titles only, omitting the leading AIL, OP3, SB etc.. This list would be alphabetical sorted, showing only one game title per row which makes it quite easier to find a particular game entry.

4. Could an logic be implemented to predefine which FM patch is to be used for certain MIDI files? Like via an optional setting stored to the foobar playlist, or a config file (like <soundfont>.sflist) stored with the MIDI files.

5 AIL (Star Control 3, Albion, Empire 2, Sensible Soccer, Settlers 2, many others) = standard bank: This was the default patch file used in the AIL/MSI setup distributions (Fatman.opl).
   I suggest to add "default" in front of the game titles (default, Albion, Empire 2, ...). Also was used for the game Time Commando (developer of Little Big Adventure).

6. AIL (Kasparov's Gambit) = file15: This was also used for the game GateWorld.


Q1: Shall I provide you with additional FM patches currently not available in Foo_MIDI?
Q2: What is the file programs.txt used for? Does it belong to the recently added FMmidi emulator?

BTW, the Foo_MIDI component download page still holds a reference for FluidSynth to be built-in. And the link to the GIT hub is missing.
Title: foo_midi
Post by: kode54 on 2013-01-17 01:53:45
[quote author=deus-ex link=msg=820858 date=1358334879]1. Suggestion to rearrange the foo_midi decoder configuration page in order gain more space for the FM patch drop down list, thus the entire FM patch strings are readable.
    I.e. exchange the location of the BASSMIDI and MUNT options with ADLmidi options. This way the width of the FM patch drop down list can be greatly increased.[/quote]
I'll look into this.

[quote author=deus-ex link=msg=820858 date=1358334879]2. Shouldn't the ADLmidi options be grayed out unless ADLmidi is the selected output plug-in?[/quote]
And this.

[quote author=deus-ex link=msg=820858 date=1358334879]3. Suggestion to sort the FM patch entries in alphabetical order, i.e. sort first by AIL, OP3, SB, TMB, Bisqwit, then by the game titles.
    Even better would be to have a list made of the game titles only, omitting the leading AIL, OP3, SB etc.. This list would be alphabetical sorted, showing only one game title per row which makes it quite easier to find a particular game entry.[/quote]
And this. You can take a look at my adlmidi repository (https://github.com/kode54/adlmidi) and poke around in gen_adldata.cc, to see how to reorder the banks. Please do note that the Bisqwit 51 bank is hard coded to assume the instrument numbers that come from inserting all 51 of the previous banks in the exact order they're already in. The instruments are pruned for duplicates as they are inserted.

[quote author=deus-ex link=msg=820858 date=1358334879]4. Could an logic be implemented to predefine which FM patch is to be used for certain MIDI files? Like via an optional setting stored to the foobar playlist, or a config file (like <soundfont>.sflist) stored with the MIDI files.[/quote]
I can look into this, but it does sound complicated, like I would need to define how certain settings can be stored in tag presets. I would probably implement it as something that is inserted into the tag database and read back on file open, and provide context menu options to save the current playback settings to the file, load settings from the file, and also clear the tagged settings.

[quote author=deus-ex link=msg=820858 date=1358334879]5 AIL (Star Control 3, Albion, Empire 2, Sensible Soccer, Settlers 2, many others) = standard bank: This was the default patch file used in the AIL/MSI setup distributions (Fatman.opl).
   I suggest to add "default" in front of the game titles (default, Albion, Empire 2, ...). Also was used for the game Time Commando (developer of Little Big Adventure).[/quote]
Yes, and I also included another copy of the Fat Man set, both 2 and 4 operator versions, as bundled with Skunny 32-bit, among those OP3 sets. Yes, the generator does label that bank as a "standard" GM bank.

[quote author=deus-ex link=msg=820858 date=1358334879]6. AIL (Kasparov's Gambit) = file15: This was also used for the game GateWorld.[/quote]
You're welcome to add that to the generator, or I can add it.

[quote author=deus-ex link=msg=820858 date=1358334879]Q1: Shall I provide you with additional FM patches currently not available in Foo_MIDI?[/quote]
That would be great. If they're in formats already supported by the gen_adldata.cc in that repository, you only need to supply the bank files and information about them. If they're in different formats, it would be helpful if you could supply the format information so I can more easily write translators for them. Or you can write your own translators.

The preferred data order a translator needs to load to is, first, 11 bytes of instrument data per 2 operator voice, in this register order:

{0x20,0x23,0x60,0x63,0x80,0x83,0xE0,0xE3,0x40,0x43,0xC0};

Optionally, a semitone finetune offset per 2 operator voice.

Then, applying to the whole instrument, be it two operator, coupled two operator, or four operator, an optional note number. Per Miles banks, the note number is treated as a positive offset if in the range of 0 - 19, a fixed note if 20 - 127, or a negative offset of 128 or greater. (Negative is applied as wanted note - offset - 128.)

It is best that the banks be supplied in their original format, or at least the smallest extracted files that contain them, with instructions or C++ code for extracting them from those files as necessary. See gen_adldata.cc, it contains a bunch of LoadSomeFormat() functions, which take relative paths to the bank files, bank numbers, and bank name prefixes, and load the data into the big table of instruments and instrument map.

[quote author=deus-ex link=msg=820858 date=1358334879]Q2: What is the file programs.txt used for? Does it belong to the recently added FMmidi emulator?[/quote]
Yes, it's for fmmidi, which was lifted with very little modification from this program (http://milkpot.sakura.ne.jp/fmmidi/). The synthesizer does not actually appear to be designed after any particular FM chip, but rather implements a high level four operator sine wave based FM synthesizer, which is designed around a synthesizer class, containing instances of a channel class, which creates FM note generators from a note generator factory class. At initialization, the synthesizers are assigned a single note generator, and the instrument presets are loaded into the note generator.

[quote author=deus-ex link=msg=820858 date=1358334879]BTW, the Foo_MIDI component download page still holds a reference for FluidSynth to be built-in. And the link to the GIT hub is missing.[/quote]
Fixed.
Title: foo_midi
Post by: deus-ex on 2013-01-17 10:40:56
Thank you for the update and taking my suggestions into account.

You can take a look at my adlmidi repository (https://github.com/kode54/adlmidi) and poke around in gen_adldata.cc

I already looked into bisqwit's adlmidi source before raising this thread, mainly to be able to read the entire FM patch strings.

I can look into this, but it does sound complicated, like I would need to define how certain settings can be stored in tag presets. I would probably implement it as something that is inserted into the tag database and read back on file open, and provide context menu options to save the current playback settings to the file, load settings from the file, and also clear the tagged settings.

1. I understand this is not trivial to implement, thus my alternative suggestion was to just use a simple text file. Upon loading a MIDI file foo_midi would need to check if such an text file, e.g. by the (hardcoded?) file name foo_mid.fmlst, does exist and load a predefined FM patch accordingly overriding current Foo_MIDI preferences. Each entry simply would look like this:

Code: [Select]
descent.mid, intmelo.bnk
credits.mid, rickmelo.bnk
...

2. In order to derive the internal FM patch filenames a meta field containing the currently used FM patch could be made available, which would be accessible from the file properties dialog upon playback . And/or simply provide the FM patch filenames in a documentation for the foo_midi plug-in.

3. Speaking of documentation I created one myself which I include in the foo_midi archive made available on MODLAND. Please have a look and let me know your thoughts, corrections, rejections and what not.
If you think it is good enough to be included with your main distribution please fell free to do so.

Code: [Select]
MIDI Synthesizer Host, for Foobar2000 v1.1x
(c) Chris Moeller, http://kode54.foobar2000.org
https://github.com/kode54/foo_midi/commits/master
https://github.com/kode54/adlmidi
Emu de MIDI alpha by Mitsutaka Okazaki, VST Plug-in Technology by Steinberg.


Adds decoding support for General MIDI files and RIFF MIDI files as well as several
proprietary MIDI formats.


Plays through either one of the following:

· Emu de MIDI, a built-in "Chip tune"-like synthesizer (default).
   Does not require any soundfont.

· BASSMIDI, a BASS.DLL extension included with the plugin.
   Supports SF2 soundfonts. Additional soundfonts may be defined with a text file
   named <filename>.SFLIST, to be stored in the soundfonts folder. The text file
   is assumed to be UTF-8 encoded unless it contains an UTF-16LE byte order marker.
   You may copy the soundfont file names from Explorer and paste them into any
   unicode capable text editor (e.g. Notepad). The first defined soundfont is the
   base font, any following soundfonts add or replace instruments of the base font.

· Super MUNT GM, a built-in MT-32 emulator.
   Requires the PCM and control ROMs for either MT-32 or CM-32L to be located in
   the directory configured in preferences. The emulator will automatically be used
   to play any MIDI file containing MT-32 system exclusive messages, you don't need
   to select MUNT from the synthesizer list. Selecting MUNT only has an effect when
   playing non-MT-32 files in which case it automatically uploads a General MIDI
   emulation instrument set and enables an extended channel and polyphony mode to
   support the full 16 MIDI channels as well as 256 voices worth of polyphony.

· ADL MIDI, a built-in OPL3 emulator.
   Supports four-operator mode (FM synthesis) for playback of the proprietary MIDI
   formats AIL = Miles Sound System (MSI), DMX (Doom MIDI Extension), HMI (Human
   Machine Interfaces) and Creative IBK. Several built-in FM patches from a number
   of known PC games are selectable from the MIDI decoder configuration page.

· FM MIDI, a built-in Frequency Modulation emulator.
   Does not require any soundfont.

· VST instrument host.
   Plays through VST instruments installed to %programfiles%\Steinberg\VstPlugins,
   e.g. Edirol Hyper Canvas DXi VSTi. VST Instrument support requires a path to be
   configured in the Advanced section of Foobar2000's preferences before opening
   the regular MIDI decoder configuration page. It is recommended to only include
   instruments you may wish to use in this directory.


Supported formats:
.GMF .HMI, .HMP, .KAR, .LDS, .MDS, .MID, .MIDS, .MUS, .RMI, .XMI


Q1: Btw, the drop down list still isn't wide enough preventing several strings from being fully visible, so why not use the full width of the MIDI preferences screen?

Q2: What does the adlmidi setting Chips exactly do?

Q3: What do you think of my suggestion to omit leading text AIL, OP3, SB etc from the drop down list and provide an alphabetical sorted list just made of the game titles, showing one title per row/entry only? Each entry would be linked internally to the appropriate FM patch. Do you think it is feasible and convenient? If so I could edit the file gen_adldata.cc accordingly and send it to you.

Q4: Thankfully you often provide the latest release of bassmidi.dll with foo_midi (where do you get it from?). Then again included bass.dll is rather old, v2.4.7 from 2012-10-02. Is this for a reason? Btw, latest release of bass.dll I could get hold of is v2.4.9.16 from 2012-12-18.
Title: foo_midi
Post by: kode54 on 2013-01-17 21:01:23
[quote author=deus-ex link=msg=820971 date=1358419256]1. I understand this is not trivial to implement, thus my alternative suggestion was to just use a simple text file.[/quote]
I actually find the tag database easier to work with than searching for settings files on disk. The hard part is actually going to be interfacing a settings preset into the input. It would probably just involve either translating the global settings into a preset of variables, with overrides read from a binary tag structure.

You may be right that it would be a good idea to store a string or substring name for the bank, as the bank names and order could change. Well, maybe not. I was thinking that any bank additions would simply be appended to the existing list. Names could change, but bank numbers will not.

The new sorted bank list stuffs the bank numbers and their names into a list, then sorts it by the names. The configuration stores the internal bank number, not the sorted bank number.

[quote author=deus-ex link=msg=820971 date=1358419256]3. Speaking of documentation I created one myself which I include in the foo_midi archive made available on MODLAND. Please have a look and let me know your thoughts, corrections, rejections and what not.
If you think it is good enough to be included with your main distribution please fell free to do so.[/quote]
Cool, let's see here.

[quote author=deus-ex link=msg=820971 date=1358419256]· FM MIDI, a built-in Frequency Modulation emulator.
  Does not require any soundfont.[/quote]
Currently requires the programs.txt file, which is bundled. I may add an option to configure an alternate presets file, or even include an editor based on the one in fmmidi.

[quote author=deus-ex link=msg=820971 date=1358419256]· VST instrument host.
  Plays through VST instruments installed to %programfiles%\Steinberg\VstPlugins,
  e.g. Edirol Hyper Canvas DXi VSTi. VST Instrument support requires a path to be
  configured in the Advanced section of Foobar2000's preferences before opening
  the regular MIDI decoder configuration page. It is recommended to only include
  instruments you may wish to use in this directory.[/quote]
The program files path is misleading, as it no longer supports automatically reading VST instruments from that path. It explicitly requires a path to be configured before it will search for any instruments. It is not advised to use a path which will include too many DLL files, as it searches the entire path recursively, and a path containing a lot of files could take a long time to process.

[quote author=deus-ex link=msg=820971 date=1358419256]Q1: Btw, the drop down list still isn't wide enough preventing several strings from being fully visible, so why not use the full width of the MIDI preferences screen?[/quote]
Sure, I could do that.

[quote author=deus-ex link=msg=820971 date=1358419256]Q2: What does the adlmidi setting Chips exactly do?[/quote]
That controls how many emulated OPL3 chips are used per instance of the synthesizer. Each OPL3 chip supports 18 voices in 2 operator mode, but are actually configured for 4 voices in 4 operator mode and 10 voices in 2 operator mode. This limits the total polyphony of the synthesizer, depending on the types of instruments used.

4 operator instruments use 4 operator voices. 2 operator instruments use 2 operator voices. Pseudo 4 operator instruments (really pairs of 2 operator voices) like DMX banks use pairs of 2 operator voices.

And then full panning mode doubles the chip count and uses one set of chips for the left channel and another for the right channel.

[quote author=deus-ex link=msg=820971 date=1358419256]Q3: What do you think of my suggestion to omit leading text AIL, OP3, SB etc from the drop down list and provide an alphabetical sorted list just made of the game titles, showing one title per row/entry only? Each entry would be linked internally to the appropriate FM patch. Do you think it is feasible and convenient? If so I could edit the file gen_adldata.cc accordingly and send it to you.[/quote]
Actually, separate/multiple individual titles per bank should probably be handled separate from gen_adldata.cc, or at least separately from the original bank list. It should be handled as a separate list, indexed with bank numbers and game/bank titles. It could also be pre-sorted in some arbitrary order.

I think the original bank list should remain as it is, or at least in the same order, so that Bisqwit 51 still works without modification. Or you can reorder things and remake that bank.

Quote
Q4: Thankfully you often provide the latest release of bassmidi.dll with foo_midi (where do you get it from?). Then again included bass.dll is rather old, v2.4.7 from 2012-10-02. Is this for a reason? Btw, latest release of bass.dll I could get hold of is v2.4.9.16 from 2012-12-18.

I usually get it from http://un4seen.com/stuff/bassmidi.zip (http://un4seen.com/stuff/bassmidi.zip). As for BASS itself, I don't actually use many of the features of BASS, and I hadn't known there was a new version to update to.
Title: foo_midi
Post by: deus-ex on 2013-01-18 00:07:25
The program files path is misleading, as it no longer supports automatically reading VST instruments from that path.

Right, I understand. I got that bit of information from the foo_midi component download page here on Hydrogenaudio. Looks like that page requires some more maintenance.
Here's the updated documentation for your convenience.

Code: [Select]
MIDI Synthesizer Host, for Foobar2000 v1.1x
(c) Chris Moeller, http://kode54.foobar2000.org
https://github.com/kode54/foo_midi/commits/master
https://github.com/kode54/adlmidi
Emu de MIDI alpha by Mitsutaka Okazaki, VST Plug-in Technology by Steinberg.


Adds decoding support for General MIDI files and RIFF MIDI files as well as several
proprietary MIDI formats.


Plays through either one of the following:

· Emu de MIDI, a built-in "Chip tune"-like synthesizer (default).
   Does not require any soundfont.

· BASSMIDI, a BASS.DLL extension included with the plugin.
   Supports SF2 soundfonts. Additional soundfonts may be defined with a text file
   named <filename>.SFLIST, to be stored in the soundfonts folder. The text file
   is assumed to be UTF-8 encoded unless it contains an UTF-16LE byte order marker.
   You may copy the soundfont file names from Explorer and paste them into any
   unicode capable text editor (e.g. Notepad). The first defined soundfont is the
   base font, any following soundfonts add or replace instruments of the base font.

· Super MUNT GM, a built-in MT-32 emulator.
   Requires the PCM and control ROMs for either MT-32 or CM-32L to be located in
   the directory configured in preferences. The emulator will automatically be used
   to play any MIDI file containing MT-32 system exclusive messages, you don't need
   to select MUNT from the synthesizer list. Selecting MUNT only has an effect when
   playing non-MT-32 files in which case it automatically uploads a General MIDI
   emulation instrument set and enables an extended channel and polyphony mode to
   support the full 16 MIDI channels as well as 256 voices worth of polyphony.

· ADL MIDI, a built-in OPL3 emulator.
   Supports four-operator mode (FM synthesis) for playback of the proprietary MIDI
   formats AIL = Miles Sound System (MSI), DMX (Doom MIDI Extension), HMI (Human
   Machine Interfaces) and Creative IBK. Several built-in FM patches from a number
   of known PC games are selectable from the MIDI decoder configuration page.

· FM MIDI, a built-in Frequency Modulation emulator.
   Requires the file programs.txt, included with the plugin.

· VST instrument host.
   Plays through VST instruments, e.g. Edirol Hyper Canvas DXi VSTi. Requires a
   path to be configured in the Advanced section of Foobar2000's preferences BEFORE
   opening the regular MIDI decoder configuration page. Because the entire path is
   searched recursively it is recommended to only include instruments you may wish
   to use in this directory. A path containing a lot of files may take a long time
   to process.


Supported formats:
.GMF .HMI, .HMP, .KAR, .LDS, .MDS, .MID, .MIDS, .MUS, .RMI, .XMI


I usually get it from http://un4seen.com/stuff/bassmidi.zip (http://un4seen.com/stuff/bassmidi.zip)

Ah, I see. I didn't have this ZIP file on my radar, I was only checking for updates of the EXE/DLL files in Ian's stuff folder. Bassmidi.dll was updated recently (2012-12-28), too.

And here (http://www.hydrogenaudio.org/forums/index.php?showtopic=98935&view=findpost&p=821059) is a small archive containing a few FM patches currently not available in adlmidi.
Title: foo_midi
Post by: Nahkranoth on 2013-02-20 14:39:44
Hi kode54!

I'd like to request such a thing:


If midi file is detected as XG then (if available) use Yamaha S-YXG50 .dll for playback (as in case with MT-32 midi files).

It's quite a hassle to switch between different player plugins as for now.

Title: foo_midi
Post by: kode54 on 2013-02-26 04:06:29
I'm sorry, Dave, I'm afraid I can't do that.

Perhaps you can be satisfied with preset saving. Configure the synthesizer you want to use, select all the MIDI files you want it to be used with, then right click and select Save synthesizer preset, under the Utilities submenu. Remove preset will restore the selected files to using the configured default synthesizer.
Title: foo_midi
Post by: Nahkranoth on 2013-02-26 07:44:40
I'm sorry, Dave, I'm afraid I can't do that.

Perhaps you can be satisfied with preset saving. Configure the synthesizer you want to use, select all the MIDI files you want it to be used with, then right click and select Save synthesizer preset, under the Utilities submenu. Remove preset will restore the selected files to using the configured default synthesizer.


That's even better in my case  Thanks a bunch!
Title: foo_midi
Post by: kolen734 on 2013-04-08 07:03:31
Hello.

I just installed and trying to use this plugin.
When I try to open *.kar file I get "Unable to open item for playback (Unsupported file format):" message.
Am I missing anything? Could you please direct me to more information about this plugin?

Thanks in advance.
Title: foo_midi
Post by: kode54 on 2013-04-28 07:19:40
Yeah, I fixed that. Stupid of me to amend the change log without actually applying the necessary changes.
Title: foo_midi
Post by: Ligushka on 2013-05-09 06:23:54
After updating to 1.209 automatically through foobar (1.2.6), I get: Failed to load DLL: foo_midi.dll, reason: The specified procedure could not be found. 

The same appears after trying to manually install the plugin again.
Title: foo_midi
Post by: kode54 on 2013-05-09 19:01:30
It would help if you could use this (http://www.dependencywalker.com/) to indicate which libraries it is missing. Besides shared.dll and apparently ieshims.dll. It should be located under %appdata%\foobar2000\user-components\foo_midi, or under the same user-components directory inside the foobar2000 directory if you are using a portable installation.
Title: foo_midi
Post by: Ligushka on 2013-05-09 19:12:26
According to Dependency Walker, only SHARED.DLL and IESHIMS.DLL are missing for me.
Title: foo_midi
Post by: grimes on 2013-10-16 17:19:58
I want to report a bug with new foo_midi 1.215.
In nearly all of my midi files the last seconds were cut off during playback.
foobar2000 1.2.9, Win7
Title: foo_midi
Post by: kode54 on 2013-10-16 18:08:19
This should be fixed with 1.216.
Title: foo_midi
Post by: romor on 2013-10-20 19:46:03
Hello.

I just installed and trying to use this plugin.
When I try to open *.kar file I get "Unable to open item for playback (Unsupported file format):" message.
Am I missing anything? Could you please direct me to more information about this plugin?

Thanks in advance.


Kode54, is this really fixed, as I get error while playing karaoke midis, with latest to date, and prior version of foo_midi?
MidiBar and everything else that supports midis, plays them fine

This is the error I get in console:

Code: [Select]
Opening track for playback: "G:\income\media\karaoke\Necu_Necu_Dijamante.kar"
on_endofplayback
Decoding failure at 0:00.000 (Unsupported format or corrupted file):
"G:\income\media\karaoke\Necu_Necu_Dijamante.kar"
Title: foo_midi
Post by: kode54 on 2013-10-21 03:26:20
Then it is obviously not just a renamed .MID file.
Title: foo_midi
Post by: romor on 2013-10-22 05:02:20
for example: http://freemidis.net/midi/Ekv/Krug.rar (http://freemidis.net/midi/Ekv/Krug.rar)
Title: foo_midi
Post by: kode54 on 2013-10-22 05:18:42
That file works here.

Are you sure you even have basic MIDI support working? If you have BASSMIDI selected but no working SoundFonts configured, it will pop that decode error on file start. The same goes for using MUNT or an MT-32 MIDI file without the MT-32 or CM32-L patches configured.
Title: foo_midi
Post by: romor on 2013-10-22 06:02:24
That was it. I use Windows bassmidi driver that you and mudlord prepare and wasn't aware that it has no impact on foo_midi settings, where bassmidi groupbox was set in the past to now non-existing soundfont. So, not even regular midis were playable, which I assumed it's not the case.

Sorry
Title: foo_midi
Post by: kode54 on 2013-10-22 10:59:48
Yeah, foobar2000 components can't really use system synthesizers, because they usually direct their own audio output to the system in real-time. foobar2000 inputs need to be able to generate sample data internally, and on demand.

Actually, foo_midi came out before the drivers did.

Tip: If you want to keep foo_midi in sync with the SoundFont settings you use with the driver, point it to C:\Windows\bassmidi.sflist for port A, or C:\Windows\bassmidi_b.sflist for port B.
Title: foo_midi
Post by: n99 on 2013-10-25 23:03:36
Huge error in the latest update. I guess you changed the bass DLL and triggered its inbuilt anti-tampering mechanism.

It now gives this message: "This file has been tampered with and MAY BE INFECTED BY A VIRUS!"

This stops foobar2000 from working.

Title: foo_midi
Post by: kode54 on 2013-10-26 01:00:08
Update it again.
Title: foo_midi
Post by: johnsonlam on 2013-10-27 11:25:01
Just want to report ver 1.223 still have some MID file report as invalid, they can be played in my last version (should be 3 months ago).
Title: foo_midi
Post by: kode54 on 2013-10-27 12:49:59
I had a little problem with my new range checking code. I repeatedly made backwards range comparisons of if ((end - it) > the_size) return fail;, instead of checking < the_size. I caught most of them before committing the final work, but missed one in the Standard MIDI track processor, where it handles System Exclusive messages. Fixed now.
Title: foo_midi
Post by: Shuttleforce on 2013-10-27 13:09:46
johnsonlam's post me too...
I can not play MIDI files of some v1.223 update later
(http://imgz.co.za/images/2013/10/27/foomidibug.png)
Title: foo_midi
Post by: kode54 on 2013-10-27 13:34:42
You just missed the post where I said I fixed that with v1.224.
Title: foo_midi
Post by: Shuttleforce on 2013-10-27 13:50:10
You just missed the post where I said I fixed that with v1.224.

ThankYou! Kode54
Title: foo_midi
Post by: Melchior on 2013-11-06 00:16:47
Hey Kode is the VSTi search path:
{Preferences-->Advanced-->Midi Decoder-->VSTi search path:}

Is that Absolute or relative path or will it take either?
loi  =D

I am having no luck with quick Google searches for MUNT or BASSMIDI...
I found forum posts...  but what am I looking for...
Title: foo_midi
Post by: kode54 on 2013-11-07 03:58:26
The search path is absolute. I can try to make it relative to the profile path later, if you insist.

MUNT: MT-32 / CM-32L simulator library.
BASSMIDI: Ian Luck's SoundFont MIDI synthesizer library, an extension to his existing BASS sound library.
Title: foo_midi
Post by: Melchior on 2013-11-07 19:00:52
The search path is absolute. I can try to make it relative to the profile path later, if you insist.

MUNT: MT-32 / CM-32L simulator library.
BASSMIDI: Ian Luck's SoundFont MIDI synthesizer library, an extension to his existing BASS sound library.


Thanks for the Info Kode54  =D 

well it could hurt to have it function both ways as an added improvement to your already amazing extensions ;D

are there packages of either type that don't require install.... loi I kinda already have a installed Midi Player called

- Yamaha soft-synthesizer s-yxg50 (http://img97.echo.cx/img97/1341/softsynth14or.png)

the college I was at had it on all the PCs and I grabbed a copy years later...
I never was able to find out where the wave tables were stored though..... anyway I have been following your work with foo_midi so I can listen to the hand full of midi files I have from those college days (2001-2002, lol only had floppy discs back then so no way I could do MP3s lol) from within  Foobar2000 =D


Title: foo_midi
Post by: kode54 on 2013-11-07 22:59:45
If you locate a handy copy of the S-YXG50 VSTi, hopefully modified to support non-Yamaha VSTi hosts, you can use it with this component.
Title: foo_midi
Post by: Melchior on 2013-11-08 18:55:14
If you locate a handy copy of the S-YXG50 VSTi, hopefully modified to support non-Yamaha VSTi hosts, you can use it with this component.


ooh O_o Cool hopeful there is some out there somewhere...
Title: foo_midi
Post by: johnsonlam on 2013-11-16 01:26:38
I had a little problem with my new range checking code. I repeatedly made backwards range comparisons of if ((end - it) > the_size) return fail;, instead of checking < the_size. I caught most of them before committing the final work, but missed one in the Standard MIDI track processor, where it handles System Exclusive messages. Fixed now.


I've double checked, problem gone, thank you!
Title: foo_midi
Post by: n99 on 2015-07-22 21:46:23
foobar2000 says this MIDI file is corrupted, but it plays fine in other players (MPC-HC for example): http://keygenmusic.net/music/phrozencrew/P...izerXP1.0nfo.7z (http://keygenmusic.net/music/phrozencrew/PHROZENCREW-CustomizerXP1.0nfo.7z)
Title: foo_midi
Post by: kode54 on 2015-07-23 04:02:07
Contains a bunch of MT-32 SysEx messages that claim it's an MT-32 file, so you'll need to install some MT-32 control/PCM ROMs (or CM32-L).
Title: foo_midi
Post by: ELP on 2015-09-22 21:17:05
Hello kode54,

Foo-Midi 1.245

SYSEX dumps for MUNT is now broken.
External dump  &  for mt32 MIDI files that already include SYSEX dump

(Crash location:
Module: foo_midi
Offset: 3CA48h)


foo-midi 1.243 works fine


Greetings

EDIT:
PS
At your Git, I just saw that there was some MUNT changes within 1.244.
I do not have this version, so i can´t test this.
Maybe the error refers at these changes!?

- Version is now 1.244
- Fix MUNT by updating to the latest version and correcting how its API is used

-         _synth->playSysex( start, sequence_end - start + 1 );
+         _synth->playSysexNow( start, sequence_end - start + 1 );

etc.pp

As i said, foo-midi 1.243 MUNT and SYSEX dumps works fine.
Title: foo_midi
Post by: kode54 on 2015-09-23 02:01:52
Please let me know if this build fixes it for you:

http://kode54.foobar2000.org/foo_midi.fb2k-component (http://kode54.foobar2000.org/foo_midi.fb2k-component)
Title: foo_midi
Post by: ELP on 2015-09-23 10:13:48
Please let me know if this build fixes it for you:

http://kode54.foobar2000.org/foo_midi.fb2k-component (http://kode54.foobar2000.org/foo_midi.fb2k-component)


No it doesn´t, kode54

No matter which of my many mt32 MIDI files.

If i load an mt32 file that dont include any Lib. SYSEX Dump and or without dump external it plays normal but then of course over BASSMIDI and not with the MUNT Emu.

Illegal operation:
Code: C0000005h, flags: 00000000h, address: 0159C9A8h
Access violation, operation: read, address: 00000000h
Last win32 error: 38
(ERROR_HANDLE_EOF
    38 (0x26)
    Reached the end of the file.
(

Call path:
playback_process entry=>input_decoder::run

Registers:
EAX: 061F9A58, EBX: 061F9A58, ECX: 00000000, EDX: 017CD630
ESI: 00000004, EDI: 00000000, EBP: 0612F4D0, ESP: 0612F4A8

Crash location:
Module: foo_midi
Offset: 3C9A8h

------

V-1.243 MUNT works fine
x86(XP) and with x64 WIN7

Greetings
Title: foo_midi
Post by: ELP on 2015-09-23 11:44:19
EDIT:

is has really to do with the MUNT Synth and not only with SYSEX because

if i force SUPER MUNT to play any MIDI File it (V1.245/46) instantly crash and always with the same error code 38.
with all other synth Emu´s like adl,fm, opl, bass and emu de- no problem.

I have to add that i test this with the older XP x86 audio/midi machine.
Title: foo_midi
Post by: kode54 on 2015-09-24 01:58:59
And I expect you to submit your crash reports to the tracker so that I can see them, including the minidump (.dmp) that is generated. I don't see any recent crashes, except for one from July from someone running a foo_midi release from 2012.
Title: foo_midi
Post by: ELP on 2015-09-24 03:30:30
And I expect you to submit your crash reports to the tracker so that I can see them, including the minidump (.dmp) that is generated. I don't see any recent crashes, except for one from July from someone running a foo_midi release from 2012.

It is the same with an fresh portable 1.38 with minimal needed third components(only foomidi and Asio support) installation.
I send the report to the foo tracker. The Super-MUNT mode / foo_midi 1.245 & 1.246 crash foobar 1.3.8 ; Super-MUNT 1.243  do not crash.

I have added also an link to my dropbox with the foobar Report and the Mini Dump

Crash-Report (https://www.dropbox.com/s/2psca3xfy761b5z/crash%20reports.7z?dl=0)


Greetings
Title: foo_midi
Post by: kode54 on 2015-09-24 08:46:12
I can't reproduce it on anything newer than Windows XP. Looks like I'm downgrading Visual Studio to 2010 and dropping this whole XP SDK nonsense.
Title: foo_midi
Post by: kode54 on 2015-10-04 10:08:10
Try now, from http://kode54.foobar2000.org/foo_mid.fb2k-component (http://kode54.foobar2000.org/foo_mid.fb2k-component)
Title: foo_midi
Post by: Master_E on 2015-10-06 06:29:52
I feel like such a dunce for not fixing this issue I'm having by myself, but I exported an .sflist from XMplay's MIDI decoder and it isn't loading any instruments from other .sf2 files other than the latest instrument I assigned a soundfont to.

It's behaving as if I just popped an .sf2 file in regularly and I want it to load instruments from other soundfonts like it does in XMplay. Mind giving me any hints on how to resolve this?

While I'm here, I love your work kode54. Until I started browsing that Japanese f2k .dll library, I used to have ALL your plugins. Still do have most of 'em. Thanks for all you've done.
Title: foo_midi
Post by: ELP on 2015-10-07 00:37:56
1.247, released on 2015-10-06

Now, the mt32 mode works again, kode54.
No problems anymore, great.
 



BTW nothing special but i wonder why you use the older bass wavpack version 2.4.4.0 within foo-midi, if there is an newer official
BASSWV 2.4.5.1
Title: foo_midi
Post by: kode54 on 2015-10-08 01:19:06
Because there is no update notifier to tell me there are newer releases, and I never bother to check for them manually.
Title: foo_midi
Post by: worldlinerai on 2015-11-27 04:50:46
Hi,

I just want to report that the S-YXG50 VSTi does not work well with the newest version of foo_midi.

For some reason, it runs the S-YXG50 in default setting every time I play a midi file. The default setting puts the S-YXG50 at 32-Note polyphony meaning that most of my MIDI files are not playing properly (dropped notes, frequent muting, silent tracks).

I tried using the configuration option in the preferences menu to increase it to 128 Note Polyphony, but it is still causing the same problem.

It used to work fine before, but it started happening when I reinstalled the foobar2000 program + foo_midi plugin. Is there any way to fix it or get the vsthost32.exe to accept VST settings?
Title: foo_midi
Post by: zackoftrades333 on 2015-12-11 00:57:07
I've been playing around with the Super MUNT GM and I've been noticing a couple problems.

1)The sierra/kings quest 6 set doesn't seem to be made for GM that well. Some instruments are getting replaced by REALLY annoying noises or just don't play at all.

(although when compatible, I usually prefer how it sounds over the Roland set, but not always.)

Not sure how difficult it is to (if you can) edit the set to replace said instruments with working ones from the Roland set?

2)Some of the MIDI files I own are making a bunch of crackling sounds like a corrupted audio file when I play them with MUNT, but with a roland Hyper Canvas VST for example, it sounds fine on the other output plug-ins.

It also sounds fine if I render it to WAV with another Foobar plugin.

Not sure why it's doing that when I have a pretty capable CPU and all...
Title: foo_midi
Post by: zackoftrades333 on 2015-12-11 01:24:56
Ok nvrm about the crackling, apparently my buffer was set really low.

still though, I understand if the sounds are sound effects or something to be compatible with the sierra midis, but if there could be a 3rd mixed option it would be great.

(Still have no idea how feasible that is though, so its okay if you can't.)
Title: Re: foo_midi
Post by: deus-ex on 2016-11-21 15:56:53
Hi Kode54,

I hope you are doing well. Today I tried your most recent release of foo_midi v2.0, only to find that it won't load any MIDI file at all, throwing the error message "Unsupported format or corrupted file". Going back to v1.256 I found that version to behave all the same. Going further back to the then previous release v1.254 everything is working well again. Perhaps this issue is related to the switch from MSVC 2015 in v1.254 to MSVC 2010 with release v1.256? Using Windows 10 Pro 64-bit here.
Title: Re: foo_midi
Post by: kode54 on 2016-11-23 00:43:06
Same OS here, works as expected. Check your configuration.
Title: Re: foo_midi
Post by: deus-ex on 2016-11-23 15:34:55
Same OS here, works as expected. Check your configuration.
I did that, I also tried with a fresh setup. Every output plug-in (Emu de MIDI, adlmidi, fmmidi, etc.) of MIDI player  is working, except for BASSMIDI. The bass.dll appears to get not loaded although all required files are available in the folder of the plugin. Simply overwriting foo_midi.dll, vsthost32.exe and vsthost64.exe with the files from the v1.254 release fixes the issue, BASSMIDI is working fine again.

EDIT:
I just tried with a vanilla installation of foobar2000 v1.3.13 and foo_midi v1.2.56 as the only additional plug-in. Again all output options of foo_midi work, except for BASSMIDI. Replacing the foo_midi files with the v1.254 versions BASSMIDI is working again.
Title: Re: foo_midi
Post by: kode54 on 2016-11-24 01:20:54
I didn't even change anything BASS/BASSMIDI related. Well, except for the new SFLIST parser. I'll need to see your sflist files, even if only privately.
Title: Re: foo_midi
Post by: deus-ex on 2016-11-24 16:12:25
Hi Kode54,

please find my SoundFonts.sflist enclosed in a RAR archive attached below.
Title: Re: foo_midi
Post by: kode54 on 2016-11-25 00:50:56
I realize it's not very helpful, but have you tried adding the files back to the sflist one at a time until it stops working? I do eventually need to add error reporting for the sflist parser, down to the line number where it fails. Of course, this won't be terribly useful, as it'll be parsed into JSON first.

So maybe a report of exact failure file instead.
Title: Re: foo_midi
Post by: arch21 on 2016-11-25 11:49:12
@kode54 any reason why all of your components removed from foobar2000 site?
Title: Re: foo_midi
Post by: kode54 on 2016-11-25 19:29:39
Drama that I'd rather not get into here. I'm taking a break from things.
Title: Re: foo_midi
Post by: deus-ex on 2016-11-25 21:20:54
Drama that I'd rather not get into here. I'm taking a break from things.
I'm really sorry to hear that. I hope you and the related person(s) can sort out the issue and you can find an agreement that allows you to continue where you left off. You have my gratitude for all the valuable content you have contributed over the many years, without asking for anything in return.

I still owe you an answer regarding the following:
I realize it's not very helpful, but have you tried adding the files back to the sflist one at a time until it stops working?
Thank you for the hint! I did that and managed to get the MIDI player to fully work again as expected. The issue was not related to any of the Soundfonts or MIDI files, but to the SoundFont.sflist itself. Recreating this list Soundfont by Soundfont from scratch and then comparing the final working result to the old one I found the following difference:

(http://i.imgur.com/ifIrVxi.png)

The hexadecimal representation of the difference is EF BB BF. This additional content is not visible when viewing or editing the file in text mode, and I have no idea how it ended up in the file. Anyway, your new Soundfont.sflist parser obviously chocked on it while the old one ignored these extra values.
Title: Re: foo_midi
Post by: KDDLB on 2016-11-25 21:48:04
EF BB BF is the byte order mark (https://en.wikipedia.org/wiki/Byte_order_mark) for Unicode. Apparently the new SFList parser is choking on that...

And I have yet to make the SFList JSON editor...
Title: Re: foo_midi
Post by: deus-ex on 2016-11-25 22:13:19
Hi KDDLB,

thanks for the clarification. Yes indeed my SoundFont.sflist file is saved in Unicode format, so is the one I just recreated. Yet the new one does not carry that extra values. Probably my text editor Notepad++ or the then used plug-in NppTextFX added the value at a  certain occasion without me recognizing it.
Title: Re: foo_midi
Post by: kode54 on 2016-11-25 23:58:48
This is fixed in source now, as well as the sflist public gist.
Title: Re: foo_midi
Post by: Brazil2 on 2016-11-28 09:05:57
I'm taking a break from things.
Not a good reason to punish us by removing all of your components IMHO.
We have done nothing wrong.
Title: Re: foo_midi
Post by: deus-ex on 2016-11-28 10:27:34
I'm taking a break from things.
Not a good reason to punish us by removing all of your components IMHO.
We have done nothing wrong.

The way you are quoting Kode54 puts his message out of context. His full post was:
Drama that I'd rather not get into here.  I'm taking a break from things.
Which means we do not know the reason for his motivation at all, so we have no basis to judge upon.

Title: Re: foo_midi
Post by: kode54 on 2016-11-29 02:25:46
It has everything to do with IRC drama, and nothing to do with my user base. Guess who gets hurt by it? Unfortunately, it's my user base.

I'll probably restore things back to the way they were, and get rid of this uniquely identified download system.
Title: Re: foo_midi
Post by: Melchior on 2016-11-30 00:37:34
It has everything to do with IRC drama, and nothing to do with my user base. Guess who gets hurt by it? Unfortunately, it's my user base.

I'll probably restore things back to the way they were, and get rid of this uniquely identified download system.
I'm sorry to hear you are having IRC trouble... :(
I hope it all works out some how..
I was worried when all your work disappeared...
Title: Re: foo_midi
Post by: Chibisteven on 2016-11-30 01:41:36
Nuclear option?  This all of sudden showed up.
Title: Re: foo_midi
Post by: kode54 on 2016-11-30 02:11:07
Nuclear Option = Nuked emu opl coupled with the two MIDI players that were otherwise only available as Windows drivers. One of them is the DMX / Doom / etc sound system with every bank set I could find, and the other is a port or recreation of the MSOPL.DRV, down to the flaws. (See: pitch wheel underflows/wraps on D_OPENIN.MUS and ROBOCREP.MID, etc.)

I chose to enable the "extended" mode for both of these drivers, which I created myself. An inaccuracy in the most accurate OPL3 emulator: Sinusoidal panning control over any of the running channels, through a proprietary register switch to activate it, and another register to control the panning position of a given channel, which is activated and controlled by the two drivers when extp is set enabled. Otherwise, they both hard pan according to their original panning dead zones.
Title: Re: foo_midi
Post by: Chibisteven on 2016-11-30 02:46:48
I'm wondering how close the OPL3 emulation comes to that Windows 95 driver.  Dusts off S&K Collection MIDIs.
Title: Re: foo_midi
Post by: deus-ex on 2016-11-30 21:04:20
I'll probably restore things back to the way they were, and get rid of this uniquely identified download system.
I am relieved to see that you made all your plug-ins publicly available again. Thank you for the turn-around.
Title: Re: foo_midi
Post by: Chibisteven on 2016-11-30 21:37:31
Sinusoidal panning control over any of the running channels, through a proprietary register switch to activate it, and another register to control the panning position of a given channel, which is activated and controlled by the two drivers when extp is set enabled. Otherwise, they both hard pan according to their original panning dead zones.

An option to turn it off would be nice.  Can't seem to find it.
Title: Re: foo_midi
Post by: kode54 on 2016-12-01 02:46:35
You want hard panned stereo? OK, I'll add a checkbox for that. Done.
Title: Re: foo_midi
Post by: Chibisteven on 2016-12-02 05:43:00
You want hard panned stereo? OK, I'll add a checkbox for that. Done.

Thank you!
Title: Re: foo_midi
Post by: arch21 on 2017-01-10 09:16:39
BassMidi VSTi (http://falcosoft.hu/softwares.html#bassmidi_vsti) doesn't work. Will you support for this? thanks.
Title: Re: foo_midi
Post by: kode54 on 2017-01-10 18:44:30
BassMidi VSTi (http://falcosoft.hu/softwares.html#bassmidi_vsti) doesn't work. Will you support for this? thanks.
This is unlikely to ever work unless I remove my own BASSMIDI support from the component, since we're both importing conflicting versions of the BASS and BASSMIDI libraries. Not like you're seeing any benefit to using it as a VSTi under this player, since you can't access the real time editor of any playing instance.
Title: Re: foo_midi
Post by: arch21 on 2017-01-11 07:53:00
Okay, I understand. I guess it's better not to change anything. Thank you. :)
Title: Re: foo_midi
Post by: attachmentDownload on 2017-02-14 15:08:32
Hi all, just a quick question: what is the maximum polyphony of the BASSMIDI option in foo_midi?
Title: Re: foo_midi
Post by: jeremynsl on 2017-04-23 20:18:32
Hey,

I'm trying to get MIDIs from the DOS game Gateway 1 to play with adlib emulation.  It works, but the instrumentation is way off.  Here is what it should sound like (from Dosbox)
https://www.youtube.com/watch?v=9ct5aJFl30M

Is it possible to extract instruments from the game somehow?  I got the MIDIs from here:
http://www.mirsoft.info/gmb/music_info.php?id_ele=MTM0MTE=

I thought at first it makes more sense to play from the original game files using foo_adplug but the .mus files in the game folder won't be accepted by the plugin.  Any ideas?
Title: Re: foo_midi
Post by: kode54 on 2017-06-03 03:55:21
The .MUS files included with the game are just multi-file banks containing standard MIDI files. The instrument data is presumably in one of the game's data files or executables.
Title: Re: foo_midi
Post by: arch21 on 2017-06-24 23:25:48
hi, kode54
Does foo_midi actually support midi type 2? I just happened to know this type of midi from here (http://www.vogons.org/viewtopic.php?f=24&t=48207&sid=03bbc61fad10c6aad3e4ebd892139cc5&start=460#p591941).
Regards.
Title: Re: foo_midi
Post by: kode54 on 2017-06-24 23:38:19
It separates type 2 files into individual sub-songs.
Title: Re: foo_midi
Post by: bennetng on 2017-07-08 13:52:36
Hi kode54,

Does foo_midi support multi-port MIDI files? Those files have 0x21 port info already and can be correctly played by TMIDI Player with my SC-D70 for example.

BTW before I post this I did google for the solution, and accidentally I saw you mentioned SC-VA in another forum, but I can say it doesn't always sound like the real thing. Maybe they should hire you to fix those pathetic bugs.

https://forum.cockos.com/showpost.php?p=1861656&postcount=12
Title: Re: foo_midi
Post by: kode54 on 2017-07-09 02:38:31
Yes, multiple ports are supported, up to three ports at this time. Ports are allocated not by port number, since some files use port names and have a unique port name on each track. Rather, they are allocated by each unique track using the same channel as another track that has a different port identifier.
Title: Re: foo_midi
Post by: VEG on 2017-07-25 09:06:39
bassopus.dll, basswv.dll, bass_mpc.dll, bassflac.dll
Why does foo_midi include all these files? It seems that they are not required for playing MIDI.
Title: Re: foo_midi
Post by: KDDLB on 2017-07-25 09:18:16
They're used if you have soundfonts with audio compression.
Title: Re: foo_midi
Post by: garbanzo.bean on 2017-08-11 14:29:53
Can someone please help me understand what I need in order to play these files?

https://drive.google.com/file/d/0B2uObEBH_jRHUGRXZFRQSHIzd3M/view

There are two folders - it's the CM-32L files that I'm struggling with. They generate an "Invalid MIDI File" error when I try to play them. I have CM-32L PCM and Control ROMs referenced under the MUNT data path in the foo_midi settings.

Thanks!
Title: Re: foo_midi
Post by: kode54 on 2017-10-05 20:49:18
Sorry I took so long to respond to that one report, it's a weird one though. Running status for SysEx commands. Basically, a F0 command, length, and unterminated sequence (no F7), then a delay, then an F7 command, with the rest of the SysEx sequence following it, terminated by another F7. Apparently, this was sort of normal in some MIDI files? Anyway, it's now supported.
Title: Re: foo_midi
Post by: bennetng on 2017-10-14 19:25:07
Apparently, this was sort of normal in some MIDI files?
The files are definitely abnormal. I am not familiar with pre-GM stuff but it could be caused by real time recording through physical MIDI interfaces and cables, or some buggy ripping software.

Sometimes buggy MIDI files can hang my synthesizer and I needed to power cycle it.
Title: Re: foo_midi
Post by: kode54 on 2017-10-15 01:07:03
My library will read those sort of files, but will automatically normalize the SysEx messages into single whole message blocks.
Title: Re: foo_midi
Post by: bennetng on 2017-10-16 13:53:43
My library will read those sort of files, but will automatically normalize the SysEx messages into single whole message blocks.
Can you elaborate a bit more? I read some of your codes but I am not sure if I understand them correctly.

Take the attached song as example. myTool.txt is an incomplete tool I wrote to extract SysEx data. It simply gets the bytes according to the reported length after "F0". As you can see, there are some illegal values in delta time 2040.

sonar.txt: the stuff that Sonar read from that SysEx entry.

reaper.txt: Reaper gave up and stopped to parse the file just before that entry.

How do you use the logic of running status to read SysEx? What SysEx values did you get from foo_midi? Thanks.
Title: Re: foo_midi
Post by: kode54 on 2017-10-18 01:22:20
F0 <running length, in this case, 255> <255 bytes follow> <another delta tick count> F7 <running length, remainder of SysEx> <specified length follows, ends with F7>

If you use my tomid/2mid tool linked with this latest version of midi_processing, it can normalize these split up SysEx messages, padding them on the end with the extra tick counts that surrounded the continuation blocks.
Title: Re: foo_midi
Post by: bennetng on 2017-10-18 06:30:57
Thanks for the explanation.
Title: Re: foo_midi
Post by: bennetng on 2018-02-24 15:27:50
Hi kode54, I updated my tool so that it supports multi-part SysEx messages, but I found foo_midi cannot read some files (attached).

These files are totally fine in other MIDI players and sequencers. I think I found a foo_midi bug.
Title: Re: foo_midi
Post by: kode54 on 2018-02-25 04:18:23
Those are either encoded incorrectly, or SysEx is even weirder than I thought. MF2T decodes those SysEx sequences as "Arb" arbitrary data. They are encoded with a 0xF7 <length> header for the only block of data, with the 0xF0 inside the data sequence.

My library only handles sequences that start with a 0xF0 <length> sequence, followed by 0xF7 <length> sequences. I suppose I can change it to accept 0xF7 started sequences that are missing a 0xF0 started sequence, so long as they start with 0xF0 in the data. But then they'll have to separate the sequences by checking for a 0xF7 on the end of any arbitrary block. Or worse, in the middle of a block, followed by another 0xF0. Ugh.
Title: Re: foo_midi
Post by: bennetng on 2018-02-25 07:06:42
Both Sonar and Reaper don't show any SysEx in their event list, but they don't show any error and simply treat them as MIDI files without SysEx data.  MPC-HC and vanBasco also play the files and all of them have the same duration and timecode so they just ignore the offending messages and proceed to the next delta tick.
Title: Re: foo_midi
Post by: Lynxen on 2018-05-20 03:56:51
Hey Kode54, any chance you could update this plugin to use the latest Nuked OPL version?
Title: Re: foo_midi
Post by: kode54 on 2018-05-21 03:09:54
Done. And I also slip in my own modifications, which are published in the foo_midi repository. Only one simple modification: A special register to allow panning of the (up to) 18 channels of the chip.
Title: Re: foo_midi
Post by: Lynxen on 2018-05-22 09:05:52
Awesome, that was quick, thank you.

Why is it that extracted dos midi music sounds a bit off compared to Dosbox ECE, which uses the same Nuked emulation? I guess there's more to it than just emulating the chip accurately? I'm out of my depth with this stuff.
Title: Re: foo_midi
Post by: kode54 on 2018-05-23 00:38:02
Dosbox resamples it from 49716Hz to whatever rate you have set, using a running average resampler. I resample using a sinc resampler.

It also depends on which Adlib emulator you're using. The "Nuclear Option" drivers use Nuked OPL3, while AdPlug uses the Dosbox "fast" emulator, mainly because it defaults to using 10 instances at once.
Title: Re: foo_midi
Post by: warren_d on 2018-08-27 03:27:31
Hi kode54,

The latest version of foo_midi (2.1.3) has garbled/choppy playback of MIDI files when using the fmmidi plug-in.  All of the other plug-ins play files just fine, and fmmidi playback was fine in previous versions (as far as I can remember).  This is using foobar2000 1.4 on Windows 10 version 1803, for what it's worth.
Title: Re: foo_midi
Post by: kode54 on 2018-08-28 13:29:58
This should be fixed now. It was due to some synthesis crap I added that didn't really have much benefit, and was apparently super slow.
Title: Re: foo_midi
Post by: arch21 on 2018-08-28 21:46:35
version 2.1.4, won't open midi preference page once vsti is set
Title: Re: foo_midi
Post by: kode54 on 2018-08-29 09:31:39
Cannot reproduce. It has to enumerate the plugins installed first before it can display the preferences page, so you'll have to wait for it to finish, assuming you have a lot of VST plugins. It has to scan them all, to determine which ones are instruments.
Title: Re: foo_midi
Post by: arch21 on 2018-08-29 10:01:46
I have only one VSTi plugin, with just a dll atm. I also try with fresh portable, foobar2000 becomes not responding when open midis page.
Title: Re: foo_midi
Post by: kode54 on 2018-08-29 11:24:24
That was fast. Another update, to undo something I was told to fix. Apparently, I really do need a message pump within the VSTi enumerator, or else the whole process deadlocks. foobar2000 1.4.1 is also supposed to include a fix for preferences pages including their own message pump, so that users can't swap prefpanes while one is still loading, causing a bug reported earlier.

Guess what? Neither of these things causes bugs in Wine. Isn't FOSS wonderful?
Title: Re: foo_midi
Post by: arch21 on 2018-08-29 16:10:03
the component is still listed as 2.1.4 on website, the file itself is correct. thanks for fix it. :)
Title: Re: foo_midi
Post by: kode54 on 2018-08-29 22:58:34
Fixed that version listing, too.
Title: Re: foo_midi
Post by: arch21 on 2018-09-28 09:08:50
adlmidi uses a lot of cpu power. I use default settings. Is there kind of midi that I should not play with it? I try with some classic musics.
Title: Re: foo_midi
Post by: Thundik81 on 2018-09-28 15:47:49
Fixed that version listing, too.

Not yet on your site :P
(JSON's listing (https://kode54.net/fb2k/json.php) is obsolete?)
Title: Re: foo_midi
Post by: kode54 on 2018-09-29 01:13:41
The JSON doesn't contain version numbers. Also, the indexes for the web site are server side generated now, so they'll populate search engines.
Title: Re: foo_midi
Post by: LoadingScreen on 2018-09-29 17:25:21
adlmidi uses a lot of cpu power. I use default settings. Is there kind of midi that I should not play with it? I try with some classic musics.
I made an account to ask about this exact issue. I don't know the exact cause (Because I'm not a programmer), but the CPU usage does drop dramatically if you lower the number of emulated chips from 10 to 5. Of course, this causes some other problems. What's odd is that before now, adlmidi worked fine with 10 emulated chips, so this must be a new issue.
Title: Re: foo_midi
Post by: kode54 on 2018-09-30 00:43:19
The new issue is that the new library defaults to using Nuked OPL3 emulator instead of the much faster and mostly as accurate Dosbox OPL3 core. I should add an option, but the preferences dialog is already crammed, so I'll just make Dosbox the default and add an Advanced Preferences option to change it to either of the other Nuked versions provided.
Title: Re: foo_midi
Post by: arch21 on 2018-09-30 10:40:45
I see you have uploaded the new version (2.1.7) on your website and that resolve this issue. Now its much faster with Dosbox OPL3 as emulator core. Thanks :)
Title: Re: foo_midi
Post by: betr on 2018-11-18 17:40:00
Sorry if this is an old topic, but I'd really love foo_midi to provide a separate volume control for MIDI output - at least a volume slider on the Preferences page.

There are two reasons: 1) the various MIDI playback methods can be drastically different in volume, which means our MIDI playback may be significantly louder or quieter than normal, and we may want to adjust the volume at the same time we select our MIDI options. 2) Unlike PCM audio, we can't batch-adjust gains on MIDI files.

Personally, I find Secret Sauce (my main playback option) so extremely quiet I need to turn up the system volume for certain songs to be sufficiently loud. I would prefer being able to mix MIDI and non-MIDI files in a playlist without having to worry about volume.
Title: Re: foo_midi
Post by: sfried on 2019-01-25 12:38:23
Hello. I joined Hydrogenaudio because I need help partaining to this plugin.

I have MUNT fully installed and working, but I can't seem to get foobar to recognize the data path for some reason. I can play midi straight from MUNTs own frontend just fine, but when I use Super MUNT GS, foobar gives me an error saying the file is unsupported or corrupt.

I previously used BASSMIDI and soundfonts to play MIDI music, but I always did want an authentic Roland MT-32 playback.
Title: Re: foo_midi
Post by: Nahkranoth on 2019-01-25 16:46:24
You need to configure the data path in Preferences->Playback->Decoding->MIDI Player. Hope that helps.

[EDIT]: And you don't need to select Super MUNT GM as an output plugin, for MT-32 midi automatically plays using MUNT, once correctly configured.
Title: Re: foo_midi
Post by: kode54 on 2019-01-25 23:15:39
Also, this plugin does not use external installations of MUNT, so any paths you have configured there will not be used. You must configure your ROM path manually in the Advanced section of Preferences.
Title: Re: foo_midi
Post by: sfried on 2019-01-26 03:36:36
You need to configure the data path in Preferences->Playback->Decoding->MIDI Player. Hope that helps.

[EDIT]: And you don't need to select Super MUNT GM as an output plugin, for MT-32 midi automatically plays using MUNT, once correctly configured.
Also, this plugin does not use external installations of MUNT, so any paths you have configured there will not be used. You must configure your ROM path manually in the Advanced section of Preferences.
So the data path must point directly to the folder containing the ROMs, correct?

Also, if I don't have to select Super MUNT GM, what it the default option to utilize MT-32 midi? Will the plug-in be fmmidi or something else?
Title: Re: foo_midi
Post by: Nahkranoth on 2019-01-26 10:39:22
So the data path must point directly to the folder containing the ROMs, correct?

Yes, That's correct.
Also, if I don't have to select Super MUNT GM, what it the default option to utilize MT-32 midi? Will the plug-in be fmmidi or something else?
What you've selected (fmmidi or other) will be used for everything other than MT-32 midi. MUNT will be used automatically for MT-32 midi only. MT-32 midi must contain corresponding reset message at the beginning of the file. In that case it will contain the following string in the Properties->Details of the file: "MIDI_TYPE: MT-32"
Title: Re: foo_midi
Post by: Slender on 2019-01-26 16:30:23
Speaking of the MT-32, here is a MIDI that I found that seems to be silent, even though it's apparently an MT-32 MIDI. I believe this file played in previous foo_midi versions. https://www.dropbox.com/s/vrf69c3vi1udfpk/PHROZEN%20CREW%20-%20Customizer%20XP%201.0%20nfo.mid?dl=1
Title: Re: foo_midi
Post by: Nahkranoth on 2019-01-26 22:22:32
It's silent in my Foobar, MUNT and Falcosoft Midi Player using MUNT as output too.
Title: Re: foo_midi
Post by: arch21 on 2019-01-27 15:55:23
the silent with file above started from 2.0.23
Title: Re: foo_midi
Post by: kode54 on 2019-01-28 04:19:41
According to the SysEx messages in that file, it's an MT-32 file. And that's Wrong.
Title: Re: foo_midi
Post by: Slender on 2019-01-28 17:48:44
So it's falsely stating that it's an MT-32 file but there's nothing specific to the MT-32 in it?
Title: Re: foo_midi
Post by: kode54 on 2019-01-29 02:29:52
The only thing specific to the MT-32 which is in it is an MT-32 reset message. The entire file occupies channels which, upon reset, do not route anywhere.
Title: Re: foo_midi
Post by: arch21 on 2019-01-29 03:57:25
Your recent release is listed as 2.1.6 on foobar2000 component page, component version is 2.1.8 now. :)
Title: Re: foo_midi
Post by: kode54 on 2019-01-29 23:54:40
Again, oops.
Title: Re: foo_midi
Post by: arch21 on 2019-02-08 07:02:42
Is there a program to create sfogg soundfont? Is it faster than using sf2pack FLAC?
Title: Re: foo_midi
Post by: kode54 on 2019-02-09 08:26:31
It is no faster, and in fact possibly slower, than using sf2pack FLAC. I only enabled it because there is a published SoundFont bank that uses it. It is in fact the sf2pack format, using Ogg Vorbis. And the author who employed it said that it sounds possibly broken if you use anything less than quality level 10 when compressing the SoundFont bank. It figures, since Ogg Vorbis is meant to be gapless only on the ends of the whole stream, and sf2pack requires the entire block of sample data to be compressed as one long stream.
Title: Re: foo_midi
Post by: kode54 on 2019-02-25 04:32:07
Update: Secret Sauce now works with 64 bit cores. Please be sure to report your core version and MD5 sum if it isn't recognized.
Title: Re: foo_midi
Post by: arch21 on 2019-03-05 17:04:51
this midi (http://usahakujualanku.weebly.com/uploads/5/4/0/8/5408510/48canon-rock-in-d104825.mid) has an error when converting to FLAC, no problem when trying with WavPack, ALAC, MP3. Tried with BASSMIDI

Message on console
Writing tags to encoded file failed: Unsupported format or corrupted file
An error occurred while finalizing the encoding process (Unsupported format or corrupted file)

I'm curious what happens here as other midi seems fine.

Title: Re: foo_midi
Post by: Case on 2019-03-05 18:24:57
The encoding doesn't fail but transferring tags does. There's something weird with the metadata in TRACK_NAME_01 field, it's invisible in foobar properties but when converted to for example WAV it shows up as some binary mess.
Title: Re: foo_midi
Post by: Peter on 2019-03-06 10:54:29
Thanks for reporting.

Added a fix in fb2k 1.4.3b5 so converting such file to FLAC no longer fails, problematic metadata fields will simply not be transferred.
Title: Re: foo_midi
Post by: Slender on 2019-03-06 13:09:07
In Secret Sauce preferences, is 885 in the flavor list the SC-8820?
Title: Re: foo_midi
Post by: kode54 on 2019-03-07 02:19:16
I guess? Also don't forget those are overrides. otherwise, it just passes on all supported reset commands to the core.
Title: Re: foo_midi
Post by: Slender on 2019-04-19 21:49:41
Hi kode54. I'm wondering where the sflist JSON format for loading SFZ files in to foo_midi is documented? I remember you saying that there was info about it on GitHub somewhere, but I can't quite seem to find anything so far.
Title: Re: foo_midi
Post by: KDDLB on 2019-04-19 21:51:11
https://gist.github.com/kode54/a7bb01a0db3f2e996145b77f0ca510d5
Title: Re: foo_midi
Post by: Slender on 2019-04-19 22:46:54
Thanks for that. :)
Title: Re: foo_midi
Post by: Slender on 2019-04-20 05:01:12
Is there a way to see any errors in the JSON syntax? I've been trying to figure out how to prioritize soundfonts and SFZs but I'm having issues doing that at the moment, and I can't seem to find any errors in the console.
Title: Re: foo_midi
Post by: Slender on 2019-04-20 23:43:02
Update. It seems that I was making things needlessly complicated, I realized that I could just add the SFZ name to an sflist and edit the SFZ to reflect the new path for the instrument samples, since I have SFZ instruments stored as a separate subfolder in my soundfont collection.
Title: Re: foo_midi
Post by: Slender on 2019-06-05 10:12:54
I found an odd glitch when using Secret Sauce with some 64-bit cores. It seems that it does recognize that the core is 64-bit and scpipe64.exe runs, but the Secret Sauce option does not appear in the plugins list when the 64-bit core is selected. Using core version 1.03, MD5 F16B5EB9C7E204DE7F9B3A829D2D5500.
Title: Re: foo_midi
Post by: kode54 on 2019-06-06 00:38:32
That's because the preferences page only appears if the configured path points to a folder containing a whitelisted MD5. I've only whitelisted the few that I've personally encountered. I'll add this MD5 to my list, since I never needed to add 64 bit versions back when I had 1.03.

I added 64 bit support and container/piping, because it solves two issues. One, that the Roland rental service store only offers 64 bit versions as far as I can tell. Two, that I can create multiple instances without duping the file around to the temp folder like the official plugin does, and thus also start up way faster as a result. Three, if it ever finds a crash bug, those crashes won't take out the main player, they'll just kill playback.

E: I'll need the file size, too. For now, I can only add 1.0.7 64 bit, since that's another version I have available.

E2: Never mind, that's the other 64 bit version I do have on hand.

E3: Added, enjoy.
Title: Re: foo_midi
Post by: Slender on 2019-06-06 09:03:09
Works now, thanks for the quick fix :).
Title: Re: foo_midi
Post by: Slender on 2019-06-15 21:44:01
Another foo_midi question. How exactly is EMIDI device track exclusion implemented? Does the component always mute the FM tracks, or does it exclude and add them as needed? For example, say I choose adlmidi with the Duke Nukem 3D bank, will it then play the FM tracks and exclude the normal ones, or will it just let the bank handle the instruments?
Title: Re: foo_midi
Post by: kode54 on 2019-06-16 00:07:09
The EMIDI FM tracks are the same channels as the GM tracks of the same name, only they have different instruments. And usually, these instruments are hand tailored to exactly the Duke Nukem 3D bank. You should disable that override option, as usually the FM tracks will take effect first.
Title: Re: foo_midi
Post by: Slender on 2019-06-16 20:01:15
Which override option? EMIDI device track exclusion when playing EMIDI files with FM?
Title: Re: foo_midi
Post by: kode54 on 2019-06-16 23:05:04
Yes, that one. I'd have to specially modify the filter to support filtering to just the FM tracks specifically for FM output, since it requires manual configuration to use the Duke Nukem 3D bank anyway.
Title: Re: foo_midi
Post by: Slender on 2019-09-26 17:12:19
Hi, I noticed an issue in the new Secret Sauce flavor preferences. In the newest foo_midi, when I select default in the GS flavor options, it seems to choose GM, even if a MIDI is specifically detected as GS, most noticeable when playing the GS version of the Grabbag theme. http://leejacksonaudio.lbjackson.com/html/download.html. If you play the file using the GS option, it will play normally, but a lot of the instruments will break when choosing the default GS flavor.
Title: Re: foo_midi
Post by: kode54 on 2019-09-26 23:02:36
Yeah, that was an oops on my part. It should be fixed now.

Also, just FYI, that track should be played in the 88 Pro mode or better, or Default, for the GS type. Synth mode should be either Default or GS.

Meanwhile, most or all of the actual soundtrack shipping with the game should be played in SC-55 mode, especially Water World.
Title: Re: foo_midi
Post by: Slender on 2019-09-27 01:07:22
Working now, thanks for the fix. Unfortunately I noticed that XG is broken as well. If you try to play this MIDI using either the default or x flavors, it won't play using the incomplete XG implementation when a main flavor other than default is selected.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-09 05:48:59
How i do that S-YXG50 switch into GS mode? Why foo_midi don't have a option to change to GS/XG/GM2 modes?
Title: Re: foo_midi
Post by: kode54 on 2019-12-10 00:59:01
Your MIDI files should be doing this automatically. It also has the ability to attach System Exclusive message dumps to your files, which are added on playback.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-10 15:30:35
Yes, but only the GS midi files with the SysEx patch, i know how work it, but i have various GS midi files without the SysEx, and when play them with the S-YXG50 sounds bad (muted variation sounds and a different drum sound, e.g the Metronome Bell sounds as a Open Rimshot instead of the mentioned sound). I tried the sysex dump with my GS reset syx file, but don't work properly, the instruments break and sounds as piano (all program changes reset to 0). You have no thought to made a option to reset the S-YXG50 to GS that works like the Super MUNT GM? I like how sounds GS mode in it.
Title: Re: foo_midi
Post by: kode54 on 2019-12-11 00:09:25
The only thing I can do to make the S-YXG50 work like a GS instrument is to send a GS reset myself. And that's obviously not working for you.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-12 01:32:33
Works, but in patched midi files. The feature that i say is, to be more specific, e.g Vanbasco and FSMP have a feature that can reset the S-YXG50 to GS, GM2 and by default XG, and the same player send a sysex message to the device. It will be possible that the plugin have that feature? That the plugin send a sysex to the synth as do it Vanbasco and FSMP? Is a feature that i have wished for years for my fav player... foo_midi is awesome but only missing that feature... specially for the S-YXG50 compatibility for play midi files. I hope I don't ask too much ...
Title: Re: foo_midi
Post by: kode54 on 2019-12-13 00:56:09
I'll look into it. Eventually. But as you said, you sent a reset command to the synthesizer, and it broke all the instrument mappings.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-13 05:01:06
Yes, when tried the sysex dump, but i fixed it removing the dump. How is it done to the sysex dump send a reset message to the midi file instead the synthesizer and play it correctly? I made the GS Reset .syx file myself in a hex editor and i made sure copy well the sysex message.
Title: Re: foo_midi
Post by: kode54 on 2019-12-13 08:06:25
And I'm telling you, sending that SysEx message before the file plays is the only thing any GS/XG mode switch I add will do. The "Secret Sauce" already does this, but also feeds a delay to the synthesizer and disposes of the output, before starting the file.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-14 00:32:56
And how it is used the Secret Sauce? I viewed it recently in the Advanced settings and ask me for a path (like the VST path configuration), but i don't know what is there to do exactly. Works for S-YXG50?
Title: Re: foo_midi
Post by: kode54 on 2019-12-14 00:58:39
No, it only works with Sound Canvas VA, and only whitelisted versions.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-14 01:46:49
I set the path for SC-VA and in the plugin window it appears the Secret Sauce options, but is disabled. For what versions works? I have the 1.0.3. The secret sauce is for the SC-VA don't be delayed in the loading when change the song?
Title: Re: foo_midi
Post by: kode54 on 2019-12-14 02:12:44
You need to set the Secret Sauce path, not the VSTi path. Then you need to close preferences and reopen them.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-14 02:57:41
I done it. Is fantastic! now i can play midi files with the SC-55 mode in foobar. And has XG mode, great! I didn't know that SC-VA had a XG mode. Thanks for that.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-14 15:23:02
Sorry my insistence, but should to consider the idea of a "secret sauce" for S-YXG50... it will be so useful as the SC-VA's "sauce". If you can't, never mind, i settle for the SC-VA's sauce :)
Title: Re: foo_midi
Post by: kode54 on 2019-12-14 23:05:41
There is no point. The "Secret Sauce" is for using an internal library directly. The S-YXG50 is only available as a VST instrument, so it must be used through the VST interface.

I could make the SysEx initialization a global thing, but it would only benefit VST instruments, the Roland synthesizer, and BASSMIDI. And BASSMIDI's handling of the various standards is very limited.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-15 01:29:00
SysEx initialization refers to the GM(2)/GS/XG selection mode of which i have spoken previously?
Title: Re: foo_midi
Post by: kode54 on 2019-12-15 08:22:50
Yes. There aren't a whole lot of VST instruments that support more than basic General MIDI, and a whole lot that don't even support that.
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-15 20:31:46
I know. Well, in my case i have various VST instruments with GM/GM2 support and additionally GS/XG, besides they are of light size. GM standards is my favorite thing. So, it will be possible that in a next update add that feature?
Title: Re: foo_midi
Post by: JexuGarrido on 2019-12-24 06:27:29
I don't know if some another user has informed you, but there's another problem with foo_midi to play some midis. When i play the "After Burner - Super Stripe" midi file for example, the instrument mappings breaks (similary thing when the sysex dump is applied) and occurs with VST instruments and BASSMIDI. I will put the midi files for you to check it.
Title: Re: foo_midi
Post by: kode54 on 2019-12-24 21:49:33
I wish I could just disable multi-port MIDI support, it's been nothing but trouble. Sorry, it's just due to how these MIDI files use port number meta commands.
Title: Re: foo_midi
Post by: kesdoputr on 2020-01-06 10:20:40
Hello, i'm using newest version 2.2.11 and try to use Yamaha S-YXG50
I have extract syxg50.dll to foo_midi folder, is foo_midi now support relative path?
I tried
%profile_dir%\user-components\foo_midi\
.\user-components\foo_midi\

Both seems not work, or what's wrong in my type? Thank you.
Title: Re: foo_midi
Post by: x0 on 2020-01-06 14:24:00
I'm pretty sure you still have to use absolute paths, and doesn't the SYXG50 depend on some other files? If it supports relative paths it might be relative to foobar2000.exe, I saw something like that when getting the yrw801.rom file for foo_input_vgm.
Title: Re: foo_midi
Post by: kesdoputr on 2020-01-06 17:34:51
Oh that's so sad, my foobar is portable so i don't want to paste absolute path.
BTW syxg50.dll is only one dll file and work fine is i use absolute path.
Thanks for your reply.
Title: Re: foo_midi
Post by: JexuGarrido on 2020-01-09 03:07:15
I was waiting for the new version, and i downloaded it when was launched. But there's a problem... the X flavour on the "Secret Sauce" is now broken (the drums sounds as GS with some pianos). Besides, you didn't add the global SysEx initialization as i expected  :(
Title: Re: foo_midi
Post by: Sergg39 on 2020-01-18 19:29:39
2kode54 Hello! help me please, I'm trying to load HALion Sonic 3 but your midi plugin does not see it. HALion Sonic 3 is one of the best advanced VST for playing midi file. and i am very sad about this issue.  thank you for your work.

I already tried, HyperCanvas, Hypersonic, SOUNDCanvas and syxg50, they all works fine.
Title: Re: foo_midi
Post by: Sergey77 on 2020-01-19 16:55:52
You can try a quick dirty hacky component http://www.saunalahti.fi/~cse/temp/foo_dyndec.fb2k-component (http://www.saunalahti.fi/~cse/temp/foo_dyndec.fb2k-component). It exposes the dynamically changing fields you need in %dartist% and %dtitle%. Probably best to use with some if function wrapping, something like $if2(%dtitle%,%title%).
Hi there!
@kode54, @Case,
if the foo_dyndec component is installed, then playing any midi file will crash of fb2k if the syxg50.dll VST-plugin is set.
Please see how this can be fixed?
Title: Re: foo_midi
Post by: Case on 2020-01-19 19:28:30
The crashing is probably my fault. I noticed in the documentation that the function rendering the string can be called from multiple threads and I had not taken that into account. New version with appropriate protections uploaded to http://www.foobar2000.org/components/view/foo_dyndec (http://www.foobar2000.org/components/view/foo_dyndec).

Edit: changed the link.
Title: Re: foo_midi
Post by: bennetng on 2020-01-22 19:38:49
Hi kode54, is it possible to add a never looping mode with adjustable decay time or lowest volume threshold after the last note ended? 1s decay time still chops off a lot of MIDI files.
Title: Re: foo_midi
Post by: kode54 on 2020-01-23 01:39:55
I can make it do an auto decay search pattern once the file has ended, but I'll have to do this a bit later, as I need to set up my dev environment again.
Title: Re: foo_midi
Post by: bennetng on 2020-01-23 05:51:49
Thanks!
Title: Re: foo_midi
Post by: MidknightStar on 2020-01-26 07:03:59
"MIDI Player 2.2.12" has a new error which upon opening the respective Options page for foo_midi it just stalls and crashes Foobar2000 entirely.
No error popup either, just the generic (Not Responding) text above most Windows titlebars.

EDIT: Upon removing my respective VSTi path it now works, It would be nice to still have that VSTi support though.
Furthermore with these tests, it seems any VSTi will crash the options page now, as I have singled out many of them from 3 to 1 different VSTi's within the respective folder of choice.
Title: Re: foo_midi
Post by: Sergg39 on 2020-01-26 23:16:06
VSTi will crash the options page now
same
Title: Re: foo_midi
Post by: kode54 on 2020-01-27 02:18:06
I was advised to remove a message pump from my pipe processing loops, which were in place for both VST instruments and the Secret Sauce. This message pump was causing one of Case's input wrapper components to crash.

I need further input from Peter for what to do, since this message pump is 100% necessary when the pipe interaction happens in the main thread.

Edit: I've fixed at least a possible cause for indefinite hangs. It will still hang while scanning, and while displaying an instrument's configuration/editor dialog, but it won't hang indefinitely like it did for that brief release. Still waiting on a proper solution.
Title: Re: foo_midi
Post by: MidknightStar on 2020-01-27 06:11:32
Edit: I've fixed at least a possible cause for indefinite hangs. It will still hang while scanning, and while displaying an instrument's configuration/editor dialog, but it won't hang indefinitely like it did for that brief release. Still waiting on a proper solution.
Completely fixed thank you very much, amazing work as always!
It's doesn't even "still hang while scanning, and while displaying an instrument's configuration/editor dialog".

Another note: "Skip to first note" option actually changes the VSTi instruments of certain songs.
Although I like this change, I understand if you wish to fix this.
Title: Re: foo_midi
Post by: Sergg39 on 2020-01-27 09:40:51
thank you Kode54, how about supporting Steinberg HALion Sonic 3, foo_midi doesn't want to see that marvelous VSTi plugin. Belive me HALion Sonic is the best of the best. I tried many of them and I know that for sure.
I recently discovered it for myself and was simply amazed how my midi files sounded now. It allows you to customize any instrument as you wish and assign any effects you want for each of them separately.
You can also download tons of different professional instrument or create them by yourself and assign them status of general midi, and they will be loaded automatically when midi plays.
You can achieve sound comparable to professional soundtracks if you spend enough time and tune them all.

thank you! please don't ignore my message.
Title: Re: foo_midi
Post by: kode54 on 2020-01-29 01:17:53
You need the VSTi 2 version of it to work. I'm not adding support for VST 3. Also, I thought that was one of those programmable and configurable synthesizers that you basically need to hand tune for every sequencing job you put it through, similar to Kontakt Player, so I don't really see that as too useful for this. The whole purpose of adding VST instrument support was to support the Yamaha S-YXG50 synthesizer, and everything else was an afterthought.
Title: Re: foo_midi
Post by: Sergg39 on 2020-01-29 12:31:19
Hi kode54, thank you for your response, Steinberg HALion Sonic 3 already support VSTi 2. It can also work as it is by default without any additional settings. no need to hand tune if you don’t want it.
Title: Re: foo_midi
Post by: kode54 on 2020-01-30 03:32:45
Yes, and what I'm trying to tell you is that the VST 2 plugin should work already. If it doesn't, I can't exactly test it without a license.
Title: Re: foo_midi
Post by: Sergg39 on 2020-01-30 11:04:33
there is a free version steinberg halion sonic 3 se
https://www.steinberg.net/en/support/downloads/downloads_halion_sonic_se_3.html
Title: Re: foo_midi
Post by: kode54 on 2020-01-30 22:36:48
"The free HALion Sonic SE download version does not contain any content."

How am I supposed to test this, then?
Title: Re: foo_midi
Post by: Sergg39 on 2020-02-01 07:50:27
it should contain the standard General MIDI instruments.
Title: Re: foo_midi
Post by: kode54 on 2020-02-02 01:00:59
Looks like a .NET hulking monstrosity. I don't think that will ever work in my host.
Title: Re: foo_midi
Post by: KDDLB on 2020-02-02 01:02:59
Why are you trying to use HALion in foo_midi anyway? HALion isn't well-suited for General MIDI playback.
Title: Re: foo_midi
Post by: kode54 on 2020-02-02 01:45:41
I just checked anyway, even if I wanted to get the free version, it does not include any instrument content whatsoever, and still requires an eLicensor dongle to activate the free license code they gave me.

E: I figured it out. Their stupid library uses the VST 2 export "MAIN" instead of "main", I have added this as a fallback. It loads, it's configurable, but I have no idea how to make it produce sound. Good luck, whatever.
Title: Re: foo_midi
Post by: Sergg39 on 2020-02-02 22:42:58
Thank you for your efforts, now it is loading. but there is no sound.
Title: Re: foo_midi
Post by: Sergg39 on 2020-02-03 00:55:54
Why are you trying to use HALion in foo_midi anyway? HALion isn't well-suited for General MIDI playback.
halion sonic 3 specifically designed for General MIDI playback.
Title: Re: foo_midi
Post by: kode54 on 2020-02-03 04:27:30
I have attempted to load Halion 6, but I guess I need to try Halion Sonic instead. I still can't figure out how to configure this thing from Preferences so it will eventually play GM sound. I've tried various things, I don't know why it's not producing sound.

It's also not helpful that I can't use any of this crap in Wine.
Title: Re: foo_midi
Post by: Sergg39 on 2020-02-03 11:30:45
I made a picture for you. 5 easy steps to enable general midi constantly.

(http://imglink.ru/pictures/03-02-20/9b3ffd7d6939a68b20b4da6c5425d7e1.jpg)
Title: Re: foo_midi
Post by: Sergg39 on 2020-02-03 12:08:38
my thoughts about the lack of sound. halion sonic 3 cannot detect asio driver inside foobar environment
Title: Re: foo_midi
Post by: kode54 on 2020-02-03 23:15:51
It can't use ASIO output. It's supposed to be outputting through foobar2000, not the system.
Title: Re: foo_midi
Post by: Slender on 2020-02-05 10:11:18
Having an issue configuring loop settings. In previous versions of foo_midi, I configured the component to play indefinitely but only when loop info is detected in the MIDI file. However, with newer foo_midi versions, I can't seem to replicate this, and the play indefinitely option seems to play all MIDI files forever rather than just files with loop info.
Title: Re: foo_midi
Post by: im_special on 2020-02-15 05:32:08
Any comment on these alarming number of "malware" detection's from the recent midi plugin uploads? Like I get false positives, but with these many different sources, you never know if something might be a foot...

https://www.reddit.com/r/foobar2000/comments/f3qzq8/foobar2000_midi_component_2214_20200202_malware/
(https://funkyimg.com/i/32gM9.png)
Title: Re: foo_midi
Post by: kode54 on 2020-02-15 07:56:53
Absolutely bullshit. Half of those files haven't even changed since the last time I updated, and they're still setting it off now.

I'm dying to see these files from before January 28th that somehow magically don't set off any scanners. Files containing modules that currently set off the scanner. Files that haven't changed in six or more months, and have verifiable PGP signatures.

Spent hours doing a rebuild, now it only sets off one major scanner. This scanner only accepts reports of false positive or negative from their customers, damn. Anyone want to help out?
Title: Re: foo_midi
Post by: im_special on 2020-02-15 16:27:48
Sorry for the problems. :(

I would never fathom that you would do something malicious, but sites can get highjacked and links get swapped out for fake ones, etc.

But thanks for looking into it and fixing it up/clarifying, I can sleep a little easier now. (Not that you really fixed anything, AV's are still random BS special snowflakes, lol, they probably all just copy each others "homework", change it a little and go, yup looks good, so if one says BAD!, a ton will too...)

Sorta off-topic now, but for whatever reason foobar2000.org is still not HTTPS in 2020, has Peter given any reason why it is the way it is? Can he not change it to HTTPS?

(https://i.imgur.com/ZlOUzxP.png)
Title: Re: foo_midi
Post by: kode54 on 2020-02-15 23:41:06
I don't control foobar2000.org completely. It's HTTPS, but the HTTP doesn't force redirect to HTTPS, except on certain admin paths. I should bug Peter to change that, since he's really the one in charge of that server.
Title: Re: foo_midi
Post by: Slender on 2020-02-19 04:56:06
New Secret Sauce hashes. It appears that the trial version on Roland's website is now at version 1.06.
1.06 32-bit: 6588E6AA17A57BA874E8B675114214F0.
1.06 64-bit: 6ABFBF61869FC436D76C93D1BC7E2735.
Title: Re: foo_midi
Post by: kode54 on 2020-02-24 00:14:02
Got your email. Your files will need meta indicators on the duplicate channel tracks.

It will need either:

Meta 4 or 9 on all tracks, with different device/port strings for each port track that is on the same channel. It doesn't really matter what the strings are, as it will simply detect two overlapping channels with different strings between the two (or three).

Or.

Meta 0x21, with the number of a port, on each channel track. The number needs to be different between different tracks that are on the same channel and need to go to different ports.

Currently, my code just detects unique instances of a name or number on a given channel. It "makes sense" to make them just port 0 for port 0, 1 for port 1, in that order. But I've seen files that have unique identifiers across the entire file, so I had to just dedup instead.

Oh, and I don't properly handle SysEx message splitting, so you'll need to do that yourself. Port 0 sysex will be sent to all three virtual ports, while port 1 and 2 will be sent to only their virtual ports.
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 00:45:15
Any comment on these alarming number of "malware" detection's from the recent midi plugin uploads? Like I get false positives, but with these many different sources, you never know if something might be a foot...

https://www.reddit.com/r/foobar2000/comments/f3qzq8/foobar2000_midi_component_2214_20200202_malware/
(https://funkyimg.com/i/32gM9.png)

I got the same virus/trojan warning when I updated foo_midi today. Avast flagged vsthost32.exe. Virustotal says that 18 different scanners identify it as carrying a trojan. Attached is a screen grab.

This is  vsthost32.exe version 1.0.0.12, dated 2/16/2020.

Where can I get the previous version of foo_midi until this is resolved?
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 01:33:01
Virustotal also finds funny business in file scpipe32.dll (screengrab attached.) I submitted all other exe and dll files, but these are the only two that were flagged.
Title: Re: foo_midi
Post by: Melchior on 2020-02-24 01:39:25
false positives... I updated and haven't had any issues.... of course I do not bother with the insanity that is anti-virus... I just keep my PC locked down hard.. with top of the line firewall etc...
Title: Re: foo_midi
Post by: kode54 on 2020-02-24 01:48:20
False positives. Please report them to your antivirus vendors as such. Previous versions are not retained anywhere, and it wouldn't matter anyway, because they're not specially whitelisted, either. You'll find versions from a year ago are now setting off "all new" detections for viruses that have just been invented.

Anyone want to pay me $500 for one year worth of automatic whitelist, the technology known as code signing?
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 01:49:07
false positives... I updated and haven't had any issues.... of course I do not bother with the insanity that is anti-virus... I just keep my PC locked down hard.. with top of the line firewall etc...

That strikes me as false bravado. The fact that you have allowed a program to update itself means that your computer is not really "locked down" - you have permitted outside files onto the local computer, and you have no practical way of knowing what those files are doing. Anti-virus is flawed, but unless you can view and fully understand the source code, you have little else to rely on. A positive alarm may not be a definitive last word, but it seems to me to be a valid reason to find out why the alarm was sounded.
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 01:51:47
False positives. Please report them to your antivirus vendors as such. Previous versions are not retained anywhere, and it wouldn't matter anyway, because they're not specially whitelisted, either. You'll find versions from a year ago are now setting off "all new" detections for viruses that have just been invented.

My previous version didn't set off any alarms, and I do full scans every once in a while. So, why did this one set it off? And 18 scanners suddenly going off seems like more than mere coincidence.

For example, I have a backup of the complete foo_midi component dated 11/27/17 (ver 1.0.0.11), and it scans clean with Avast (local) and Virustotal online. I also found another version of 1.0.0.11 from an 1/3/2018 update, and it doesn't ring any Avast or Virustotal alarms, either. It's only the 1.0.0.12 version.
Title: Re: foo_midi
Post by: kode54 on 2020-02-24 02:37:00
Upload your file here, then. I'll make it my official version for now until forever, since I obviously can't use a clean virtual machine to develop any more, without "introducing" "viruses" into the mix.

The last two people who made this claim never bothered to upload their file to me. Maybe you'll be different?

E: Also, make your own VirusTotal upload and link to it here. That way, nobody can claim I "infected" "your" file in the process of uploading it.
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 04:08:46
Upload your file here, then. I'll make it my official version for now until forever, since I obviously can't use a clean virtual machine to develop any more, without "introducing" "viruses" into the mix.

The last two people who made this claim never bothered to upload their file to me. Maybe you'll be different?

E: Also, make your own VirusTotal upload and link to it here. That way, nobody can claim I "infected" "your" file in the process of uploading it.

OK. But it's not my claim, it's Ad-Aware, ALYac, Arcabit, Avast, AVG, BitDefender, Cyren, eScan, F-Prot, FireEye, GData, MAX, Sangfor Engine Zero, and TrendMicro-HouseCall's claim. And since two people here have noticed the issue, there are sure to be plenty more people out there who just haven't reported it.

Attached is foo_midi-files.zip, which has these files in it. They are renamed so as to not be easily executable. The first one is reported to be clean. The other two may not be. The newest files are from a freshly downloaded copy of foo_midi.fb2k-component.

vsthost32.exe (ver 1.0.0.1)

https://www.virustotal.com/gui/file/bddb907d7b44ffa942b34cf4311160e0f70f2f45c12bc71c4c662e303f061911/detection (https://www.virustotal.com/gui/file/bddb907d7b44ffa942b34cf4311160e0f70f2f45c12bc71c4c662e303f061911/detection)

scpipe32.exe (ver 1.0.0.1)

https://www.virustotal.com/gui/file/b39c95d47a270b3f3c629188e48fa878474d369b2f6ab79bc9e87be22a8771d0/detection (https://www.virustotal.com/gui/file/b39c95d47a270b3f3c629188e48fa878474d369b2f6ab79bc9e87be22a8771d0/detection)

vsthost32.exe (ver 1.0.0.2)

https://www.virustotal.com/gui/file/aee2b9707836a4696fe0c0d6c32f2a398b29ec70b257c1df604959eb24410f3a/detection (https://www.virustotal.com/gui/file/aee2b9707836a4696fe0c0d6c32f2a398b29ec70b257c1df604959eb24410f3a/detection)

I've downgraded foo_midi to the 2017 version until this is resolved.

edit: Attachment removed per request of poster.
Title: Re: foo_midi
Post by: kode54 on 2020-02-24 07:31:47
Fine. I'm pulling all binaries for my components. You fuckers can compile your own goddamn shit.

E: Here, have a VirusTotal entry (https://www.virustotal.com/gui/file/ae61073f4603b6fab47cd940413a1345a61030f64f2df869a6b0110b11657a50/detection) on what would have been an update to foo_midi. See, one engine, based on a stupid AI, finds it "Malicious". Chances are, because of that, it's been submitted to all the other vendors for flagging as malicious as well, and it will have 17+ engines detecting it in short order. I'm done with this shit.
Title: Re: foo_midi
Post by: KDDLB on 2020-02-24 08:01:39
Upload your file here, then. I'll make it my official version for now until forever, since I obviously can't use a clean virtual machine to develop any more, without "introducing" "viruses" into the mix.

The last two people who made this claim never bothered to upload their file to me. Maybe you'll be different?

E: Also, make your own VirusTotal upload and link to it here. That way, nobody can claim I "infected" "your" file in the process of uploading it.

OK. But it's not my claim, it's Ad-Aware, ALYac, Arcabit, Avast, AVG, BitDefender, Cyren, eScan, F-Prot, FireEye, GData, MAX, Sangfor Engine Zero, and TrendMicro-HouseCall's claim. And since two people here have noticed the issue, there are sure to be plenty more people out there who just haven't reported it.

Attached is foo_midi-files.zip, which has these files in it. They are renamed so as to not be easily executable. The first one is reported to be clean. The other two may not be. The newest files are from a freshly downloaded copy of foo_midi.fb2k-component.

vsthost32.exe (ver 1.0.0.1)

https://www.virustotal.com/gui/file/bddb907d7b44ffa942b34cf4311160e0f70f2f45c12bc71c4c662e303f061911/detection (https://www.virustotal.com/gui/file/bddb907d7b44ffa942b34cf4311160e0f70f2f45c12bc71c4c662e303f061911/detection)

scpipe32.exe (ver 1.0.0.1)

https://www.virustotal.com/gui/file/b39c95d47a270b3f3c629188e48fa878474d369b2f6ab79bc9e87be22a8771d0/detection (https://www.virustotal.com/gui/file/b39c95d47a270b3f3c629188e48fa878474d369b2f6ab79bc9e87be22a8771d0/detection)

vsthost32.exe (ver 1.0.0.2)

https://www.virustotal.com/gui/file/aee2b9707836a4696fe0c0d6c32f2a398b29ec70b257c1df604959eb24410f3a/detection (https://www.virustotal.com/gui/file/aee2b9707836a4696fe0c0d6c32f2a398b29ec70b257c1df604959eb24410f3a/detection)

I've downgraded foo_midi to the 2017 version until this is resolved.

You ought to be banned.
Title: Re: foo_midi
Post by: mudlord on 2020-02-24 08:07:50
Fine. I'm pulling all binaries for my components. You fuckers can compile your own goddamn shit.

E: Here, have a VirusTotal entry (https://www.virustotal.com/gui/file/ae61073f4603b6fab47cd940413a1345a61030f64f2df869a6b0110b11657a50/detection) on what would have been an update to foo_midi. See, one engine, based on a stupid AI, finds it "Malicious". Chances are, because of that, it's been submitted to all the other vendors for flagging as malicious as well, and it will have 17+ engines detecting it in short order. I'm done with this shit.

I warned you many times that the AV business is a protection cartel.
Title: Re: foo_midi
Post by: kode54 on 2020-02-24 08:16:36
vsthost32.exe (ver 1.0.0.1)

https://www.virustotal.com/gui/file/bddb907d7b44ffa942b34cf4311160e0f70f2f45c12bc71c4c662e303f061911/detection (https://www.virustotal.com/gui/file/bddb907d7b44ffa942b34cf4311160e0f70f2f45c12bc71c4c662e303f061911/detection)

vsthost32.exe (ver 1.0.0.2)

https://www.virustotal.com/gui/file/aee2b9707836a4696fe0c0d6c32f2a398b29ec70b257c1df604959eb24410f3a/detection (https://www.virustotal.com/gui/file/aee2b9707836a4696fe0c0d6c32f2a398b29ec70b257c1df604959eb24410f3a/detection)

Hey. You incredibly thick fuckstick. This is literally the only difference between those two files (https://bitbucket.org/losnoco/foo_midi/commits/8b59fdbb8e6d9d49e30dcd0afa64a35592690460). Oh, and maybe a new compiler, freshly downloaded from Microsoft.
Title: Re: foo_midi
Post by: Chibisteven on 2020-02-24 08:24:29
Wow @rednoise all the way back to 2017 for a component that frequently sees several updates in a single month?  Really?  You're a total asshole, no developer at all likes that shit.
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 08:30:37
You ought to be banned.

If you mean because I uploaded a potentially infected file, you're right. That was a very bad idea. I was just trying to cooperate with the developer. I don't see how to edit or delete my post, so I'll report it myself.

kode54, if you still want the files, I'm happy to send them to you. Please don't take this personally. Nobody is claiming you intentionally  infected any files. Nobody is even claiming the files are definitely infected. The only claim is that something about them is setting off alarms in multiple virus scanning engines from different companies. Seems to me it would be a good thing to know exactly why. You're liable to get more people questioning it as time goes by.
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 08:45:24
Wow @rednoise all the way back to 2017 for a component that frequently sees several updates in a single month?  Really?  You're a total asshole, no developer at all likes that shit.

It's the most recent one I have besides the latest, and the developer says no others are available.
Title: Re: foo_midi
Post by: mudlord on 2020-02-24 08:49:00
You are implying that someone, who is well acknowledged in the HA community as a developer, would willingly infect their own files.

Why would they do that?

AVs are a complete blackbox, and if you read the source code, you will see its entirely illogical to infect their own files.


EDIT: Ill use one of my own examples. I wrote an executable compressor. Apparently, anything other than UPX is "bad"

https://www.virustotal.com/gui/file/7aa8c756af59955d12d77788b3b5963add9416d2c220649c8813cb9facc95377/detection

That shows how broken the AV system is. AVs rely on signatures "only". There is no deeper analysis involved. At all.
Title: Re: foo_midi
Post by: kode54 on 2020-02-24 08:51:33
I said I don't have old binaries. I have the old source code, it's a versioned repository going back at least a decade. Going back to old source and building it again with a new compiler will just result in more false positives. Hell, I'd be willing to bet that rebuilding it with a 2017 compiler will have the same problem, just from having a file build timestamp from this year.

Did I forget to mention that all of the source code is entirely public?
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 08:51:48
You are implying that someone, who is well acknowledged in the HA community as a developer, would willingly infect their own files.

No, I am not. Please read my post more closely.
Title: Re: foo_midi
Post by: kode54 on 2020-02-24 08:54:30
Okay then. What exactly are you implying? That Microsoft's 2019 Community compiler is infected by design?

If you can produce builds that aren't detected at all, using the same toolkit and build environment that I use.

Fresh Windows 10 1909 x64 English ISO, downloaded from Microsoft. (size: 5,421,459,456; sha256: 01bf1eb643f7e50d0438f4f74fb91468d35cde2c82b07abc1390d47fc6a356be)

Installed into a fresh Linux Qemu/KVM virtual machine, using Gnome Boxes.

Switched to Virt-Manager for more flexibility post-install.

Install desktop updates to current status.

Install MSVC 2019 Community, and Clang-CL for some things now.

Install Git for Windows from its official site.

Git clone the entire bitbucket.org/losnoco/foobar2000 tree, recursively.

Build the component from the solution at <repository root>/plugins/foobar/foobar2000/plugins.sln
Title: Re: foo_midi
Post by: Melchior on 2020-02-24 08:55:11
Fine. I'm pulling all binaries for my components. You fuckers can compile your own goddamn shit.
I'm done with this shit.
kode54, please don't let it get to you... :'(
and please don't de-list your components again... it saddens me when u do that...
I rely on your updates to keep Foobar2000 game music plugins working at their best and value your work...


I don't trust AV as far as I can throw them lol..

Kode54 all the componets I use were written by you and I have always considered u a trusted source.. ;^_^;
Title: Re: foo_midi
Post by: arch21 on 2020-02-24 08:58:34
kode54, v2.3.1 doesn't show Yamaha VSTi to me
Title: Re: foo_midi
Post by: rednoise on 2020-02-24 09:07:10
Okay then. What exactly are you implying? That Microsoft's 2019 Community compiler is infected by design?

I imply nothing. I state the fact that two files in this component trigger alarms from my AV and apparently with a number of other AVs. I'm not the only one to notice this. That is all.
Title: Re: foo_midi
Post by: Case on 2020-02-24 10:38:01
I'd recommend sending detected files for false positive analysis to your antivirus vendor. That way you wouldn't stress the developer needlessly and you'd quickly hear from the vendor that the files are indeed clean. The false positive flagging won't stop unless paying customers complain loudly.
Title: Re: foo_midi
Post by: im_special on 2020-02-25 04:31:16
GDI you guys! This is why we cannot have nice things.
SimplePortal 1.0.0 RC1 © 2008-2020