HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: pqyt on 2022-11-03 20:16:50

Title: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-03 20:16:50
foo_midi is a component that plays MIDI files.

The old foo_midi component has been archived by kode54. This version:


URL: https://github.com/stuerp/foo_midi/

Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Chibisteven on 2022-11-03 20:48:03
No VST support.  :(
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-03 20:50:48
I compiled it as I found it. I haven't really looked into re-enabling the experiments, let alone add any new functionality.

How would one test the VST functionality? I don't have any MIDI-enabled equipment.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Chibisteven on 2022-11-04 07:10:54
I compiled it as I found it. I haven't really looked into re-enabling the experiments, let alone add any new functionality.

How would one test the VST functionality? I don't have any MIDI-enabled equipment.


https://veg.by/en/projects/syxg50/

Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-04 18:17:53
v2.7.4.1

- Adds a 32-bit version.
- Re-enables foobar2000 v1.6.13 support.
- Adds Dark Mode support for foobar2000 v2.0.

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Chibisteven on 2022-11-05 05:30:28
v2.7.4.1

- Adds a 32-bit version.
- Re-enables foobar2000 v1.6.13 support.
- Adds Dark Mode support for foobar2000 v2.0.

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.

Adding the missing .exes from an older build by @kode54 restores VSTI playback for the 32-bit version only but the 64-bit version doesn't work and just hangs but will still list VSTIs if a path is specified in advanced area of preference.

VSTI Path is crossed out in screenshot so people don't mistaking use the file path I'm using when setting it up on their system.  You can point it anywhere on your system.

VSTI you can use to test: http://veg.by/files/midisynth/yamaha_syxg50_vsti.7z
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-05 06:42:15
Thx.

I found the kode54 source code for scpipe and vsthost and will try to rebuild them too.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-05 15:55:19
v2.7.4.2-alpha, "The Temple of VeSTa"

- Adds 32-bit VST plugin support.

Note: 64-bit VST plugins don't work yet.

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Air KEN on 2022-11-06 04:36:30
Hi :)

v2.7.4.2-alpha, "The Temple of VeSTa"
foo_midi.fb2k-component

where is it?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-06 07:06:40
Duh. Forgot to add it.

Please look again.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Air KEN on 2022-11-06 07:58:12
Duh. Forgot to add it.

Please look again.

Many Thanks pqyt. :)
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-14 11:36:03
It took a while to find the bug in the 64-bit version of the VST host. Turns out it also was a problem for foobar2000 32-bit.

v2.7.4. "The Temple of VeSTa"

- Added 32-bit and 64-bit VST instrument support for foobar2000 v2.0.
- Fixed 64-bit VST instrument support for foobar2000 v1.6.3.

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2022-11-15 09:31:22
https://www.foobar2000.org/components/view/foo_midi+%28x64%29 (https://www.foobar2000.org/components/view/foo_midi+%28x64%29) says:
Quote
Supported processor architecture: x86 32-bit
It's 64bit too. Should be:
Quote
Supported processor architectures: x86 32-bit, x86 64-bit.
It might be a bug in foobar2000.org/components, if no upload of the component. @Peter
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Peter on 2022-11-15 11:32:59
Okay, the processor architecture field is only filled automatically (you cannot fill it yourself) and that only happens if you upload a file, so it's a bug in the site, so if you don't upload a file the default value is used. I'll look into it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-15 12:21:22
I noticed that too.

First, I added a release with a download but I changed my mind because GitHub allows me to monitor the download count via the releases API (yes, I'm vain  :-[ )
Title: Re: foo_midi (foobar2000 v2.0)
Post by: arch21 on 2022-11-17 15:16:04
some feedback
list .sf3 to supported soundfont format if it really supports to load it.
bundle some bass add-ons for compressed soundfonts like the old one
cannot play with Secret Sauce, missing scpipe32 and scpipe64
no need to bundle vsthost32 and vsthost64 into x64 folder again
also there is update for libOPNMIDI and libADLMIDI
regards :)
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-17 20:32:07
list .sf3 to supported soundfont format if it really supports to load it.
Can you confirm it works? I have not tested that yet.
bundle some bass add-ons for compressed soundfonts like the old one
Will do. I left them out because I didn't see any use for them.
cannot play with Secret Sauce, missing scpipe32 and scpipe64
scpipexx was the first code I recompiled. But I don't know how to test it.
no need to bundle vsthost32 and vsthost64 into x64 folder again
I think I do. I think the foobar2000 installer simply copies everything it finds in the root or the x64 directory. I don't think it can cherry-pick. There is not deployment manifest in a component.
also there is update for libOPNMIDI and libADLMIDI
Will look in to it.

Thx. for the feedback.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: arch21 on 2022-11-18 06:09:31
Can you confirm it works? I have not tested that yet.
just tested it. it works. though I tested via sflist to load it because soundfont picker doesn't list the format like here (https://i.imgur.com/aoN2oW2.png). it needs bass add-on. to make it work. I haven't checked sf3 support until I saw it on readme. I just remember it was a new feature when library switched to fluidsynth at a time before switched back to bass. I guess the feature stays,
Will do. I left them out because I didn't see any use for them.
they will be needed to load compressed soundfont, sf3 or sf2pack
scpipexx was the first code I recompiled. But I don't know how to test it.
I don't see them in the package
I think I do. I think the foobar2000 installer simply copies everything it finds in the root or the x64 directory. I don't think it can cherry-pick. There is not deployment manifest in a component.
if I install on 32-bit version. there will be x64 folder with vsthostxx inside. Since vsthost32 indentical with vsthost32 inside x64 folder and so with vsthost64, you only need package the exes at the root of package,
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-18 06:56:18
scpipexx was the first code I recompiled. But I don't know how to test it.
I don't see them in the package
I didn't include any code that I hadn't tested yet. I will release an alpha with scpipexx and hope for a volunteer tester.
if I install on 32-bit version. there will be x64 folder with vsthostxx inside. Since vsthost32 indentical with vsthost32 inside x64 folder and so with vsthost64, you only need package the exes at the root of package,
They are identical but the 64-bit component does not know about the existence of a 32-bit version. It only looks inside its own deployment directory, by design. It's not smart to add any dependencies on a directory structure outside of its control.
Besides, if the user is savvy enough to optimize the component directory it does not matter. He/She can simply delete the unnecessary files.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: n99 on 2022-11-18 15:16:24
It only works with Windows 10? Was there some big change?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: qazmko1029 on 2022-11-18 15:29:15
I tried this and it works just fine with my roland sound canvas va, yamaha s-yxg50 and vampire vst. The only pity is that it can't use system MIDI mapper which I've been really wanted, it'd avoid reloading plugin for different midi files and be better combining with external MIDI mapper like loopMIDI and VirtualMIDISynth. :) still good work.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-18 19:02:24
It only works with Windows 10? Was there some big change?
It was only tested with Windows 10 and Windows 11.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-18 19:08:10
I tried this and it works just fine with my roland sound canvas va, yamaha s-yxg50 and vampire vst. The only pity is that it can't use system MIDI mapper which I've been really wanted, it'd avoid reloading plugin for different midi files and be better combining with external MIDI mapper like loopMIDI and VirtualMIDISynth. :) still good work.
I have also noticed during testing that vsthostxx starts and stops repeatedly. So far, I have not changed anything to the design and focused on porting to x64. Once I understand the code better I can start looking into adding new features.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: mudlord on 2022-11-18 20:49:02
Quote
The only pity is that it can't use system MIDI mapper

It can't. By design.

For FB2K to work, it needs audio decode services to output to PCM, which then data is used for visualization/converting/DSP/etc. Windows MIDI system drivers don't do this and use their own code for outputting sound.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: qazmko1029 on 2022-11-19 02:11:41
It can't. By design.

For FB2K to work, it needs audio decode services to output to PCM, which then data is used for visualization/converting/DSP/etc. Windows MIDI system drivers don't do this and use their own code for outputting sound.
Sorry I'm no expert in computer, but iirc general players like winamp and aimp support midi very well, so why can't foobar do this likewise? foobar allows to change sound output device as well.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: LegoLoco7 on 2022-11-19 06:42:13
Quote
The only pity is that it can't use system MIDI mapper

It can't. By design.

For FB2K to work, it needs audio decode services to output to PCM, which then data is used for visualization/converting/DSP/etc. Windows MIDI system drivers don't do this and use their own code for outputting sound.

Could the component's volume be raised a bit, then? It's overwhelmingly quiet compared to most other components and media files. Unless this was fixed in a newer version of the plugin I don't have, of course. This is the main reason I use alternative programs like Falcosoft's MidiPlayer to listen to MIDI files rather than foobar2000 like everything else.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: iridescentaudio on 2022-11-19 10:37:26
If there is only one VST or SoundFont you prefer to use and don't change often, you can replaygain-scan midis, though it does require having appropriate tags to store the replaygain info in, such as External Tags (foo_external_tags by Case.) Output volume can change dramatically between devices and soundfonts though, so replaygain is not so practical in the situation where change between multiple cores (though you can use kode54's EBU R128 normalizer instead.) In any case, the volume is dependent on the midi core being used, not the MIDI component, so I recommend investigating those options.

You can also use Run Services (foo_run by Florian Heidenreich) to open a playlisted MIDI in your oldschool MIDI player of choice if foobar2000 still won't cut it. I use TMIDI by Fummy this way, mainly because I have a Yamaha XG hardware rompler I like to use occasionally. You just pre-configure the service as:

Code: [Select]
"C:\Local\Directory\SOFTWARE.EXE" "%path%"

Then you can assign that to a button in your interface, and voila, whatever you have selected in your playlist will play in your favourite MIDI player instead.

....

Also, just a quick query of my own! Does the recompiled component still work with the "Secret Sauce" for SCVA? I don't want to find out the hard way~
Title: Re: foo_midi (foobar2000 v2.0)
Post by: arch21 on 2022-11-19 13:24:55
the recompiled component doesn't include scpipe exes atm but I test with old exes from old components, using 64bit dll and fb2k 64bit, it plays midis.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: LegoLoco7 on 2022-11-20 07:21:12
If there is only one VST or SoundFont you prefer to use and don't change often, you can replaygain-scan midis, though it does require having appropriate tags to store the replaygain info in, such as External Tags (foo_external_tags by Case.) Output volume can change dramatically between devices and soundfonts though, so replaygain is not so practical in the situation where change between multiple cores (though you can use kode54's EBU R128 normalizer instead.) In any case, the volume is dependent on the midi core being used, not the MIDI component, so I recommend investigating those options.

You can also use Run Services (foo_run by Florian Heidenreich) to open a playlisted MIDI in your oldschool MIDI player of choice if foobar2000 still won't cut it. I use TMIDI by Fummy this way, mainly because I have a Yamaha XG hardware rompler I like to use occasionally. You just pre-configure the service as:

Code: [Select]
"C:\Local\Directory\SOFTWARE.EXE" "%path%"

