For all supported programming languages, each "project" folder is supposed to contain only one "program". For instance, all .cpp
files are compiled together into a unique executable file. Puredata was the second language we supported. Normally in Pd, files have an implicit hierarchical structure where one "main" file may include other files. It was then that we started the convention of using an _main.*
as the "entry point" into a patch, to unambiguously identify such main file. We then kept using this paradigm for Supercollider and, more recently, Csound. The IDE is only a frontend for a make
script that is responsible for detecting project type, building if needed, and running the project. No information about the currently open file is passed from the IDE to make
, and the IDE doesn't know the "type" (i.e.: the programming language) of the current project.
Now, we would be very happy to support you in your adoption of Csound, and we could implement a solution that achieves what you are requesting, but I am wondering if there would be a way of achieving a similar result with the tools and infrastructure already in place, in order to maintain a uniform and predictable behaviour across the supported languages. For instance, would there be a way to write a _main.csd
script which only contains some sort of "include
" directive for another csd file? This way you'd only have to change the name of the currently active file in the _main.csd
file.