Hi,
As I wanted to include the csound~ external in a standalone, I've been spending some time on a recent fork with the initial objective of getting it to work for me on macOS and also to create a relocatable external (not dependent on local ~/Library/Frameworks/Csound64.framework
To that end, I've made some progress and I think some of it would be worth contributing back to the project in a PR at some point if I get past some frustrating windows compilation issues (windows is not my platform of choice -- I'd appreciate some advice if possible).
In any case, here's a brief list of the changes so:
-
Converted to Max Package with regular cross-platform structure
-
Added max-sdk-base as git submodule
-
Added Makefile frontend for simplified macOS builds
-
Fixed macOS compilation errors related to deprecated apis (dropped carbon and rewrote Launch code) and also made a few general code improvements (complete diff here):
-
Removed all using namespace std statements and converted unqualified terms to qualified, and renamed byte in definitions.h to csbyte because there were name collisions between std::byte (added in c++ 17) and former.
-
Dropped use of auto_ptr in csound~.cpp, which was removed in c++17, : converted to std::unique_ptr.
-
Dropped some deprecated or obsolete api usage, for exampleFSRef -> CFURLRef
-
Added Build variants with associated scripts:
-
macOS - local build: non-relocatable, dynamically linked to local csound library or framework
-
macOS - hybrid build: relocatable with static csound + dynamic dependencies
-
macOS - release build: relocatable 100% static build using vcpkg.
-
windows - NOT complete due to residual linking errors but with updated cmake build...
fork: https://github.com/shakfu/csound_tilde
Hi,
As I wanted to include the
csound~external in a standalone, I've been spending some time on a recent fork with the initial objective of getting it to work for me on macOS and also to create a relocatable external (not dependent on local~/Library/Frameworks/Csound64.frameworkTo that end, I've made some progress and I think some of it would be worth contributing back to the project in a PR at some point if I get past some frustrating windows compilation issues (windows is not my platform of choice -- I'd appreciate some advice if possible).
In any case, here's a brief list of the changes so:
Converted to Max Package with regular cross-platform structure
Added max-sdk-base as git submodule
Added Makefile frontend for simplified macOS builds
Fixed macOS compilation errors related to deprecated apis (dropped carbon and rewrote Launch code) and also made a few general code improvements (complete diff here):
Removed all
using namespace stdstatements and converted unqualified terms to qualified, and renamedbyteindefinitions.htocsbytebecause there were name collisions between std::byte (added in c++ 17) and former.Dropped use of
auto_ptrin csound~.cpp, which was removed in c++17, : converted to std::unique_ptr.Dropped some deprecated or obsolete api usage, for example
FSRef->CFURLRefAdded Build variants with associated scripts:
macOS - local build: non-relocatable, dynamically linked to local csound library or framework
macOS - hybrid build: relocatable with static csound + dynamic dependencies
macOS - release build: relocatable 100% static build using vcpkg.
windows - NOT complete due to residual linking errors but with updated cmake build...
fork: https://github.com/shakfu/csound_tilde