Then you can assign that to a button in your interface, and voila, whatever you have selected in your playlist will play in your favourite MIDI player instead.
Oh wow, thanks! I'll consider trying foo_run.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-20 17:22:43
v2.7.4.3, 2022-11-20, Returning to BASS

- Re-added missing BASS libraries.
- Re-added recompiled versions of scpipe32 and scpipe64.
- Upgraded JSON parser and build to latest version.
- Started fixing compiler warnings.
- No added functionality.

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2022-11-21 00:05:48
v2.7.4.3, 2022-11-20, Returning to BASS

- Re-added missing BASS libraries.
- Re-added recompiled versions of scpipe32 and scpipe64.
- Upgraded JSON parser and build to latest version.
- Started fixing compiler warnings.
- No added functionality.

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.
thx for the update pqyt. 

I will try installing it now...
but I have noticed there is no download on the main Foobar2000 component repo... yet.. :(
is there an issue with uploading to the site?

EDIT1:
ok successfully installed over Kode54's version, but had to re-index the library folder that had midi files.. and its not detecting all of them.. so I manually created a new midi playlist ofr midi files...
in the past I only listened to midi once and a long while.. as I didn't really need them anymore...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-21 06:17:52
v2.7.4.3, 2022-11-20, Returning to BASS
Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.
EDIT1:
ok successfully installed over Kode54's version, but had to re-index the library folder that had midi files.. and its not detecting all of them.. so I manually created a new midi playlist ofr midi files...
in the past I only listened to midi once and a long while.. as I didn't really need them anymore...

I can't think of a reason why you had to re-index the library since I haven't touched the file recognition and parsing code.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2022-11-21 09:58:21
re-index midi files: Same happened to me. Monitor for changes doesn't work with midi files.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: n99 on 2022-11-21 12:39:17
It only works with Windows 10? Was there some big change?
It was only tested with Windows 10 and Windows 11.

Does that mean it will likely still work with older versions of Windows?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-21 13:14:33
It only works with Windows 10? Was there some big change?
It was only tested with Windows 10 and Windows 11.

Does that mean it will likely still work with older versions of Windows?
Most likely. I haven't used any new system calls or upgraded existing ones. The focus was on porting the application functionality.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-21 19:31:43
v2.7.4.4, 2022-11-21, I'm SoundFont of it

- Bug Fix: The new scpipe32 and scpipe64 in the previous version had issues. Secret Sauce is back.
- Added support for compressed SoundFonts (.sf3) to BASS MIDI player.
- Updated Munt (MT32 emulator) to v2.7.0.
- Reduced the component package size a bit. Only one copy of each vsthost and scpipe executable is included.

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from the Releases (https://github.com/stuerp/foo_midi/releases) page.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2022-11-21 19:40:46
Quote
- Reduced the component package size a bit. Only one copy of each vsthost and scpipe executable is included.

That is not gonna work right...
The root of the component installer/archive is for 32bit versions of FB2K v2.0
and the sub folder must contain the 64bit version,
those host files from the root folder will not get installed if some one is running 64bit v2 of FB2K.

as I am still running 32bit v2 beta 13 of FB2k.. it would not effect me till all the components I use have a 64bit version...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2022-11-21 19:42:39
Quote
- Reduced the component package size a bit. Only one copy of each vsthost and scpipe executable is included.

That is not gonna work right...
The root of the component installer/archive is for 32bit versions of FB2K v2.0
and the sub folder must contain the 64bit version,
those host files from the root folder will not get installed if some one is running 64bit v2 of FB2K.

as I am still running 32bit v2 beta 13 of FB2k.. it would not effect me till all the components I use have a 64bit version...
And yet it does. Peter's components do the same. Apparently all files from the root of the package get installed unless there's a 64-bit version of it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2022-11-21 19:44:49
Quote
- Reduced the component package size a bit. Only one copy of each vsthost and scpipe executable is included.

That is not gonna work right...
The root of the component installer/archive is for 32bit versions of FB2K v2.0
and the sub folder must contain the 64bit version,
those host files from the root folder will not get installed if some one is running 64bit v2 of FB2K.

as I am still running 32bit v2 beta 13 of FB2k.. it would not effect me till all the components I use have a 64bit version...
And yet it does. Peter's components do the same. Apparently all files from the root of the package get installed unless there's a 64-bit version of it.
ooh.. ok alrighty then nvm then... lol
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2023-01-09 15:31:09
It's too bad the midi and lyrics components are separate projects - I have a lot of karaoke midis with lyrics data foo_midi doesn't expose and foo_openlyrics can't see.

Poking around in the settings - what actually is "Secret Sauce"?  I'd never heard of that in the context of midis before foo_midi
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-01-09 17:06:54
It's too bad the midi and lyrics components are separate projects - I have a lot of karaoke midis with lyrics data foo_midi doesn't expose and foo_openlyrics can't see.

Poking around in the settings - what actually is "Secret Sauce"?  I'd never heard of that in the context of midis before foo_midi

If foo_openlyrics has an service that I can consume to push the lyrics to, maybe I could extract the lyrics and send them to it. Haven't looked into either problem yet.

I don't know the origin of the term "Secret Sauce" but it's a code word for an interface to the commercial SoundCanvas module. If you own it then foo_midi can use it to render MIDI files.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: deus-ex on 2023-05-04 19:55:09
@pqyt

Thank you for carrying on the torch of foo_midi.  :)

I wonder whether you would be able to add support for MIDI files that use channel 16 as a second drum channel? For more details on the issue please check my post here (https://hydrogenaud.io/index.php/topic,98907.msg996000.html#msg996000). I've also uploaded an archive with example MIDI files that is still available for download here (https://hydrogenaud.io/index.php/topic,98907.msg995970.html#msg995970).
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-04 19:57:13
Sure, I'll have a look at it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Slender on 2023-05-11 09:54:12
Hi, found a bug. I noticed that as of 2.8.1, pressing enter on the foo_midi entry in the decoding panel to open the MIDI Player preferences no longer works.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-12 05:31:25
pressing enter on the foo_midi entry in the decoding panel to open the MIDI Player preferences no longer works.
Could you please explain a little: what is the "decoding panel" in this scenario? And why is opening the preferences page after pressing Enter an expected response?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Case on 2023-05-12 06:43:33
He means the "configure" button at the end of the input entry on Preferences -> Playback -> Decoding no longer works.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-19 21:43:04
He means the "configure" button at the end of the input entry on Preferences -> Playback -> Decoding no longer works.
Finally got around to looking at this bug. Unfortunately, I don't have a clue. I don't even know what made it work in the first place.

Is there another plugin author that knows?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: marc2k3 on 2023-05-19 22:57:23
I'm speculating here but correct this GUID or nuke the method if you don't have a preferences page.

https://github.com/stuerp/foo_midi/blob/d4068dea9e4f9af4613279d77fb8644f87f3f445/InputDecoder.h#L234C17-L239

edit: I know it's safe to omit. I recently compiled foo_input_ofr for fb2k 2.0 and made it derive from input_stubs like your component. It's fine without it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-20 07:21:27
I'm speculating here but correct this GUID or nuke the method if you don't have a preferences page.
Quite the speculation... Thanks. That did it. I should return the GUID of one of the preferences pages instead of some random GUID. Makes sense afterwards.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-20 20:00:21
v2.8.2.0, 2023-05-20, Spring Cleaning

* Bug Fix: MIDI files with malformed tracks caused a crash.
* Bug Fix: MIDI files with malformed SysEx events caused a crash.
* Bug Fix: Work-around for weird rendering problem in Dark mode.
* Bug Fix: Restored access to the Preferences page from the Decoding page in the Preferences dialog.
* Improved: Tweaked the size of some of the labels of the Preferences dialog.
* Improved: Added a message to re-open the Preferences dialog after any of the paths were changed.
* Improved: Changed Shift-JIS detection in meta data. A copyright sign (©) was interpreted as Shift-JIS.

URL: https://github.com/stuerp/foo_midi/

Download from https://github.com/stuerp/foo_midi/releases or the Components Repository.

Automatic update from within foobar2000 still does not work...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2023-05-20 20:03:23
v2.8.2.0, 2023-05-20, Spring Cleaning

Automatic update from within foobar2000 still does not work...
nice thx for the update Pgyt.
yeah, why is that, why does the update check from within Foobar2000 not working?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-20 20:07:57
yeah, why is that, why does the update check from within Foobar2000 not working?
I don't know. Maybe @peter can help?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2023-05-21 08:23:51
The problem is, that internal key foo_midi (x64) is not equal to the uploaded file foo_midi.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2023-05-21 09:30:37
One stereo channel of midi file in Waveform minibar (mod) fails. (Maybe the wrong thread)
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-21 18:58:39
The problem is, that internal key foo_midi (x64) is not equal to the uploaded file foo_midi.
Well, then I'm stuck. I uploaded a new copy of the binaries as "foo_midi (x64)" but the portal returns it as "foo_midi". I had to use "foo_midi (x64)" because "foo_midi" was already taken by kode54. Unless Peter fixes this behind the scene, I don't see what else I can do.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2023-05-21 19:05:48
foo_midi (x64) seems to be not a valid filename. You could rename to foo_midi64 (without spaces and brackets).
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-21 19:10:53
One stereo channel of midi file in Waveform minibar (mod) fails. (Maybe the wrong thread)
Which MIDI player did you use?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2023-05-21 19:21:02
LibADLMIDI. I have switched to LibOPNMIDI, regenerate Waveform and the waveform is complete. Thanks.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-24 09:51:49
It's too bad the midi and lyrics components are separate projects - I have a lot of karaoke midis with lyrics data foo_midi doesn't expose and foo_openlyrics can't see.
Lyrics support has been added to the next version.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: VEG on 2023-05-27 19:55:25
There is a report of a regression in comparison to foo_midi v2.7.3 when used with VSTi: the vsthost32.exe doesn't close when playback of a track is over, so if a few tracks were played, a few vsthost32.exe are left running unused until foobar2000 is closed.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-27 20:23:18
There is a report of a regression in comparison to foo_midi v2.7.3 when used with VSTi: the vsthost32.exe doesn't close when playback of a track is over, so if a few tracks were played, a few vsthost32.exe are left running unused until foobar2000 is closed.
I'll look in to it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-05-28 10:04:51
There is a report of a regression in comparison to foo_midi v2.7.3 when used with VSTi: the vsthost32.exe doesn't close when playback of a track is over, so if a few tracks were played, a few vsthost32.exe are left running unused until foobar2000 is closed.
I'll look in to it.
Fixed in next version. Thanks for the report.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-06-01 20:35:28
v2.8.3.0, 2023-06-01, Do you want lyrics with that?

* Cue Marker, Lyrics, Time Signature and Key Signature meta events are now converted to tags.
  * Soft Karaoke lyrics are stored in an SYNCEDLYRICS tag; other lyrics in a LYRICS tag. The tags can be edited but will not be written back to the MIDI file.
  * Info tag MIDI_LYRICS_TYPE contains the name of the Karaoke standard. For now, only Soft Karaoke format is recognized.
* Bug Fix: vshost process was not stopped when checking for presets. (Regression)

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from https://github.com/stuerp/foo_midi/releases (https://github.com/stuerp/foo_midi/releases) or the Components Repository.

Automatic update from within foobar2000 still does not work...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Case on 2023-06-02 06:57:52
Automatic updating doesn't work because your component doesn't use the filename you have marked in the repository.
I think the best solution would be that the ownership of foo_midi component page is transferred to you.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-06-02 13:16:57
I know.  I'll ask @Peter if he's OK with it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: iridescentaudio on 2023-06-02 13:58:30
I finally updated to the new component for v2.0. I held off for a while because I suspected there would be teething issues. Sure enough, I have lost the Secret Sauce option. The Secret Sauce link specified under Advanced preferences has not changed. How do I get this option back?

EDIT: Okay, not sure what I did but after fiddling with changing the output player, the Secret Sauce option rematerialised, but regardless the output is wrong. In fact, it seems no matter what output device I select, it's stuck using presumably the default chiptune midi synth. Tried restarting foobar2000, but hasn't made a difference. Did I ought to try a fully clean installation of the component?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-06-02 18:45:49
I finally updated to the new component for v2.0. I held off for a while because I suspected there would be teething issues. Sure enough, I have lost the Secret Sauce option. The Secret Sauce link specified under Advanced preferences has not changed. How do I get this option back?

EDIT: Okay, not sure what I did but after fiddling with changing the output player, the Secret Sauce option rematerialised, but regardless the output is wrong. In fact, it seems no matter what output device I select, it's stuck using presumably the default chiptune midi synth. Tried restarting foobar2000, but hasn't made a difference. Did I ought to try a fully clean installation of the component?
The latest versions have a Paths sub-page that lists all the path- and file names that the component uses. Is the path for Secret Sauce correct?
You're clearly using the ADL decoder.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: GenjuroXL on 2023-06-03 09:47:15
Hm, I just updated to the latest build from github (using 32 bit foobar2000 2.0) and I can't configure soundfonts for BASSMIDI anymore, the "Configure" button is greyed out and doesn't do anything. Maybe I'm missing something obvious here, not sure. :)

Edit: Correction, I just saw I have to set the soundfont in the "Paths" settings now, but it doesn't seem to work, it plays songs with Emu de MIDI even when BASSMIDI is selected. The latest build before the current one (2.8.2.0) seems to work with BASSMIDI, though.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2023-06-03 10:25:20
I just tested out v2.8.3 and found that when I play an official freebies from Yamaha back from the early 2000s that I have saved.
using the VSTi  Yamaha Soft synth S-YXG50 dll that Kode54 had setup for me...
it all sounds like Emu De MIDI .. and not the rich feel of the S-YXG50 dll...

edit1:
I checked Task Manager and found no VSTi host running under Foobar2000 app when I played a MIDI file..
so not sure whats going on but its not working right now..
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-06-03 11:33:18
I just tested out v2.8.3 and found that when I play an official freebies from Yamaha back from the early 2000s that I have saved.
using the VSTi  Yamaha Soft synth S-YXG50 dll that Kode54 had setup for me...
it all sounds like Emu De MIDI .. and not the rich feel of the S-YXG50 dll...

edit1:
I checked Task Manager and found no VSTi host running under Foobar2000 app when I played a MIDI file..
so not sure whats going on but its not working right now..
Confirmed. Seems like I cleaned up too much code in the player selection. I'll get on it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-06-03 12:40:28
v2.8.3.1, 2023-06-03, Do you want lyrics with that? Redux

* Bug Fix: The user selection of the MIDI player was no longer honored. (Regression) A SOLID bug...

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from https://github.com/stuerp/foo_midi/releases (https://github.com/stuerp/foo_midi/releases) or the Components Repository.

Automatic update from within foobar2000 still does not work...

P.S. For the developers here... please stick to SOLID and never trust old code  :)
Title: Re: foo_midi (foobar2000 v2.0)
Post by: GenjuroXL on 2023-06-03 13:01:58
That update fixed the problem I was having, too, thanks!
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2023-06-03 15:59:44
v2.8.3.1, 2023-06-03, Do you want lyrics with that? Redux

* Bug Fix: The user selection of the MIDI player was no longer honored. (Regression) A SOLID bug...

URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from https://github.com/stuerp/foo_midi/releases (https://github.com/stuerp/foo_midi/releases) or the Components Repository.

Automatic update from within foobar2000 still does not work...

P.S. For the developers here... please stick to SOLID and never trust old code  :)

