florian-grond / SC-HOA

HOA wrapper classes for SuperCollider based on https://github.com/sekisushai/ambitools
GNU General Public License v3.0
32 stars 7 forks source link

Errors in HOAAmbiDecoderHelper.sc - trailing space lost in run_dec file creation #47

Open ariutti opened 2 years ago

ariutti commented 2 years ago

Working with the HOAAmbiDecoderHelper and executing the resulting run_dec_<mydecoder>.m file, I've noticed that the faust2supercollider is not correctly called by GNU Octave due to an invalid unix command line string.

It seems due to an eliminated trailing space after the -ks argument passed to the GNU Octave strcat function. From the Octave documentation it seems to me that GNU Octave strcat command is not preserving those trailing spaces if they are at the end of a string.

I think it could be better to use the Octave cstrcat function here!

So line 214 of HOAAmbiDecoderHelper.sc (inside method ambiDecoderAllradRunFile) should be:

        file.write("\t unix(cstrcat(\"faust2supercollider -sn -ks \",out_path,num2str(order,0),\".dsp\"));\n");

instead of this:

        file.write("\t unix(strcat(\"faust2supercollider -sn -ks \",out_path,num2str(order,0),\".dsp\"));\n");

Does it make sense to you?