bbbradsmith/nsfplay

Make Time Unlimited please.

Opened this issue · 6 comments

Hi Brad.
Thank you for the lovely software.

I have made .nsf songs longer than 5m:05s before.

Would it be possible for you could make the time of the song unlimited?

c-yan commented

5m;05s means PLAY_TIME + FADE_TIME.
PLAY _ TIME is set in _yansf.ini.
You can also configure it from the GUI.
How about setting PLAY _ TIME to be practically infinite?

Thank you.
I apologize I had no idea that could be set by the user.
Just extended it to 10minutes, 595sec+5sec fade time.
Thank you very much for your help.

As for the rest, I just experimented with the playtime detection and save it when detected but doesn't seem to work.
What I wanted was for the player to instantly detect the whole length of the song just as if it was with any other formats like .wav and so on.
In that case, playtime to be infinite would be a great idea if the player can detect the length of the songs and leave the rest like the number of loops for people that write small looped songs.
But otherwise, it's fine if that can't be implemented but it would be a nice feature.

c-yan commented

The NSF is not standardized performance data, but the driver (machine language for NES) and its own performance data, so the length of the music is not known to the player like other formats.

Oki doki.
At least got the maximum play limit sorted.
Many thanks for your help and for your time.
Best wishes,
Filipe.

Infinite play will be an option in the next version, it's currently in progress are part of pull request #36

I don't mind the suggestion though, and you're definitely not the first to ask. Thank you also c-yan for pointing out the work-around with current features.

Infinite play should be available in the unstable preview build now that #36 is merged. Look for a drop-down box in the corner of the main options panel. It will say "Advance Next" by default, but you can change it to "Infinite Loop" now. In the INI it is the PLAY_ADVANCE setting (0 = auto advance to next track, 1 = infinite loop, 2 = stop after single track)