View Single Post
Old 4th May 2017, 19:17   #1454  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by quitemice View Post
It is been said that you would consider a native Linux version but this is been a while back.

So the simple question is are you still thinking about this?

I don't have the knowledge to do it myself or help you with that though.

I recently switched to Linux and thought it would be very nice

I know, i can use wine to run it
It is still possible, because LameXP is written in C++ and based on the Qt cross-platform framework. However, it is unlikely to happen anytime soon, because:
  1. I have a full-time job
  2. Currently, LameXP is compiled with Visual C++ compiler. On Linux we'd have to compile it with GCC or LLVM. While, in theory, all C++ compilers should be "compatible", because they implement the same standard, in reality there always are some differences between compilers that will break your code. So, code that was developed and tested on Visual C++ will certainly require various fixes/workarounds to compile with GCC or LLVM.
  3. Currently, LameXP is built with MSBuild (Visual Studio), which is not an option for Linux. So, in order to build LameXP on Linux we'd have write Makefiles first. Or we'd have to use something like CMake.
  4. While LameXP is based on the Qt framework and most of the code should be perfectly cross-platform, there is also quite some Windows-specific code that uses the Win32 API. Of course, I keep that Windows-specific code separate from the rest, mostly encapsulated in the MUtils library. Still, for any Windows-specific function I'd either have to write a Linux equivalent or find a workaround to get a long without that function.
  5. Currently, all encoders and decoders are included in LameXP as pre-compiled binaries. On Windows, this is necessary, because Windows doesn't ship with the required audio encoders/decoders or a way to get them easily. Also most Windows users don't have a clue how to compile stuff by themselves. But, on Linux, providing pre-compiled binaries is not feasible. Linux binaries generally work only on the same distribution where they have been compiled. So, instead, we'd have to install the required encoder and decoder binaries from the individual distribution's repository. Or have the user compile them. In any case, a lot of things need to change in how encoder/decoder binaries are invoked.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 4th May 2017 at 22:34.
LoRd_MuldeR is offline   Reply With Quote