getmusicbee.com

General => MusicBee Wishlist => Topic started by: LayerConclusion22 on December 01, 2023, 02:40:08 PM

Title: vgmstream support
Post by: LayerConclusion22 on December 01, 2023, 02:40:08 PM
Would be amazing to see MusicBee get vgstream (https://vgmstream.org/) support like foobar2000 has
Title: Re: vgmstream support
Post by: boroda on December 01, 2023, 06:08:15 PM
i don't have time to dig into the details of this plugin, but i see that there is a Winamp version. winamp plugins are partially supported by MB, so you could try this version for MB.
Title: Re: vgmstream support
Post by: sveakul on December 01, 2023, 07:24:30 PM
Yes, as Boroda says, Winamp "in_*" plugins are supported, add them in Preferences/Player/input Plugins/Import Winamp.  Download the Winamp support zip at the link you posted and give in_vgmstream.dll a try;  the docs say that 11 support libraries need to be included in the folder where the .exe resides, all of which are included (among others) in the zip--refer to the documentation--avcodec-vgmstream-59.dll, avformat-vgmstream-59.dll, avutil-vgmstream-57.dll, libatrac9.dll, libcelt-0061.dll, libcelt-0110.dll, libg719_decode.dll, libmpg123-0.dll, libspeex-1.dll, libvorbis.dll, swresample-vgmstream-4.dll.

There is also a bass_vgmstream.dll out there (https://github.com/X-Hax/sadx-mod-loader/blob/master/extlib/bass/bass_vgmstream.dll (https://github.com/X-Hax/sadx-mod-loader/blob/master/extlib/bass/bass_vgmstream.dll)) that MIGHT work if you put it in the main MusicBee folder along with three support files: libg7221_decode.dll, libmpg123-0.dll, and libvorbis.dll.  You can find those 3 also at https://github.com/X-Hax/sadx-mod-loader/tree/master/extlib/bass (https://github.com/X-Hax/sadx-mod-loader/tree/master/extlib/bass) .
Title: Re: vgmstream support
Post by: J24 on May 18, 2024, 05:28:58 AM
I tried adding the "in_vgmstream.dll" as a plugin in MusicBee but it seems to only support files that start with "mb_" so I renamed it to "mb_in_vgmstream.dll".
However, it gives me an error saying: 
"Unable to initialize plugin. DLL entry point: Initialise was not found"

Any suggestions?
Title: Re: vgmstream support
Post by: BoringName on May 18, 2024, 05:37:35 AM
I haven't tried this so no idea if it would work but I believe the method you need to follow is-

Edit Preferences->Player

There is tab for input plugins and a button "import Winamp". Click that button and browse to the in_vgmstream.dll file.
Title: Re: vgmstream support
Post by: J24 on May 18, 2024, 07:30:58 AM
Thanks although I got a message that says:
"the selected file is not a supported input plugin"

That said, if I add the contents of the vgmstream zip I downloaded to the music bee plugins folder in Program Files, I do see an entry for vgmstream in the input plugins list in the "Player" preferences. However, if I try to play a .kvs audio file, I get an an error that says:

"unable to open file (error=BASS_ERROR_UNKNOWN)

I tried downloading the bass_vgmstream.dll file from the post above but still getting the same error.
Title: Re: vgmstream support
Post by: BoringName on May 18, 2024, 08:44:27 AM
Yeah I'm getting that message too. I went back to a 2019 version and the same issue. I think it's a problem with that particular plugin.

I had no problems importing in_opus.dll with that method.

Title: Re: vgmstream support
Post by: BoringName on May 18, 2024, 08:59:07 AM
This might be pretty much what you did but I grabbed the winamp link from here - https://vgmstream.org/

Copied all the contents of that zip folder to
C:\Users\<J24>\AppData\Roaming\MusicBee\Plugins

Replace <j24> with your username.

When I did this it shows up in the player tab and when I hit configure it opens the config tab for it.

I don't have a KVS sample to test it on. Can you provide a link?

Ok I got a file to test it on and I get the same error BASS_ERROR_UNKNOWN. I'd say it's related to the error message about it not being a supported plugin. Probably can't do much unless Steven gets involved.
Title: Re: vgmstream support
Post by: sveakul on May 18, 2024, 09:25:15 AM
Thanks although I got a message that says:
"the selected file is not a supported input plugin"

That said, if I add the contents of the vgmstream zip I downloaded to the music bee plugins folder in Program Files, I do see an entry for vgmstream in the input plugins list in the "Player" preferences. However, if I try to play a .kvs audio file, I get an an error that says:

"unable to open file (error=BASS_ERROR_UNKNOWN)

I tried downloading the bass_vgmstream.dll file from the post above but still getting the same error.

If you're trying the Winamp input method, do NOT rename the plugin, keep it as "in_vgmstream.dll" and load it via the "Import Winamp" button in the "Input Plugins" section of Prefs/Player.  Here is what I make out of the instructions of using that plugin--what I would try, although it's up to YOU to do that! :

1.  Download the primary/support files package here: https://github.com/vgmstream/vgmstream-releases/releases/download/nightly/vgmstream-win.zip (https://github.com/vgmstream/vgmstream-releases/releases/download/nightly/vgmstream-win.zip).

2.  Extract the entire contents of the zip into a folder named "in_vgmstream" and place that folder inside the main MusicBee directory (the one containing MusicBee.exe).

3.  Open MusicBee, and using the "Import Winamp" button in the "Input Plugins" section of Prefs/Player browse to and select the "in_vgmstream.dll" file.

4.  Hit the "Save" button, and restart MusicBee.  Then try to play a vgm file.

And how I would go about trying the BASS method INSTEAD OF the above Winamp method:

1.  Download "bass_vgmstream.dll" from here: https://github.com/X-Hax/sadx-mod-loader/blob/master/extlib/bass/bass_vgmstream.dll (https://github.com/X-Hax/sadx-mod-loader/blob/master/extlib/bass/bass_vgmstream.dll) , and place it directly into the MusicBee main folder with the other Bass dll's.

2.  Download the support package here: http://hcs64.com/files/vgmstream_external_dlls.zip (http://hcs64.com/files/vgmstream_external_dlls.zip);  from it unzip these 3 files also directly into the MusicBee main folder with the Bass file:  libg7221_decode.dll, libmpg123-0.dll and libvorbis.dll.

3.  Restart MusicBee, and try to play a vgm file.

Next step is after trying one or both of these methods (I would try the BASS method first), POST BACK and tell us if it worked!!!  Good luck!
Title: Re: vgmstream support
Post by: J24 on May 18, 2024, 09:34:30 AM
Thanks for looking into it! here's a kvs file:
https://file.io/s85MhrdeJQMS

I was able to use the vgmstream foobar plugin and play the file there so I know this file is good.

What you said is almost what I did except I copied over the contents of the zip to the Plugins folder inside C:\Program Files (x86)\MusicBee\

Thanks!
Title: Re: vgmstream support
Post by: sveakul on May 18, 2024, 09:35:15 AM
I had no problems importing in_opus.dll with that method.
Why would you use a Winamp input plugin for Opus when MusicBee already has native support for that format via bassopus.dll?
Title: Re: vgmstream support
Post by: J24 on May 18, 2024, 09:57:20 AM

If you're trying the Winamp input method, do NOT rename the plugin, keep it as "in_vgmstream.dll" and load it via the "Import Winamp" button in the "Input Plugins" section of Prefs/Player.  Here is what I make out of the instructions of using that plugin--what I would try, although it's up to YOU to do that! :

1.  Download the primary/support files package here: https://github.com/vgmstream/vgmstream-releases/releases/download/nightly/vgmstream-win.zip (https://github.com/vgmstream/vgmstream-releases/releases/download/nightly/vgmstream-win.zip).

2.  Extract the entire contents of the zip into a folder named "in_vgmstream" and place that folder inside the main MusicBee directory (the one containing MusicBee.exe).

3.  Open MusicBee, and using the "Import Winamp" button in the "Input Plugins" section of Prefs/Player browse to and select the "in_vgmstream.dll" file.

4.  Hit the "Save" button, and restart MusicBee.  Then try to play a vgm file.

And how I would go about trying the BASS method INSTEAD OF the above Winamp method:

1.  Download "bass_vgmstream.dll" from here: https://github.com/X-Hax/sadx-mod-loader/blob/master/extlib/bass/bass_vgmstream.dll (https://github.com/X-Hax/sadx-mod-loader/blob/master/extlib/bass/bass_vgmstream.dll) , and place it directly into the MusicBee main folder with the other Bass dll's.

2.  Download the support package here: http://hcs64.com/files/vgmstream_external_dlls.zip (http://hcs64.com/files/vgmstream_external_dlls.zip);  from it unzip these 3 files also directly into the MusicBee main folder with the Bass file:  libg7221_decode.dll, libmpg123-0.dll and libvorbis.dll.

3.  Restart MusicBee, and try to play a vgm file.

Next step is after trying one or both of these methods (I would try the BASS method first), POST BACK and tell us if it worked!!!  Good luck!

Thanks, I tried those steps but was getting an error for the libmpg123-0.dll so I deleted the one from the "support package" and copied the one from the "primary package" to the MusicBee main folder.
Apparently 2 out of 3 of those files from the support package are included in the primary package too.

I then was able to import the DLL without errors on the preferences but when I try to play a music file I still get the "unable to open file (error=BASS_ERROR_UNKNOWN)"
Title: Re: vgmstream support
Post by: BoringName on May 18, 2024, 10:23:33 AM
Why would you use a Winamp input plugin for Opus when MusicBee already has native support for that format via bassopus.dll?

Why does anybody do anything?

I was just testing the first in_*.dll file I found to rule out any problems with the import process. Knowing that worked means it's most likely a problem with in_vgmsteam.dll and not Musicbee.

I had the same issue with libmpg as J24, I just deleted it. I tried a bunch of different things but couldn't get passed the Bass_Error_Unknown problem.
Title: Re: vgmstream support
Post by: sveakul on May 18, 2024, 10:42:27 AM
BoringName and J24:  I tried both of my "suggested" methods, and unfortunately I had the same experience you did--nothing worked.  The Winamp in_ * file wouldn't load, and I couldn't even get a "Bass Error Unknown" out of the Bass method--just zero playback.  I was testing that one against the KVS file J24 uploaded.

Frustrating.  Well, definitely an item for the Wishlist!!  :(
Title: Re: vgmstream support
Post by: Steven on May 18, 2024, 09:24:45 PM
bass_vgmstream wont work but if someone sends me a vgm file i can have a look
Title: Re: vgmstream support
Post by: J24 on May 18, 2024, 11:40:44 PM
I just DM'd you a link to a KVS file to test with vgmstream, thanks!

Also thanks to everyone else for the help and looking into it!
Title: Re: vgmstream support
Post by: Steven on May 19, 2024, 04:43:34 AM
bass_vgmstream wont work but if someone sends me a vgm file i can have a look
i cant get bass_vgmstream.dll to load, even with the addition of the 3 dependency files. There must be other dependencies
Title: Re: vgmstream support
Post by: sveakul on May 19, 2024, 05:11:31 AM
bass_vgmstream wont work but if someone sends me a vgm file i can have a look
i cant get bass_vgmstream.dll to load, even with the addition of the 3 dependency files. There must be other dependencies
Steven:  they have to be some of the files listed at the site here in the main panel, I hope you will take a look---

https://github.com/X-Hax/sadx-mod-loader/tree/master/extlib/bass (https://github.com/X-Hax/sadx-mod-loader/tree/master/extlib/bass)
Title: Re: vgmstream support
Post by: BoringName on May 19, 2024, 05:26:33 AM
I don't know if this means much but I noticed the libmpg123-0.dll file that is packaged in vgmstream-win.zip doesn't produce an error like the one in vgmstream_external_dlls.zip does.

Still doesn't fix the bass unknown error.
Title: Re: vgmstream support
Post by: Steven on May 19, 2024, 06:04:20 AM
https://github.com/X-Hax/sadx-mod-loader/tree/master/extlib/bass (https://github.com/X-Hax/sadx-mod-loader/tree/master/extlib/bass)
it doesnt work either - the bass_vgmstream.dll just doesnt load as a bass plugin
Your best bet may be to try to get the winamp plugin to work
Title: Re: vgmstream support
Post by: BoringName on May 19, 2024, 07:04:53 AM
I tried a few different winamp plugins I found from a bit of googling.
in_cube.dll - this evolved into vgmstream

Another plugin for playing ADX files and a third for playing PSF files.

They all produced the same Bass unknown error. They are all 20 years old so that doesn't help.

Couldn't even convert them with ffmpeg. They are all unsupported formats.
Title: Re: vgmstream support
Post by: Steven on May 19, 2024, 07:40:17 AM
https://github.com/X-Hax/sadx-mod-loader/tree/master/extlib/bass (https://github.com/X-Hax/sadx-mod-loader/tree/master/extlib/bass)
it doesnt work either - the bass_vgmstream.dll just doesnt load as a bass plugin
Your best bet may be to try to get the winamp plugin to work
actually i am almost certain its not written as a bass plugin - just something that uses bass itself
Title: Re: vgmstream support
Post by: sveakul on May 19, 2024, 09:18:13 AM
OK, that's a shame.  At any rate, I would encourage you to take a look at adding plugin support for this multi-codec format.  The up-to-date vgmstream github site already includes a number of these, including one for the Bass developer's own XMPlay, as well as access to source code, a build guide, full documentation, etc. FWIW I just noticed that dependencies are listed there also (https://github.com/vgmstream/vgmstream/blob/master/doc/USAGE.md (https://github.com/vgmstream/vgmstream/blob/master/doc/USAGE.md)).

I predict this would prove a popular addition to MusicBee, based on its activity with other players. AIMP has two, BASSZXTUNE--"This add-on adds a support for chiptune tracker formats to BASS audio library" (https://sourceforge.net/projects/basszxtune/ (https://sourceforge.net/projects/basszxtune/)) , and aimp_vgmstream (https://github.com/ArtemIzmaylov/aimp_vgmstream (https://github.com/ArtemIzmaylov/aimp_vgmstream)).