Author Topic: SIDex plugin  (Read 2979 times)

Dhry

  • Posts: 121
Re: SIDex plugin
« Reply #75 on: 29 Sep '21 - 17:22 »
Hi folks. Quick note - libsidplayfp v2.3.0 is out as of Sep 16.
https://sourceforge.net/projects/sidplay-residfp/files/libsidplayfp/2.3/

Cheers
DRS

deus-ex

  • Posts: 288
Re: SIDex plugin
« Reply #76 on: 29 Sep '21 - 22:05 »
Hmm, something didn't work as expected, the windows binaries of v2.3.0 aren't available for download on SourceForge.

Never mind. Although the files aren't available in the file listing, downloading via the green download button works. I got an error message "file not available" when trying to download but it worked nonetheless with a little delay.
« Last Edit: 29 Sep '21 - 22:11 by deus-ex »

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #77 on: 29 Sep '21 - 23:26 »
Hi all ,

new update:
xmplay-sidex plugin v1.3 using libsidplayfp 2.3.0 


Code: [Select]
Change Log
=============================
v1.3
- Update to libsidplayfp 2.3.0
- Improved surround effect to add more jangle to those world class jingles ('sid tunes').
- Voice selection disabled when surround sound is active.
- Added saving of voice config when switching between surround and none surround.
- Various other fixes see libsidplayfp git hub for details ( good work all involved )
- Changed c64 memory pattern to accommodate some sid tunes that do not initialize correctly ( bad rips ), Resulting in corrupt / off key notes being played
  as a result eg: Shockway Rider played corrupt notes.



i will upload the complete source when i have time if i don't forget.

edit:redownload the attachment , slight bug fix , wasn't setting init correctly due to my old config.

thank you for testing, post back if you find any issues.

good work to all involved , all the best. ;D
« Last Edit: 30 Sep '21 - 02:34 by Malade »

Sebby75

  • Posts: 23
Re: SIDex plugin
« Reply #78 on: 30 Sep '21 - 08:58 »
Wow!! Thanks Malade !!

Testing testing testing...  just couple of things that I have noticed

- i was getting crashes when saving options post update... i had to delete old [SIDex] section from xmplay.ini which seem to have sorted it.
edit #1: well it did not sort it after all... played for a moment with surround... which seem to have resulted in 2nd voice of first sid being disabled (unticked) upon switching surround off.. i cannot save options anymore, as it is resulting in crash each and every time.
edit #2: well so i have deleted [SIDex] section from xmplay.ini again and tried to replicate my crashes but strangely it seem to be ok now... now i wish i kept copy of xmplay.ini to see if there was anything strange being saved here... will keep eye on it if it happens again.
edit #3: well yeah.. I seem to be getting crashes again when switching surround off...  then upon restarting xmplay  surround setting is off but 2nd voice of first sid is unticked... don't know where sid voice config is being saved as i can't see that in xmplay.ini, but looks like something is getting caught up when trying to revert from surround to normal...

- when seeking is enabled and sid is playing... if you change any options and hit save... music restarts but play time and progress bar carries on..

- pop at the start of sid is still there... fade-in doesn't seem to work in SIDex 1.3 while it did work with SIDex 1.1
first screenshot with SIDex 1.1 (without fade-in, 0.1s fade-in, 0.2s fade-in)... you can clearly see difference in produced waveform...
second screenshot with SIDex 1.3 (no fade-in, 0.1s, 0.2s)... produced waveform is identical ragardless of fade-in setting BUT pop is little bit later than in SIDex1.1, around 0.38s in... instead of 0.05s in, which means that SIDex 1.3 seem to be throwing extra sound data at the beginning of song and even if fade-in worked, it wouldn't mask that POP... testing done with various sids.. some do not produce pop, some do... waveforms on screenshot are from 4th subtune of Last_Ninja_3 by Reyn Ouwehand.


Kind regards
Sebby75

