Zulithe
Jan 1 2005, 15:05
kode, I like the new Game Emu Player plugin. It uses far less CPU when playing .nsf files than fastalon.
I have a question though, this plugin supports the new .nsfe format but it doesn't support the .rsn extention (which many SPC soundtracks are archived into lately), can this be added? This way a user could playback .rsn files in both winamp and foobar2000 without having to rename or extract the files from the archive. Sites like snesmusic.org distribute all of their soundtracks in .rsn. Its really not much more than a renamed .rar file, I'm sure getting foobar2000 to recognize them would be trivial.
The reason for the extention change is becuase there are some problems getting winamp to play archives without a lot of workarounds, so the author of SNESAmp came up with this simple solution.
Here's the link to SNESAmp if you want to try it out:
http://www.alpha-ii.com/Download/Main.html#SNESAmp.rsn soundtrack archives can be gotten here:
http://www.snesmusic.org/v2/select.php?view=sets
This depeneds entirely on foo_unpack, the archive reader component.
While we're on the topic of the Game Emu Player plugin, I thought I might toss in a small feature request of my own: the option to toggle support for each of the formats it plays.
The quality of the emulation is great; I had been hoping for a plugin like this for a while now. There are some formats it supports that I'd still like to use another plugin for, though, without having to uninstall the Game Emu Player plugin altogether. :-/
Just a thought, though. Without seeing the source code, I don't know whether or not this would be feasible.
--
_zane
QUOTE
There are some formats it supports that I'd still like to use another plugin for, though, without having to uninstall the Game Emu Player plugin altogether. :-/
Are there any improvements that the core synthesis library could use? GBS and GYM are the least-polished of the bunch.
I can add toggles for the other formats, but I'm not sure what you'd want to toggle off, except for SPC. I will add toggles for all formats, but they will be enabled by default.
There is already one glitch from disabling NSF support. It happens to disable the context menu items from being reported to the core, and with the current (0.8.x) menu configuration, you must reset or reconfigure the menu structure manually to readd or remove the exposed NSFE: items. The same will hold true for SPC. Fortunately, the mechanism by which the NSF context menu passes the NSFE playlist to the NSFE input's tag writer is identical in both foo_gep and foo_festalon, so that should not be a problem.
*whew*
zidanax
Jan 6 2005, 01:44
This Plugin seems to fix the problems foo_spc had with a few of the Uncharted Waters 2 tracks, thank you very much!
Cutter
Nov 18 2005, 05:21
Hello!
I can't get this plugin to work (the console says "Unable too load foo_gep"). Please can someone tell me if it requires specific DLLs to run? I'm using Windows 98. Thank you.
Borisz
Nov 21 2005, 07:01
Speaking of foo_gep, is there any chance for an updated 0.8 version? The 0.9 beta version runs formats like VGM infinitely better.
Cutter
Nov 23 2005, 11:37
Please help. :/
keyosuke
Dec 12 2005, 21:51
I took the foo_unpack plugin that deals with RAR files and hex edited it. Replace all instances of the letters rar with rsn and all instances of RAR with RSN. Be careful not to replace the rar that is in libRARy. Just go through the file with the FIND function of XVI32 hex editor or the editor of your choice and replace them as you find them ... providing the RAR you find is by itself and not part of the word library. When you're done, save it as foo_rsn.dll and add to your directory and you now have RSN support as well as rar support. The two simutaneously installed plugins will work fine together, even though one is a hack of the other. I hope this makes foobar more enjoyable and that this isn't a bad bug causing menace

