Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some (sub)tunes don't end, they just restart instead #39

Closed
ruby-R53 opened this issue Jul 9, 2024 · 24 comments
Closed

Some (sub)tunes don't end, they just restart instead #39

ruby-R53 opened this issue Jul 9, 2024 · 24 comments
Assignees

Comments

@ruby-R53
Copy link
Contributor

ruby-R53 commented Jul 9, 2024

For some reason, the player restarts some tunes instead of actually ending them using the Songlength database.

Some examples are Tim Follin's Ghouls_n_Ghosts.sid (subtune 1) and Devilock's Intro_Zak_2_for_711.sid (single tune), and one other that I couldn't remember the name :P

The player reaches the specified duration and just restarts the tune all over again, and then I have to manually go to the next one.

It also happens if I set the same duration on the command line. If I set the duration to something else however, it plays normally. So I'm assuming there's some code at the end of these tunes that somehow triggers sidplayfp into thinking it has to start from the beginning, or I might be saying some nonsense.

EDIT: oh yeah and this has been happening to me since the first time I used sidplayfp.

@drfiemost
Copy link
Member

Which version of HVSC are you using? Here with #81 /MUSICIANS/F/Follin_Tim/Ghouls_n_Ghosts.sid works fine while for /MUSICIANS/D/Devilock/Intro_Zak_2_for_711.sid the songlength fail to load for some reason which I have to investigate.
Also did you use the --enable-testsuite for the library? It may introduce undesired behaviour for normal listening.

@drfiemost
Copy link
Member

for /MUSICIANS/D/Devilock/Intro_Zak_2_for_711.sid the songlength fail to load for some reason which I have to investigate.

File was corrupted, downloaded a fresh one and it stops correctly at 1:33

@ruby-R53
Copy link
Contributor Author

ruby-R53 commented Jul 9, 2024

Which version of HVSC are you using?

i'm using the latest version, #81

Also did you use the --enable-testsuite for the library? It may introduce undesired behaviour for normal listening.

i didn't, it's configured with the default flags

File was corrupted, downloaded a fresh one and it stops correctly at 1:33

well i redownloaded the HVSC to see if i didn't have a faulty Songlengths.md5 or PSID files, no difference whatsoever

@drfiemost
Copy link
Member

Hard to tell... anything in the config file or the command line? ROMs are loaded? If so which versions?

@ruby-R53
Copy link
Contributor Author

ruby-R53 commented Jul 10, 2024

i have Kernal revision 3, BASIC V2, and the english character generator

@drfiemost
Copy link
Member

Same here, but I'm unable to reproduce. If you can find any hints, like compiler flags, configurations or whatever, let me know.
Oh, and which OS are you using?

@ruby-R53
Copy link
Contributor Author

ruby-R53 commented Jul 10, 2024

i'm using Gentoo, but i'm running both sidplayfp and libsidplayfp from their latest commit on github

EDIT: and they both use the default configure flags

@ruby-R53
Copy link
Contributor Author

UPDATE: i installed libsidplayfp and sidplayfp on my laptop to test

it did work normally, BUT when i loaded the ROMs there it had the same issue

and then i went to my PC and also removed the ROMs there to try, and it played normally just like in my laptop

should i now try to remove the ROMs one by one to find out if there's one specific ROM causing that issue?

@drfiemost
Copy link
Member

I suspect it's the kernal. What do you see when running with -v?
This is my setup:

+------------------------------------------------------+
| Kernal ROM   : C64 KERNAL third revision             |
| BASIC ROM    : C64 BASIC V2                          |
| Chargen ROM  : C64 character generator               |
+------------------------------------------------------+

@ruby-R53
Copy link
Contributor Author

exactly the same setup that i have

@ruby-R53
Copy link
Contributor Author

ruby-R53 commented Jul 11, 2024

I suspect it's the kernal.

well i just tried running it without the Kernal ROM only and it did work normally, so yeah

@ruby-R53
Copy link
Contributor Author

UPDATE: found another tune that has the same issue, it's Great_Giana_Sisters.sid at subtune 5

now i wanna know what those tunes have in common that messes sidplayfp up a bit...

@ruby-R53
Copy link
Contributor Author

UPDATE:

and one other that I couldn't remember the name :P

i just remembered it!! it was MUSICIANS/L/Laxity/Mikuk.sid

@drfiemost
Copy link
Member

Are you using pulseaudio? That might be the difference

@ruby-R53
Copy link
Contributor Author

ahh yeah i am

gonna try it with ALSA now

@ruby-R53
Copy link
Contributor Author

yeah it does work when running with ALSA but for some weird reason the register dumps don't get in sync with the audio, they run in a low frame rate as if i was recording to a file instead

but that should be discussed in a separate issue

@drfiemost
Copy link
Member

A bit late for the release but should be fixed now, it was an uncatched error.

@ruby-R53
Copy link
Contributor Author

ruby-R53 commented Oct 6, 2024

well it did work for Great_Giana_Sisters.sid, but for Intro_Zak_2_for_711.sid it displayed Bad buffer size on the elapsed time area when finished

i'm assuming it actually displayed that same error for the former tune as well but it switched to the next subtune so fast i couldn't catch it

@drfiemost
Copy link
Member

Oh right, that was only half of the issue...
More to come

@drfiemost drfiemost reopened this Oct 7, 2024
@drfiemost drfiemost self-assigned this Oct 7, 2024
@ruby-R53
Copy link
Contributor Author

ruby-R53 commented Oct 7, 2024

welp, one other thing i just discovered is that playing those tunes with PulseAudio makes sidplayfp crash instead of ignoring the error and moving to the next tune, which's the case with out123 (what i had first)

@ruby-R53
Copy link
Contributor Author

ruby-R53 commented Oct 11, 2024

(libsidplayfp/libsidplayfp#159)

Should help with #39 and #4

hey, it actually did!! for the latter it also seemed to have fixed it but not when recording to a .wav (a few hundred milliseconds beyond the songlength gets recorded, not sure if it matters much)

plus, it seemed to have produced some audio glitches on Jeroen Tel & LMan's Skypeople.sid, but that should be discussed in a different issue

@drfiemost
Copy link
Member

hey, it actually did!! for the latter it also seemed to have fixed it but not when recording to a .wav (a few hundred milliseconds beyond the songlength gets recorded, not sure if it matters much)

Good, so can we close this? And please add your notes to the relevant issue so they don't get lost.

plus, it seemed to have produced some audio glitches on Jeroen Tel & LMan's Skypeople.sid, but that should be discussed in a different issue

If you mean the clicking noises I can reproduce it with 2.9.0 too so it doesn't look like a regression.

@ruby-R53
Copy link
Contributor Author

ruby-R53 commented Oct 12, 2024

Good, so can we close this? And please add your notes to the relevant issue so they don't get lost.

yup! got it

If you mean the clicking noises I can reproduce it with 2.9.0 too so it doesn't look like a regression.

quite the opposite rather, it skips a few audio samples at times but only during playback, when recorded it sounds completely fine

i actually noticed that pattern with other songs made in GoatTracker 2, so here's that

@drfiemost
Copy link
Member

So there are still buffer problems :/
Just file another issue at libsidplayfp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants