Author Topic: SIDex plugin  (Read 27406 times)

Dhry

  • Posts: 130
Re: SIDex plugin
« Reply #25 on: 23 Jul '21 - 18:22 »
One thing I have noticed is that when starting a new SID playing, there's an audible "click" sound. This is not present in the original Fraggie plugin and I think it's because there's an option "Try to attenuate power-on noise", there's also a power-on delay option in the other plugin. I'm trying to concentrate just on really obvious things right now, the nice to haves can certainly come later, but - is there any way of easily dealing with the click upon new SID playback?

DRS

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #26 on: 24 Jul '21 - 01:54 »
I did wonder what that was for, I'll have a go at adding it later, I'm just going to remove the core setting for now and put it there.
« Last Edit: 24 Jul '21 - 05:57 by Keltic Danor »

yoba

  • Posts: 21
Re: SIDex plugin
« Reply #27 on: 24 Jul '21 - 04:28 »
Very nice!  8)

However, not compatible with XP due to unsupported function GetTickCount64 in KERNEL32.dll

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #28 on: 24 Jul '21 - 05:59 »
Sorry about Windows XP but I don't have a windows XP machine so not sure I can fix that one myself.
I'm not sure what "Try to attenuate power-on noise" means but hopefully the power delay thing works well enough.
« Last Edit: 25 Jul '21 - 17:51 by Keltic Danor »

Dr. Fiemost

  • Posts: 18
Re: SIDex plugin
« Reply #29 on: 24 Jul '21 - 07:35 »
The power-on delay is just a small loop in the init routine to allow the system to settle down but it won't prevent the SID click.
I think that feature could be achieved with a few milliseconds fade-in so the volume can reach its full value after the noise.

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #30 on: 24 Jul '21 - 07:47 »
The power-on delay is just a small loop in the init routine to allow the system to settle down but it won't prevent the SID click.
I think that feature could be achieved with a few milliseconds fade-in so the volume can reach its full value after the noise.
Ooh I see, okay will have to look into it. Thanks mate.  :)

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #31 on: 24 Jul '21 - 12:31 »
One thing I have noticed is that when starting a new SID playing, there's an audible "click" sound. This is not present in the original Fraggie plugin and I think it's because there's an option "Try to attenuate power-on noise", there's also a power-on delay option in the other plugin. I'm trying to concentrate just on really obvious things right now, the nice to haves can certainly come later, but - is there any way of easily dealing with the click upon new SID playback?
I've had a little success removing the click by trimming the starting audio a bit but I'm not quite sure how much to trim, perhaps I should leave that to someone cleverer with the sound side of things to do it properly with detection instead of blindly lopping things off like I am.

But just for an experiment I made one with click removal cut offs with some random figures.
https://support.xmplay.com/temp/xmp-sidex0.7testonly.zip

This is just a test one to see if chopping the start off by a bit will do what you want, note that you can just edit the XMPlay.ini (while XMPlay is closed) and manually put in whatever number you want. I uh... probably would'nt recommend it for everyday use though, just as an experiment.
« Last Edit: 24 Jul '21 - 17:10 by Keltic Danor »

Dhry

  • Posts: 130
Re: SIDex plugin
« Reply #32 on: 24 Jul '21 - 20:53 »
I've had a little success removing the click by trimming the starting audio a bit but I'm not quite sure how much to trim, perhaps I should leave that to someone cleverer with the sound side of things to do it properly with detection instead of blindly lopping things off like I am. But just for an experiment I made one with click removal cut offs with some random figures.
https://support.xmplay.com/temp/xmp-sidex0.7testonly.zip
This is just a test one to see if chopping the start off by a bit will do what you want, note that you can just edit the XMPlay.ini (while XMPlay is closed) and manually put in whatever number you want. I uh... probably would'nt recommend it for everyday use though, just as an experiment.

This version definitely does improve the click. Even at max value I was noticing a tiny little click at the start of one particular track, \HVSC\MUSICIANS\S\Spider_Jerusalem\Freak_Out.sid, so I edited xmplay.ini and took the value up to 15000, then even 18000. The click was still there, BARELY audible, but then when I went back to other tracks such as Gerry_the_Druid (in the same folder) I realised that a millisecond or two of the track was now being cut off with those higher values. I went to 10240, max selectable in the sidEx dropdown, and it was better, no more cutoff, but click still there. IMPROVED though. With 10240 Hubbard's Lightforce.sid was still cut off, had to drop back to 5120 for that to sound good. So it's not one size fits all, but can definitely live with it for now.

As DrFiemost says, it MIGHT be fully fixable with a little volume ramp-up, and I think that's what Fraggie was doing in his plugin. "Attenuate power-on noise" might be his way of somehow intelligently analyzing the click at the start of playback and attempting to get rid of it with ramping or whatever. But this is getting niggly right now and I don't want to distract you from more important or fun fixes/additions with the plugin. I'm SUPER happy with it right now and was using it pretty much all yesterday. I can tell you that this right now is precisely what I've been looking for, if Fraggie had just updated his plugin with the latest libSidplay I would have been happy since there was pretty much nothing else that needed fixing in it. (I know others' mileage might vary there though)

Last quick question - I'm using an ollllllllld theme called Windows Classic 2, just because I'm OCD about padding and space wastage when it comes to the playlist and library list. To get to STIL information about a track I have to rightclick it and do Plugin File Info, which then pops up a window including STIL text. But if, while that window is on screen, I start playing a different track, the window contents don't update to match. I have to OK it then open Plugin File Info again. There's ten billion skins out there and I know you're a skin guru as well, so can you tell me if there's a skin or other way that I can have a window permanently on the screen which autorefreshes in realtime with the STIL info of the currently-playing track without needing to be manually closed and reopened?

Cheers
DRS

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #33 on: 25 Jul '21 - 02:27 »
This version definitely does improve the click. Even at max value I was noticing a tiny little click at the start of one particular track, \HVSC\MUSICIANS\S\Spider_Jerusalem\Freak_Out.sid, so I edited xmplay.ini and took the value up to 15000, then even 18000. The click was still there, BARELY audible, but then when I went back to other tracks such as Gerry_the_Druid (in the same folder) I realised that a millisecond or two of the track was now being cut off with those higher values. I went to 10240, max selectable in the sidEx dropdown, and it was better, no more cutoff, but click still there. IMPROVED though. With 10240 Hubbard's Lightforce.sid was still cut off, had to drop back to 5120 for that to sound good. So it's not one size fits all, but can definitely live with it for now.

As DrFiemost says, it MIGHT be fully fixable with a little volume ramp-up, and I think that's what Fraggie was doing in his plugin. "Attenuate power-on noise" might be his way of somehow intelligently analyzing the click at the start of playback and attempting to get rid of it with ramping or whatever. But this is getting niggly right now and I don't want to distract you from more important or fun fixes/additions with the plugin. I'm SUPER happy with it right now and was using it pretty much all yesterday. I can tell you that this right now is precisely what I've been looking for, if Fraggie had just updated his plugin with the latest libSidplay I would have been happy since there was pretty much nothing else that needed fixing in it. (I know others' mileage might vary there though)
Yeah it was a bit rough, but interesting nonetheless, I'll leave it on the to do list and see what I/someone can come up with.

Last quick question - I'm using an ollllllllld theme called Windows Classic 2, just because I'm OCD about padding and space wastage when it comes to the playlist and library list. To get to STIL information about a track I have to rightclick it and do Plugin File Info, which then pops up a window including STIL text. But if, while that window is on screen, I start playing a different track, the window contents don't update to match. I have to OK it then open Plugin File Info again. There's ten billion skins out there and I know you're a skin guru as well, so can you tell me if there's a skin or other way that I can have a window permanently on the screen which autorefreshes in realtime with the STIL info of the currently-playing track without needing to be manually closed and reopened?
Oh the plugin file info is actually coming from the winamp plugin, but even if I put the STIL in the file info from XMPlay it is still song specific and won't change with the tracks. I'm afraid the only window that has the STIL info dynamic is the Message one.

So not sure, might need to ask the big cheese about that one.  :)

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #34 on: 25 Jul '21 - 17:52 »
This one is mostly minor changes and a couple more options some crash fixes though so recommended, I don't think I've broken anything that I noticed.
« Last Edit: 29 Jul '21 - 06:03 by Keltic Danor »

Dhry

  • Posts: 130
Re: SIDex plugin
« Reply #35 on: 25 Jul '21 - 21:11 »
Nice work! Please reinclude the rudimental click removal cutoff feature from 7b though. I'll still be using that.

DRS

Edit: You're cracking me up. It's got so I have to come back here and refresh the thread to see if there are any updates to the plugin because you're editing your existing entry (which doesn't send us a notification that anything was updated). Might be an idea to edit the first post on the entire thread with the most current plugin info, and then perhaps post a new entry each time you update the plugin with the new details. Either that or happy to use Github if there's a way to subscribe to proactive new release notifications there?
« Last Edit: 26 Jul '21 - 23:47 by Dhry »

Dhry

  • Posts: 130
Re: SIDex plugin
« Reply #36 on: 27 Jul '21 - 18:23 »
Hey there. Github says 0.9 released, would love to get a copy of it but there are no compiled releases on the git page. Pls post :-)

DRS

Sebby75

  • Posts: 37
Re: SIDex plugin
« Reply #37 on: 27 Jul '21 - 20:59 »
Hey there. Github says 0.9 released, would love to get a copy of it but there are no compiled releases on the git page. Pls post :-) DRS