.
_____________________________
Update:
I just downloaded foo_gym, which allows me to play genesys/mega drive game music files with gym extension, but most of mine were .rgm . I guessed .RGM was .RAR renamed for the same reason RSN was renamed ... so I made yet another version of foo_unpack with the rar replaced with rgm ... etc. The results were that I can now play "rgm" (rar) compressed gym files. Little by little foobar is replacing my KBMedia player (a popular media player among japanese game music enthusiasts). One thing that bothers me is that people have said Foobar uses unstandard tagging methods for these game music files, and it seems to be true as far as getting KBMedia to see the changes to tags that foobar has made. As far as I'm concerned I'll keep using other programs to change the tags of these files since those tags show up everywhere. (shrugs)
kode54
Dec 12 2005, 22:21
Remind me again why it is necessary to hack the plug-in instead of renaming the archives.
keyosuke
Dec 12 2005, 22:33
It's necessary because some people might want to keep the extension of their odd sound format as what the community that supports that format is currently using. RSN is a very popular extension for RAR compressed SPC files. People might use other players that expect an RSN extension, so renaming a library of music to suit a single application might not be what everyone would prefer. It's really a matter of preference, more than a necessity. Well, I hope people enjoy what I've gotten to work, over here, and if anyone responsible for the plugin or foobar wants it down, I support deleting my post, but otherwise, I hope those migrating from an RSN playing program will enjoy this and those who see no purpose for their own sake, will not mind.
kode54
Dec 13 2005, 15:49
I can't imagine why anyone would need to use another application for their SPC playback needs. Other than, perhaps, Super Jukebox for its shiny lights and meters, and I don't even think that supports RSN. Even if it did, it could just as easily support RAR.
So far as I know, this RSN extension is only required for dodgy players which do not support archives globally.
keyosuke
Dec 18 2005, 14:50
Still, when the .MDZ extension was use for mod files that were zipped, rather than the .ZIP extension, it caught on and served a purpose. To see a bunch of zip files in a directory tells a lot less than if the extensions depict what is actually compressed within. Making the argument that everyone should just use .RAR as the extension to contain their .SPC files seems a lot like making the argument that .MDZ, as an extension, was a waste of time and should not have been. I'm sure some people at the time would have prefered that, but I rather enjoyed giving someone a file they could clearly know was a piece of music in mod format, just upon filename inspection. Another positive aspect of naming compressed archives, based on the contents of such archives, is that programs that are designed to play what has been compressed in these files can be associated with the extension designed to signify the content of said archive. If you have more than one player and want to associate compressed mod files to a specific one of those players, you can associate .MDZ extension handling with that file type. If you were to associate .ZIP with your given player, you would find the inconvenience of having that player attempt opening zip compressed applications and what not. You're may be thinking "Who still runs individual files and relies on the file association handlers to open them?!?" or "Couldn't the user just use a library or allow the program in question to read the compressed data from all compressed archives in a given directory and find the music files itself?!" and the answer would be yes, but this is still a matter of preference. I prefer to open files singularly and rely on the file extension handler to operate on that file. Once in a while I'm browsing some files and decide I want to run one of them with a double-click, and I like the association to be mapped. To me, this is a valuable use of the .RSN extension, or new extensions for denoting what's compressed in a rar/zip/whatever. So, this is my motivation for caring about such. May not make sense to everyone, and if it doesn't, I appreciate your views on the matter, though, if it does, this little hack seems to help a bit. What I would really like to see is a place in the settings where the archive plugin lets one map extensions to file formats, similar to how one maps the shortcut keys in foobar2000. I feel this would be well suited to the foobar way of doing things, where the user is presented with the ability to configure the player to do what he or she wants. This kind of "empower the user" attitude is what makes me like foobar so much.
Cutter
Dec 18 2005, 16:44
Hi kode54. Is my question too stupid for you to consider it? Of course you're not obliged to solve my problem but at least you could tell me that you don't want to bother so I don't wait in vain. But you may simply not have seen my message (despite I PM'ed you about it), in that case I'm sorry and please ignore this message.
Edit: I just found the solution by chance.
kode54
Dec 18 2005, 23:35
The difference between MDZ and RSN is that MDZ typically contains a single module, whereas RSN contains multiple SPC files. The API provides a means for extracting a single file from a single archive, such as unpacking gzip files, or pulling the first non-text file out of a ZIP/RAR, but indexing archives would be significantly more complicated.
Writing an archive service of my own to support RSN would require me to reimplement the RAR unpacking code. It would not be possible to use a simple service wrapper to present the RSN files to the existing RAR unpacker since it always checks the file paths for the correct extension before opening them.
Oh, and I rarely rely on file associations to open my files, so I guess that kind of explains away the use of generic archive extensions.
Cutter: Yes, by all means, stop waiting, as 0.8.3 support is probably less likely to happen in the immediate future than any of the things I actually want to do. Which is to say, 0.9 will probably be final before I even get started on that next ADPCM format I was going to add to foo_adpcm. You're welcome to use in_vgm instead. I hear the sound quality is almost tolerable.
Borisz
Dec 19 2005, 10:07
QUOTE(kode54 @ Dec 18 2005, 09:35 PM)
You're welcome to use in_vgm instead. I hear the sound quality is almost tolerable.
Same as Gens I believe, which is good enough. foo_gep uses the Gens core anyway, and fixes 1 effect that Gens would otherwise play broken. So I guess that both of them are "almost tolerable", especially compared to Kega. Unless you are talking about the SMS/CPS1 sound of course.
kode54
Dec 19 2005, 16:33
QUOTE(Borisz @ Dec 19 2005, 08:07 AM)
QUOTE(kode54 @ Dec 18 2005, 09:35 PM)
You're welcome to use in_vgm instead. I hear the sound quality is almost tolerable.
Same as Gens I believe, which is good enough. foo_gep uses the Gens core anyway, and fixes 1 effect that Gens would otherwise play broken. So I guess that both of them are "almost tolerable", especially compared to Kega. Unless you are talking about the SMS/CPS1 sound of course.
Actually, it currently uses a modified MAME YM2612 core. Although it is something on the order of half as fast as the optimized Gens FM core, it is more accurate. I am also looking forward to some corrections to the SSG-EG implementation, but it looks like I arrived at something pretty close. (Although, without any testing, or any real knowledge of FM synthesis, I can't be too sure. It sounds tolerable on the test case, though.)
Actually, what I was referring to was entirely separate from the FM core. Game_Music_Emu is currently the only player implementation I know of which can emulate the YM2612 at its actual clock rate, generating samples at the correct ratio of 144:1, clock to samples, then downsample the result. in_vgm can do this with the YM2413, but not for 2151 or 2612.
I know of no other implementation using band-limited synthesis or plain supersampling for the PSG unit, either, so in_vgm still has that whole aliasing thing.
The rudeness was unnecessary, though. The
library is available for anyone who wants to duplicate foo_gep in the event that I don't get my ass in gear and update the 0.8.3 version. I may just do that today.
Hmm, updating that may take some more time than I thought. It looks like Visual Studio 2005 doesn't want to open the old workspace that happens to reference (already converted or freshly made) project files without freezing. Maybe I'll have to do that with 2003 or even 98. I know MSVC6 used to dance the Internal Compiler Error mambo on random parts of Game_Music_Emu, general dislike for certain types of template classes I think.
Borisz
Dec 19 2005, 16:59
In case you update it, here are some more random ramblings:
- the current 0.83 version of foo_gep has that annoying bug fixed with a certain drum effect, used at many places in Comix Zone and Spiderman Animated series. The 0.9 version however, has not. And it sounds horrible. Anyway to "port" that fix back to the new version? that particular version of foo_gep was the only vgm/gym player that played that effect right.
http://project2612.bandwidthmonkey.net/paf...tion=file&id=12 (Episode 1, page 2-2 in that pack for a sample).
Also, in Alisia Dragoon:
http://project2612.bandwidthmonkey.net/paf...ction=file&id=6Stage 1-1 tune has a horrible noise instead of a soft sound in 0.9b13, at the start.
Options tune has a horrible noise at the start too.
Game Over has a slightly noticable glitch too.
It's cool that foo_gep works better in the insides, but it doesn't sound better then foo_vgm to me at all.
By the way, any chances for adding playback rate, and the looping/fadeout count option instead of the "force playing indefinetaly" option?
kode54
Dec 19 2005, 20:07
Cutter: Today is your lucky day, I updated the 0.8.3 component.
Borisz: All part of the problem of not having any one perfect core. Even the Gens core that it was using before had its share of flaws. I will report these to Jarek Burczynski since he maintains the MAME FM core that I am using right now, and is better equipped to deal with hardware vs. emulation issues. I think...
How do the full emulators compare to the hardware? Envelope behavior is also important, as there are a number of examples where slow attacks are incorrect. For instance,
Star Light Zone and Scrap Brain Zone.
Having multiple cores in the same player is not really a solution, either, if none of them are faithful in every department. Addressing flaws to arrive at one correct solution is probably a better plan.
All of the issues with Alisia Dragoon would appear to be a result of improper trimming. The emulated chip is not receiving certain writes which may have occurred as early as power-on. I even tried fading the Options sound out and jumping to #02 (stage 1-1) and logging a few seconds of silence first, and the result still had a minor glitch. Logging from power on removed the glitches from the music, but also introduced a deafening glitch where there should be no sound at all as the options menu opened. Even more food for thought. (And possibly the only way to fix this would be to use full power-on logs of everything, then write a proper trimmer that would condense all of the register writes before the start mark into a single tick, removing writes which are overridden, writes which trigger notes, and writes which do not have an audible effect on anything, such as the timer port.)
Comix Zone is definitely not suffering from trimming errors, though.
I will think about adding relative playback rate and/or looping/fadeout controls for GYM/VGM. Extending those options for emulated formats will not really be possible since looping information isn't tagged precisely enough to extend the playback duration by N loops, and it isn't really possible to change their playback durations without turning them into register logs. (Simply emulating more or less cycles per sample could make SPC blow up, since the playback code can rely on feedback from the DSP. Although the number of soundtracks likely to be affected is minimal, considering how few blow up in ZSNES. )
Cutter
Dec 20 2005, 09:20
QUOTE(kode54 @ Dec 20 2005, 03:07 AM)
Cutter: Today is your lucky day, I updated the 0.8.3 component.
Thank you. I'm happy to see my Master System music finally playing in foobar.
I would appreciate the adding of fadeout controls for gym/vgm files. Thanks.
Cutter
Jan 30 2008, 23:01
Yes I second that request, plus the long-awaited loop count.
It would also be great if the GEP Controls had incidence on the converter's output.
Thanks in advance.
imiganai
Feb 6 2008, 18:29
Hmm, I seem to be having trouble tagging some .spc files.
From snesmusic.org, I have issues tagging Super Mario All-Stars and the two Mario Worlds. I haven't had (and still don't have) any trouble tagging others, such as EarthBound, but when I try to save the tags on, say, a Super Mario All-Stars track I get the error "Could not update tags (bad allocation) on: ___.spc".
Bad dump? Or foo_gep issue? I thought the snesmusic.org tracks were supposed to be of the highest quality, and Super Jukebox seems to be able to tag them...
QUOTE(imiganai @ Feb 6 2008, 16:29)

