Author Topic: [Feature Request] Disable extension association.  (Read 10980 times)

B00daW

  • Posts: 17
For some player plugins, XMPlay and Winamp, they support multiple formats.  Sometimes changing the priority of the filetypes does nothing to the preference of which plugin will play the associated filetype.  (It appears that XMPlay will prefer to use XMPlay plugins over Winamp and ignore the filetype preference at times.)  To make this situation more easily manageable, can XMPlay ignore certain filetype support for particular XMPlay and Winamp plugins?

B00daW

  • Posts: 17
Re: [Feature Request] Disable extension association.
« Reply #1 on: 6 Dec '12 - 04:39 »
*shameless bump*

I've had to disable certain plugins in order to minimize conflicts.  Anybody care to chime in or have other ideas?

Dotpitch

  • Posts: 2871
Re: [Feature Request] Disable extension association.
« Reply #2 on: 6 Dec '12 - 06:23 »
Could you describe your plugin/format configuration and give an example where it goes wrong? I'm puzzled why XMPlay would ignore the 'Priority filetypes' at times, it should at least be consistent.

Ian @ un4seen

  • Administrator
  • Posts: 20389
Re: [Feature Request] Disable extension association.
« Reply #3 on: 6 Dec '12 - 16:11 »
For some player plugins, XMPlay and Winamp, they support multiple formats.  Sometimes changing the priority of the filetypes does nothing to the preference of which plugin will play the associated filetype.  (It appears that XMPlay will prefer to use XMPlay plugins over Winamp and ignore the filetype preference at times.)

Please give an example that isn't working properly, eg. what plugin and "Priority filetypes" setting are you using and what file are you playing, and what actually ends up handling the file.

B00daW

  • Posts: 17
Re: [Feature Request] Disable extension association.
« Reply #4 on: 8 Dec '12 - 07:59 »
Thanks for getting back to me.

Sure.  An example of the scenario is with the NSF format.  Using rainwarrior's NSFPlay Winamp plugin (which is superior with its emulation and support) and with mudlord's GME XMPlay plugin with any and all forms of priority filetypes configurations loads both plugins NSFPlay and GME.

Priority filetypes configuration as followed for both:

GME:  spc, sgc, gbs, ay, rsn, hes, kss
NSFPlay:  nsf, nsfe

NSFPlay will load and if you go to Plugin Info you will see NSFPlay's GUI, however the track audio is output via GME.  You can see by trying to look at NSFPlay's "keyboard" output or trying to adjust/mute any of the channels.

Additionally, I've tried to figure out which plugin loads SAP files if XMPlay ASAP and XMPlay GME are loaded together.  It appears that ASAP is loaded preferentially no matter the priority filetypes setting.

Slightly unrelated, but also when I go to track info, the plugin info cannot be displayed.  In the ASAP's README, it says that a keyboard hotkey has to be set up in order to load the plugin info.  Is there something XMPlay can do to hook in the Plugin Info for XMPlay plugins like ASAP?  It seems like that would be something integrated.

Also, in XMPlay Track Info, could we see which plugin is supposedly outputting audio?

Dotpitch

  • Posts: 2871
Re: [Feature Request] Disable extension association.
« Reply #5 on: 8 Dec '12 - 10:23 »
NSFPlay will load and if you go to Plugin Info you will see NSFPlay's GUI, however the track audio is output via GME.
Do you have the lastest stuff version of XMPlay?

B00daW

  • Posts: 17
Re: [Feature Request] Disable extension association.
« Reply #6 on: 8 Dec '12 - 10:59 »
Yes I do.  I've been updating the "stuff" XMPlay since GreaseMonkey made munch.py for IT files. :)

saga

  • Posts: 2179
Re: [Feature Request] Disable extension association.
« Reply #7 on: 8 Dec '12 - 14:20 »
Maybe GME doesn't provide any track info on its own? In that case, I think XMPlay would try to get the song info from another plugin. That's the way how people use e.g. Winamp's MP3 tag editor, they play MP3s with XMPlay's built-in decoder, but also install in_mp3.dll from Winamp, so that the "plugin song info" shows up Winamp's ID3 editor.

B00daW

  • Posts: 17
Re: [Feature Request] Disable extension association.
« Reply #8 on: 10 Dec '12 - 04:00 »
Well, I figured that too.  But I believe it would be much easier if "filetype priorities" just turned into "filetype blacklist" so that certain plugins are not associated with certain filetypes.  I do not want GME to be associated with everything; but GME has its merits for certain filetypes.

I believe that XMPlay is taking preference of XMPlay plugins over Winamp plugins and using GME first for NSF over NSFPlay since it's a Winamp plugin.