thx Pqyt, its working again now..
huwayy!
a quick FIX!! lol
Title: Re: foo_midi (foobar2000 v2.0)
Post by: iridescentaudio on 2023-06-08 09:16:09
The latest versions have a Paths sub-page that lists all the path- and file names that the component uses. Is the path for Secret Sauce correct?
You're clearly using the ADL decoder.

I hadn't noticed this, good to know for future reference. The links there are correct anyway, the exact same as under Advanced preferences.
Regardless, the latest component update fixed my problem, I'm able to use Secret Sauce, S-YXG50 and whatever else again. Clearly I chose the precise wrong moment to update to this fork. :D
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-06-26 20:59:41
v2.8.4.0, 2023-06-26, Beat the Drum


URL: https://github.com/stuerp/foo_midi/ (https://github.com/stuerp/foo_midi/)

Download from https://github.com/stuerp/foo_midi/releases (https://github.com/stuerp/foo_midi/releases) or the Components Repository (https://www.foobar2000.org/components/view/foo_midi+%28x64%29).

Automatic update from within foobar2000 still does not work...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: erit_invictus on 2023-06-27 16:48:32
Apologies for bothering you, but I feel like a dummy.

If my memory serves me right, in the previous mantainer's emulator I could set the path of the MIDI soundfont I wished to use from the config page.
I am unable to do so in this version, and I can't figure out if that feature exists at all now. Can anyone clarify, and if it's implemented, help me set it up?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-06-27 17:24:28
Apologies for bothering you, but I feel like a dummy.

If my memory serves me right, in the previous mantainer's emulator I could set the path of the MIDI soundfont I wished to use from the config page.
I am unable to do so in this version, and I can't figure out if that feature exists at all now. Can anyone clarify, and if it's implemented, help me set it up?
The old Advanced settings are still available but a new sub-page of the main settings page called "Paths" groups all paths in a more user friendly way.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: deus-ex on 2023-06-27 19:12:47
v2.8.4.0, 2023-06-26, Beat the Drum
  • New: Added detection of an extra percussion channel in Standard MIDI Files (*.MID). When meta data messages of type Text, Track Name or Instrument Name containing the word "drum" preceed the first message for channel 16 it will be used as an extra percussion channel in addition to channel 10.
  • New: A new Info tag "MIDI_EXTRA_PERCUSSION_CHANNEL" contains the (1-based) number of the channel that acts as an additional percussion channel (only channel 16 for now).
Thank you for adding this feature, and for going the extra mile by adding a dedicated info tag. Works fine as intended. 😃👍
Title: Re: foo_midi (foobar2000 v2.0)
Post by: iridescentaudio on 2023-07-05 16:38:38
The new %__MIDI_PLAYER% field got me thinking about a totally pie-in-the-sky idea: is it even remotely feasible to specify which synthesizers to use on a per-midi basis? I'm not sure why I'm asking because it seems kind of absurd and difficult to implement something like that for a bunch of reasons, probably creating more problems than it solves, and not even sure how it could work since MIDI format doesn't contain standard metadata fields so you'd have to use External Tags or something for the component to read from, but it would be a useful feature. I've held off on ReplayGain scanning midis because of course the volume varies significantly depending on device, so no good if the device is subject to change. Otherwise I already know what synthesizer I'm using 100% of the time and exposing it in the interface with %__MIDI_PLAYER% is strictly for show. Hm, I am thinking aloud here mainly I guess!

Also, I don't know how recent this change is since I only just noticed, but I appreciate the %__midi_type% field defaulting to "GM" for midis that don't contain reset messages - before it was just blank. I think it's a good change personally. I'm glad work on this component is continuing one way or another!
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-05 21:35:04
The new %__MIDI_PLAYER% field got me thinking about a totally pie-in-the-sky idea: is it even remotely feasible to specify which synthesizers to use on a per-midi basis?

I added the info field because foo_midi did already override the selected MIDI player:

* If a saved preset is found, the player in the preset will be used.
* If an .sflist is found in the same directory as the MIDI file BASSMIDI will be used.
* If MT-32 messages our found SuperMunt will be used

I thought it would be helpful to have a way to know which player was actually being used  during playback in case any of the conditions above were met.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: iridescentaudio on 2023-07-11 10:32:34
Oh, I didn't know that was possible! In that case yes it's definitely useful. Is there more information about setting presets somewhere? I can't find any instructions in the documentation. I basically only use Secret Sauce and S-YXG50 - it'd be great if midis with XG resets automatically played with the latter, if that's possible.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-11 14:17:59
Oh, I didn't know that was possible! In that case yes it's definitely useful. Is there more information about setting presets somewhere? I can't find any instructions in the documentation. I basically only use Secret Sauce and S-YXG50 - it'd be great if midis with XG resets automatically played with the latter, if that's possible.
Someone else currently maintains the wiki. I haven't had any time to look at it. You set the settings you like, right-click the track and select "Utilities / Save synthesizer preset".
I'll see if how I can best expand the rules to use Secret Sauce with XG files.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: iridescentaudio on 2023-07-11 17:04:48
I changed from Secret Sauce -> S-YXG50 VSTi, saved synthesizer preset on a midi, changed back to Secret Sauce then played the midi, expecting it to play with S-YXG50, but it still plays with Secret Sauce SCVA. Tried this with Emu de MIDI too, but the same outcome. So it ostensibly is not working for me.

Where are the preset configurations stored btw? And is there some means to check whether or not a midi has one assigned? Perhaps it'd be good information to make visible under Properties->Details, so it could be exposed as a column. Quite excited about this idea though~
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Slender on 2023-07-17 18:15:05
Hi, I noticed that loop detection seems to be broken in several EMIDI files. For example, this file was previously detected as having a loop in previous versions, but it broke somewhere around 2.8.3.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-18 05:32:55
Hi, I noticed that loop detection seems to be broken in several EMIDI files. For example, this file was previously detected as having a loop in previous versions, but it broke somewhere around 2.8.3.

Thanks for the report. I'll look into it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-18 05:38:23
Where are the preset configurations stored btw? And is there some means to check whether or not a midi has one assigned? Perhaps it'd be good information to make visible under Properties->Details, so it could be exposed as a column. Quite excited about this idea though~

Presets used to be stored as meta tags but along the way code crept in that converted meta tags into info tags; I'm not sure why.