Hmm, I seem to be having trouble tagging some .spc files.
From snesmusic.org, I have issues tagging Super Mario All-Stars and the two Mario Worlds. I haven't had (and still don't have) any trouble tagging others, such as EarthBound, but when I try to save the tags on, say, a Super Mario All-Stars track I get the error "Could not update tags (bad allocation) on: ___.spc".
Bad dump? Or foo_gep issue? I thought the snesmusic.org tracks were supposed to be of the highest quality, and Super Jukebox seems to be able to tag them...
Update the component and try again.
imiganai
Feb 7 2008, 18:28
QUOTE(kode54 @ Feb 7 2008, 14:46)

QUOTE(imiganai @ Feb 6 2008, 16:29)

Hmm, I seem to be having trouble tagging some .spc files.
From snesmusic.org, I have issues tagging Super Mario All-Stars and the two Mario Worlds. I haven't had (and still don't have) any trouble tagging others, such as EarthBound, but when I try to save the tags on, say, a Super Mario All-Stars track I get the error "Could not update tags (bad allocation) on: ___.spc".
Bad dump? Or foo_gep issue? I thought the snesmusic.org tracks were supposed to be of the highest quality, and Super Jukebox seems to be able to tag them...
Update the component and try again.
Hmm...just updated, and...same error.
QUOTE(imiganai @ Feb 7 2008, 16:28)

