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_input_zxtune (Read 16000 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_input_zxtune

Allows you to play various ZX Spectrum, Amiga, PC, Atari, Acorn chip / digital / fm tunes.

Download version 0.0.9 based on r4953 (jul 23 2020) from component repository page

Changelog:
  • Convert operations fixed
  • New foobar2000 SDK is used
  • Preferences refactored with new libPPUI API
  • Full support of VGM format chips and versions
  • Added support of Farbrausch V2 Synthesizer System (V2M)
  • Added support of Raster Music Tracker (.RMT)
  • Added support of Sega Dreamcast format (DSF)
  • Added support of Sega Saturn format (SSF)
  • Added support of Nintendo DS Sound Format (2SF)
  • Added support of Startrekker format (MOD)
  • Added support of PlayStation 1&2 Sound Format (PSF,PSF2)
  • Added support of Nintendo Ultra64 Sound Format (USF)
  • Added support of GameBoy Advance Sound Format (GSF)
Spoiler (click to show/hide)

Project home page
Fork with foobar2000 plugin source code (full changelog)

ZX Tunes archive
Latest ZX Spectrum music
ModLand
High Voltage SID Collection

foo_input_zxtune

Reply #1
Hi djdron.
Above list does not contain information about Super Nintendo's .SPC files.
And these files has lead me here. I would like to ask you for some bothersome work. Something that is included in foo_gep. A config page, with lots of checkboxes, next to certain files extensions, which allows to disable or enable support of certain formats in your plugin. This is a must - in my opinion - for all non exclusive formats present in your plugin (.SPC, .VTX and .YM are those which I am aware of). Why?
Since very long time I use foo_gep on a daily basis for several formats:
AY, SPC, GBS, VGM, NSF. It also supports HES, SAP, KSS, SFM, GYM, SGC. In "Playback/Input" section it has its entrance with config options - selection of formats, some format specific functionalities / DSP tweaks.
Not so long time ago there was another SPC-able plugin published - foo_snesapu. I wanted to use it and check how this differ from the other ones. And after several tests it turned out that it doesn't make any change. Now I know why - because whenever I disabled foo_GEP, then foo_zxtune took over playback of SPC... Foobar itself doesn't have any logic for controlling which plugin opens certain format if it is supported by more than one. So it is random which plugin is used... In this case I have to remove/disable whole foo_zxtune just to test foo_snesapu, which is kind inconvenient for me. Also I got impression (but I may be wrong here), that waveform seekbar (foo_wave_seekbar) not necessarily uses the same SPC plugin as main audio output.
That's why there should be an option to choose which formats supported by foo_zxtune are currently enabled - to allow general use of this plugin while prevent from strange interferences with other useful plugins.

foo_input_zxtune

Reply #2
Hi, EpicForever!

Just uploaded plugin based on latest ZXTune version.
It includes Game Emu Player and supports almost all formats (look at fist post in topic for download).

I'm thinking of preferences page implementation.
After GEP including in ZXTune do you really need disabling supported formats option?

foo_input_zxtune

Reply #3
Yes, as for example for SPC files I like SNESAPU more than other plugs... it is always good to allow users to choose if there are overlapping capabilities between various plugins. There is no much sense in making big preferences page that will allow to enable/disable every possible format, but for those overlapping - definitely is something useful.

Re: foo_input_zxtune

Reply #4
My apologies for digging up the old thread, but I'd like to vote for the preferences page. For example I like how foo_dumb handles modules, it allows to see all the things module authors usually write instead of the instruments/samples names. Or maybe someone like foo_openmpt as their default player. Just a little freedom, you know  ;)

Re: foo_input_zxtune

Reply #5
Version 0.0.6 with latest bugfixes/features released.
Preferences page added with ability to enable/disable handled formats.

Re: foo_input_zxtune

Reply #6
Version 0.0.6 with latest bugfixes/features released.
Preferences page added with ability to enable/disable handled formats.
Thanks a bunch!
Everything works as intended so far.

Re: foo_input_zxtune

Reply #7
Version 0.0.7 is hosted on fb2k components site.
Functionality is same as 0.0.6, but supported formats in preferences page slightly re-arranged.

Re: foo_input_zxtune

Reply #8
Hi djdron,
Have you been thinking about updating foo_zxtune to be compatible with v 1.4 SDK and thus with decoder order plus with dynamic CRT linking?

Re: foo_input_zxtune

Reply #9
Dynamic CRT linking is not advised until 1.4 reaches a stable release, especially that you'll be automatically updating your users' components to the newer version even if they're on 1.3, which does not bundle the runtime.

Re: foo_input_zxtune

Reply #10
Any plans for an update? This plugin is now crashing on me when I flip to a tab that contains an autoplaylist of all of my mods, and when I then do a search for anything. F2k 1.5.1b4.

Snip as follows
---
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 0C42EFBAh
Access violation, operation: read, address: 676E696Bh

Call path not available.

Code bytes (0C42EFBAh):
0C42EF7Ah:  8B 41 30 2B 41 2C C1 F8 05 3B D0 76 1C 8D 8D D8
0C42EF8Ah:  FE FF FF E8 39 AF FF FF 68 54 CE 67 0C 8D 85 D8
0C42EF9Ah:  FE FF FF 50 E8 23 05 0E 00 8B 41 2C C1 E2 05 89
0C42EFAAh:  95 D4 FE FF FF 8B 4C 10 E0 8D 95 DC FE FF FF 52
0C42EFBAh:  8B 01 8B 40 04 FF D0 50 8D 8D C0 FE FF FF E8 F3
0C42EFCAh:  E9 FF FF 8B 8D E0 FE FF FF 83 CE FF 89 8D 00 FF
0C42EFDAh:  FF FF 85 C9 74 21 8B C6 F0 0F C1 41 04 75 18 8B
0C42EFEAh:  01 FF 10 8B 8D 00 FF FF FF 8B C6 F0 0F C1 41 08

Stack (1AFBFA04h):
1AFBF9E4h:  0021453D FFFFFFFF 1AFBFA30 000E91E3
1AFBF9F4h:  1AFBFB3C 1F7130F8 000E91F9 0027A9C8
1AFBFA04h:  1AFBFA3C 62429012 0C42C760 1F7130F8
1AFBFA14h:  00000001 06809C08 00000000 00000000
1AFBFA24h:  00000000 00000000 00000000 004F0000
1AFBFA34h:  00000000 00000000 102500F0 756F7AA1
1AFBFA44h:  1F7130FC 2AAF0810 00000000 1AFBFB3C
1AFBFA54h:  0FF200F1 756F7AA1 FFFFFFFF 1AFBFA9C
1AFBFA64h:  004F9FB8 1AFBFB3C 00000188 00000000
1AFBFA74h:  00000000 1E653F30 004F9CA8 004F9E5C
1AFBFA84h:  1F10DFE0 004FB078 1AFBFB3C 1AFBFA24
1AFBFA94h:  00214B10 1AFBFB9C 77B34DCD 34658CE2
1AFBFAA4h:  FFFFFFFE 77AEE434 77AEE192 1F266990
1AFBFAB4h:  004F0000 2AAF0810 2AAF0810 067AF0A9
1AFBFAC4h:  1AFBFB98 1AFBFB3C 1AFBFB3C 0027A9C8
1AFBFAD4h:  0027A9C8 1AFBFB14 067F5E64 FFFFFFFF
1AFBFAE4h:  1AFBFB20 067AF217 1AFBFB3C 1AFBFB14
1AFBFAF4h:  00000000 03A6E100 00000000 00000000
1AFBFB04h:  2AAF0810 067AF226 00000002 00000000
1AFBFB14h:  00000190 067AF304 1AFBFB38 74E95600

Registers:
EAX: 22EBD910, EBX: 1F10DFF0, ECX: 676E696B, EDX: 1AFBFA3C
ESI: 1F7130F8, EDI: 1F10DFF0, EBP: 1AFBFB60, ESP: 1AFBFA04

Crash location:
Module: foo_input_zxtune
Offset: 14EFBAh
Symbol: "foobar2000_get_interface" (+442Ah)

Re: foo_input_zxtune

Reply #11
Hi there!
@Dhry, I had the crashes of foo_input_zxtune previously when turning on the Activity panel of foo_youtube component.
The problem was resolved after update foo_youtube. Perhaps this is your case.


Re: foo_input_zxtune

Reply #13
Hello. I and another person run a shared folder which is a compilation of various chip formats, and .ay is one of them. I had a few questions for the developer of zxtune, since his plugin seems to be a great player for these kind of things.
1. Why is it when the AY chip is being played from ay files the channels are panned out? This is all kinds of annoying for me, and as far as I know not the case on the original hardware, weren't the outputs summed together and output on a mono DAC?
2. Our archive of ay files comes from AYGOR (http://abrimaal.pro-e.pl/aygor/) and we've been having some problems with the plugin.
The maintainer of AYGOR seems to have squished Sam Coupe files using the SAA1099 into the .ay format, but this plugin is unable to handle them. With older versions of the plugin I was able to rename these files to .cop and while the metadata wouldn't display correctly I could still play a great many of them, though not all. Now it seems with whatever file extension I use I get pure silence, even though a length is displayed. You can find such files in the "scene_sam" folder of the compilation. Some near the top of that list like Blue Drummer wouldn't play even with this hack, but most of the ETunes stuff should, and now doesn't. The metadata displays correctly which leads me to believe that the plugin is reading the AY header and thus not reading the commands sent to this sound chip, I guess because it's an unofficial extension of the format?
What can be done about this? While the SAA1099 thing might be a big rabbit hole, can anything be done about the stereo panning of the channels? Also now that we're on 1.5, and the 1.4 change has already happened, this plugin needs to be updated to comply with the decoding panel.

Re: foo_input_zxtune

Reply #14
Hello everybody)
Seems topic with update is deleted, so re-posting here.
Try to test 0.0.8 version before release.
All features from upstream included - based on r4953 jul 23 2020.
Also new foobar2000 SDK is used, preferences refactored with new libPPUI API.

Re: foo_input_zxtune

Reply #15
Seems topic with update is deleted, so re-posting here.
Yeas, it's quite frightening that one admin can delete entire threads without any explanation and questioning from users and other admins. Usually, if there are reasons that warrant such action, a thread gets closed, yet the information contained remains available.

Try to test 0.0.8 version before release.
Thank you again for updating your component. Would you consider updating your XMPlay plugin, too? Its latest release aired in 2015.

Re: foo_input_zxtune

Reply #16
Thank you again for updating your component. Would you consider updating your XMPlay plugin, too? Its latest release aired in 2015.

I'll try) after bug fixing in foobar2000 version.

Re: foo_input_zxtune

Reply #17
Seems topic with update is deleted, so re-posting here.
Yeas, it's quite frightening that one admin can delete entire threads without any explanation and questioning from users and other admins. Usually, if there are reasons that warrant such action, a thread gets closed, yet the information contained remains available.
Oh, shut up about that. They're safely stowed in the trash forum anyway. If need be, we can just restore them to the Recycle Bin so you can knock yourself out reading all that troll crap.

Re: foo_input_zxtune

Reply #18
This is what I'm talking about when one person has too much power. Your aggressive and insulting reply is not helping the case either. Instead of having a thread vanish without any trails, it should be moderated accordingly and, if need be, locked until further.

Re: foo_input_zxtune

Reply #19
I mean, sure, I could leave, but then we'd have zero active administration of the forum. The only other two administrators still around are Peter and Spoon. Spoon comes around maybe once every few months to post something new about dbPowerAMP. Peter actively avoids the forum and only reads topics which are linked to him on IRC.

But sure, we don't need administration here anyway. The forum practically takes care of itself.

EDIT: There, all of jessicaj's deleted posts have been moved to the Recycle Bin. Perhaps you would also like to unban them? The most recent posts looked really lovely. Now they are preserved forever in the search engine indexed Recycle Bin, instead of being preserved forever in the visible-only-to-forum-staff garbage can, where the staff all agreed they belonged.

Re: foo_input_zxtune

Reply #20
First of all, I do not mean you to leave. All I ask for is to have a transparent way of handling/removing posts that harm the forum TOS. If moderating threads by deleting just the offending posts are too time-consuming, then please either lock a thread with a short explanatory message. Or if you see fit to remove an entire thread, I would also expect an admin message explaining the action and probably a hint where the information can still be accessed. I for example wasn't aware that deleted posts/threads are moved to a recycle bin.

I hope you can understand my point of view, that there's a bit of lack of communication between administration and users in this regard, that led me to feel uncomfortable. Also, the way you responded did not help the matter either. You seem to react a bit edgy ever so often, perhaps due to the burden of all the work and tasks that you put onto yourself, which understandably implies stress. Please understand that I do not mean you any harm, quite the contrary. I do know what we have and get thanks to you and your dedication, and I value that very high and am grateful for it.

So I'd like to say thank you for looking into this, and hopefully, we get along better onwards.


Re: foo_input_zxtune

Reply #21
Some improvements:
  • File info from ftp (remote file systems) correctly displayed.
  • EMUL file type registered along with AY
  • Message "ZXTune: using codec ..." displayed in console when track is started to decode
  • Supported codecs are sorted by ID in ZXTune preferences

Re: foo_input_zxtune

Reply #22
Thanks for the update, djdron.

Why isn't the related plugin download page updated accordingly? It still offers outdated v0.0.7 from 2017.

Also, the plugin could use some documentation to go along with, i..e similar to the info found on the plugin download page. I could help you with that if interested, I created some documentation for the plugin myself based on info derived from the ZX Tune Player by Vitamin/CAIG.

Re: foo_input_zxtune

Reply #23
Hi, deus-ex!
Plugin is not updated on download page because this is a test version before release.
About documentation - do you mean update it in plugin download page? Or host it on github?

Re: foo_input_zxtune

Reply #24
I meant to add some documentation to the plugin distribution archive. Perhaps you don't get to see it using foobar2000's update feature, but when downloading/installing the plugin manually it sure comes in handy.