In the case of ASAP (XMPlay) and GME I believe it uses ASAP in preference over GME for SAP support.  I haven't done any poking around with RAM viewers to really figure out what's going on.

saga

  • Posts: 2179
Re: [Feature Request] Disable extension association.
« Reply #9 on: 10 Dec '12 - 12:44 »
I do not want GME to be associated with everything; but GME has its merits for certain filetypes.
In the case of a plugin that supports many different formats (like GME), I think it would be much more useful to have a blacklist in the plugin itself; For example, AdPlug handles dozens of FM chip formats, but in its settings dialog, you can choose precisely which formats it should handle and which not. Maybe it's time for mudlord to implement this in GME as well...? :)

Also, you don't need a RAM viewer to find out which plugin is prefered: When going to the plugin list in XMPlay's settings dialog, the currently active plugin is always highlighted. None of this magic needed! :) Also, it would be just logical if ASAP was preferred, due to the filename ordering.

Ian @ un4seen

  • Administrator
  • Posts: 20389
Re: [Feature Request] Disable extension association.
« Reply #10 on: 10 Dec '12 - 16:54 »
NSFPlay will load and if you go to Plugin Info you will see NSFPlay's GUI, however the track audio is output via GME.

OK, I think I see the cause of the confusion. The "Plugin file info" option only uses Winamp plugins. Native plugins don't have such a system, and they will instead display their info in the General/Message/Samples info windows (and the "Track info" window for typical/standard tags). So what you describe is normal, ie. a native plugin used for playback and a Winamp plugin for the "Plugin file info". Or is the GME plugin playing a file type/extension that you specifically gave the Winamp plugin priority to?

B00daW

  • Posts: 17
Re: [Feature Request] Disable extension association.
« Reply #11 on: 13 Dec '12 - 04:47 »
Don't worry about the Plugin File Info part at the moment, that is secondary to the filetypes issue.  I give NSFPlay (Winamp plugin) priority to play NSF.  Both GME and NSFPlay load.  GME plays the NSF, but NSFPlay's GUI also loads in the Plugin File Info displays information about the NSF.

As an example try playing the mmc5hax NSF that I hacked up in this zipfile.  The non-mmc5hax uses standard 7-bit PCM and should play fine on either player.  The mmc5hax version uses the less used MMC5 8-bit PCM DAC.

http://average.truechiptilldeath.com/nesdev/mmc5hax.zip

GME currently has improper support for MMC5 8-bit PCM.  NSFPlay is more accurate all around.

You'll see what I mean if you load both plugins then disable GME.

Elrinth

  • Posts: 130
Re: [Feature Request] Disable extension association.
« Reply #12 on: 13 Dec '12 - 12:42 »
Got GME and NezPlug++ installed. It always priorities the GME plugin. Even tho I put nsf in NezPlug++.

NezPlug is winamp plugin, GME is xmplay plugin.

One of the songs only sounds like garbage when played with GME.

Renaming GME plugin to .old (basically deleting it) plays back both versions good in NezPlug++.

Ian @ un4seen

  • Administrator
  • Posts: 20389
Re: [Feature Request] Disable extension association.
« Reply #13 on: 13 Dec '12 - 15:48 »
I give NSFPlay (Winamp plugin) priority to play NSF.  Both GME and NSFPlay load.  GME plays the NSF, but NSFPlay's GUI also loads in the Plugin File Info displays information about the NSF.

As an example try playing the mmc5hax NSF that I hacked up in this zipfile.  The non-mmc5hax uses standard 7-bit PCM and should play fine on either player.  The mmc5hax version uses the less used MMC5 8-bit PCM DAC.

http://average.truechiptilldeath.com/nesdev/mmc5hax.zip

I tried giving the NSFPlay plugin (in_yansf.dll) priority for NSF files, and both of your test files did end up being played by the NSFPlay plugin, so it's strange that you're not seeing the same happen there. Have you definitely got "nsf" (note no leading '.') in the NSFPlay plugin's "Priority filetypes" box?

B00daW

  • Posts: 17
Re: [Feature Request] Disable extension association.
« Reply #14 on: 14 Dec '12 - 21:37 »
Found my problem.  I was separating file extensions with a comma.

Works: nsf nsfe
Does not work: nsf, nsfe

I guess it was kind of unclear how I should list the priority filetypes array.

Dotpitch

  • Posts: 2871
Re: [Feature Request] Disable extension association.
« Reply #15 on: 15 Dec '12 - 10:30 »
Perhaps be an error message should be displayed if there is a dot, comma or a semicolon in that field.

