Skip to content

Instantly share code, notes, and snippets.

@coderofsalvation
Created July 28, 2025 14:22
Show Gist options
  • Save coderofsalvation/1612cdb5327df610364ccdde10012c57 to your computer and use it in GitHub Desktop.
Save coderofsalvation/1612cdb5327df610364ccdde10012c57 to your computer and use it in GitHub Desktop.

attempt to compile PlayerPro on Linux:

$ git clone https://git.code.sf.net/p/playerpro/gitcode
$ cd playerpro-gitcode
$ git reset 6e755d24 --hard # optional, but this is the latest commit afaik
$ git apply diff.patch
$ mkdir build
$ cd build
$ cmake ..
$ make
[ 30%] Built target PlayerPROCore
[ 34%] Built target 669
[ 39%] Built target AMF
[ 43%] Built target DMF
[ 47%] Built target IT
[ 52%] Built target MADfg
[ 56%] Built target MADH
[ 60%] Built target MADI
[ 65%] Built target MED
[ 69%] Built target MOD
[ 73%] Built target MTM
[ 78%] Built target OKTA
[ 82%] Built target S3M
[ 86%] Built target ULT
[ 91%] Built target UMX
[ 95%] Built target XM
[100%] Built target PPPlay

$ ls -la Examples/PPPlay/
total 56
drwxr-xr-x 3 leon users  4096 Jul 28 16:13 .
drwxr-xr-x 5 leon users  4096 Jul 28 15:52 ..
drwxr-xr-x 3 leon users  4096 Jul 28 15:52 CMakeFiles
-rw-r--r-- 1 leon users  1321 Jul 28 15:21 cmake_install.cmake
-rw-r--r-- 1 leon users  6019 Jul 28 15:21 Makefile
-rwxr-xr-x 1 leon users 29432 Jul 28 16:13 PPPlay                  <-------

$ Examples/PPPlay/PPPlay
=======================================================================
PlayerPRO Driver v 6.0  - Portable version - Programmed by A.ROSSET '02
Maintained by Charles "Madd the Sane" Betts
=======================================================================
       This program is FREEWARE - Read README.TXT for more info

     E-Mail : [email protected]    
=======================================================================
Usage: Examples/PPPlay/PPPlay MyMusicFile

Questions

Can a swift+cocoa application be compiled via nix (and run on linux) at all?

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea7c3819..bebade4d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,9 @@ set (PlayerPRO_VERSION_MAJOR 6)
set (PlayerPRO_VERSION_MINOR 0)
set (PlayerPRO_VERSION_MICRO 0)
-add_subdirectory (MADDriver.source)
+#add_subdirectory (MADDriver.source)
+add_subdirectory (PlayerPROCore)
add_subdirectory (Examples)
+target_include_directories(PlayerPROCore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+
diff --git a/MADDriver.source/MainDriver.c b/MADDriver.source/MainDriver.c
index 7ffa349c..909c2b44 100644
--- a/MADDriver.source/MainDriver.c
+++ b/MADDriver.source/MainDriver.c
@@ -2198,8 +2198,10 @@ MADErr MADReadMAD(MADMusic **music, UNFILE srcFile, MADInputType InPutType, CFRe
return theErr;
}
+ #ifdef _MAC_H
if (InPutType != MADCFReadStreamType)
ByteSwapPatHeader(&MDriver->partition[i]->header);
+ #endif
if (MDriver->partition[i]->header.compMode == 'MAD1') {
tempPat = DecompressPartitionMAD1(MDriver, MDriver->partition[i]);
diff --git a/MADDriver.source/RDriver.h b/MADDriver.source/RDriver.h
index 2a52f114..5b295b99 100644
--- a/MADDriver.source/RDriver.h
+++ b/MADDriver.source/RDriver.h
@@ -37,6 +37,8 @@
#include <CoreFoundation/CFArray.h>
#include <CoreFoundation/CFURL.h>
#include <CoreFoundation/CFBundle.h>
+#else
+#define noErr 0
#endif
#ifdef _BE_H
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment