Hello everyone,

I just got my salt and salt+ and I am figuring out the best way to develop for Bela. I run some tests (it's working great!) using the IDE. It is great for quickly testing ideas but I am now using emacs to connect through SSH. It is all working fine for editing the files but there are a few things I need to solve:

1) Is there a list of terminal commands that will allow me to gain access to the instance of sclang used by SALT so that I can view the post window, kill sclang, recompile etc? Also what is the reason that I can not interpret code dynamically using SC? I know I can do that remotely but is there a technical reason that it recompiles in the IDE? Normally I recompile only when I am writing classes.
2) Regarding custom classes, am I right to assume that putting my files in ~/.local/share/SuperCollider/Extensions/ will work as expected?
3) Any ideas of how to manage backing up files? Ideally I would like to find a workflow where I have all my files on my computer, automatically syncing them to Bela on save so I can use my custom setup for all these considerations. Any reccomendations would be great!

Thanks! 🙂

    Where do you want to run sclang ? For prototyping, the best thing is to run sclang in the Supercollider IDE (see this example).

    dathin ? Also what is the reason that I can not interpret code dynamically using SC?

    not sure what you mean here. You can, but not from the Bela IDE. Sc in the Bela IDE is limited to writing the file and executing it, no real-time interaction. That's why I suggest the workflow above.

    dathin Is there a list of terminal commands that will allow me to gain access to the instance of sclang used by SALT so that I can view the post window, kill sclang, recompile etc? A

    If you start Sc through the Bela IDE, what it will do is it will start sclang and pass the _main.scd file to it. This will in turn start scsynth and send it the stuff inside s.waitForBoot{}. You can then connect to that instance of scsynth also from the host computer if you want (see option above), and the POST messages will be shown in the Bela IDE. If you want to simply start scsynth on the board, you can then run on the board something like scsynth -u 57110 -z 16 -J 8 -K 8 -G 16 -i 2 -o 2 (this is faster than sclang at starting, so I find it useful if for some reason you have to often kill the server). The lowercase command-line options are the regular scsynth ones, and we added a few uppercase ones for Bela. Do scsynth --help on Bela to see them all.

    dathin 2) Regarding custom classes, am I right to assume that putting my files in ~/.local/share/SuperCollider/Extensions/ will work as expected?

    This may work at runtime, but when running a project at boot we may have to add a fix to make this work. Try it out and let us know if you need any fixes.

    dathin Any ideas of how to manage backing up files? Ideally I would like to find a workflow where I have all my files on my computer, automatically syncing them to Bela on save so I can use my custom setup for all these considerations. Any reccomendations would be great!

    Running everything from the SC IDE on the host would help in this sense.
    Otherwise you could use

    while(sleep 1); do rsync -av ~/my/local/project/path/* root@bela.local:Bela/projects/myproject/ ; done
    • msp likes this.

    Thank you for the detailed reply Giulio 🙂

    From what I see the remote approach might be the best one. I will try your suggestions and get back to you if I run into any issues.