Skip to content

Add player for PIS format (Beni Tracker)#178

Merged
mywave82 merged 7 commits into
adplug:masterfrom
dmitrysmagin:pis
Apr 22, 2023
Merged

Add player for PIS format (Beni Tracker)#178
mywave82 merged 7 commits into
adplug:masterfrom
dmitrysmagin:pis

Conversation

@dmitrysmagin

@dmitrysmagin dmitrysmagin commented Mar 26, 2023

Copy link
Copy Markdown
Contributor

I've found a replayer for PIS adlib tunes here:
https://github.com/moxy-bc/pisplay
and decided to adapt it for adplug.

It seems that the original author is Jonas Santoso and he even has a github page (https://github.com/santosoj) but for some reason he has deleted pisplay repo and moxy-bc saved a copy.

Tunes are here: https://github.com/moxy-bc/pisplay/tree/master/tunes
Beni Tracker ported to windows (with sources!) is here:
https://github.com/moxy-bc/pisplay/blob/master/unembedded_resources/Revenge.of.Beni.Tracker.WinALL.iNTERNAL-SPP.zip

More links:
http://justsolve.archiveteam.org/wiki/Beni_Tracker_module
Curiously, it notes PIS as being supported by Adplug.

@dmitrysmagin

Copy link
Copy Markdown
Contributor Author

Anyone to review?

@mywave82

mywave82 commented Mar 30, 2023

Copy link
Copy Markdown
Contributor

I might have some during this weekend @dmitrysmagin.

I can give two feedbacks immediately.

  1. your branch contains the mid.cpp fixes. You can remove these by using git rebase --interactive HEAD~3 and remove the two commits for midi, and if the commit history then looks correct, do a git push -f

  2. Licence. The repository at https://github.com/moxy-bc/pisplay does not contain any overall license/copyright information, but it does contain fmopl.c which is LGPL 2.1

@dmitrysmagin

Copy link
Copy Markdown
Contributor Author

Eliminated the mid.cpp modification.

As for the license, most probably the author meant Public Domain. Anyway, pisplay is not a commercial product or part of such, the original Beni Tracker is open-source as well (both QuickBasic and FreeBasic versions).

If there are still concerns, we might try and reach the author and ask his permission to include the code into adplug under LGPL license.

@mywave82

Copy link
Copy Markdown
Contributor

I am trying to reach out to him :-)

@mywave82

mywave82 commented Apr 9, 2023

Copy link
Copy Markdown
Contributor

I cleaned up your commit history, so that it only contains the PIS stuff. There are some few more TODOs:

  • Loop is not detected at the moment, make it impossible to implement testing (make check)
  • Add entry into playertest.c and testref/ (see above)

@dmitrysmagin

dmitrysmagin commented Apr 9, 2023

Copy link
Copy Markdown
Contributor Author

Yes, currently the tune loops forever, and it should stop and signal that, will fix.
Thanks for the check hint.
However, stresstest.cpp is not compilable with mingw32 4.8.0.

@dmitrysmagin

dmitrysmagin commented Apr 10, 2023

Copy link
Copy Markdown
Contributor Author

I cleaned up your commit history, so that it only contains the PIS stuff. There are some few more TODOs:

* [ ]  Loop is not detected at the moment, make it impossible to implement testing (make check)

* [ ]  Add entry into playertest.c and testref/ (see above)

Fixed both issues.

Weird, the pipeline for 'make check' fails (see below) with the error:

2023-04-10T08:06:11.7159732Z Error loading: ../../test/testmus/ACTION.PIS
2023-04-10T08:06:11.7160004Z FAIL test/playertest (exit status: 1)

However, the file name has the correct register. I've re-tested this in linux mint 21.1 and this test passes, the file is read correctly.

@feglein

feglein commented Apr 15, 2023

Copy link
Copy Markdown

If there are still concerns, we might try and reach the author and ask his permission to include the code into adplug under LGPL license.

Hello. I am the author. It's fine, thanks for your efforts, I'm happy for the PIS format to be included. The original repo is public again at https://github.com/klubderkluebe/pisplay/.

@dmitrysmagin

Copy link
Copy Markdown
Contributor Author

@santosoj Thanks, this is great!

@mywave82

Copy link
Copy Markdown
Contributor

Weird, the pipeline for 'make check' fails (see below) with the error:

2023-04-10T08:06:11.7159732Z Error loading: ../../test/testmus/ACTION.PIS
2023-04-10T08:06:11.7160004Z FAIL test/playertest (exit status: 1)

However, the file name has the correct register. I've re-tested this in linux mint 21.1 and this test passes, the file is read correctly.

I did a local test that works OK. I have added a minor commit to yours, so the hash should change, to see if there are any wierd caching issues. But at the moment the CI seems to get stuck with package cache not being in sync with the repo. Will retry the CI later to see if the problem has gone away

@dmitrysmagin

Copy link
Copy Markdown
Contributor Author

Okay, the ci pipelines now all pass. :) Ready to merge?

@mywave82 mywave82 merged commit dfce379 into adplug:master Apr 22, 2023
@dmitrysmagin dmitrysmagin deleted the pis branch August 29, 2024 17:01
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

Successfully merging this pull request may close these issues.

3 participants