saga

  • Posts: 2179
Re: [Feature Request] Disable extension association.
« Reply #16 on: 15 Dec '12 - 11:42 »
Or it should just be fixed automatically!

Ian @ un4seen

  • Administrator
  • Posts: 20389
Re: [Feature Request] Disable extension association.
« Reply #17 on: 17 Dec '12 - 15:45 »
It is mentioned in the docs that the list is space delimited, but of course nobody looks there :) ... Auto-correction is a nice idea, so here's an update that should replace any of ".,;" with spaces...

   www.un4seen.com/stuff/xmplay.exe

3.7 release time is fast approaching, so if anyone has any bugs to report (or small additions to request), now is the time!

Chinese Sausage

  • Posts: 424
Re: [Feature Request] Disable extension association.
« Reply #18 on: 17 Dec '12 - 17:09 »
Just a small request: The ability for XMPlay to optionally flash the current track on the playlist and/or library (as in QMP). It would be so much easier on the eyes in addition to the already present arrow pointing to the current track.  8)

guest

  • Guest
Re: [Feature Request] Disable extension association.
« Reply #19 on: 17 Dec '12 - 20:39 »
Small request: saved settings applied to each subsong (optionally).

Ian @ un4seen

  • Administrator
  • Posts: 20389
Re: [Feature Request] Disable extension association.
« Reply #20 on: 18 Dec '12 - 17:48 »
Just a small request: The ability for XMPlay to optionally flash the current track on the playlist and/or library (as in QMP). It would be so much easier on the eyes in addition to the already present arrow pointing to the current track.  8)

OK. Here's an update that adds a "FlashTrack" XMPLAY.INI option to enable flashing of the current playlist entry...

   www.un4seen.com/stuff/xmplay.exe

The flashing will be more noticeable with some skins than others (it isn't particularly noticeable with the default skin). It alternates between the normal and mouse button down state appearances.

Small request: saved settings applied to each subsong (optionally).

That would actually be a fairly big change, eg. it requires changes to the saved settings file format and the UI. So I'm afraid that won't be added in time for 3.7, but perhaps something for the future.

guest

  • Guest
Re: [Feature Request] Disable extension association.
« Reply #21 on: 18 Dec '12 - 20:07 »
Small request: saved settings applied to each subsong (optionally).

That would actually be a fairly big change, eg. it requires changes to the saved settings file format and the UI. So I'm afraid that won't be added in time for 3.7, but perhaps something for the future.

So maybe only currently saved amplification could be applied when each subsong is loaded (particularly relevant in reduction, fade-in and dynamic auto-amp because previous subsong changes amplification).

Ian @ un4seen

  • Administrator
  • Posts: 20389
Re: [Feature Request] Disable extension association.
« Reply #22 on: 19 Dec '12 - 12:46 »
OK. Here's an update that gives the option of extending the amplification "Reset on new track" option to include new subsongs (it'll use a saved setting if available and auto-loading is enabled)...

   www.un4seen.com/stuff/xmplay.exe

Chinese Sausage

  • Posts: 424
Re: [Feature Request] Disable extension association.
« Reply #23 on: 20 Dec '12 - 05:21 »
Just a small request: The ability for XMPlay to optionally flash the current track on the playlist and/or library (as in QMP). It would be so much easier on the eyes in addition to the already present arrow pointing to the current track.  8)

OK. Here's an update that adds a "FlashTrack" XMPLAY.INI option to enable flashing of the current playlist entry...

   www.un4seen.com/stuff/xmplay.exe

The flashing will be more noticeable with some skins than others (it isn't particularly noticeable with the default skin). It alternates between the normal and mouse button down state appearances.

Thank you very much for this update. I am really grateful for it. I'm testing it with various skins, and indeed some look better than others. It really adds to the visual aspect of the player and you can always disable it from the xmplay.ini file :)

B00daW

  • Posts: 17
Re: [Feature Request] Disable extension association.
« Reply #24 on: 3 Jul '13 - 05:35 »
Keep having the same issue with the newest "stuff" version of 3.7.  I have XMP-GME installed and other Winamp plugins that share the same extensions.  For example, I'm trying to play a PCE VGM file with in_vgm.  XMP-GME has no file priorities set.  in_vgm has "vgm vgz" set for file priority.  It does not play with in_vgm and always defaults to XMP-GME since it's the first detected plugin.

Honestly it just seems like a better idea instead of having a file extension priority type per plugin to just have an extension blacklist per plugin so it skips that plugin and goes down to the next.  I can't find an absolute and tried method to be assured that desired plugins are playing specific file extensions. :(