bbbradsmith/nsfplay

Questions re: cross-platform compatability

Opened this issue · 3 comments

jprjr commented

Hi there, I was looking through the NSFPlay 3.0 Roadmap (#7) and would love to try to help with the Mac/Linux port line items.

Right now I have just one question that could help guide the process - what version of MSVC do you currently target/support? And for 3.0, do you plan on changing the minimum supported MSVC version? I'll try and keep changes compatible.

NSFPlay 3 is a planned total rewrite.

The reason NSFPlay 2 isn't cross platform already is just that it's heavily entangled with MFC and the core playback library isn't adequately separable from everything else. The rewrite will address both of these things. I'll use a cross platform library for the GUI, and it won't be difficult to support other platforms at the point, and the core part of the library will be available for other

So, I appreciate the offer, but I can't really solicit any specific help. I have the tools to develop and test Mac and Linux software, that's not the problem. I just wouldn't really want to try to port NSFPlay 2 to either of those, though. I more or less consider the GUI / front-end on life support until I finish up the last of my tasks for NSFPlay 2 and move on to the rewrite.

So it's not that NSFPlay 2 couldn't be ported, it's just that it'd be a lot of work that will basically be discarded for version 3.

As for the other question: it's currently VS2017. I'll probably use whichever version of MSVC is current or most viable when I begin NSFPlay 3, but I'll also have XCode and GCC as targets at that point.

jprjr commented

Follow-up question: would there be value in working on detangling the player core, or is that likely to need a complete rewrite as well?

At first glance (and emphasis on just a glance), it seems like the configuration part of the core is the main part that has some Windows-specific code in there (for loading from and saving to ini files, splitting/making paths, mutexes). I'd be happy to help to work on that, too.

It will be a complete rewrite.