« Last Edit: 30 Sep '21 - 22:37 by Sebby75 »

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #79 on: 1 Oct '21 - 15:31 »
hi ,i will look at them as soon as i can ( some are fixed already btw ) . i do have an idea i will try regarding the click / pop , for info it is the c64 turning on so i could place a variable into the player .a65 code to change a zeropage when it actually initialises, or if there is some way with libsidplayfp that notify's that the c64 has actually initialized and is running code then i could go forward from there, and start the player code in the c64 memory without the c64 initialize sound to the sid chip, or possibly read a rom value maybe to tell the player that the c64 has actually initialized then feed sound into the player which will stop the pop completely.

regarding the switch between surround and standard crash, that's fixed , however there is an issue in which i cant seem to find a way to reset xmplays song time counter without calling load / open when and if seek is used ( seek still works but it cannot reset song time if a change in options is applied ), which was the cause of the crash due to the second sid being actively forced ( maybe this could be added to libsidplayfp to allow cloned sid addresses to be used in the sid mapper without a hack or being forced thats up to dr fiemost to allow or not as he is the man working on it at the moment, i am trying to make it as simple as possible to allow anyone downloading the source to add the latest libsidplayfp to the player code so anybody can make it them selves or improve it so i dont want to be spaghetti code all over the place as that will make things complicated for people who just want a better player or reminisce but tinker, ie download, drop latest libsidplayfp into folder , compile listen ,tinker with code , compile listen and enjoy the memories .

btw thank you for taking the time to post back with the issues , i will look into it and post an update soon.

best regards,
         Malade.

 

Sebby75

  • Posts: 23
Re: SIDex plugin
« Reply #80 on: 1 Oct '21 - 22:31 »
however there is an issue in which i cant seem to find a way to reset xmplays song time counter without calling load / open when and if seek is used

Just this evening testing across 1.1 vs 1.3 vs fraggies rev 37.1 plugin to spot any differences and see if i can suggest anything :)
Sorry but I'm just thinking loudly...

I am wondering why is latest iteration re-starting playback of song/subsong every single time "apply" is pressed in option screen even when no option was changed? is this necessary?
this did not happen with 1.1 plugin and it most certainly never happened with outdated plugin by fraggie.
For example filter settings in 1.1 applied upon pressing apply with playback continuing and in fraggies plugin i was completely "live", you moved slider and filter value changed without any further action or interruption.

And some settings that can only apply after restart... could just require pressing stop and then play in XMPlay after exiting options screen, i can't see issue with that...
maybe that's an idea? that way playback counter and progress bar wouldn't have an issue...


Kindest regards
Sebby75

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #81 on: 1 Oct '21 - 23:13 »

I am wondering why is latest iteration re-starting playback of song/subsong every single time "apply" is pressed in option screen even when no option was changed? is this necessary?
this did not happen with 1.1 plugin and it most certainly never happened with outdated plugin by fraggie.
For example filter settings in 1.1 applied upon pressing apply with playback continuing and in fraggies plugin i was completely "live", you moved slider and filter value changed without any further action or interruption.

And some settings that can only apply after restart... could just require pressing stop and then play in XMPlay after exiting options screen, i can't see issue with that...
maybe that's an idea? that way playback counter and progress bar wouldn't have an issue...


Kindest regards
Sebby75

Hi ,
     Good suggestion , most if not all options will require a thread to run to update options 'on the fly' , this will come later , i am concentrating on fixing the main issues at the moment , i am testing right now and everything seems to be working , i rewrote the player code in 6510/6502 ( the psiddrv.a65 source ) assembly language to add a delay and tell the player the actual tune is playing in side the c64 emulation , this works .. probably a much better way but this seems to be working fine only hear the actual tune initialize no c64 'bump' when it initializes at all ( surprised no one else has done it this way as no need for a fade you get the real start of the tune etc with no big bump as the 64 initializes ), a thread running in the back ground with a couple of calls in the libsidplay fp code to change things , eg live filter changes / live voice toggles / live surround etc would be easy enough when options are open to allow for on the fly changes the same as in fraggies plugin ( btw that is still an excellent plug in and i hope fraggie is safe and well , nice guy , we have conversed in emails , very friendly guy ).

the next release will be coming soon ,so check back and btw thank you for reporting the issues.

Best regards ,
                  Malade.
« Last Edit: 1 Oct '21 - 23:51 by Malade »

Dhry

  • Posts: 121
Re: SIDex plugin
« Reply #82 on: 2 Oct '21 - 17:55 »
SidEX 1.3 (and 1.2) do not play the attached SID file properly. v11 plays it fine.

You can also go here to hear it played properly.

Thanks for your work so far Malade and KD.

DRS

Edit: Also attaching the sidex version I was using that caused it to play incorrectly.
« Last Edit: 4 Oct '21 - 16:28 by Dhry »

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #83 on: 4 Oct '21 - 16:24 »
SidEX 1.3 (and 1.2) do not play the attached SID file properly. v11 plays it fine.

You can also go here to hear it played properly.

Thanks for your work so far Malade and KD.

DRS

Hi,
   Plays ok here ( i did change the player routine as i spotted it wouldn't play a few other tunes i seem to recall it had something to do with the delay between initializing and starting , i dont recall which now as i fixed it and removed them from the player listing but there was an issue remember 1 being a reyn tune, it involved the random delay between start and play which caused some to produce no sound , possibly could of been a bad rip as i do not use the latest hvsc i will update) , heres the latest update , the only fix this one seems to need is a very random crash, sometimes when switching surround off and clicking apply if the tune is playing , i have an idea what is it but fixing due to its randomness is proving somewhat troublesome as it happens randomly its being difficult to track down ( resolves to phase in gettime() & time() as far as i can tell ). i will look into it , but as far as i can tell most issues have been ironed out now, give it a test and get back to me if you can or you spot any other issues kindly report them back to me and i will do my best to fix them for us all.

Best regards,
                   Malade.
« Last Edit: 4 Oct '21 - 16:39 by Malade »

Dhry

  • Posts: 121
Re: SIDex plugin
« Reply #84 on: 4 Oct '21 - 18:59 »
Hi,
   Plays ok here ( i did change the player routine as i spotted it wouldn't play a few other tunes i seem to recall it had something to do with the delay between initializing and starting , i dont recall which now as i fixed it and removed them from the player listing but there was an issue remember 1 being a reyn tune, it involved the random delay between start and play which caused some to produce no sound , possibly could of been a bad rip as i do not use the latest hvsc i will update) , heres the latest update , the only fix this one seems to need is a very random crash, sometimes when switching surround off and clicking apply if the tune is playing , i have an idea what is it but fixing due to its randomness is proving somewhat troublesome as it happens randomly its being difficult to track down ( resolves to phase in gettime() & time() as far as i can tell ). i will look into it , but as far as i can tell most issues have been ironed out now, give it a test and get back to me if you can or you spot any other issues kindly report them back to me and i will do my best to fix them for us all..

New v1.3b plays the song fine. Thank you! (I attached the version that didn't work, to my previous post) Will continue testing and let know you what I find out.

Cheers
DRS

Sebby75

  • Posts: 23
Re: SIDex plugin
« Reply #85 on: 4 Oct '21 - 23:48 »
Hi...

Only tested 1.3b for 5 minutes with maybe 10 tunes in total (I'm going to sleep), but something isn't right..
Changing any option and hitting "apply" seem to trigger tunes to sound louder, clipped, distorted... and it only comes back to normal after restarting XMPlay.

This definitely wasn't happening earlier..
Will give it more thorough test tomorrow..

edit #1:
there is something "random" going on there... sometimes i get sound from right speaker only, sometimes left sounds quiet and right sounds normal, sometimes left sounds normal and right sounds clipped/distorted... plugin 1.3 had only SID #1 active and #2 and #3 grayed out when playing standard single sid tune...  while 1.3b has SID #1 and #2 active and #3 grayed out not sure why 2 sids would be active while standard single sid tune is playing and surround is switched off....??
Could you tell me where are any of the sid voice and surround settings saved?? I cannot find them in xmplay.ini or anywhere else...

edit #2:
attached example using following dual sid tune...
https://deepsid.chordian.net/?file=SID%20Happens/NOIR_Final_2SID.sid

run1: straight after starting xmplayer, everything sounds normal
run2: started xmplayer, went into SIDex settings page, hit apply.. left channel looks identical as run1 and sounds normal... right channel is distorted and louder than it should be... waveform looks different than on run1.



Regards
Sebby75

« Last Edit: 5 Oct '21 - 16:42 by Sebby75 »

Dhry

  • Posts: 121
Re: SIDex plugin
« Reply #86 on: 5 Oct '21 - 17:25 »
run2: started xmplayer, went into SIDex settings page, hit apply.. left channel looks identical as run1 and sounds normal... right channel is distorted and louder than it should be... waveform looks different than on run1.

I too can duplicate this. And all it takes is just to click Apply in the settings, no need to even change anything. Tune restarts (and the defect with the progress bar not resetting properly after tune restart is still there BTW) and then just sounds different. Tried with the Noir track and also some others. Whatever happens when you click Apply doesn't appear to reset the tune, player, audio output or whatever properly - it just sounds weird and distorted afterward.

DRS

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #87 on: 6 Oct '21 - 00:29 »
Hi,
    Surround is the issue , it uses 0xd400 twice and 2 chips using 0xd400 needs a hack with libsidplay fp that is what is causing the problems, i will look into it as soon i can.

Best Regards ,
            Malade.

« Last Edit: 6 Oct '21 - 00:35 by Malade »

Sebby75

  • Posts: 23
Re: SIDex plugin
« Reply #88 on: 6 Oct '21 - 12:17 »
Malade,

I would probably suggest, do not trouble and overwhelm yourself with too many extra features.

If you have re-written plugin in different programming environment than one used by Keltic Danor, I would just get main functionality sorted and use that as stable base.
(libsidplayfp 2.3.0 core and fade-in / startup click sorted)

Things like surround effect and sid voice switching could be put on back burner and maybe included in beta test build before being introduced in stable version.

Kind regards
Sebby75

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #89 on: 6 Oct '21 - 16:36 »
Hi Sebby,
             I think its fixed buddy , it was me deleting the extra sid too quickly for the player , the player was looking for the other sid and when it wasn't there it was throwing an error which was crashing the plugin , I am doing a little testing to see if i can crash it at mo, i am literally hammering the apply button , thrashing it and its looking stable , if it doesn't crash after a few 're-thrashes' then i will release it for you all to have a play with.

ps the channel volume variation was caused by 1 chip being a 6581 and another being an 8580 in stereo , ( forced ) and alternating when the player config was changed , i might just remove surround for now if it crashes and go back to the base without it, see what happens.


fixed , new release coming soon.

Regards ,
             Malade.
« Last Edit: 6 Oct '21 - 18:45 by Malade »

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #90 on: 8 Oct '21 - 19:55 »
Hi folks ,

Update:
Change Log
=============================
v1.3b1 ( beta 1)
- Code tidy / cleanup / optimized.
- Fixed crash when applying settings.
- Added anti click attenuation to attempt to remove the startup click/bump from the start of the played tune.
- Added new surround fx for 2 and 3 sid.
- Updated version info to reflect current release.
- Updated the about dialog to reflect base project authors.
- Various reported bugs fixed from previous versions.
- Feel free to report any bugs you may find
- Many thanks to all involved.

Regards.
            Malade.

Dhry

  • Posts: 121
Re: SIDex plugin
« Reply #91 on: 8 Oct '21 - 20:24 »
Awesome. Thanks for the updated version!

Playback sounds great. Couple of things:

1) Defect still present: When playing back a track, and you go into settings, either change anything or nothing at all and click apply, the track will restart. That's fine, but the progress/position bar in the main window does not reset. Therefore from that point on the progress bar does not accurately represent the position of the currently playing track. When clicking apply, the progress bar should also reset to the start, same as the track.

2) Clicks still present in startup on some songs. I'm so used to this over the years that it's honestly no big deal at all, but as you're trying to resolve it:
a - startup click is consistently audible in this track: http://deepsid.chordian.net/?file=/MUSICIANS/T/The_Dungeon_Master/Zunea_Zunea.sid
b - startup click is consistently NOT audible in this track: http://deepsid.chordian.net/?file=SID%20Happens/WoggyWigg.sid

Cheers
DRS

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #92 on: 9 Oct '21 - 17:10 »
Hi DRS,
            there doesnt seems to be anything in xmp that will reset the timer of the playing tune ( setlength should as far as i can tell however it doesnt after the song has played or been playing  ), as far as i can tell it will only reset if the tune is reloaded , you could stop the song and restart it manually , and the click attenuation attempts to stops the bump as the c64 is initializing, i do not want to go full hog and make a system to kill all the inits on every tune as it would sometimes miss the first few sounds produced if they are less than 0.05 abs(sample), it could be done but i am happy with it as it is now if you would like to improve it feel free as the source is available , it does what its meant to now , plays without crashing, enjoyed doing this as a little time killer , also dr fiemost if possible it would be a nice feature for libsidplayfp to be able to emulate sid chips with 3 separate channels available 1 channel for each voice instead of all combined together, it could be optional and it would greatly enhance it for standalone or separate players / plugins without having to emulate multiple sids , to add special fx to the individual channels for eg reverb on 1 delay on another etc etc ,just an idea up to you that one dr fiemost.

ps i may further update it when a newer libsidplayfp is released but as for now i think it does what it needs to as i rarely use it i listen mainly to one of my real c64 with dual sids using sidfx, anywhoo i may update it to allow on the fly changes of voice muting , filter changes etc when a big libsidplayfp update is made ,we will see , as for now enjoy the player.

plugin source code: https://github.com/StronSon/xmplay-sidex

sourcecode plugin with libsidplayfp 2.3.0 visual studio sln and project files ( full source code )
 
https://github.com/StronSon/xmplaysid-v1.3

Best Regards ,
             Malade.
« Last Edit: 9 Oct '21 - 19:28 by Malade »

Sebby75

  • Posts: 23
Re: SIDex plugin
« Reply #93 on: 10 Oct '21 - 10:42 »
Good morning..

As Dhry reported above clicking on startup I thought that first thing that I would check is if "fade-in" now works as it should, but it immediately failed with multiple crashes...
 
Exported .wav with 0.30s setting ok... then I wanted to export another one with fade-in switched off... went to settings, switched "fade-in" off, pressed apply and it caused xmplay to crash.

So I have decided to start with fresh xmplay install...    new directory in d:\test\  xmplay.exe and xmp-sidex.dll in plugins subdirectory, nothing else...   run xmplay.exe  (without playing any sid) go to sidex settings (to set it up to your liking), press apply = crash.

testing is painfull as it seem to crash xmplay upon applying most changes...


edit #1:
- Took probably about 10 crashes but I have managed to save enough sample output .wav files to confirm that fade-in now works... though changing fade-in value or switching fade-in on and off produces crash in most cases.
- I still don't understand why there is this need to restart tune from beginning upon applying any minor setting change... which results in silly play time issue. ** (two star) note made sense in 1.1 but makes no sense in 1.3... you get restart automatically no matter what you changed... and even if you changed nothing but simply pressed apply.
- I still don't understand why it is seemingly emulating two sids for playing single sid tunes?? with surround disabled i would expect to have:
  • for single SID tunes... only SID1 active and voice1, voice2, voice3 available.. with SID2, SID3 and their corresponding voices grayed out and not active...
  • for dual SID tunes... SID1, SID2 and their voices active...with SID3 grayed out
  • for triple SID tunes... SID1, SID2, SID3 and their voices active and nothing grayed out

but what i actually see is, regardless of what type of sid is playing... SID1 and SID2 active.. and SID3 is always grayed out  (even with triple SID tune - attached screenshot taken while triple sid tune is playing)


gone back to SIDex version 1.1 for day to day use...

Regards
Sebby75


« Last Edit: 10 Oct '21 - 15:28 by Sebby75 »

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #94 on: 10 Oct '21 - 14:54 »
Hi Sebby75 ,
             its playing fine here with fade in or no fade at all , the only thing i have that is not standard in xmplay settings is the output buffer is very low to allow faster visual update in a winamp plugin named stereo-tool , that is the only thing i have that is different and like i said , the plugin is playing without a hitch , no startup click at all and fades in perfectly .

Regards ,
             Malade.
« Last Edit: 10 Oct '21 - 15:44 by Malade »

Sebby75

  • Posts: 23
Re: SIDex plugin
« Reply #95 on: 10 Oct '21 - 15:33 »
Malade..

Yes fade-in works.. that's what i wrote.. 
"Took probably about 10 crashes but I have managed to save enough sample output .wav files to confirm that fade-in now works"

it does crash though (tested on 1 desktop and 2 different laptops) when you untick fade-in and click apply, it crashes..
also does crash when you do clean setup and try to change any settings at all and apply them..

i'll try to do a video (if i figure out how to do it..)
« Last Edit: 10 Oct '21 - 15:57 by Sebby75 »

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #96 on: 10 Oct '21 - 15:46 »
Malade..

Yes fade-in works.. that's what i wrote.. 
"Took probably about 10 crashes but I have managed to save enough sample output .wav files to confirm that fade-in now works"

it does crash though (tested on 1 desktop and 2 different laptops) when you untick fade-in and click apply...
also does crash when you do clean setup and try to change any settings at all and apply them..

i'll try to do a video (if i figure out how to do it..)
Hi Sebby75,
                ok pal , see if you can show me it crashing and try and get some kind of error display or report in the video or screenshot so i can fix it for you ( ps is there any log files ? if so post it so i can get some kind of bearing on it ).

Regards,
            Malade.

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #97 on: 10 Oct '21 - 15:56 »
Hi ,
     it seems to be rock solid here , i cant manage to crash it , fade on tried 15 tunes , turned fade off , tried another 15 tunes , banging forward , next , stop start play rapidly and slowly , still no crash its done everything i thrown at it , like i said try and get it crashing and some kind of error so i can fix it for you.

ps ( with seek on and off tried all sorts cannot manage to crash it )

Regards, 
            Malade.

Sebby75

  • Posts: 23
Re: SIDex plugin
« Reply #98 on: 10 Oct '21 - 15:59 »
I can do a video and upload it to youtube...
but when it comes to log files.. you will have to tell me what to do..

Malade

  • Posts: 45
Re: SIDex plugin
« Reply #99 on: 10 Oct '21 - 16:17 »
I can do a video and upload it to youtube...
but when it comes to log files.. you will have to tell me what to do..

Hi Sebby75 ,
     upload the video please and i will see if i can spot anything that causes the crash.
     ps in the description for the video , include as much info as you can , windows version , windows class 64 or 32 etc, output settings , if you have sidid on , off , fade length , filters on off , voices on off , etc etc , just generally anything you can think of that we are missing.

    ps , its still playing along fine and dandy here since i started it and recorded them samples in the screen shots , no problems , so i am guessing its something to do with either a : your output settings , b : buffer settings , or c: your xmplay config..

Thanks,
          Malade.