Author Topic: Plugin Update: SIDevo v4.9  (Read 8624 times)

Keltic Danor

  • XMPlay Support
  • Posts: 916
Plugin Update: SIDevo v4.9
« on: 17 May '23 - 03:37 »
SIDevo Input Plug-in
This is a partial rewrite and update of my old SIDex v1.0~ plugin, it has now been rewritten using Visual Studio 2022 and the most recent libsidplayfp library.

- Fade-in support to try and remove clicks
- SLDB, STIL, BUGlist from HVSC supported
- Configurable SIDId support via sidid.cfg files


SIDId Support
xmp-sidevo does not keep a copy of the SIDId database internally but a sidid.cfg file is
included in the archive. The sidid.cfg must be in the same location as the plugin.

You can also download the latest sidid.cfg file from the SIDId GitHub here: https://github.com/cadaver/sidid


Known Issues
Despite the plugin itself working fine in windows XP it appears libsidplayfp doesn't right now, I'm not 100% sure what the related problem is but I don't think there is a lot I can do about it directly unfortunately.



Change Log
v4.9
- libsidplayfp library updated to 2.12.0
- sidid.cfg updated to version from 28 October 2024

v4.8
- libsidplayfp library updated to 2.9.0
- Errors for sidid.cfg, Songlengths.md5 and STIL now suppress themselves after showing once
- Force mono option added
- sidid.cfg updated to version from 10 August 2024

v4.7
- libsidplayfp library updated to 2.8.0

v4.6
- libsidplayfp library updated to 2.7.1
- sidid.cfg updated to version from 5 May 2024

v4.5
- libsidplayfp library updated to 2.6.0
- WDS files are now shown in the Message window
   - The reading of WDS/conversion from PETSCII is far from perfect, any code suggestions would be most welcome
- Comments from MUS files are now showing in the Message window
- Fixed issue with subsong STIL setting not getting sid comments
- Fixed random scanning of invalid files causing crashes

v4.4
- SIDId now returns multiple players if applicable

v4.3
- Links to Github and XMPlay Support page added to the about box
- Default duration of 0 seconds will no longer override HVSC song lengths
- sidid.cfg updated to version from 2 July 2023

v4.2
- libsidplayfp library updated to 2.5.0
- Added "Add Fade-out to duration" to fade options
- Added "Fetch only current Sub-song STIL info" in miscellaneous options
- Title/Artist/Date added to the Message tab
- Song length duration now retrieved as milliseconds and rounded up by default

v4.0
- Initial new release
- libsidplayfp library updated to 2.4.2
- Sid Info added to info window showing no. chips/model/clock speed + overrides
- sidid.cfg updated to version from 23 December 2022
- Emulation config options now apply on the next loaded sid instead of restart
- Skip to Default Subsong ...and only play the Default options added
- Seeking is no longer disabled by default
- MUS and STR files are now supported so enjoy that Compute's Gazette Sid Collection
- Tunes are now loaded from memory instead of the file system which fixes...
   - Loading of foreign files with incompatible characters
   - Loading of sids directly from web urls
- sidid.cfg is now loaded from the plugin directly instead of HVSC DOCUMENTS/
- HVSC Documents path purpose made clearer and added browse & test buttons


Big Thanks To
- Ian Luck ~~~ Compile configuration, XP support, code references, logarithmic fade effects and a metric TON of code fixes!
- drfiemost (Leandro Nini) ~~~ All the help along the way
- emoon (Daniel Collin) ~~~ Help building libsidplayfp in the first place & code references in HippoPlayer
- hermansr (Roland Hermans) ~~~ Code references in PSID64 adding SIDId support
- cadaver (Lasse Öörni) ~~~ Code references in SIDId and sidid.cfg files
- kode54 (Christopher Snowhill) ~~~ Code references in foo_sid
- z80maniac (Alexey Parfenov) ~~~ Code references in xmp-zxtune
- zbych-r / in_sidplay2 ~~~ Code references in in_sidplay2
- Malade (William Cronin) / xmp-sidex v2 ~~~ Code references in xmp-sidex v2


Download
https://support.xmplay.com/files_view.php?file_id=731 Download from XMPlay Support
https://github.com/KelticDanor/xmp-SIDevo Source on GitHub
« Last Edit: 5 Dec '24 - 01:53 by Keltic Danor »

Dhry

  • Posts: 130
Re: New Plugin: SIDevo v4.1a
« Reply #1 on: 18 May '23 - 22:33 »
Outstanding, well done! Plugin works great.

Cheers
DRS

guest

  • Guest
Re: New Plugin: SIDevo v4.1a
« Reply #2 on: 22 May '23 - 13:55 »
Would it be possible to set the start of fading out to songlength of looped song (and just keep playing)?

guest

  • Guest
Re: New Plugin: SIDevo v4.1a
« Reply #3 on: 24 May '23 - 09:14 »
Some suggestions:
- using a precise songlength (or rounding the duration such as 0:00.329 to 1 second instead of setting it to the default)
- displaying Name, Author, Released info from SID file in Message window
- optionally show STIL subtune info only about currently played subsong
- showing multiple recognized players from SIDId

piovrauz

  • Posts: 1020
Re: New Plugin: SIDevo v4.1a
« Reply #4 on: 28 May '23 - 16:10 »
Can't seem to have the STIL document folder recognized.
I think the path is correct but it always say it's wrong.
the test button doesn't seems to change that.

andutrache

  • Posts: 12
Re: New Plugin: SIDevo v4.1a
« Reply #5 on: 3 Jun '23 - 01:04 »
Hello,
On the v4.0 changelog it is said: Windows XP support added.
But when I try any .sid file on my Windows XP machine XMplay just says that the plugin has crashed then I get an "xmplay.exe has encountered a problem and needs to close" prompt which complains about the xmp-sidevo.dll.

So how does one actually use the plugin on Windows XP?
Is there any prerequisites I need to install to make it work?

Thanks for any help :)

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: New Plugin: SIDevo v4.1a
« Reply #6 on: 3 Jun '23 - 02:40 »
Would it be possible to set the start of fading out to songlength of looped song (and just keep playing)?
I'm not sure, I think so but it would have to add the fade-out time to the song duration so it can keep playing to do it. I'll have a look.

Some suggestions:
- using a precise songlength (or rounding the duration such as 0:00.329 to 1 second instead of setting it to the default)
- displaying Name, Author, Released info from SID file in Message window
- optionally show STIL subtune info only about currently played subsong
- showing multiple recognized players from SIDId
- I thought sidlength already had to the second? Afaik the song lengths in sidlength isn't always perfect so that might be what's up but I'm happy to look at an example.
- Can do, in for the next update, it will appear above the STIL info (if any).
- I did have this option originally but due to how the STIL lookup (from sidplayfp) works it occasionally misses some things. I'll see about putting in an option for it.
- I can have a look but I'm still not exactly sure how the SIDid code works. Do you have an example sid that uses multiple players?

Can't seem to have the STIL document folder recognized.
I think the path is correct but it always say it's wrong.
the test button doesn't seems to change that.
Is it a relative path or a full one? Let me know what the path is and I'll see if I can work out what is up.

On the v4.0 changelog it is said: Windows XP support added.
But when I try any .sid file on my Windows XP machine XMplay just says that the plugin has crashed then I get an "xmplay.exe has encountered a problem and needs to close" prompt which complains about the xmp-sidevo.dll.
I don't actually have an XP machine to test on, it was just how it was compiled, I'll try and dig up a winxp VM to do some tests.

I got a VM going and did some tests, it crashes at new sidplayfp(); so I don't have much I can do about that one at the moment, sorry.
« Last Edit: 18 Jun '23 - 17:03 by Keltic Danor »

saga

  • Posts: 2778
