Deep Dive MR scripting for the novices

Before you say scripting is scripting , i would love to see a deep dive tube of start to finish of someone scripting a basic controller but also taking the time to explain each step so you can get a basic understanding of scripting .

Anyone up for that


That would be as long (and as epic) as the Extended Cut Lord of the Rings trilogy. :rofl:
Would definitely watch, like and subscribe. :stuck_out_tongue_winking_eye:


The scripting skill required for the MIDI Remote is a bit of a conceptual leap, because (unlike many scripting environments) it requires getting used to

  • object oriented programming
  • working with pointers, rather than regular variables

Pointers are one of the classic mind-warps in programming, if you’ve never used them before.

And object oriented programming can also take a bit of getting used to.

I didn’t think JavaScript had pointers. Care to give an example?

The variables referencing the various MIDI Remote API objects are effectively pointers.


1 Like

I realize now that this is not the forum for dissecting JS. Also, I can do my own googling! :stuck_out_tongue:

I’m reading up on it now. Not the implementation of pointers I’m used to since you can’t store the actual address in a variable and manipulate it.
I think my take on it is that JS can use references to object by passing them into functions or creating copies and references are kinda like pointers, but not exactly.

1 Like

I got thrown into that mindwarp when experimenting with MR scripting.

Once I started thinking “pointers”, things cleared right up for me.

1 Like

Oh, wouldn’t it have been fun if javascript used real pointers like C?? :grin: Infinite security hell!

Hopefully not too pedantic, but that isn’t exactly true :wink: The scripts are written in Javascript/ES5, the core API seems to be written in typescript though and then transpiled to ES5.

1 Like

This sounds like basic OOP to me, not pointers.

Thanks for the correction! I deleted that part from my post.

I don’t think you’re wrong. But that also depends on how wide or narrow one draws the definitions of OOP and pointers respectively.

In my case, it helped me across the mental hurdle of object references being passed, rather than objects.