Give him some rest.. He is probably sleeping.. Different time zone...
He must be tired after a solid week of researching, messaging multiple people for help, coding, tweaking, learning this and that, then coding and tweaking some more.

This is already the best and most up to date sid input plugin for XMPlay... anything he adds from now on is just a bonus...

Regards
Sebby75

Dhry

  • Posts: 130
Re: SIDex plugin
« Reply #38 on: 27 Jul '21 - 21:16 »
Posts in forums aren't by definition supposed to require immediate action. He'll get to it when he feels like it.

FWIW I'm also Australian and well aware of the time zone.

DRS

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #39 on: 28 Jul '21 - 06:16 »
Hey guys,

Don't worry will release v0.9 soon-ish, I've been trying out all sorts of things and not all of them particularly stable so I'm taking a minute to run it by Ian first before I accidentally release Shodan or something else nefarious.

Dhry

  • Posts: 130
Re: SIDex plugin
« Reply #40 on: 28 Jul '21 - 15:20 »
All good man, thank you!

DRS

Edit: Would love to know if there's an easy way of taking the source code and building the dll myself. I'm not a dev/programmer AT ALL and have never done that before so if it's easy to do on Windows, could be fun to try.
« Last Edit: 28 Jul '21 - 18:56 by Dhry »

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #41 on: 29 Jul '21 - 06:05 »
And here we go, more cleaning up among other things.

Edit: Would love to know if there's an easy way of taking the source code and building the dll myself. I'm not a dev/programmer AT ALL and have never done that before so if it's easy to do on Windows, could be fun to try.
I probably do it the complicated way to be honest but it works for me so I hesitate to rock my boat. I didn't keep notes during the setup but it is basically MSYS2 to install all the relevant MingW packages and I use Apache Netbeans as my IDE with the C/C++ plugin installed. It's honestly probably an excessive investment in time/space/headaches just to build the plugin but if you still want to give it a crack them more power to you!
« Last Edit: 1 Aug '21 - 17:19 by Keltic Danor »

Sebby75

  • Posts: 37
Re: SIDex plugin
« Reply #42 on: 29 Jul '21 - 11:26 »
"[0.8c] All STIL entries read instead of sub song specific due to missing records  "

have you reverted this back in 0.9?
I really preferred how it worked in 0.8c showing full STIL info for all of the subsongs on one page...   
version 0.9 seem to have reverted it to previous behaviour where it only shows STIL info for currently playing subsong...

Regards
Sebby75

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #43 on: 29 Jul '21 - 11:35 »
"[0.8c] All STIL entries read instead of sub song specific due to missing records  "

have you reverted this back in 0.9?
I really preferred how it worked in 0.8c showing full STIL info for all of the subsongs on one page...   
version 0.9 seem to have reverted it to previous behaviour where it only shows STIL info for currently playing subsong...

Regards
Sebby75
Ah... sorry unintended change, I was working on the STIL code to see if I could fix it missing out on data and must of forgot to switch it back afterwards.
« Last Edit: 2 Aug '21 - 01:08 by Keltic Danor »

Sebby75

  • Posts: 37
Re: SIDex plugin
« Reply #44 on: 29 Jul '21 - 12:04 »
Thanks..

Maybe it's just me.. I'm just used to STIL info (including all subtunes) being displayed on one page as it is in droidsound-e player for android.
It's never really too much text and sometimes you come across some interesting info which you could otherwise easily miss...

Regards
Sebby75

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #45 on: 29 Jul '21 - 12:24 »
Yep, but you know how it is, people have their preferences. :)

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #46 on: 1 Aug '21 - 17:19 »
Hey all,

So we made it to v1.0! ;D, I have to say it certainly took a lot more time and effort than I could of ever anticipated but I'm really happy with the way things turned out. Probably the last update for a little while except for tweaks and bug fixes but as always feedback is welcome, otherwise it's time to do something less head scratching like a new skin or something. 8)

After over a week or two I got lucky with reference code for SIDid. Just a couple of things to be aware of.. firstly, instead of putting the SIDid settings in the plugin itself I have kept it using an external file (In the DOCUMENTS folder) as I like the idea of you being able to just download an updated cfg file from SIDid GitHub and secondly, the code to do it is actually from PSID64 and is 7+ years old so may need a few tweaks at some point. At least for now I have included a sidid.cfg file but I may remove it from the package in future since it isn't mine, perhaps I should ask Lasse Öörni about it.

For more fun I also spent 4 days writing a command line to convert the STIL.txt to a STIL.md5 which allowed me to get STIL records for sid tunes opened anywhere instead of having to be in the HVSC folder structure, it did make the STIL file a bit bigger but it was neat. I have not left it in for now though as my methods for searching and retrieving the records leave A LOT to be desired. Perhaps one day I'll add it back in and someone can help me write a more effective and less explosive way of reading it. Actually scratch that, the lookup is still inefficient as heck but it seems stable.