Re: New Plugin: SIDevo v4.1a
« Reply #7 on: 3 Jun '23 - 09:50 »
That sounds like it is not a problem with XP compatibility (the plugin wouldn't even load if it was not compatible with Windows XP) but rather libsidplayfp trying to use an instruction set extension (e.g. SSE2) which is not available on that machine. Is there an exception code being mentioned in the dialog telling you that xmp-sidevo.dll caused the problem?

andutrache

  • Posts: 12
Re: New Plugin: SIDevo v4.1a
« Reply #8 on: 3 Jun '23 - 12:44 »
That sounds like it is not a problem with XP compatibility (the plugin wouldn't even load if it was not compatible with Windows XP) but rather libsidplayfp trying to use an instruction set extension (e.g. SSE2) which is not available on that machine. Is there an exception code being mentioned in the dialog telling you that xmp-sidevo.dll caused the problem?

As I said before "xmplay.exe has encountered a problem and needs to close" prompt which complains about the xmp-sidevo.dll."
So yes it was the .dll that caused the problem.
The CPU I have on my Windows XP machine is an Intel T1500 which supports up to SSE3.

If there are requirements or prerequisites they should be stated so that people like me don't wonder why it is not working.

EDIT: Uploaded the log from the error.
EDIT2: Uploaded a screenshot of the exception info. (Even if the txt is from another error, the error is always the same)
« Last Edit: 3 Jun '23 - 13:33 by andutrache »

guest

  • Guest
Re: New Plugin: SIDevo v4.1a
« Reply #9 on: 3 Jun '23 - 15:44 »
Quote
Quote
Would it be possible to set the start of fading out to songlength of looped song (and just keep playing)?
I'm not sure, I think so but it would have to add the fade-out time to the song duration so it can keep playing to do it. I'll have a look.
Please do it like XMPlay does with looped MODs when Fade-out is above 0:
fade-out time isn't added to the song duration in playlist but the actual playing time of the song is [duration}+[fade-out]


Quote
Quote
- using a precise songlength (or rounding the duration such as 0:00.329 to 1 second instead of setting it to the default)
- I thought sidlength already had to the second? Afaik the song lengths in sidlength isn't always perfect so that might be what's up but I'm happy to look at an example.
; /MUSICIANS/D/Darin_Mark/Maniac_Outhouse_preview.sid
4d48ac20bebbd349671c3e652303fe29=0:11.748 0:00.581 0:00.92 0:00.461 0:00.123 0:00.342

Subsongs 2-6 durations are currently set to the default value.
Subsong 1 duration should rather be rounded to 12 seconds.


Quote
Quote
- optionally show STIL subtune info only about currently played subsong
- I did have this option originally but due to how the STIL lookup (from sidplayfp) works it occasionally misses some things. I'll see about putting in an option for it.
Maybe displaying currently played subsong info in bold font?


Quote
Quote
- showing multiple recognized players from SIDId
- I can have a look but I'm still not exactly sure how the SIDid code works. Do you have an example sid that uses multiple players?
SIDid has a command line option:
-m             Scan each file for multiple signatures

SID with multiple players:
MUSICIANS\T\Tjelta_Geir\Echofied_6581.sid
Geir_Tjelta/Echo
Geir_Tjelta/SIDDuzz'It
Laxity_NewPlayer_V21
MoN/Deenen
Vibrants/Laxity

guest

  • Guest
Re: New Plugin: SIDevo v4.1a
« Reply #10 on: 16 Jun '23 - 10:24 »
Plugin doesn't play \MUSICIANS\L\Lead\Paradise.sid

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: New Plugin: SIDevo v4.1a
« Reply #11 on: 16 Jun '23 - 17:23 »
Plugin doesn't play \MUSICIANS\L\Lead\Paradise.sid
Seems to play fine here, anyone else having issues with his one?

guest

  • Guest
Re: New Plugin: SIDevo v4.1a
« Reply #12 on: 17 Jun '23 - 03:41 »
This happens when the random power delay option is disabled and set to e.g. 0.

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: New Plugin: SIDevo v4.1a
« Reply #13 on: 17 Jun '23 - 18:47 »
v4.2
- libsidplayfp library updated to 2.5.0
- Added "Add Fade-out to duration" to fade options
- Added "Fetch only current Sub-song STIL info" in miscellaneous options
- Title/Artist/Date added to the Message tab
- Song length duration now retrieved as milliseconds and rounded up by default

Just a side note that there is no difference between libsidplayfp 2.5.0 and the previous 2.5.0a, just a proper release as far as I know.

This happens when the random power delay option is disabled and set to e.g. 0.
No idea what is up with that, I've reported it on github so maybe they have some thoughts, sure is strange though. Nice find!
Edit: Turns out it is a known issue from a while back so just need to live with that one for the moment.
« Last Edit: 18 Jun '23 - 17:06 by Keltic Danor »

guest

  • Guest
Re: Plugin Update: SIDevo v4.2
« Reply #14 on: 20 Jun '23 - 12:36 »
\MUSICIANS\R\Rea\Drum_n_Bass.sid
When the initial reduction auto-amp is set to +20 dB and the SID is played for the first time, the amplification is reduced to +15 dB
but when the SID is restarted (e.g. with the Home key) +20 dB is OK and the amplification is not reduced.
Where does this difference come from?

guest

  • Guest
Re: Plugin Update: SIDevo v4.2
« Reply #15 on: 30 Jun '23 - 14:48 »

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: Plugin Update: SIDevo v4.3
« Reply #16 on: 1 Sep '23 - 16:18 »
v4.3
- Links to Github and XMPlay Support page added to the about box
- Default duration of 0 seconds will no longer override HVSC song lengths
- sidid.cfg updated to version from 2 July 2023

Just some minor things, nothing fancy. I'm not sure there is any special interaction the plugin does with the auto-amp feature, that's more up to XMPlay to work it's magic with.

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: Plugin Update: SIDevo v4.3
« Reply #17 on: 18 Sep '23 - 09:32 »
v4.4
- SIDId now returns multiple players if applicable

Very minor change as per an old request I finally got around to, no other changes besides correcting some text.

guest

  • Guest
Re: Plugin Update: SIDevo v4.4
« Reply #18 on: 19 Sep '23 - 13:16 »
When the "Fetch only current Sub-song STIL info" option is active, the general comment on all subsongs is not displayed.

Malade

  • Posts: 64
Re: Plugin Update: SIDevo v4.4
« Reply #19 on: 24 Sep '23 - 15:55 »
Well done Kelt , good plugin , thanks for all the hard work. Keep going its good.

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: Plugin Update: SIDevo v4.4
« Reply #20 on: 1 Oct '23 - 18:16 »
Well done Kelt , good plugin , thanks for all the hard work. Keep going its good.
Well hello there :P Good to see you're still kickin', thought you got eaten by a grue!

When the "Fetch only current Sub-song STIL info" option is active, the general comment on all subsongs is not displayed.
Yes, it's a bit of a weird one I know, was something I noticed a while back and I think was why it I didn't do a subsong lookup at the time.
I'm not sure whether it is due to the STIL file structure or the look up itself since I'm not sure which way it is supposed to be. If you have a few examples I'll check it out and see what I can do, though it may be something I have to ask drfiemost about.

guest

  • Guest
Re: Plugin Update: SIDevo v4.4
« Reply #21 on: 1 Oct '23 - 20:54 »
SIDs containing subsongs with STIL file-global comment:
/MUSICIANS/B/Blues_Muz/Bombmania_II_preview_2.sid
/MUSICIANS/D/Daglish_Ben/Jack_the_Nipper_II.sid

tails__

  • Posts: 16
Re: Plugin Update: SIDevo v4.4
« Reply #22 on: 14 Nov '23 - 10:05 »
I just noticed there are 2 new SID plugins for XMPlay available, thanks!

On a side note, I noticed that in plugin code you supply SID tags into UTF-8 text funtion for tag processing in XMPlay: https://github.com/KelticDanor/xmp-SIDevo/blob/66562a92ee6b5fc48aec60070b6c6d91cd56803d/xmp-sidevo/xmp-sidevo.cpp#L737 which causes garbled text for some tags which contain non-ascii characters. Is it possible to wrap these with MultiByteToWideChar() with 1250 code page, so the text is displayed properly on non-latin systems?

(Wish I could just fork and PR the code, but I miss windows environment to work on...)

Sigma Seven

  • Posts: 14
Re: Plugin Update: SIDevo v4.4
« Reply #23 on: 28 Dec '23 - 19:07 »
Brilliant job with the plugin Keltic, XMPlay badly needs an up to date SID plugin for our listening pleasure. :)

Just as a side note, looking in the txt file that comes in the zip, at the bottom under install instructions it still says that the sidid.cfg should go in the HVSC\DOCS folder.

I'm assuming that's not the case and it must go in the plugin's folder? That's where I have it.

And I remember that the SIDex version had a rather nice equalizer in it, I was wondering if it would be possible to implement that in this one also? Would be very cool if we could play around with different settings and presets and whatnot. :)

redneonglow

  • Posts: 12
Re: Plugin Update: SIDevo v4.4
« Reply #24 on: 6 Jan '24 - 23:15 »
I'm having an issue with SIDevo crashing XMPlay when trying to add WavPack files to the playlist.

"The "SIDevo 4.4" plugin crashed while attempting to scan the following file:

filename.wv

The crash will now be passed on to Windows."

and XMPlay exits with a "Runtime Error" message.