QUOTE(kode54 @ Feb 7 2008, 14:46)

QUOTE(imiganai @ Feb 6 2008, 16:29)

Hmm, I seem to be having trouble tagging some .spc files.
From snesmusic.org, I have issues tagging Super Mario All-Stars and the two Mario Worlds. I haven't had (and still don't have) any trouble tagging others, such as EarthBound, but when I try to save the tags on, say, a Super Mario All-Stars track I get the error "Could not update tags (bad allocation) on: ___.spc".
Bad dump? Or foo_gep issue? I thought the snesmusic.org tracks were supposed to be of the highest quality, and Super Jukebox seems to be able to tag them...
Update the component and try again.
Hmm...just updated, and...same error.

Oops, now it's fixed.
imiganai
Feb 8 2008, 18:01
QUOTE(kode54 @ Feb 8 2008, 15:12)

Oops, now it's fixed.
Yes, it is! Thank you so much!
imiganai
Feb 18 2008, 14:37
Does GEP support tagging on genesis (GYM) files? I'm getting a "Could not update tags (Unsupported format or corrupted file) on:" error when I try to.
kode54
Feb 18 2008, 16:30
The only formats that support tag writing at this time are NSF/E and SPC.
imiganai
Feb 18 2008, 16:36
Ah, okay, thanks! Is support planned? I'm patient
Hello kode54.
I recently downloaded a collection of GBS files from the
GBS Penultimate Archive. Some of these GBS files have an 'extended m3u', or something like that, which allows them to have titles and different play times, but only a few of them work. For example, the GBS files for Final Fantasy Legends, Mario Tennis and Tales of Phantasia - Narikiri Dungeon will play, but their titles are mixed up, while other files, such as Donkey Kong Land 1-3 won't play at all. They all work in Winamp using NEZplug. Is there a possibility that you could support these extended m3u files? If not, it's alright, since the GBS files will play as intended, without titles, if I just remove or rename the m3u files. Otherwise, I would like to thank you for a kickass plugin. I don't know what I would do without it.
kode54
Feb 25 2008, 21:47
Fixed, enjoy.
Wow, thanks for the speedy update.
But there still seems to be a few issues. Donkey Kong Land 3 JP, Dragon Quest, Duck Tales, Kirby's Dream Land, Super Mario Land 1-2, Tetris and Tetris v1.0 still won't open, while Donkey Kong, Donkey Kong Country and Donkey Kong Land 1-3 will play, but the song titles/play time are only only shown on the foobar Title/Status bars, not the playlist itself. They also don't follow the designated play time, but use the default length instead.
kode54
Feb 27 2008, 17:08
QUOTE(Pixel @ Feb 26 2008, 18:51)

