sonoro1234 / Lua2SC

Lua client for supercollider scsynth and supernova
Other
59 stars 3 forks source link

Having feedback from users #4

Open sonoro1234 opened 5 years ago

sonoro1234 commented 5 years ago

Specially from people who downloaded releases. Does it work? Linux also?

Jarodwr commented 4 years ago

OS: Windows 10

This project is pretty cool - here's my feedback:

I know you likely have finite time but I'm messing around with this with little music production experience, I'm wondering if you would be able to annotate the image currently embedded in the readme to show what each of the panels do?

I know a lot of live coding projects use lisp variants and lua has a pretty cool lightweight lisp called fennel if you've heard of it, might be a fun alternative.

sonoro1234 commented 4 years ago

@Jarodwr This is the first feedback from users. Thank you for commenting,

* I need to run bootsupernova.bat separately and then auto-detect supercollider,

It should not be necessary: In Debug/settings you should be able to choose between scsynth or supernova and set audiodevice, then just Supercollider/BootSC,

I'm wondering if you would be able to annotate the image currently embedded in the readme to show what each of the panels do?

If you mean the top-rightmost panel (the script-gui panel) it is filled by the script so it is different with each different script. With simple_theme you have "instrument" for a midi playable instrument, then FScope is a frequency histogram, then a mixer with three channels, then Effects panel with gverb and then master section with volume and two master inserts: Compander and Limiter and finally the master Vumeter section. You can expand the whole script-gui panel clicking in the icon placed up-right in the panel.

I know a lot of live coding projects use lisp variants and lua has a pretty cool lightweight lisp called fennel if you've heard of it, might be a fun alternative.

Adding fennel seems easy with

local fennel = require("fennel")
table.insert(package.loaders or package.searchers, fennel.searcher)
local mylib = require("mylib") -- will compile and load code in mylib.fnl

But without creating a custom mylib.fnl it would be useless. Creating mylib.fnl as a substitution of Lua2SC Lua libraries would be an enormous work. I think that learning Lua is more sensible, there are several resources in Readme.md: Lua learning resources and Lua2SC learning resources.

For live coding you can use Debug/Run selected text (F8)

Dont doubt in making questions as repository issues.

tomas-ciccola-cj commented 2 years ago

Hi! this is an awesome project! I've tried it on Linux a while ago and everything seems to be working fine. Using lua and derivatives (for me, fennel) its awesome I was wondering the posibility of having sclua only as a thin client without all the gui stuff, just an interpreter. I was planning on forking the project and having only that to use as a drop-in replacement of sclang. Do you have a mental map of the code that can help me with that?? Did you basically created bindings to Supercollider's C++ codebase? are there parts made with sclang?

anyway, thanks so much for this project!

sonoro1234 commented 2 years ago

I was wondering the posibility of having sclua only as a thin client without all the gui stuff, just an interpreter.

It can be run without gui uncomenting https://github.com/sonoro1234/Lua2SC/blob/master/lua2SC/lua2sc.lua#L160 But it wont be a thin client because it needs several lanes for bidirectional comunication with scsynth

Do you have a mental map of the code that can help me with that?? Did you basically created bindings to Supercollider's C++ codebase? are there parts made with sclang?

There are no bindings to supercollider codebase. It is just a Lua program acting as a client to scsynth (or supernova) using OSC protocol.

sonoro1234 commented 2 years ago

To run without gui you will need to first start scsynth or supernova then in Lua2SC.lua change "internal" to "tcp" before launching and also edit the path to the script you want to run from Lua2SC.

tomas-ciccola-cj commented 2 years ago

Awesome, thanks for the quick answer! I mean, lua itself is small, and I like having submodules for resolving dependencies so its clear what you are pulling as dependencies. I'll probably - when I have some time - try to fork this, remove all the gui bits and try to document as much as I can the lua code. Did you implemented everything from scratch to match slang way of doing stuff? (I see stuff like collect which is a slang thing, for example). Did you find any limitations in lua as a language when implementing this??

sonoro1234 commented 2 years ago

Did you implemented everything from scratch to match slang way of doing stuff?

Yes. The only things done directly in sclang were help generation and plugin definition exporting.

Did you find any limitations in lua as a language when implementing this??

Just the opposite. I did this project because I didn`t feel comfortable with sclang.

tomas-ciccola-cj commented 2 years ago

SAME. I actually like lua for its versatility (metatables!) and compactness: it actually fits all inside my head as opposed to slang which is huge and there are multiple ways of doing the same stuff.

At the same time I love fennel and I'm trying to use it where I can; for me, this endeavour is related to trying to merge sound generation and sound patterning on the same 'space'. Patterns in sclang always seemed unnecessary verbose to me, so I'm going to try to do something like a fennel implementation of tidal.

thormagnusson commented 2 years ago

I love Lua too!

I wonder if Lua2SC works well on Mac OS now? I tried it a few years ago and got it working, but I have forgotten everything about it.

Curious thor

On 19 Aug 2022, at 16:38, Tomás Ciccola @.***> wrote:

SAME. I actually like lua for its versatility (metatables!) and compactness: it actually fits all inside my head as opposed to slang which is huge and there are multiple ways of doing the same stuff.

At the same time I love fennel and I'm trying to use it where I can; for me, this endeavour is related to trying to merge sound generation and sound patterning on the same 'space'. Patterns in sclang always seemed unnecessary verbose to me, so I'm going to try to do something like a fennel implementation of tidal.

— Reply to this email directly, view it on GitHub https://github.com/sonoro1234/Lua2SC/issues/4#issuecomment-1220877062, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFP5JBV27TBQ6SB3NCRFVDVZ62CBANCNFSM4H325WQQ. You are receiving this because you are subscribed to this thread.

sonoro1234 commented 2 years ago

I wonder if Lua2SC works well on Mac OS now?

I cant be sure as I dont have Mac OS myself

I tried it a few years ago and got it working, but I have forgotten everything about it.

PR are welcome!!