I'll have a good look at the code and see what I can do about XG.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-22 16:26:28
I changed from Secret Sauce -> S-YXG50 VSTi, saved synthesizer preset on a midi, changed back to Secret Sauce then played the midi, expecting it to play with S-YXG50, but it still plays with Secret Sauce SCVA. Tried this with Emu de MIDI too, but the same outcome. So it ostensibly is not working for me.

Where are the preset configurations stored btw? And is there some means to check whether or not a midi has one assigned? Perhaps it'd be good information to make visible under Properties->Details, so it could be exposed as a column. Quite excited about this idea though~

Preset saving was broken. It's fixed in the next version. The preset is stored as MIDI_PRESET tag.

As a convenience I added a separate configuration setting that, when enabled, will use Secret Sauce whenever an XG file is played.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-22 17:24:11
Hi, I noticed that loop detection seems to be broken in several EMIDI files. For example, this file was previously detected as having a loop in previous versions, but it broke somewhere around 2.8.3.

Fixed in the next version. I switched the order of the detection algorithms, There's an EMIDI control change in the file that clears all previously detected loop markers. The markers that matter for this file are XMI markers.

BTW. great track. Reminds me of some of The Matrix songs.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-23 12:24:33
I changed from Secret Sauce -> S-YXG50 VSTi, saved synthesizer preset on a midi, changed back to Secret Sauce then played the midi, expecting it to play with S-YXG50, but it still plays with Secret Sauce SCVA. Tried this with Emu de MIDI too, but the same outcome. So it ostensibly is not working for me.

Where are the preset configurations stored btw? And is there some means to check whether or not a midi has one assigned? Perhaps it'd be good information to make visible under Properties->Details, so it could be exposed as a column. Quite excited about this idea though~

Preset saving was broken. It's fixed in the next version. The preset is stored as MIDI_PRESET tag.

As a convenience I added a separate configuration setting that, when enabled, will use Secret Sauce whenever an XG file is played.
Strike that, I meant "use S-YXG50 whenever an XG file is played."
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-23 16:34:23
v2.8.5.0, 2023-07-23

* New: Added a configuration option to always use Super Munt when playing an MT-32 file. Default is on.
* New: Added an configuration option to always use a VSTi to play an XG file. Default is off.
  * Don't forget to specify the path name of the VSTi in the Advanced preferences.
* Bug Fix: Saving MIDI presets was broken.
* Bug Fix: Loop detection was broken for some files.

Download from GitHub (https://github.com/stuerp/foo_midi/releases) or the foobar2000 Components Repository (https://www.foobar2000.org/components/view/foo_midi+%28x64%29).

Automatic update from within foobar2000 still does not work...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: iridescentaudio on 2023-07-24 11:29:59
The XG mode is working great!
I am now remembering how this VSTi has low polyphony by default. It's possible to change the polyphony setting in its configuration but the setting doesn't stick. Wonder if there's some workaround here?

Also preset saving is working (tags are updated) but the specified presets aren't being read on playback. I have some GM midis set to use the S-YXG50 but they are still playing with my default device. Have I missed something?
Title: bug
Post by: CoolCmd on 2023-07-27 22:27:14
2.8.5.0 bug
the following settings:
Quote
playback = never loop
playback = never loop, 1s
other = never loop
other = never loop, 1s
actually act like "loop and fade when detected"

BTW the new version with bassmidi is much better than with fluidsynth.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-07-28 11:40:39
2.8.5.0 bug
the following settings:
Quote
playback = never loop
playback = never loop, 1s
other = never loop
other = never loop, 1s
actually act like "loop and fade when detected"

BTW the new version with bassmidi is much better than with fluidsynth.
I initially stayed away from the looping code because it's hard to understand. Now that I've written foo_input_pmd from scratch with looping I'l spend some time on it.

Actually, the next version will bring back FluidSynth in addition to BASS.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-08-02 19:30:40
v2.9.0.0, 2023-08-02, Revenge of the FluidSynth

* New: Added FluidSynth player again.
  * It can be selected after setting the path to the directory that contains the FluidSynth libraries. You can download FluidSynth [here](https://github.com/FluidSynth/fluidsynth/releases). Make sure you download the version that has the same CPU architecture as foobar2000 (x64 or x86).
* New: Added .XFM as an alternative file extension for XMI files.
* Improved: Added FluidSynth settings to preferences page.
* Improved: MIDI standard detection
  * Some XG files where not recognized as such if the file contained anyy GS messages first.
  * GM 2 detection.
* Changed: Renamed dynamic info tags *bassmidi_voices* and *bassmidi_voices_max* to *midi_active_voices* and *midi_peak_voices*. The FluidSynth player also sets those tags while playing.
* Bug Fix: An old bug in the XMI parser prevent some XMI files from loading..

Download from GitHub (https://github.com/stuerp/foo_midi/releases) or the foobar2000 Components Repository (https://www.foobar2000.org/components/view/foo_midi+%28x64%29).

Automatic update from within foobar2000 still does not work...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2023-08-02 20:58:12
v2.9.0.0, 2023-08-02, Revenge of the FluidSynth

* New: Added FluidSynth player again.
  * It can be selected after setting the path to the directory that contains the FluidSynth libraries. You can download FluidSynth [here](https://github.com/FluidSynth/fluidsynth/releases). Make sure you download the version that has the same CPU architecture as foobar2000 (x64 or x86).
* New: Added .XFM as an alternative file extension for XMI files.
* Improved: Added FluidSynth settings to preferences page.
* Improved: MIDI standard detection
  * Some XG files where not recognized as such if the file contained anyy GS messages first.
  * GM 2 detection.
* Changed: Renamed dynamic info tags *bassmidi_voices* and *bassmidi_voices_max* to *midi_active_voices* and *midi_peak_voices*. The FluidSynth player also sets those tags while playing.
* Bug Fix: An old bug in the XMI parser prevent some XMI files from loading..

Download from GitHub (https://github.com/stuerp/foo_midi/releases) or the foobar2000 Components Repository (https://www.foobar2000.org/components/view/foo_midi+%28x64%29).

Automatic update from within foobar2000 still does not work...
hi Pqyt,
thx for the update.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: deus-ex on 2023-08-05 21:12:54
v2.9.0.0, 2023-08-02, Revenge of the FluidSynth
Oopsie, the options screen cut-off strikes back. (https://storage.googleapis.com/sticker-prod/RkUDJ2TeK4wX0RU6DuL4/16-1.thumb128.png)
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Chibisteven on 2023-08-06 03:43:38
v2.9.0.0, 2023-08-02, Revenge of the FluidSynth
Oopsie, the options screen cut-off strikes back. (https://storage.googleapis.com/sticker-prod/RkUDJ2TeK4wX0RU6DuL4/16-1.thumb128.png)

I don't see that bug at all.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-08-06 08:26:54
v2.9.0.0, 2023-08-02, Revenge of the FluidSynth
Oopsie, the options screen cut-off strikes back. (https://storage.googleapis.com/sticker-prod/RkUDJ2TeK4wX0RU6DuL4/16-1.thumb128.png)
You're probably using a higher DPI setting. I'll see if I can compensate for that in a next version..
Title: Re: foo_midi (foobar2000 v2.0)
Post by: deus-ex on 2023-08-06 09:04:29
You're probably using a higher DPI setting.
Yes, you're correct. Perhaps make the options dialog screen scrollable? No worries though, at least to me, it's just a minor issue. :)
Title: Re: foo_midi (foobar2000 v2.0)
Post by: MagicalShion on 2023-08-11 15:20:29
Hey, I was wondering if it'd be much of a bother to implement a custom decay time on the never loop option for playback and conversion, instead of the fixed 1 second.
I have several midis that aren't meant to loop or don't end in a fade-out, almost all of which have the track end coincide with the last note played. A single second is never enough decay time for the instruments to fade to silence, it's especially jarring when ending on a cymbal hit on the drum track.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-08-11 16:41:23
Hey, I was wondering if it'd be much of a bother to implement a custom decay time on the never loop option for playback and conversion, instead of the fixed 1 second.
I have several midis that aren't meant to loop or don't end in a fade-out, almost all of which have the track end coincide with the last note played. A single second is never enough decay time for the instruments to fade to silence, it's especially jarring when ending on a cymbal hit on the drum track.

Shouldn't be too difficult. I'll see what I can do.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-08-15 06:34:16
[long] We have to talk about looping and fading...

Replacing the current fixed 1s decay time with a  configurable option was 30min work but then ~~~testing~~~ started... I dread touching the looping and fading code because, frankly, I don't understand it completely and I don't have enough files to test all the different combinations. It feels over-engineered with a lot of features and options added for 1 niche scenario.

The previous statements in no way diminishes my respect for the work and time kode54 has put into the code in the past but I'd like a clean start.


Are there any foo_midi users out there who have good arguments for me not to proceed with this? It's going to be a lot of work but it's better than going on like this.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2023-08-15 10:17:23
[long] We have to talk about looping and fading...

Replacing the current fixed 1s decay time with a  configurable option was 30min work but then ~~~testing~~~ started... I dread touching the looping and fading code because, frankly, I don't understand it completely and I don't have enough files to test all the different combinations. It feels over-engineered with a lot of features and options added for 1 niche scenario.

The previous statements in no way diminishes my respect for the work and time kode54 has put into the code in the past but I'd like a clean start.

  • Looping is looping and fading is fading.
  • Respect all loop markers or none
  • Get rid of the distinction between playback and 'other' which only seems useful for rendering to a .wav file
  • Allow adding the settings to a song preset so you can tweak how one particular song is played

Are there any foo_midi users out there who have good arguments for me not to proceed with this? It's going to be a lot of work but it's better than going on like this.
ty for your hard work and effort to make the midi component better..
I go plenty of midi files I collected over the years,
mainly from the early 2000s if you want a copy I can share them.. freely available..
Title: Re: foo_midi (foobar2000 v2.0)
Post by: MagicalShion on 2023-08-15 12:14:32
[long] We have to talk about looping and fading...

Replacing the current fixed 1s decay time with a  configurable option was 30min work but then ~~~testing~~~ started... I dread touching the looping and fading code because, frankly, I don't understand it completely and I don't have enough files to test all the different combinations. It feels over-engineered with a lot of features and options added for 1 niche scenario.

The previous statements in no way diminishes my respect for the work and time kode54 has put into the code in the past but I'd like a clean start.

  • Looping is looping and fading is fading.
  • Respect all loop markers or none
  • Get rid of the distinction between playback and 'other' which only seems useful for rendering to a .wav file
  • Allow adding the settings to a song preset so you can tweak how one particular song is played

Are there any foo_midi users out there who have good arguments for me not to proceed with this? It's going to be a lot of work but it's better than going on like this.
Hey, thanks for looking into the decay time thing!
If you plan on going through with the reworking of this part of the code, I'm pretty much on board with all the points made. The only thing that comes to mind for being able to pick and choose individual loop modes is that CCs used for looping in one scenario (e.g. CC 111 in RPG Maker) might be used for something else in different MIDIs that don't adhere to those same rules, resulting in potential conflicts or playback inaccuracies. I don't know how likely it would be for something like this to occur, but I still wanna put it in the room just in case.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Slender on 2023-08-15 18:39:11
Hi, bug report, not sure if this is with FluidSynth or the plugin. I noticed that with FluidSynth running, if the sample rate is set to something other than 44100 Hz, the pitch of the audio is affected instead of the quality. You can reproduce this by setting the sample rate to 48000.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-08-20 09:40:30
Hi, bug report, not sure if this is with FluidSynth or the plugin. I noticed that with FluidSynth running, if the sample rate is set to something other than 44100 Hz, the pitch of the audio is affected instead of the quality. You can reproduce this by setting the sample rate to 48000.
It's a bug. I forgot to pass on the sample rate from the preferences to FluidSynth. Fixed in the next version.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-09-27 12:24:33
v2.9.1.0-alpha, 2023-09-27, *"Loop de loop"*

* New: You can specify the path of an ADLMIDI bank (*.wopl or any of the other supported formats) in the Advanced branch of the Preferences dialog.
  * The bank in the file overrides any selection in the bank drop down list in Preferences.
  * The file path is not yet saved as part of a preset.
  * Only file paths with Latin-1 characters are supported (limitation of the library).
* Improved: The decay time is now configurable. The default is still 1s (1000ms).
* Improved: Looping, fading and decay has been tweaked.
* Bug Fix: FluidSynth did not respect the preferred sample rate.
* Bug Fix: FluidSynth did not save two settings in a preset.
* Builds with foobar2000 SDK 2023-09-06.

Only available from GitHub (https://github.com/stuerp/foo_midi/releases) for now until it's fully tested and ready.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Slender on 2023-10-05 13:04:49
Bug report. I noticed that songs with a loop start marker, but no loop end are no longer detected as looping files. Here's an example file.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-10-05 17:57:04
Thanks for the report. I'll look in to it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Kirisame Morisa on 2023-10-10 16:45:55
The configuration page of the plugin is not fully displayed in the preferences settings. The top of the interface seems to have a few lines left blank, causing the bottom of the interface not to be fully displayed. I'm using the FB2K v2.0 64-bit version.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-10-10 18:27:01
You're using High DPI settings. The dialog unit calculation by Windows goes wrong. There's nothing I can do about it except cram less settings on 1 page.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2023-10-23 14:34:10
2.9.1.0-alpha doesn't handle sub-songs correctly; music ripped by mirsoft from the 1993 CRPG "Dark Sun: Shattered Lands" only plays the first twenty or so seconds of each track, then the foo_midi module assumes that the subsong markers mean it needs to loop back to the start of the sequence now (ignoring the looping settings in the process) so only the first subsong is getting played (which means a bunch of subsongs are not getting played).
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-10-23 16:49:43
Thanks for the report. Could you please send me a link to or a copy of the file? I haven't encountered any MIDI files with subsongs.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2023-10-23 17:59:30
PM sent; "Subsong" is probably the wrong way to refer to this but that's what it most resembles; the original game would jump to different pre-defined loop points within the song based on what was happening within the game, but they're all defined within the same midi file for each region in the game.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-10-23 18:05:37
Got it. I'll have a look at it. I expected some things to break when rewriting the loop code.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-10-29 16:44:24
I finally found some time to look at this. The behavior seems to work 'as designed' but maybe not as you expect...

Is this something that used to work? I haven't found any 'subsong' handling in MIDI files in the original code but I may be mistaken. Edit: The song is a Format 0 MIDI file. The original code did not detect multiple 'loop' markers for this type.

I'd like to know because if it is new behavior I'd like to release the current version as-is and focus on subsong handling in the next release.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2023-10-30 19:56:36
I'm not actually sure how it is "supposed to" work, but what I do know is that if I use winamp's midi input handler with looping disabled, it plays through the whole thing without looping.  if I use the current version of this midi plugin with looping disabled, it still plays the first sixteen seconds for however many loops are set in the preferences and then moves on to the next file.  Effectively it's ignoring the "do not loop and fade" setting.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-10-31 07:29:35
Effectively it's ignoring the "do not loop and fade" setting.
Gotcha. That sounds like a bug. As a work-around you could disable the detection of EMIDI loop information.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-11-01 11:53:06
v2.9.1.0-alpha-2, 2023-11-01, "Happy Halloween"

* Improved: The song duration is now always calculated without taking into account the selected loop mode. So it's the absolute length of the song without any looping or decay time.
* Bug Fix: Loop modes should now work as expected again.

Only available from GitHub (https://github.com/stuerp/foo_midi/releases/tag/v2.9.1.0-alpha-2) for now until it's fully tested and ready.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Slender on 2023-11-01 22:35:49
Found a bug. It seems that with the play indefinitely when detected option is used, loops are ignored, even with a loop start and end. This doesn't seem to happen with the play indefinitely option.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-11-01 22:37:20
Thx. On it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-11-02 16:54:52
v2.9.1.3, 2023-11-02, Loop de loop

* New: You can specify the path of an ADLMIDI bank (*.wopl or any of the other supported formats) in the Advanced branch of the Preferences dialog.
* The bank in the file overrides any selection in the bank drop down list in Preferences.
  * The file path is not yet saved as part of a preset.
  * Only file paths with Latin-1 characters are supported (limitation of the library).
* New: Made Opal and Java OPL3 emulator core from LibADLMIDI selectable in the Advanced Preferences.
* Improved: The decay time is now configurable. The default is still 1s (1000ms).
* Improved: Looping, fading and decay has been tweaked.
* Improved: The song duration is now always calculated without taking into account the selected loop mode. So it's the absolute length of the song without any looping or decay time.
* Improved: Made the parsing the MIDI data more robust.
* Improved: LDS file detection is more robust.
* Bug Fix: FluidSynth did not respect the preferred sample rate.
* Bug Fix: FluidSynth did not save two settings in a preset.
* Bug Fix: Invalid embedded karaoke lyrics were not handled correctly.
* Builds with foobar2000 SDK 2023-09-06.

Download from GitHub (https://github.com/stuerp/foo_midi/releases) or the foobar2000 Components Repository (https://www.foobar2000.org/components/view/foo_midi+%28x64%29).

Automatic update from within foobar2000 still does not work...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2023-11-06 15:26:10
Would it be possible to split Fluidsynth/Bass Midi/Munt/ADL/Nuke settings off into their own subpages (like how paths is split off?), as well as to move the OPN bank selection setting from Advanced to an OPN subpage?  Mostly this would benefit ADL since the bank descriptions are longer than the selection box has room for.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-11-06 17:30:50
Yes, it's on my To Do list, probably for the next release.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: ApacheReal on 2023-11-13 17:40:26
In the latest release:

https://www.foobar2000.org/components/view/foo_midi+%28x64%29

McAfee report this vsthost64.exe  RDN/Ransom





Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-11-13 20:32:18
In the latest release:
https://www.foobar2000.org/components/view/foo_midi+%28x64%29
McAfee report this vsthost64.exe  RDN/Ransom
Well,... that's McAfee's problem. There's nothing I can do about it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Sashka78 on 2023-11-15 21:23:43
In the latest release:

https://www.foobar2000.org/components/view/foo_midi+%28x64%29

McAfee report this vsthost64.exe  RDN/Ransom

Bitdefender reports Trojan.GenericKD.70199837
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-11-15 21:35:30
Yeah, well, I trust the 2 most important ones, MS Defender and Kaspersky.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: iridescentaudio on 2023-12-01 15:30:58
Something I asked about back when kode54 maintained the component, but I thought it might be worth asking again.

Is support for the Ensoniq AudioPCI wavetables feasible? They consist of three .ECW format soundbank files, similar to soundfonts. 2MB, 4MB & 8MB respectively. Support for these wavetables continued as late as the release of the SoundBlaster Audigy, which offered an alternative Windows MIDI device called "Creative S/W synth" in order to access them instead of the usual soundfonts.

There's a format specification here (https://3119369616.github.io/ECW/) if it helps. I have the 2MB and 8MB banks uploaded here (https://www.dropbox.com/scl/fi/yebr2h6wsn4glsdsfy2u0/default2mb.ecw?rlkey=r8poc7r890auvietx67i7oxon&dl=1) and here (https://www.dropbox.com/scl/fi/855aejtkyygufirevayne/default8mb.ecw?rlkey=f294yl27dz0cq4ezpv5u7mdh3&dl=1). (I suspect the 4MB bank is around somewhere too, but I can't find it right at this moment.)
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-12-01 17:07:19
Something I asked about back when kode54 maintained the component, but I thought it might be worth asking again.

Is support for the Ensoniq AudioPCI wavetables feasible? They consist of three .ECW format soundbank files, similar to soundfonts. 2MB, 4MB & 8MB respectively. Support for these wavetables continued as late as the release of the SoundBlaster Audigy, which offered an alternative Windows MIDI device called "Creative S/W synth" in order to access them instead of the usual soundfonts.

There's a format specification here (https://3119369616.github.io/ECW/) if it helps. I have the 2MB and 8MB banks uploaded here (https://www.dropbox.com/scl/fi/yebr2h6wsn4glsdsfy2u0/default2mb.ecw?rlkey=r8poc7r890auvietx67i7oxon&dl=1) and here (https://www.dropbox.com/scl/fi/855aejtkyygufirevayne/default8mb.ecw?rlkey=f294yl27dz0cq4ezpv5u7mdh3&dl=1). (I suspect the 4MB bank is around somewhere too, but I can't find it right at this moment.)
I'll look into it after foo_vis_spectrum_analyzer is a little bit more mature.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: doomerguy82 on 2023-12-11 16:41:21
Current version: 2.9.1.3, released on 2023-11-02
Just checked in Virustotal, there are 13 (!) alerts at the time writing. The "older version" from kode54 is clean... Will not install this.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-12-11 16:46:02
Current version: 2.9.1.3, released on 2023-11-02
Just checked in Virustotal, there are 13 (!) alerts at the time writing. The "older version" from kode54 is clean... Will not install this.
Good for you! Has it ever occurred to you that virus detectors can have bugs too? Besides, the source code is available.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: doomerguy82 on 2023-12-11 17:16:15
Quote
Has it ever occurred to you that virus detectors can have bugs too?

Yes, I know that. Hope it will be fixed in the future (seems as the VSThost exes cause the alerts). I like the new things the plugin could do. But when the alert pops up while downloading a simple plugin you have to know exactly what to do. I'm a coder guy too and could read and compile the git for myself. But my intension was to simply listen to some new SF2's I got new, so all good for me, even with the old plugin version. Keep up the good work!
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2023-12-21 14:23:45
Well, it is now unavoidable - MS Defender is now reporting this as malware.
X

Someone other than pqyt should compile from source and scan, to confirm if it's an issue with this specific build itself or with the build process on pqyt's end - from what I can see, Phonzy is one of those "this virus will spread to other programs on your machine" viruses, so the build process itself might have gotten infected.

EDIT: I ran the source through clamscan and that all came up clean, so if there's something wrong it's likely in the build process itself.  Unfortunately I don't have a clean build environment at the moment (I'm paranoid and will be scanning everything once I'm done with work today).  The "good news" is that it doesn't look like the vst hosts aren't required for libADL or libOPN so I can still listen to all my midis
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2023-12-21 15:51:55
its most likely a false-positive...
 so I white listed it to prevent ti from messing up my FB2k install.. lol
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Chibisteven on 2023-12-21 17:14:30
its most likely a false-positive...
 so I white listed it to prevent ti from messing up my FB2k install.. lol

I've reported it as a false positive and haven't heard back from my anti-virus vendor for a while now.  Normally I hear back from them within a day or two.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-12-21 17:52:08
Well, it is now unavoidable - MS Defender is now reporting this as malware.
[attach type=image]28211[/attach]

Someone other than pqyt should compile from source and scan, to confirm if it's an issue with this specific build itself or with the build process on pqyt's end - from what I can see, Phonzy is one of those "this virus will spread to other programs on your machine" viruses, so the build process itself might have gotten infected.

EDIT: I ran the source through clamscan and that all came up clean, so if there's something wrong it's likely in the build process itself.  Unfortunately I don't have a clean build environment at the moment (I'm paranoid and will be scanning everything once I'm done with work today).  The "good news" is that it doesn't look like the vst hosts aren't required for libADL or libOPN so I can still listen to all my midis
vshost works by setting up a pipe between itself and foobar2000 to send the MIDI messages and responses back and forth. That's a perfectly legit use case.

FYI. I work in IT security so I'm well aware of the risks. That does not exclude a possible infection of my build machine but I've had Defender complain about spawning a PDF reader after a print to PDF action from Excel. Human intelligence still beats artificial intelligence.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2023-12-22 12:45:45
considering we've all been getting a false positive for the same component (vsthost64), there's clearly something as has gone wrong.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-12-22 12:58:26
Can you we get back on topic: playing MIDI files?

If you don't trust it, recompile it. If you don't know how, don't use it. There's a Delete key on every keyboard.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Slender on 2023-12-22 21:02:51
Bug report. I noticed that foobar sometimes crashes when playing files with the Emu de MIDI plugin selected. Unsure of exact steps to reproduce, but it seems to happen when first opening files with it. Sometimes it might happen once, but not happen again for a while after foobar is restarted. Here's a crash dump.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-12-22 21:53:12
Bug report. I noticed that foobar sometimes crashes when playing files with the Emu de MIDI plugin selected. Unsure of exact steps to reproduce, but it seems to happen when first opening files with it. Sometimes it might happen once, but not happen again for a while after foobar is restarted. Here's a crash dump.
Can you provide an example MIDI file that causes a crash?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Slender on 2023-12-23 12:14:47
The crash doesn't seem to be specific to any particular file. Onestop.mid can also cause it.
Here are some more reliable steps to reproduce I've discovered.
1. Restart your computer.
2. Load the Emu de MIDI plugin and play a file, such as onestop.mid. The crash will occur on the first play, but won't re-occur until you restart your computer again.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-12-23 15:08:00
Fixed in the next release: division by 0 because the dynamic synthesis rate was not initialized on time.

onestop.mid sounds nicer in BASSMIDI, IMHO.

Thx. for the report.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: mudlord on 2023-12-23 21:22:50
Curious if you are going to add Yamaha XG emulation once MAME finishes their chip research, like MT32, to make things like VSTi's redundant. Only this time, they are working on the XG line of synths to be emulated properly.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-12-24 06:39:36
Curious if you are going to add Yamaha XG emulation once MAME finishes their chip research, like MT32, to make things like VSTi's redundant. Only this time, they are working on the XG line of synths to be emulated properly.
I will certainly look at it. But just emulating the XG won't be sufficient. You'd need the sample banks too, wouldn't you?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: mudlord on 2023-12-24 16:40:02
That's 100% correct yes. You will need the control param ROM and sample ROM, just like with Roland GS synth emulation and the "Secret Sauce".
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2023-12-24 20:27:35
v2.9.2.0, 2023-12-24, Merry Christmas

* New: Compatible with foo_vis_midi v0.1.0.
* Bug Fix: Crash in Emu de MIDI because dynamic synthesis rate was not initialized in time.
* Bug Fix: Loop type was not respected when converting to other audio formats.
* Builds with foobar2000 SDK 2023-09-23.

Download from GitHub (https://github.com/stuerp/foo_midi) or the foobar2000 Components (https://www.foobar2000.org/components/view/foo_midi+%28x64%29) Repository.

Automatic update from within foobar2000 still does not work...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2023-12-24 20:31:58
thumbs up!
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2023-12-26 02:08:37
Working fine on my end.

Also, this build comes up clean in clamav so any hits from antiviruses for this build should be reported as false positives.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Michelist on 2023-12-27 20:47:55
Working fine on my end.

Also, this build comes up clean in clamav so any hits from antiviruses for this build should be reported as false positives.
ClamAV as a security measure? ???   Is this a joke for insiders?  ::)
ClamAV can at best be used as a secondary scanner for retired malware.
The last definition update is how old? Okay, I'll give it away: October 25, 2023.
Although I think there have been two updates a year for the past two years. Yeah, ClamAV is improving!

I'm afraid it's more likely that a blind person can correctly identify the color of 5 T-shirts with the help of its blind man's stick than that ClamAV can identify two 0-day viruses with the help of definitions that are several months old, let alone five 0-day viruses.

Regards
Michelist

With greetings from:
https://www.virustotal.com/gui/file/93e28bab767288c13ede2c9ff43448a4ff0513ff40fe144527d603f22ac9c302?nocache=1   :'(
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Case on 2023-12-28 06:58:15
Your points about ClamAV are very valid, but I hope you aren't suggesting that foo_midi has malware?

Some of those virus scanners featured in VirusTotal are just absolutely useless. I wouldn't be surprised if some of them marked every executable that isn't digitally signed or white listed as a virus.
Just to demonstrate, I compiled a simple hello world program with Visual Studio 2017 XP toolkit and static linking:
Code: [Select]
#include <stdio.h>

void main(void)
{
puts("Hello world.\n");
}
Here's virustotal link: https://www.virustotal.com/gui/file/eb4efc114b4c00d113c9ff9b9a7c58ad767446a106ef046a5fa51e691b417bdd?nocache=1 (https://www.virustotal.com/gui/file/eb4efc114b4c00d113c9ff9b9a7c58ad767446a106ef046a5fa51e691b417bdd?nocache=1)
These results are mind boggling. I wouldn't go anywhere near anti malware products like these 9 that consider this malicious.

If you doubt someone's components because of results like these, send the file to be analyzed by your preferred antivirus company as a false positive. Once christmas holidays are over I'm sure they will tell you quite quickly that the false detection has been fixed.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2024-01-02 15:02:11
I have big trouble with foo_midi. Several trojans are reported by Windows Defender.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-01-02 15:08:26
I'm afraid I'll have to sit this one out until MS fixes their sh*t. Delete the vsthost__.exe files and loose VSTi support if you're worried.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2024-01-02 15:10:12
How do I fix the VolumeShadow reports?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-01-02 15:12:18
How do I fix the VolumeShadow reports?
I don't see it in the screenshot?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2024-01-02 15:17:59
Here it is.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-01-02 15:22:55
Here it is.
Looks like its a shadow copy of your Thunderbird cache.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: grimes on 2024-01-02 15:51:44
So this threat has nothing to do with foo_midi?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-01-02 15:57:33
So this threat has nothing to do with foo_midi?
I don't see how. Especially since Defender mentions 2 different trojans. Even 'A.I.' isn't consistent anymore...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Case on 2024-01-02 20:16:45
I'd recommend keeping the vsthost binaries intact when there are no code changes. That way all these AV companies have a better chance to whitelist them. Should help with your sanity too as so many people seem to truly believe they are malicious.

I submitted the old version of the component as a false positive for Microsoft almost two weeks ago. The entire company seems to be on christmas holiday as they still haven't analyzed it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: raekuul on 2024-01-03 14:03:39
pqyt: If that hello world is getting flagged, scan your build process.

Case: I don't have that option, since my other affected install is on my work machine and their AV is hyper-aggressive (to the point that the above Hello World gets false positive'd when I build it myself).

Which modes are VSTHost used for, anyway?  I know they don't impact the libADL and libOPN modes since that's fully synthesized on the fly...
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-01-03 15:13:17
pqyt: If that hello world is getting flagged, scan your build process.
It gets flagged as a trojan because of the CreateProcess and CreatePipe calls. A trojan does not infect another binary like a virus does. My build process is clean.
Which modes are VSTHost used for, anyway?  I know they don't impact the libADL and libOPN modes since that's fully synthesized on the fly...
VSTHosts are used to load the VSTi plugins if you have any. A host is used to allow a 64-bit foobar2000 to talk to 32-bit VSTi's, which most of them are, and vice-versa.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Maimiya on 2024-01-19 02:21:40
Hello, I'm a MIDI lover.

I have a request, but I would like you to implement WRD, which was created a long time ago as a lyrics display system for the PC-9800 series. (Although it was also used for other purposes)
Is it possible to implement MIDI OUT at the same time?
I want to use the nostalgic SC-88Pro.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-01-19 05:35:36
Hello, I'm a MIDI lover.

I have a request, but I would like you to implement WRD, which was created a long time ago as a lyrics display system for the PC-9800 series. (Although it was also used for other purposes)
Is it possible to implement MIDI OUT at the same time?
I want to use the nostalgic SC-88Pro.
Is there some documentation about WRD?

MIDI OUT has been requested on GitHub. I am intrigued by the idea but when I started prototyping I ran into a design problem: the Windows API to talk to the MIDI interface requires a different way of receiving the messages. It will require a lot of rework and I don't have the time for that right now.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Maimiya on 2024-01-19 06:55:26
Hello, I'm a MIDI lover.

I have a request, but I would like you to implement WRD, which was created a long time ago as a lyrics display system for the PC-9800 series. (Although it was also used for other purposes)
Is it possible to implement MIDI OUT at the same time?
I want to use the nostalgic SC-88Pro.
Is there some documentation about WRD?

MIDI OUT has been requested on GitHub. I am intrigued by the idea but when I started prototyping I ran into a design problem: the Windows API to talk to the MIDI interface requires a different way of receiving the messages. It will require a lot of rework and I don't have the time for that right now.

It was originally a unique lyrics display system for NEC-DOS software called MIMPI, but due to its excellence, it has been implemented in other freeware.
(There are also other extended WRDs such as SherryWRD (extended for Windows) and "演出くんメカ" (extended for MS-DOS))

Since the WRD file itself is a text file, it is probably possible to implement it if it follows the text file specifications.
WRD also requires decompression of reversible image compression used in Japan called MAG.

WRD
https://hp.vector.co.jp/authors/VA011751/WHATSWRD.HTM
http://www6.plala.or.jp/kalkal/crystal/wrd/wrd.htm
http://www6.plala.or.jp/kalkal/crystal/wrd/wrdma.html

MAG
http://metanest.jp/mag/mag.xhtml#spec

I think it may be difficult, but it is part of the history of MIDI, so I would appreciate it if you could implement it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: GCRaistlin on 2024-02-14 11:45:16
v1.9.1.3 says it's incompatible with fb2k v1.6.17.
v1.9.2.0 causes crash on fb2k v1.6.17. Win81 x64.
It's okay that the new versions don't work on 1.6 but it should be mentioned on the download page.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: kooz on 2024-02-22 07:13:22
Hello,

Long time fb2k user, first time poster.  Before I start, I just want to thank you for all the work you and kode54 have put into foo_midi.  I truly believe this is the best MIDI player available, with it's ability to easily change between engines/soundfonts/VSTi plugins, dead-accurate timing (something even the acclaimed falcosoft player cannot seem to do properly), all integrated seamlessly into the comfortable and easy-to-use fb2k... absolutely awesome.

Anyway, I am having an intermittent issue with Secret Sauce, seemingly related to how the trigger for whether or not its visibility in the player selection drop-down box is validated.

I like to switch between different players, but I'd say around 80% of the time, when I open preferences to switch the player, Secret Sauce has disappeared from the list.  At that point, in order to get it to reappear, I have to go back to the paths section, edit or browse for the path to Secret Sauce (to get it to "think" that I've pointed it at something new), then close and re-open preferences.  Even after doing this, it seems my chances of it reappearing in the players list is like 50/50.

Anyone else have this issue?  I know the recipe for the sauce is closely guarded and all, and I'm not suggesting deobfuscation or anything, but is it possible to just have this hard-coded after activating it once?  Or maybe I'm just doing something wrong?  I tried removing the path to VSTi Plugins so those don't get scanned when the preferences dialog is opened, but that didn't help.

Running x86 build v2.1.2, but this behavior has been present since Secret Sauce was implemented (for me, at least).
Title: Re: foo_midi (foobar2000 v2.0)
Post by: kooz on 2024-02-22 08:57:03
Update:  I thought I was running the most recent release of foo_midi because the component update checker in fb2k didn't show one available (for some reason?).  I just updated from 2.8.5.0 to 2.9.2.0 manually, and despite not seeing any note indicating a fix for this in the version history, it seems my earlier described issue has been completely resolved.  My apologies for wasting everyone's time!
Title: Re: foo_midi (foobar2000 v2.0)
Post by: kooz on 2024-02-22 09:22:03
Sorry for the triple-post (I have a lot of downtime while I'm working, haha...)

Is there any way to set output gain on BASSMIDI?  It seems super loud and some of my files clip on playback.  I know I could bring them up in a sequencer and adjust channel volumes from there, but that's a pretty inelegant and tedious solution.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-02-22 09:46:01
Update:  I thought I was running the most recent release of foo_midi because the component update checker in fb2k didn't show one available (for some reason?).  I just updated from 2.8.5.0 to 2.9.2.0 manually, and despite not seeing any note indicating a fix for this in the version history, it seems my earlier described issue has been completely resolved.  My apologies for wasting everyone's time!
No problem. Thx. for letting me know. The auto-update does not work because Kode54 is still owner of the original entry in the repository. The only solution I see is that @Peter transfers ownership to me or that I start using a new identifier which may confuse casual users. Unless there is another solution I don't know about.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-02-22 09:47:52
Sorry for the triple-post (I have a lot of downtime while I'm working, haha...)

Is there any way to set output gain on BASSMIDI?  It seems super loud and some of my files clip on playback.  I know I could bring them up in a sequencer and adjust channel volumes from there, but that's a pretty inelegant and tedious solution.
Don't know. I'll look at the BASS API later. I've noticed it too.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: kooz on 2024-02-26 06:02:29
Quote
No problem. Thx. for letting me know. The auto-update does not work because Kode54 is still owner of the original entry in the repository.
Oh, that makes sense.  Well, I'll make a mental note to update manually for now.   ;D

Quote
Don't know. I'll look at the BASS API later. I've noticed it too.
Okay, awesome.  Thank you very much!
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Slender on 2024-03-31 23:24:49
Bug report. I noticed that many files with Shift JIS text are no longer displaying properly.  Here are a few examples from my collection. These files first broke with foo_midi 2.8.2.0, likely caused by the copyright sign fix.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: JexuGarrido on 2024-05-02 10:22:38
There's a problem in Secret Sauce. When i play some midis, they cuts in the beginning, and just sounds pianos, with weak pitch bends, and the map resets to SC-8820 (even if i have the flavor in GS SC-55), most of them sounds fine if i set the flavor in GM, GM2 and XG, but the problem is in GS and Default, however, some of them, aren't fix with any flavor. I leave you one of the midis that Secret Sauce plays wrongly, try it.

And i have a question, there will be Nuked SC-55 support in the future, like Super Munt?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-02 11:58:37
There's a problem in Secret Sauce. When i play some midis, they cuts in the beginning, and just sounds pianos, with weak pitch bends, and the map resets to SC-8820 (even if i have the flavor in GS SC-55), most of them sounds fine if i set the flavor in GM, GM2 and XG, but the problem is in GS and Default, however, some of them, aren't fix with any flavor. I leave you one of the midis that Secret Sauce plays wrongly, try it.
Is this a general problem or do you think it was introduced in a particular version?

And i have a question, there will be Nuked SC-55 support in the future, like Super Munt?
I did not know of this emulator. I'll have a look it can be easily integrated.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: JexuGarrido on 2024-05-02 20:18:45
There's a problem in Secret Sauce. When i play some midis, they cuts in the beginning, and just sounds pianos, with weak pitch bends, and the map resets to SC-8820 (even if i have the flavor in GS SC-55), most of them sounds fine if i set the flavor in GM, GM2 and XG, but the problem is in GS and Default, however, some of them, aren't fix with any flavor. I leave you one of the midis that Secret Sauce plays wrongly, try it.
Is this a general problem or do you think it was introduced in a particular version?
Is a general problem, it was always there.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Meowdori on 2024-05-03 14:12:42
I'd like to be able to route the MIDI messages to external MIDI ports to use it with different software or hardware synths. I already have a system-wide software setup using LoopMIDI and FalcoSoft MIDI Player with Yamaha S-YXG50 VST as my main synth. Will such functionality be ever considered and implemented in foo_midi?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2024-05-03 14:17:15
I'd like to be able to route the MIDI messages to external MIDI ports to use it with different software or hardware synths. I already have a system-wide software setup using LoopMIDI and FalcoSoft MIDI Player with Yamaha S-YXG50 VST as my main synth. Will such functionality be ever considered and implemented in foo_midi?

Yamaha S-YXG50 VST is my favorite VST too..
Kode54 setup Foo-Midi so it can use it..
you just need VST .dll file(s) and the wave-tables..
he gave me a copy of those a long time ago..
If you want a copy I could PM you?


you just need to extract the VST to a folder and point Foo_midi in the advanced settings of Foobar2000 to look for VSTs in that location.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-03 14:36:57
I'd like to be able to route the MIDI messages to external MIDI ports to use it with different software or hardware synths. I already have a system-wide software setup using LoopMIDI and FalcoSoft MIDI Player with Yamaha S-YXG50 VST as my main synth. Will such functionality be ever considered and implemented in foo_midi?
That has already been requested on GitHub. I don't say "no" but don't hold your breath: foo_midi sees and processes each individual MIDI message and hands it over to the selected synthesizer but the Windows external MIDI API expects buffers with the messages ordered differently. It would require a major redesign of the plugin.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Meowdori on 2024-05-03 15:36:47
I'd like to be able to route the MIDI messages to external MIDI ports to use it with different software or hardware synths. I already have a system-wide software setup using LoopMIDI and FalcoSoft MIDI Player with Yamaha S-YXG50 VST as my main synth. Will such functionality be ever considered and implemented in foo_midi?

Yamaha S-YXG50 VST is my favorite VST too..
Kode54 setup Foo-Midi so it can use it..
you just need VST .dll file(s) and the wave-tables..
he gave me a copy of those a long time ago..
If you want a copy I could PM you?


you just need to extract the VST to a folder and point Foo_midi in the advanced settings of Foobar2000 to look for VSTs in that location.
I think you misunderstood me. I don't need the copy of S-YXG50 because i already have it (and it's still available from the webpage of its unofficial maintainer (https://veg.by/en/projects/syxg50/), so i don't undestand why you'd need to DM it to me instead of linking the website).

I'd like to be able to route the MIDI messages to external MIDI ports to use it with different software or hardware synths. I already have a system-wide software setup using LoopMIDI and FalcoSoft MIDI Player with Yamaha S-YXG50 VST as my main synth. Will such functionality be ever considered and implemented in foo_midi?
That has already been requested on GitHub. I don't say "no" but don't hold your breath: foo_midi sees and processes each individual MIDI message and hands it over to the selected synthesizer but the Windows external MIDI API expects buffers with the messages ordered differently. It would require a major redesign of the plugin.
Oh, i see, I'm glad that at least I'm not the only one who'd love to see it, will keep my fingers crossed.

In the meantime, how am i supposed to use a VST directly with the foo_midi plugin? I only see the VST path in advanced settings, but no way to select the desired VST synth in the main foo_midi configuration window.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Case on 2024-05-03 16:20:35
In the meantime, how am i supposed to use a VST directly with the foo_midi plugin? I only see the VST path in advanced settings, but no way to select the desired VST synth in the main foo_midi configuration window.
Am I missing something, or did you not read the instructions on the page you linked? Once VSTi path is configured you can pick potential instruments from the Player dropdown menu.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Meowdori on 2024-05-03 17:20:08
Omg i'm blind, thank you. I haven't visited that site in a long time, and typed it from memory. It's been a long time since i needed to download that synth. It does work as intended now.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Melchior on 2024-05-03 18:30:14
Quote
I think you misunderstood me. I don't need the copy of S-YXG50 because i already have it (and it's still available from the webpage of its unofficial maintainer (https://veg.by/en/projects/syxg50/), so i don't understand why you'd need to DM it to me instead of linking the website).

Meowdori,
ooh I didn't know such a website existed or that you already had a copy of the files..
I was just trying to be helpful.I was gifted a copy of the files I need by Kode54 years ago.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-05 15:40:37
Bug report. I noticed that many files with Shift JIS text are no longer displaying properly.  Here are a few examples from my collection. These files first broke with foo_midi 2.8.2.0, likely caused by the copyright sign fix.
@Slender,

I did some investigation. The meta data is still recognized as Shift-JIS. What you see is the output of Windows conversion routine: code page 932 to UTF-8.

However:

- Mixed ANSI and Shift-JIS encoding wasn't detected (anymore?). That has been fixed in the next version.
- Some metadata events were EUC-JP encoded. I added support for that encoding.
- And while at it, I also added Shift-JIS and EUC-JP detection and conversion for lyrics.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-05 16:06:06
There's a problem in Secret Sauce. When i play some midis, they cuts in the beginning, and just sounds pianos, with weak pitch bends, and the map resets to SC-8820 (even if i have the flavor in GS SC-55), most of them sounds fine if i set the flavor in GM, GM2 and XG, but the problem is in GS and Default, however, some of them, aren't fix with any flavor. I leave you one of the midis that Secret Sauce plays wrongly, try it.
Is this a general problem or do you think it was introduced in a particular version?
Is a general problem, it was always there.
I'm absolutely no MIDI expert but isn't that logical? You tell the emulator to follow the GS MIDI standard. It just interprets what is in the file. AFAIK there's nothing in the file that indicates it needs GS.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-05 16:28:53
And i have a question, there will be Nuked SC-55 support in the future, like Super Munt?
Ain't gonna happen because I don't have the ROMs to run the emulator. So I can't test the integration.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: JexuGarrido on 2024-05-05 21:41:29
There's a problem in Secret Sauce. When i play some midis, they cuts in the beginning, and just sounds pianos, with weak pitch bends, and the map resets to SC-8820 (even if i have the flavor in GS SC-55), most of them sounds fine if i set the flavor in GM, GM2 and XG, but the problem is in GS and Default, however, some of them, aren't fix with any flavor. I leave you one of the midis that Secret Sauce plays wrongly, try it.
Is this a general problem or do you think it was introduced in a particular version?
Is a general problem, it was always there.
I'm absolutely no MIDI expert but isn't that logical? You tell the emulator to follow the GS MIDI standard. It just interprets what is in the file. AFAIK there's nothing in the file that indicates it needs GS.
That's no reason to have that behavior. The midi was made in GM/GS standard (especifically with the MSGS synth), but it doesn't matter if it have or not GS data, even i can put a GS Reset message and still so the synth will reply with that bug. Apparenty, SCVA can't handle midis with much data.

Besides, i already said; In some midis, the synth reply with the same bug in any flavor.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: JexuGarrido on 2024-05-05 21:46:11
And i have a question, there will be Nuked SC-55 support in the future, like Super Munt?
Ain't gonna happen because I don't have the ROMs to run the emulator. So I can't test the integration.
I have them. I could pm you?
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-06 05:38:07
There's a problem in Secret Sauce. When i play some midis, they cuts in the beginning, and just sounds pianos, with weak pitch bends, and the map resets to SC-8820 (even if i have the flavor in GS SC-55), most of them sounds fine if i set the flavor in GM, GM2 and XG, but the problem is in GS and Default, however, some of them, aren't fix with any flavor. I leave you one of the midis that Secret Sauce plays wrongly, try it.
Is this a general problem or do you think it was introduced in a particular version?
Is a general problem, it was always there.
I'm absolutely no MIDI expert but isn't that logical? You tell the emulator to follow the GS MIDI standard. It just interprets what is in the file. AFAIK there's nothing in the file that indicates it needs GS.
That's no reason to have that behavior. The midi was made in GM/GS standard (especifically with the MSGS synth), but it doesn't matter if it have or not GS data, even i can put a GS Reset message and still so the synth will reply with that bug. Apparenty, SCVA can't handle midis with much data.

Besides, i already said; In some midis, the synth reply with the same bug in any flavor.
Anyway, there's nothing I can do about it. All the events are correctly sent to the emulator. I have no impact on what it does with it.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: JexuGarrido on 2024-05-06 07:28:36
There's a problem in Secret Sauce. When i play some midis, they cuts in the beginning, and just sounds pianos, with weak pitch bends, and the map resets to SC-8820 (even if i have the flavor in GS SC-55), most of them sounds fine if i set the flavor in GM, GM2 and XG, but the problem is in GS and Default, however, some of them, aren't fix with any flavor. I leave you one of the midis that Secret Sauce plays wrongly, try it.
Is this a general problem or do you think it was introduced in a particular version?
Is a general problem, it was always there.
I'm absolutely no MIDI expert but isn't that logical? You tell the emulator to follow the GS MIDI standard. It just interprets what is in the file. AFAIK there's nothing in the file that indicates it needs GS.
That's no reason to have that behavior. The midi was made in GM/GS standard (especifically with the MSGS synth), but it doesn't matter if it have or not GS data, even i can put a GS Reset message and still so the synth will reply with that bug. Apparenty, SCVA can't handle midis with much data.

Besides, i already said; In some midis, the synth reply with the same bug in any flavor.
Anyway, there's nothing I can do about it. All the events are correctly sent to the emulator. I have no impact on what it does with it.
So, the problem is the synth, and not the emulator (Secret Sauce). Anyway, i discovered a way to fix that. Simply by reducing the amount of data... it isn't the definitive solution, but it helps somewhat.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-07 20:57:42
v2.10.0.0, 2024-05-07, It's been a while

* New: The volume of BASS MIDI can be tweaked independently of the overall volume. Defaults to 0.15, determined experimentally to align with the other players.
* Improved: Added detection of EUC-JP encoded meta data.
* Improved: Added Shift-JIS and EUC-JP detection and conversion for lyrics.
* Fixed: Mixed ANSI and Shift-JIS wasn't detected (anymore?).
* Fixed: The BASS MIDI voice count was not initialized correctly when using a preset.
* Fixed: Emu de MIDI sysex recognition.
* Fixed: Emu de MIDI potential buffer overflow during rendering.

Download from GitHub (https://github.com/stuerp/foo_midi/releases/tag/v2.10.0.0) or the foobar2000 Components Repository (https://www.foobar2000.org/components/view/foo_midi+%28x64%29).
Automatic update from within foobar2000 does not work.

Because it's been a while and the bigger new features will take some work I release this small update.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-11 21:36:34
v2.11.0.0-alpha1, 2024-05-11

* New: Recomposer support (.RCP, .R36, .G18, .G36)
* Fixed: RPG Maker loops should work again.

Only available from GitHub (https://github.com/stuerp/foo_midi/releases/tag/v2.11.0.0-alpha1) during testing.

This is release contains very early support for Recomposer files. Expect things to go wrong. Also, no options to configure yet.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Air KEN on 2024-05-12 05:24:58
v2.11.0.0-alpha1, 2024-05-11
foobar2000 v2.1.5/foobar2000 v2.2 preview 2024-05-01 x64

Unable to install. This message is appearing.

> Information
> Failed to load DLL: foo_midi.dll
> Reason: This component is missing a required dependency, or was made for different version of foobar2000.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-12 06:43:40
v2.11.0.0-alpha1, 2024-05-11
foobar2000 v2.1.5/foobar2000 v2.2 preview 2024-05-01 x64

Unable to install. This message is appearing.

> Information
> Failed to load DLL: foo_midi.dll
> Reason: This component is missing a required dependency, or was made for different version of foobar2000.
Are you sure you have not mixed up the x86 and x64 version? Both versions work correctly as has been confirmed by other users.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Case on 2024-05-12 07:37:41
The 64-bit foo_midi.dll is compiled in debug mode. It depends on debug runtime DLLs which non-developers don't have on their machines.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: Air KEN on 2024-05-12 08:09:26
v2.11.0.0-alpha1, 2024-05-11
foobar2000 v2.1.5/foobar2000 v2.2 preview 2024-05-01 x64

Unable to install. This message is appearing.

> Information
> Failed to load DLL: foo_midi.dll
> Reason: This component is missing a required dependency, or was made for different version of foobar2000.
Are you sure you have not mixed up the x86 and x64 version? Both versions work correctly as has been confirmed by other users.

@pqyt

Only this version (v2.11.0.0-alpha1, 2024-05-11).
There is no problem with earlier versions.
Confirmed on 3 PCs.

Thanks.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-12 09:01:27
The 64-bit foo_midi.dll is compiled in debug mode. It depends on debug runtime DLLs which non-developers don't have on their machines.
That was absolutely not the intention. Must be caused by lack of sleep... AFAICT alpha2 (https://github.com/stuerp/foo_midi/releases/tag/v2.11.0.0-alpha2) is a Release build.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-18 15:48:52
Hello, I'm a MIDI lover.

I have a request, but I would like you to implement WRD, which was created a long time ago as a lyrics display system for the PC-9800 series. (Although it was also used for other purposes)
Is it possible to implement MIDI OUT at the same time?
I want to use the nostalgic SC-88Pro.
Is there some documentation about WRD?

MIDI OUT has been requested on GitHub. I am intrigued by the idea but when I started prototyping I ran into a design problem: the Windows API to talk to the MIDI interface requires a different way of receiving the messages. It will require a lot of rework and I don't have the time for that right now.

It was originally a unique lyrics display system for NEC-DOS software called MIMPI, but due to its excellence, it has been implemented in other freeware.
(There are also other extended WRDs such as SherryWRD (extended for Windows) and "演出くんメカ" (extended for MS-DOS))

Since the WRD file itself is a text file, it is probably possible to implement it if it follows the text file specifications.
WRD also requires decompression of reversible image compression used in Japan called MAG.

WRD
https://hp.vector.co.jp/authors/VA011751/WHATSWRD.HTM
http://www6.plala.or.jp/kalkal/crystal/wrd/wrd.htm
http://www6.plala.or.jp/kalkal/crystal/wrd/wrdma.html

MAG
http://metanest.jp/mag/mag.xhtml#spec

I think it may be difficult, but it is part of the history of MIDI, so I would appreciate it if you could implement it.

I had a long look at the format and what little documentation I could find. Implementing the whole spec is beyond the scope of foo_midi. It is not a sequencer. I'll see if I can convert the lyrics to a LYRICS tag but that's as far as I would like to go.
Title: Re: foo_midi (foobar2000 v2.0)
Post by: pqyt on 2024-05-19 21:04:11
v2.11.0.0-alpha7, 2024-05-19

* New: Recomposer support (.RCP, .R36, .G18, .G36) (#37 (https://github.com/stuerp/foo_midi/issues/37))
* New: Preferences page to configure Recomposer and HMI/HMP settings. (alpha7)
* New: HMI/HMP default tempo can be configured. (#40 (https://github.com/stuerp/foo_midi/issues/40)) (alpha7)
* Improved: Added support for Unicode paths to RCP converter (alpha3)
* Improved: Detection of mixed-encoding text in metadata (alpha5)
* Fixed: RPG Maker loops should work again.
* Fixed: Recomposer files with strange tempo changes crashed the component. (alpha4)
* Fixed: HMI conversion added a second Note On event after every note instead of a Note Off event.(alpha7)
* Fixed: Apply button remained active even if nothing was changed. (#18 (https://github.com/stuerp/foo_midi/issues/18)) (alpha7)

Only available from GitHub (https://github.com/stuerp/foo_midi/releases/tag/v2.11.0.0-alpha7) during testing.