Wow, thanks for the speedy update.
But there still seems to be a few issues. Donkey Kong Land 3 JP
Comma in the filename, followed by a date, was tripping up the filename parser. Fixed.
QUOTE(Pixel @ Feb 26 2008, 18:51)

Dragon Quest
GBR, currently unsupported.
QUOTE(Pixel @ Feb 26 2008, 18:51)

Duck Tales, Kirby's Dream Land, Super Mario Land 1-2, Tetris and Tetris v1.0 still won't open
Decimals in the length fields. Handled now.
QUOTE(Pixel @ Feb 26 2008, 18:51)

while Donkey Kong, Donkey Kong Country and Donkey Kong Land 1-3 will play, but the song titles/play time are only only shown on the foobar Title/Status bars, not the playlist itself.
Force info reload, there's no way for the player to know that the metadata has changed since the modification times are the same.
QUOTE(Pixel @ Feb 26 2008, 18:51)

They also don't follow the designated play time, but use the default length instead.
Fixed, this also affected AY, GYM, HES, KSS, and SAP files.
Borisz
Mar 17 2008, 11:09
With the latest version, GYM files only play PSG and DAC.
Is there a chance that we'll see looping/fadeout for vgm files?
kode54
Mar 17 2008, 16:18
QUOTE(Borisz @ Mar 17 2008, 10:09)

With the latest version, GYM files only play PSG and DAC.
Not here.
QUOTE(Borisz @ Mar 17 2008, 10:09)

Is there a chance that we'll see looping/fadeout for vgm files?
I may squeeze that into the preferences somewhere. Soonish, maybe.
Borisz
Mar 17 2008, 22:05
QUOTE(kode54 @ Mar 17 2008, 23:18)

Not here.
Strange, it only happens if you set the sampling rate to 53268 or above. Below that number, it plays fine.
QUOTE
I may squeeze that into the preferences somewhere. Soonish, maybe.
That would ne nice, I know it was asked before... years ago.
kode54
Mar 18 2008, 13:27
QUOTE(Borisz @ Mar 17 2008, 21:05)

