Old 07-20-2019, 01:29 PM   #1
superblonde.org
Human being with feelings
 
Join Date: Jul 2019
Posts: 556
Default Is there a "Programming Guide" ?

When I went to learn EEL a while back, I looked for a reascript programming guide but didnt find one. A programming guide is different than an API reference and different from a tutorial. I'm not sure how to describe it other than to say it's different and more focused on explaining the why's or implementation considerations (& limitations) of the language and not so much focused on simple howto's. Is there a programming guide?
superblonde.org is online now   Reply With Quote
Old 07-20-2019, 02:49 PM   #2
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,081
Default

Nothing official.

As far as unofficial, there's this: https://www.admiralbumblebee.com/mus...m-scratch.html

I also have found a set of tutorial plugins in my Effects menu. I have no idea where they came from, but: https://www.dropbox.com/s/8jw49or6m4...orial.zip?dl=1
Lokasenna is offline   Reply With Quote
Old 07-21-2019, 03:14 AM   #3
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 5,929
Default

You can try to read article on my site, especially my interview with reaperblog where I talked about main consideration witg reascript.
X-Raym is offline   Reply With Quote
Old 07-21-2019, 03:54 AM   #4
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Posts: 549
Default

ABB & xraym's tuts are very comprehensive and to the point. i hope to go beyond the "hello world" coding achievement now !! hehehe
zook
zookthespook is offline   Reply With Quote
Old 07-21-2019, 11:26 AM   #5
superblonde.org
Human being with feelings
 
Join Date: Jul 2019
Posts: 556
Default

It takes quite a bit of sifting to figure out even the basic things like, the difference between the language choices (jsfx vs eel etc), why to pick one vs the other etc.
superblonde.org is online now   Reply With Quote
Old 07-21-2019, 11:47 AM   #6
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,081
Default

JSFX are programmed in EEL. The API for JSFX is much smaller though, since they're expected to handle real-time audio and don't need most of the interacting-with-Reaper stuff.

As far as choosing a language for scripting:

- Lua is really easy to learn, has a similar syntax to languages like Ruby or Javascript, and there's a ton of documentation for it. Intensive processing, however, is noticeably slower than EEL since Lua is much higher-level - when processing audio samples, it's common for Lua to take 3x as long. Depending on how MUCH processing you're doing that might not matter too much, and the tradeoffs might be worth it.

- EEL is harder to learn, similar in syntax to C/C++, but as a result can be much faster. One advantage is that if you're writing JSFX and scripts you can use the same language for both. The biggest downside IMO is that it only exists in Reaper and the public Jesusonic interpreter, so as you've discovered you're left having to figure a lot of stuff out on your own.

- Python is, well, Python. It has the advantage of being able to access libraries outside of Reaper (Lua and EEL can't use .dlls, etc), but has the disadvantage of requiring your script's users to get Python set up on their systems. I really haven't seen a lot of ReaScripts using it, and looking out of the 600+ scripts in the ReaTeam there's only one written in Python.

My suggestion would be to go with Lua until you hit a point where the performance gains from EEL seem worth it.
Lokasenna is offline   Reply With Quote
Old 07-21-2019, 09:54 PM   #7
superblonde.org
Human being with feelings
 
Join Date: Jul 2019
Posts: 556
Default

hm, thats good, well, I didnt find anything difficult about EEL other than the fact that it is not documented (in terms of programming guide). for example there was something about variables being global or not, that was not detailed anywhere, or was pretty obtuse.

in general I dont care about something being "a more difficult language", that is much less a priority compared to other pros & cons. I care more about choosing which specific one to spend time learning and not having to bounce from one language to another because suddenly something is not scalable or possible.

why not put this thread's stuff, so far, into a single document and make a PDF "manual"? maybe record a lecture on the overall topic as a podcast?

presumably that would be time better spent than answering one-off questions or repeated faq's.

unless the languages are changing and so any material would be outdated soon. but it doesnt seem like that's the case in the past years' releases.
superblonde.org is online now   Reply With Quote
Old 07-21-2019, 11:46 PM   #8
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 5,929
Default

All these infos are already written in Reascripts beginnerd tutorials and videos so the questions dont come here a lot anymore. :P
X-Raym is offline   Reply With Quote
Old 07-23-2019, 10:17 AM   #9
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,400
Default

A good point of reference for me are the codes for the built-in video-processor-plugin. Just browse through the presets.
All written in Eel.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:43 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.