Oh just a note too, the STIL is still getting all entries instead of just the subsong one, I considered putting an option for it but eh... getting everything is easier.

Recent patch notes
v1.1
- Added md5 lookup alternative for files outside of HVSC directory
   Note: Requires stiltxt2md5 to be run in the DOCUMENTS/ folder first
v1.0
- Added fade-out option
- Added detect music player option
   Note: Requires sidid.cfg to be located in the DOCUMENTS/ folder
- Settings page has been rearranged slightly, it is a little glitchy, I'm okay with it

Downloads
xmp-sidex1.1.zip
xmp-sidex1.1source.zip

Support Site Entry
GitHub updated accordingly: https://github.com/KelticDanor/xmp-SIDex

Notes
- Tunes using the 8580 are a bit quieter than 6581 tunes, I don't really want to try to amplify audio so it'll just be like that at least for the moment.
- WinXP is not supported and probably won't ever be as besides not having a WinXP machine the MingW compiler doesn't appear to support WinXP anyway.

Known Issues
- Unable to open a SID from a url, local files only. I'm unsure how to open a SID from memory just yet but I'll try
« Last Edit: 3 Aug '21 - 07:44 by Keltic Danor »

Dr. Fiemost

  • Posts: 18
Re: SIDex plugin
« Reply #47 on: 2 Aug '21 - 13:20 »
Congrats for the 1.0 release  8)

- Tunes using the 8580 are a bit quieter than 6581 tunes, I don't really want to try to amplify audio so hopefully I've just missed a setting in libsidplayfp
Unfortunately when trying to push the 8580 volume louder it starts distorting badly. I suspect the 6581 output is too strong but can't say for sure.

Dhry

  • Posts: 130
Re: SIDex plugin
« Reply #48 on: 2 Aug '21 - 18:24 »
Got back from vacation yesterday and note that you have released 1.1. Excellent work! Installed it and am listening this morning.

- Almost no more audible clicks with the fade in. Have not tried the fade-out as yet. 99% of tracks have no click however honestly I don't think there's going to be one setting that fixes it for every single track so I'm super happy with the feature right now. Consider it perfect AFAIC.
- All songs so far sound perfect.
- I don't know why anyone would want to disable seeking, and I would never use that feature since I seek all the dang time - but I tried it and yep, it disables the seekbar as one would expect. ¯\_(ツ)_/¯

Everything right now is just 100% perfect with the plugin, you did an amazing job! I would say that for right now, just keep it periodically up to date with the latest libsidplayfp versions as they come out, every new thing added from here on out is fluff. Also, WinXP support? Good god man. Don't even bother.  :D

Quote from: Keltic Danor
I probably do it the complicated way to be honest but it works for me so I hesitate to rock my boat. I didn't keep notes during the setup but it is basically MSYS2 to install all the relevant MingW packages and I use Apache Netbeans as my IDE with the C/C++ plugin installed. It's honestly probably an excessive investment in time/space/headaches just to build the plugin but if you still want to give it a crack them more power to you!



Cheers
DRS

Keltic Danor

  • XMPlay Support
  • Posts: 916
Re: SIDex plugin
« Reply #49 on: 3 Aug '21 - 05:40 »
Unfortunately when trying to push the 8580 volume louder it starts distorting badly. I suspect the 6581 output is too strong but can't say for sure.
Ah fair enough. I actually did more searching than you can poke a stick at for any references about the 8580 being quiet and outside of digitised stuff the digiboost is for I didn't find anything so I had just assumed it was a setting.


- Almost no more audible clicks with the fade in. Have not tried the fade-out as yet. 99% of tracks have no click however honestly I don't think there's going to be one setting that fixes it for every single track so I'm super happy with the feature right now. Consider it perfect AFAIC.
- I don't know why anyone would want to disable seeking, and I would never use that feature since I seek all the dang time - but I tried it and yep, it disables the seekbar as one would expect. ¯\_(ツ)_/¯
Also, WinXP support? Good god man. Don't even bother.  :D
Yeah I'm quite chuffed with the fade-in, really glad Ian gave me a hand in polishing up!
I know it's odd but I disable seeking since I have a bad habit of accidentally clicking the progress bar when moving XMPlay about which normally isn't a big issue but it's not so fun when I click from 30seconds to 28 minutes on Gordian Tomb. ;D

Maybe known issues isn't quite the right heading for those now that I think of it, it's more of a FYI since I don't really have any intentions of messing with WinXP if I can help it. :P

« Last Edit: 3 Aug '21 - 10:25 by Keltic Danor »