QUOTE(kode54 @ Mar 17 2008, 23:18)

Not here.
Strange, it only happens if you set the sampling rate to 53268 or above. Below that number, it plays fine.
The resampler seems to be having trouble with upsampling the FM. Hmm...
QUOTE(Borisz @ Mar 17 2008, 21:05)

QUOTE
I may squeeze that into the preferences somewhere. Soonish, maybe.
That would ne nice, I know it was asked before... years ago.
Done.
Borisz
Mar 18 2008, 21:05
Nice. A few problems though, song length (as displayed on the playlist) is not updated per the loop info, making it impossible to seek in the subsequent loops. And its not possible to set fadeout lengths, even though there is a default one set. I think this and the lack of extra silence applied after tracks (selectable) is all that the old vgm plugin had to offer over foo_gep.
Also, sampling rate does not display, only when playback is active. This happend in foo_sid and foo_dumb as well.
kode54
Mar 19 2008, 12:19
QUOTE(Borisz @ Mar 18 2008, 20:05)

Nice. A few problems though, song length (as displayed on the playlist) is not updated per the loop info, making it impossible to seek in the subsequent loops. And its not possible to set fadeout lengths, even though there is a default one set. I think this and the lack of extra silence applied after tracks (selectable) is all that the old vgm plugin had to offer over foo_gep.
Then I would need to make length reporting dynamic, as loop counts can change any time. Note that the default fade setting applies to VGM. Extra silence?
QUOTE(Borisz @ Mar 18 2008, 20:05)

Also, sampling rate does not display, only when playback is active. This happend in foo_sid and foo_dumb as well.
That was suggested since the sample rate is configurable and not a property of the files themselves. The only format in foo_gep which reports the sample rate always is SPC, which is fixed at 32KHz.
Borisz
Mar 19 2008, 17:39
I can see why length and samplerate is not displayed per settings, still, doesn't foobar re-read meta info every time the file is played? I know older versions did that. I much prefer exact length being reported, the only reason I can still seek in the vgm files is because I originally had them loaded with in_vgm in foobar 0.8, and still use that playlist.
About the extra silence: a selectable pause after tracks. One of the older versions of foo_vgm had it, I think. its similar to the option in the winamp plugin, cept it actually counts in the track length.
Cutter
Apr 14 2008, 16:34
Kode54 can you please make it so that the "Playback override" settings are used by the converter? It would make it possible to rip separate tracks or samples from a tune.
kode54
Apr 14 2008, 17:26
QUOTE(Cutter @ Apr 14 2008, 15:34)

Kode54 can you please make it so that the "Playback override" settings are used by the converter? It would make it possible to rip separate tracks or samples from a tune.
Since that dialog overrides track play time and silence detection so tracks never end, I don't see how it can work properly with the converter. I will have to work around that.
Mo0zOoH
May 14 2008, 16:51
Hey kode54, I've tried to find your foo_gep for 0.8.3, but failed. If you tell me the link, it will be greatly appreciated.
kode54
May 14 2008, 18:10
QUOTE(Mo0zOoH @ May 14 2008, 15:51)

Hey kode54, I've tried to find your foo_gep for 0.8.3, but failed. If you tell me the link, it will be greatly appreciated.
Here it is, but I must warn you, it hasn't been maintained since the end of 2005, so don't expect any of the new features or formats I've added since then.
Nahkranoth
May 15 2008, 06:27
kode, is it possible to add support for .minisnsf files that can be found at Modland? It is music from SNES, just the format is kinda weird, I mean the layout of files.
kode54
May 15 2008, 13:02
QUOTE(Nahkranoth @ May 15 2008, 05:27)

kode, is it possible to add support for .minisnsf files that can be found at Modland? It is music from SNES, just the format is kinda weird, I mean the layout of files.
That would require a more complete SNES emulator than is already required for SPC. So, not at this time.
zachastrife
May 15 2008, 14:36
I just had to post even though I'm not using GEP ATM (no use for it right now, have used it before).
I'm really amazed at how you are really listening to everybody and the speed of your replies and fixes.
You are truly the way a component dev should be. Kudos to you.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.