gogins / csound-ac

A C++ library for algorithmic composition, designed to be used with Csound, with both C++ and Python interfaces.
GNU Lesser General Public License v2.1
6 stars 0 forks source link

New simpler repository #1

Closed gogins closed 2 years ago

gogins commented 2 years ago

This is a simplified version of csound-extended that focuses on the CsoundAC library, and will have automated builds and releases using GitHub actions.

Ensure the package builds on all GitHub runners:

gogins commented 2 years ago

I will remove the following submodules, used by opcodes that I have now removed:

I will keep these submodules:

I will perhaps add as a submodule:

gogins commented 2 years ago

The dependencies are as follows. I prefer to install them and use them as installed, otherwise as Git submodules or Git clones. On Linux:

This builds and runs on macOS.

gogins commented 2 years ago

Builds on the following GitHub runners:

gogins commented 2 years ago

Windows package managers:

gogins commented 2 years ago

Download Windows installer from https://github.com/csound/csound/releases/download/6.17.0/csound-6.17.0-windows-x64-installer.zip and install on runner.

gogins commented 2 years ago

Might need https://stackoverflow.com/questions/9946322/how-to-generate-an-import-library-lib-file-from-a-dll, or pull csnd6 source code code into CsoundAC.

gogins commented 2 years ago

All right, I give up. The Windows binary package doesn't contain any headers from the interfaces directory, although I know that the binaries depend upon those headers. These are the files:

michaelgogins@Michaels-MacBook-Pro csound % find . -name "*.cpp" 
./interfaces/CsoundFile.cpp
./interfaces/Soundfile.cpp
./interfaces/pyMsgCb_stub.cpp
./interfaces/csPerfThread.cpp
./interfaces/pyMsgCb.cpp
./interfaces/cs_glue.cpp
./interfaces/CppSound.cpp
./interfaces/filebuilding.cpp
michaelgogins@Michaels-MacBook-Pro csound % find . -name "*.hpp"
./interfaces/cs_glue.hpp
./interfaces/CppSound.hpp
./interfaces/CsoundFile.hpp
./interfaces/Soundfile.hpp
./interfaces/csPerfThread.hpp

Possible solutions:

gogins commented 2 years ago

Have to add Csound's version.h to CsoundAC.

gogins commented 2 years ago

Shesh. Clarified Platform.h but still not building on Windows.

gogins commented 2 years ago

I have fixed many warnings.

Most of the remaining warnings are in libmusicxml2 or PortSMF. I have left a few warnings from my code as reminders.

gogins commented 2 years ago
D:\a\csound-ac\csound-ac\eigen\Eigen\src/Core/Matrix.h(394,7): error C2338: static_assert failed: 'THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE' [D:\a\csound-ac\csound-ac\build\CsoundAC\libCsoundAC.vcxproj]

Frustratingly, no source line number. But probably the same as:

/Users/michaelgogins/csound-ac/CsoundAC/ChordSpaceBase.hpp:1273: Warning 462: Unable to set dimensionless array variable

But I think this is from SWIG as it is "Warning" not "warning:", see https://sourceforge.net/p/swig/mailman/swig-user/thread/4D26C57A.1060304%40fultondesigns.co.uk/.

gogins commented 2 years ago

Closing this even though Windows runner is not building. No more patience, need to make music, Linux and macOS is good for many.