libsidplayfp / sidplayfp

Console SID/MUS player
GNU General Public License v2.0
34 stars 8 forks source link

A GUI with seeking bar? #6

Closed rayman3003 closed 1 year ago

rayman3003 commented 2 years ago

Is it possible to add a simple GUI for sidplayfp?

It is more user-friendly for normal people & also having a "seeking bar" for that GUI, makes it even better.

drfiemost commented 2 years ago

There are already GUI applications with libsidplayfp support available such as audacious, SIDex for XMPlay, qmmp, foobar, xsidplay2, ... This is only a simple console showcase app and always will be.

rayman3003 commented 2 years ago

There are already GUI applications with libsidplayfp support available such as audacious, SIDex for XMPlay, qmmp, foobar, xsidplay2, ...

I tried all of these players (1by1) & beside foobar, none of them support "seeking bar" for sid files.

And the sidplay "seeking bar" of foobar has a long 4-5 seconds delay, that makes it very unpleasant.

Do you know any player that uses libsidplayfp & support instant "seeking bar" for sid files?

drfiemost commented 2 years ago

Well, sid file are not streams but programs that run in an emulated environment, "seeking" is achieved by speeding up the emulation to move quickly forward in time, but it's limited by computing power and it cannot be instantaneous. The only workaround is to convert the file into a wav or other seekable format.

rayman3003 commented 2 years ago

Well, sid file are not streams but programs that run in an emulated environment, "seeking" is achieved by speeding up the emulation to move quickly forward in time, but it's limited by computing power and it cannot be instantaneous. The only workaround is to convert the file into a wav or other seekable format.

That's not true. I already found 2 solutions to play sid files with instant seeking.

One of them was an old Winamp plugin (I think it's name was sidamp). But bcuz it was old & had some serious bugs, I ditched it.

Another one that I recently found is ACID 64 Player. It's good, but it lacks some features.

So I tried to search & found your solution "sidplayfp". I tried to play sid files with sidplayfp & it sounds good; But it doesn't support "seeking".

Those two apps shows that it's possible to add "seeking" for playing-back "sid" files with normal computers. (my computer is an old pc!)

So if you just add "seeking" to sidplayfp, we could have a pleasant experience with sid files on our own computers. sid tunes are great to listen. :)

drfiemost commented 2 years ago

That's not true. I already found 2 solutions to play sid files with instant seeking.

I have not clue how this is possible, maybe by prerendering the file? Too bad those are closed source projects, no chance to see what's going on. Have you tried the latest SIDex for XMPlay? It implements seeking and is an active project, but I doubt it is not instant.

sidplayfp only supports fast-forwarding at different speed. It also can start playback from a certain selected point but it takes some time to get there.

rayman3003 commented 2 years ago

Have you tried the latest SIDex for XMPlay? It implements seeking and is an active project, but I doubt it is not instant.

OK. I tried it again. This time I went to it's option & there was a seeking option there & I enabled it. Seeking works now, but we a delay of about 3 seconds!

Suddenly I found out that there is another XMPlay plugin named ZXTUNE that can play sid files too. I removed SIDex plugin & then tried to play sid files with ZXTUNE plugin. & voila! The seeking works with a delay of 1 second or less! Seeking is not as fast as "ACID 64 Player", But it's OK & acceptable.

sidplayfp only supports fast-forwarding at different speed. It also can start playback from a certain selected point but it takes some time to get there.

I'm sure there must be a way to add instant seeking to sidplayfp; Bcuz as u see, there are 3-4 other engines that support instant or semi-instant seeking. U just need to figure it out.

I have not clue how this is possible, maybe by prerendering the file? Too bad those are closed source projects, no chance to see what's going on.

For ACID 64 Player, they use a service-like emulator named JSidDevice. U must first run the JSidDevice & then open the "ACID 64 Player" to play the sid files. The seeking is instant!

JSidDevice is open-source, so u can check it out closely. Hope it helps u to add the seeking magic to sidplayfp. :D

bytespiller commented 1 year ago

If anyone is looking for a GUI SID player based on libsidplayfp, take a look at sidplaywx (Windows only for now): https://github.com/bytespiller/sidplaywx

rayman3003 commented 1 year ago

If anyone is looking for a GUI SID player based on libsidplayfp, take a look at sidplaywx

Thank u for this app. It has a seeking bar, but unfortunately it's seeking bar has a delay.

Anyway, it's better than nothing. Thank u.