Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_midi (foobar2000 v2.0) (Read 83753 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_midi (foobar2000 v2.0)

Reply #225
Hi,
I think it would be cool to add IPIC support in RMI for album covers.
Currently it shows "<IPIC>" and value as "ÿØÿà".

I've uploaded an example RMI with the IPIC chunk containing some data.
Looks like a JPEG image embedded in an IPIC chunk. I can't seem to find any documentation about the IPIC chunk but I'll have a go.

It is in the spec I've linked earlier
https://github.com/spessasus/sf2-rmidi-specification
Thx. Found it a little later.

Re: foo_midi (foobar2000 v2.0)

Reply #226
I just tried MIDI Player v2.13.1 which you made available yesterday. I'm using BASSMIDI with Soundfonts, FluidSynth is not installed.

For the visualization, I use Waveform_Seekbar which draws a waveform of the currently played song. I found that for many MIDIs now the drawing of the waveform does not work as usual when using v2.13.1, the window for the waveform representation remains empty. Reverting to MIDI Player v2.12 fixed the issue, the drawing of the waveforms is working again as intended.

I also just tried the recent update v2.13.2 which has improved behavior over v2.13.1, though a couple of waveforms don't get drawn either, so I reverted to v2.12 again. Note that for each test, I deleted the Waveform_Seekbar image cache so that the waveform images had to be created from scratch.

Re: foo_midi (foobar2000 v2.0)

Reply #227
I just tried MIDI Player v2.13.1 which you made available yesterday. I'm using BASSMIDI with Soundfonts, FluidSynth is not installed.

For the visualization, I use Waveform_Seekbar which draws a waveform of the currently played song. I found that for many MIDIs now the drawing of the waveform does not work as usual when using v2.13.1, the window for the waveform representation remains empty. Reverting to MIDI Player v2.12 fixed the issue, the drawing of the waveforms is working again as intended.

I also just tried the recent update v2.13.2 which has improved behavior over v2.13.1, though a couple of waveforms don't get drawn either, so I reverted to v2.12 again. Note that for each test, I deleted the Waveform_Seekbar image cache so that the waveform images had to be created from scratch.
And which version were you using before 2.13.1? I don't have a clue what may cause that behavior.

Re: foo_midi (foobar2000 v2.0)

Reply #228
And which version were you using before 2.13.1? I don't have a clue what may cause that behavior.

Hi pqyt, as I stated above, I reverted to v2.12. 😊
Please feel free to ask me to assist you by running tests or whatever is required to help find the issue.

Re: foo_midi (foobar2000 v2.0)

Reply #229
And which version were you using before 2.13.1? I don't have a clue what may cause that behavior.

Hi pqyt, as I stated above, I reverted to v2.12. 😊
Please feel free to ask me to assist you by running tests or whatever is required to help find the issue.
Nothing was changed to the audio rendering code. Only MIDI event handling stuff. And... it's compiled with the latest SDK.

Do the files play correctly? Do you hear any audio?

The only other option I see: are you're willing to install a private release built with the previous SDK to see if there's an incompatibility?

Re: foo_midi (foobar2000 v2.0)

Reply #230
v2.14.0.0, 2024-08-17

* New: Support for embedded artwork (IPIC) and encoding (IENC) chunks in RMI files.

Download from GitHub or the foobar2000 Components repository.
Automatic update from within foobar2000 does not work.

Re: foo_midi (foobar2000 v2.0)

Reply #231
Nothing was changed to the audio rendering code. Only MIDI event handling stuff. And... it's compiled with the latest SDK.
Yes, I did understand that from the get-go. Perhaps because of those changes something is hindering the waveform rendering process?

I forgot to mention, that from the utilities section of Foobar's playlist context menu, you can choose to remove the waveform signature of the current playing and any other marked file. So when restarting to replay any of those files with their signature data removed the process to generate it is triggered again and is added to the Waveform_Seekbar's wavecache.db. This way I was able to get visible waveform data for the files which failed on the first go.

So for any files where the signature is not visible, some data must have been generated and written to the wavecache.db, which causes the display of an empty waveform window until you use the remove waveform signature command.

Do the files play correctly? Do you hear any audio?
Yes, there's nothing wrong with the audible recreation, it matches the quality of MIDI Player v2.12.

The only other option I see: are you're willing to install a private release built with the previous SDK to see if there's an incompatibility?
Yes, sure, please go ahead. I do back-ups of my foobar2000-v2 folder, so I can do test runs without harm and return to a previous working state easily. 😊

EDIT:
I just tried the current v2.14, and it failed to generate the waveform signature on the first track, but it worked for the remainder of the playlist. It appears the issue is random and not specific to a certain file. Again, I was able to generate the waveform signature for the first file by using the remove waveform signature command.

Re: foo_midi (foobar2000 v2.0)

Reply #232
EDIT:
I just tried the current v2.14, and it failed to generate the waveform signature on the first track, but it worked for the remainder of the playlist. It appears the issue is random and not specific to a certain file. Again, I was able to generate the waveform signature for the first file by using the remove waveform signature command.
I sent you a DM with a link to a private build with the 2023 SDK.

Re: foo_midi (foobar2000 v2.0)

Reply #233
Thanks, I got it and made a test run. I'm sorry to report that I got worse results with the private build than with the official release v2.14. 🤨

I still get better results, meaning no issues at all, with v2.12.

Re: foo_midi (foobar2000 v2.0)

Reply #234
Thanks, I got it and made a test run. I'm sorry to report that I got worse results with the private build than with the official release v2.14. 🤨

I still get better results, meaning no issues at all, with v2.12.
Without knowing what is used to generate a 'waveform signature' it's a proverbial needle/haystack thingy... I'll do a line comparison between the source codes but I'm pretty I did not touch the rendering code.

And all the MIDI processing changes were necessary.

Re: foo_midi (foobar2000 v2.0)

Reply #235
Just an idea:

Would you be able/willing to compile v2.12 with the latest SDK 2024? I would test-run it to see how it fares.

If all goes well with that build, the idea would be to then create another test build that adds just one of the reported changes/updates of the v2.13.1 release to the v2.12-SDK-2024-build, hopefully narrowing down the issue to just one specific change.

Re: foo_midi (foobar2000 v2.0)

Reply #236
Just an idea:

Would you be able/willing to compile v2.12 with the latest SDK 2024? I would test-run it to see how it fares.

If all goes well with that build, the idea would be to then create another test build that adds just one of the reported changes/updates of the v2.13.1 release to the v2.12-SDK-2024-build, hopefully narrowing down the issue to just one specific change.
Sounds like a lot of work... ;-) It's probably not the SDK.

I just compared the source codes of 2.12, 2.13 and 2.14. As I suspected: no changes in the rendering code. And everything else was necessary.

Re: foo_midi (foobar2000 v2.0)

Reply #237
Alright then, I'll stick to v2.12 for now. I will try out all your new releases of course to see if there's a game changer amongst these.
Thank you for your efforts and for investing time in trying to help fix my issue.🙂

Re: foo_midi (foobar2000 v2.0)

Reply #238
Alright then, I'll stick to v2.12 for now. I will try out all your new releases of course to see if there's a game changer amongst these.
Thank you for your efforts and for investing time in trying to help fix my issue.🙂
Waveform_Seekbar's source code is available. I'll see if I can compile it and step through it.


Re: foo_midi (foobar2000 v2.0)

Reply #240
This is the version of foo_wave_seekbar I'm running: https://github.com/zao/foo_wave_seekbar/releases/tag/0.3.0-alpha-1
Despite the cautionary warnings by the plugin author it has run without issues for me for ~1 year now.
I've been playing with that version and I don't see anything wrong with it: it takes a couple of seconds to render the complete waveform but once it's cached it appears instantly. Direct3D, Direct2D and GDI, no problems.

Re: foo_midi (foobar2000 v2.0)

Reply #241
I use the GDI rendering path with foo_wave_seekbar.

Did you try advancing through a playlist containing lots of MIDIs (20-100 and more)?

Also maybe noteworthy: I run foo_midi with the bassmidi player option with a set of SF2 sound fonts consisting of collected and self-crafted/tailored fonts, weighing ~1.6 GB.

Re: foo_midi (foobar2000 v2.0)

Reply #242
I use the GDI rendering path with foo_wave_seekbar.

Did you try advancing through a playlist containing lots of MIDIs (20-100 and more)?

Also maybe noteworthy: I run foo_midi with the bassmidi player option with a set of SF2 sound fonts consisting of collected and self-crafted/tailored fonts, weighing ~1.6 GB.
I went through my whole test playlist containing different kinds of MIDI formats. No problems.

I only use 1 sound font though, ~400MB.

Also, the versions after 2.12 contain the latest bassopus DLL. Any chance your SoundFonts use Opus?

Re: foo_midi (foobar2000 v2.0)

Reply #243
Also, the versions after 2.12 contain the latest bassopus DLL. Any chance your SoundFonts use Opus?
None of my fonts contain any Opus files, therefor I haven't got the bassopus.dll installed. It would have caused an error already if there were any Opus content. Also, I'm always using the stuff release of bass.dll and bassmidi.dll.



Re: foo_midi (foobar2000 v2.0)

Reply #246
For completeness and to clear up doubts I made another test run with all and only the DLLs of the foo_midi v2.14 distribution installed, including bassopus.dll. It didn't have any impact on the issue.

Re: foo_midi (foobar2000 v2.0)

Reply #247
I found a MIDI file in my collection that isn't detected as valid by Foo_MIDI anymore. I tested v2.09.2 through v2.14, which all fail. The release that does play it is v2.07.3, the last release of Foo_MIDI by Kode54. And XMPlay with XMP-MIDI.dll plays it fine, too.

I've attached the MIDI in question to this post. 🙂

Re: foo_midi (foobar2000 v2.0)

Reply #248
I found a MIDI file in my collection that isn't detected as valid by Foo_MIDI anymore. I tested v2.09.2 through v2.14, which all fail. The release that does play it is v2.07.3, the last release of Foo_MIDI by Kode54. And XMPlay with XMP-MIDI.dll plays it fine, too.
Same for me with this error message: Unable to open item for playback (Failed to read MIDI file: Insufficient data)
But it's playing fine with my foobar2000 1.5 using the ancient foo_midi 1.94, and also with AIMP which is using BASSMIDI, and also with Spessasus' online player.


None of my fonts contain any Opus files, therefor I haven't got the bassopus.dll installed.
How are you installing foo_midi ? Because bassopus.dll is installed by default. Do you install the plugin from the preferences ?

Re: foo_midi (foobar2000 v2.0)

Reply #249
I found a MIDI file in my collection that isn't detected as valid by Foo_MIDI anymore. I tested v2.09.2 through v2.14, which all fail. The release that does play it is v2.07.3, the last release of Foo_MIDI by Kode54. And XMPlay with XMP-MIDI.dll plays it fine, too.

I've attached the MIDI in question to this post. 🙂
Except: it's an invalid MIDI file. It has only 1 track but the track has no End of Track marker hence the Insufficient Data error message.