Enable UDP communication between termux csound-mode and csound app #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, I now prepared csound-mode in a way that I can successfully run it on Android by using it inside Termux Spacemacs, and communicating via UPD with the Csound Android App.
This is based on two enhancements:
csound-repl-start-server-p
which is true by default, but inhibits all references to the Emacs Csound server subprocess when nil.csound-play
andcsound-repl-start
do work, albeit only if inside the Csound Android the UPDlisten.csd has been started and listens at port 8099.csound-render
returns a message that output to a file needs to be configured inside the (server) csd file within<CsOptions>
when no Csound server subprocess has been started in Emacs.I created a new branch for this, tj-master, but since you only have a master branch, my pull-request goes there. You should test the linux desktop version of csound-mode (setq
csound-repl-start-server-p
t), if I haven't messed up anything. For testing on Android you will need the fantastic termux app.I made example files work (sound), but due to my beginners ignorance with csound syntax, I could not get "real" example songs play yet. From the examples it looks straightforward, split the song csd file in two files, server and client file so to say, with an
f0
variable inside the server score, and (only) the real score content inside the client file. This works when I trigger client events withschedule
, but those frequenti1
statements in the example files score do give parser errors. I have to learn more about csound syntax I guess ...Cheers Thorsten
PS
By the way, this is really a marvelous mode, I'm looking forward to play around with it on my smartphone. If you accept this pull request, another superb thing would be a Spacemacs layer for Csound, since with it's one key menus and bindings, and transient modes, Spacemacs would be a fantastic environment for REPL live coding.
Normally, everything useful for a mode goes into a Spacemacs layer. I have one question wrt to this: there is another impressive Emacs mode for Csound,
csound-x
, why there are two modes, what is their relation? Should both modes complement each other in a Spacemacs layer, or would that be redundant?