Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Pre-Release Discussion

Reply
 
Thread Tools Display Modes
Old 12-24-2014, 02:27 PM   #41
Garrick
Human being with feelings
 
Garrick's Avatar
 
Join Date: Jul 2009
Location: Wellington
Posts: 4,622
Default

Quote:
Originally Posted by spk77 View Post
Lua tutorial (for beginners like me...sigh.. ):
http://www.tutorialspoint.com/lua/index.htm

The syntax doesn't look too complex, though. And there seem to be some nice string manipulation functions...which is nice
ta spk77, wish me luck
Garrick is offline   Reply With Quote
Old 12-24-2014, 02:54 PM   #42
Mercado_Negro
Moderator
 
Mercado_Negro's Avatar
 
Join Date: Aug 2007
Location: Caracas, Venezuela
Posts: 8,676
Default

Quote:
Originally Posted by spk77 View Post
Yes, I'm trying to do something like this with Lua :


(http://forum.cockos.com/showpost.php...4&postcount=11)


You are absolutely right!
Holy cow! That's incredible! I do that manually with per-take envelopes so this would be awesome for my workflow... Yeah, I need to read about all this Lua/EEL/ReaScript/Sorcery stuff soon... very soon!
__________________
Pressure is what turns coal into diamonds - Michael a.k.a. Runaway
Mercado_Negro is offline   Reply With Quote
Old 12-25-2014, 02:31 AM   #43
geoffroy
Human being with feelings
 
geoffroy's Avatar
 
Join Date: Jul 2006
Location: Paris, France
Posts: 499
Default

Hello

I was thinking : is it possible to use Reascript headlessly ? I mean, can I setup a (headless) server on AWS and automatically create a project, insert tracks, media items and FX, then render the project without any GUI ?

Merry Christmas

Geoffroy
__________________
http://www.brocoli.org
geoffroy is offline   Reply With Quote
Old 12-25-2014, 04:01 AM   #44
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by geoffroy View Post
Hello

I was thinking : is it possible to use Reascript headlessly ? I mean, can I setup a (headless) server on AWS and automatically create a project, insert tracks, media items and FX, then render the project without any GUI ?

Merry Christmas

Geoffroy
ReaScript requires a running Reaper instance (with GUI and all) to be used.

However, to do what you describe to a degree, you could generate a .rpp file directly with a suitable scripting language like Python and then call Reaper with some command line options that allow opening a rpp file and then render it to an audio file. This will likely require GUI facilities to be available too. (The Reaper GUI appears when it does renders this way, so I will assume the GUI is mandatory.)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 12-25-2014, 04:02 AM   #45
mete0r
Human being with feelings
 
Join Date: Jul 2013
Posts: 121
Default

How would I go about talking to my natve c++ application from reaper in lua?
mete0r is offline   Reply With Quote
Old 12-25-2014, 04:12 AM   #46
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by mete0r View Post
How would I go about talking to my natve c++ application from reaper in lua?
This would depend on if the implementation of Lua in Reaper allows you to use OS facilities like writing/reading files, shared memory or network sockets. It would at the moment appear these are not available but maybe Schwa can clear that up.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 12-25-2014, 04:39 AM   #47
mete0r
Human being with feelings
 
Join Date: Jul 2013
Posts: 121
Default

I think files work (maybe?):

Code:
function testFiles(fname)
  test = io.open(fname, "r")

  if test then
    test.close()
    return "yay\n"
  else
    return ";_;\n"
  end
end

reaper.ShowConsoleMsg(testFiles("non-existent file"))
reaper.ShowConsoleMsg(testFiles("/home/mete0r/.wine/drive_c/users/mete0r/Application Data/REAPER/Scripts/lel.lua"))
reaper.ShowConsoleMsg(testFiles("C:/users/mete0r/Application Data/REAPER/Scripts/lel.lua"))
reaper.ShowConsoleMsg(testFiles("file.lua"))

-- THIS MAKES REAPER CRASH ON MY MACHINE
--pwdHandle = io.popen("cd", "rw")
--reaper.ShowConsoleMsg(pwdHandle.read("*all"))
--pwdHandle.close()
prints

Code:
;_;
yay
yay
;_;
io.popen seems to make reaper crash on my machine, but I'm on linux so I'm not sure if that's the problem. I should make a virtual machine to experiment a bit.
EDIT: my code was wrong, you can't pass rw to popen, with just r it works: http://lua-users.org/lists/lua-l/2007-10/msg00189.html

Last edited by mete0r; 12-25-2014 at 06:43 AM.
mete0r is offline   Reply With Quote
Old 12-25-2014, 10:46 AM   #48
geoffroy
Human being with feelings
 
geoffroy's Avatar
 
Join Date: Jul 2006
Location: Paris, France
Posts: 499
Default

Quote:
Originally Posted by Xenakios View Post
generate a .rpp file directly with a suitable scripting language like Python and then call Reaper with some command line options that allow opening a rpp file and then render it to an audio file.
Thanks Xenakios !
__________________
http://www.brocoli.org
geoffroy is offline   Reply With Quote
Old 12-25-2014, 11:13 AM   #49
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,239
Default

Just seeing the small item_fft.lua example makes me wonder and seeing the possibilities.
It would be great to have a lua script that can be "docked" inserted in any walter element of the theme. Not just as a docked window. For example create a small rectangle space embedded inside the MCP track in the mixer window, defined by the theme with new walter variables. Insert small lua scripts there to make RMS meters! Or even Loudness EBUR128 meters!

if not.. a single dockable large window with all tracks with RMS metering would be nice too.
heda is offline   Reply With Quote
Old 12-26-2014, 05:36 PM   #50
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Anybody yet tried doing plain boring reusable GUI elements like buttons and sliders with Lua and the gfx_ stuff?

I am going to attempt that soon but if anybody already has something, it'd be interesting to see that...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 12-26-2014, 06:11 PM   #51
PitchSlap
Human being with feelings
 
PitchSlap's Avatar
 
Join Date: Jan 2008
Location: Vancouver, BC
Posts: 3,793
Default

Quote:
Originally Posted by schwa View Post
...I was working on a script that will represent a significant new feature, which will be released as part of 5.0, and be indistinguishable from functionality coded natively in REAPER. Because, really, it is functionality coded natively in REAPER, with identical access to the internals of REAPER, including access to track audio and MIDI.

I really think that the combination of Lua's ease of use, and improvements to REAPER's API, will open up an almost unlimited world of creative possibilities.
Will it be possible with the new scripting abilities of V5 to add functionality to Reaper "plugins"?

I'm curious because I requested some Media Explorer improvements on the SWS tracker and was told it couldn't be done because the Media Explorer is not a core part of the program, but a plugin making it inaccessible to the SWS extension...
__________________
FRs: v5 Media Explorer Requests, Global Quantization, Session View
Win10 Pro 64-bit, Reaper 6(x64), AMD 3950x, Aorus X570 Master, 64GB DDR4 3600, PowerColor Red Devil 5700XT, EVO 970 2TB, 10TB HD, Define R6
PitchSlap is offline   Reply With Quote
Old 12-27-2014, 03:10 AM   #52
kuus0
Human being with feelings
 
Join Date: Feb 2011
Posts: 159
Default

Quote:
Originally Posted by Xenakios View Post
Anybody yet tried doing plain boring reusable GUI elements like buttons and sliders with Lua and the gfx_ stuff?

I am going to attempt that soon but if anybody already has something, it'd be interesting to see that...
Would it be possible to get something like https://github.com/mkottman/lqt working with reapers lua?

I tried, but of course it didn't work. It was expecting lua51.dll because it was built for 5.1.
kuus0 is offline   Reply With Quote
Old 12-27-2014, 07:08 AM   #53
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by kuus0 View Post
Would it be possible to get something like https://github.com/mkottman/lqt working with reapers lua?

I tried, but of course it didn't work. It was expecting lua51.dll because it was built for 5.1.
I think using things like that isn't going to play well with Reaper...I think it will be necessary to write a GUI library from scratch using the Reaper gfx_ APIs. However, now that I've worked for a couple of hours on that, it doesn't seem too hard to accomplish...

In this I already have multiple instances of Lua "objects" and mouse hit testing as well as mouse wheel working :

__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 12-27-2014 at 07:14 AM.
Xenakios is offline   Reply With Quote
Old 12-28-2014, 01:19 PM   #54
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Testing...
spk77 is offline   Reply With Quote
Old 12-28-2014, 02:30 PM   #55
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

I wonder what would be the best or easiest way to implement a class in Lua?


I just copy/pasted the code below the Implementation of class() from this article: http://lua-users.org/wiki/SimpleLuaClasses



...then I made a "Button class":
Code:
local Button = class(
                      function(btn,x1,y1,w,h,state_count,state,visual_state,lbl)
                        btn.x1 = x1
                        btn.y1 = y1
                        btn.w = w
                        btn.h = h
                        btn.x2 = x1+w
                        btn.y2 = y1+h
                        btn.state = state
                        btn.state_count = state_count
                        btn.vis_state = visual_state
                        btn.label = lbl
                        btn.mouse_state = 0
                        end
                     )
-- get current state
function Button:get_state()
   return self.state
end
.
.
.
function Button:draw(x1, y1, w, h, button_label)
mouse state tests and other messy code here
.
.
end
...created new instances
Code:
btn1 = Button(10,10,50,20,4,0,0,"Button1")
btn2 = Button(10,btn1.y2+10,50,20,1,0,0,"Button2")
btn3 = Button(10,100,50,20,4,0,0,"Button3")

...and finally draw the buttons in the "main function"
Code:
function run()
.
.
.
  btn1:draw(btn1.x1, btn1.y1, btn1.w, btn1.h, "Button1")
  btn2:draw(btn2.x1, btn2.y1, btn2.w, btn2.h, "Button2") 
  btn3:draw(btn3.x1, btn3.y1, btn3.w, btn3.h, "Button3")   
.
.
.
  gfx.update();
  if gfx.getchar() >= 0 then reaper.defer(run) end
end
Does this make any sense ?
spk77 is offline   Reply With Quote
Old 12-28-2014, 04:09 PM   #56
Breeder
Human being with feelings
 
Breeder's Avatar
 
Join Date: Nov 2010
Posts: 2,436
Default

All these updates to IDE are great, but unfortunately some of use can't even try it properly.

This thing is starting to get serious so it would be nice if basics were sorted.

Quote:
Originally Posted by Breeder View Post
While you're working on JS editor, can you please help your international users:

JS editor doesn't differentiate between ctrl and ctrl+alt(alt gr)

Some international keyboard use alt gr modifier for writting certain symbols.
Croatian layout uses altgr+F to write [ and altgr+N to write }.

And since ctr+F and ctrl+N are used for searching and saving some of us can't even write those symbols which makes JS editor rather useless.
Breeder is offline   Reply With Quote
Old 12-28-2014, 08:27 PM   #57
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

Quote:
Originally Posted by spk77 View Post
I wonder what would be the best or easiest way to implement a class in Lua?
It looks like there are a few ways of getting roughly the same results. Here's what I've went with, but apparently using closures is faster for accessing, but not creating objects. This is just a base class I'm doing to handle the donkey work for controls, totally unfinished at the mo cause it doesn't save or recall anything etc and there are probably a lot more efficient ways of dealing with common stuff for multiple controls...
Code:
---------------------------------------------------------------
-- base class for all controls
LControl = {}
function LControl:new(o)
   o = o or {}
   setmetatable(o, self)
   self.__index = self
   
   --members
   self.alpha = 0.2
   self.__is_mouse_in = false
   self.__is_mouse_down = false
   self.idx = -1
   self.orig_x, self.orig_y = -1, -1
   self.last_x, self.last_y = -1, -1
   self.data = {}
   self.value = {}
   return o
end


function LControl:update()
   local mx=gfx.mouse_x   local my=gfx.mouse_y   local m_mod=gfx.mouse_cap
   if self.last_x < 0 and self.last_y < 0 then
      self.last_x, self.last_y = mx, my
   end
   local in_rect=self:isInRect(mx, my)
   if m_mod&1 > 0 then
      if self.__is_mouse_down then
         if self.last_x ~= mx or self.last_y ~= my then
            self:onMouseMove(mx, my, m_mod)
         end
      else
         if self.__is_mouse_in then
           self.__is_mouse_down = true
           self.orig_x, self.orig_y = mx-self.x, my-self.y
           self:onMouseDown(mx, my, m_mod)
         end
      end
   else
      if self.__is_mouse_down then
         self.__is_mouse_down = false
         self:onMouseUp(mx, my, m_mod)
      end
   end
  
   -- handle mouseover
   if in_rect then
      if not self.__is_mouse_in then      
          -- if mouse buttons down on entry, not for this control
         if (m_mod&1) > 0 then self:draw() return end
         self.__is_mouse_in=true
         self:onMouseOver(mx, my, m_mod)
      end
   else
      if self.__is_mouse_in and not self.__is_mouse_down then
        self.__is_mouse_in=false
        self:onMouseOut(mx, my, m_mod)
      end
   end 
  
   self.last_x, self.last_y = mx, my
   self:draw()
end


function LControl:isInRect(x,y)
   return (x>=self.x and x<=(self.x+self.w) and y>=self.y and y<=(self.y+self.h))
end


-- override these in controls
function LControl:onMouseUp(x, y, m_mod) end

function LControl:onMouseDown(x, y, m_mod) end

function LControl:onMouseOver(x, y, m_mod) end

function LControl:onMouseOut(x, y, m_mod) end

function LControl:onMouseMove(x, y, m_mod) end

function LControl:draw() end


---------------------------------------------------------------
-- derive new control

LButton=LControl:new()

function LButton:draw()
   gfx.a=self.alpha
   gfx.rect(self.x, self.y, self.w, self.h,  true)
end

function LControl:onMouseDown(x, y, m_mod)  
   self.alpha=1.
end

function LControl:onMouseOut(x, y, m_mod)
   self.alpha=.2
end

function LButton:onMouseUp(x, y, m_mod)
   if self:isInRect(x,y) then
      self.alpha=0.
   else
      self.alpha=.4
   end 
end

---------------------------------------------------------------

gfx.init("hello gui", 800, 800, true)

controls={}
local cp=1
for yp=5, 555, 55 do
  for xp=5, 555, 55 do
     controls[cp] = LButton:new{idx=cp, x=xp, y=yp, w=50, h=50}
     cp=cp+1
  end
end

function main()   
   for i=1, #controls, 1 do
      controls[i]:update()
   end
   
   gfx.update()
   reaper.runloop(main)
end

main()
PS, how are you guys displaying images - I'm always getting a -1 with gfx.loadimg?
Lazarus is offline   Reply With Quote
Old 12-28-2014, 11:07 PM   #58
NextLevel
Human being with feelings
 
Join Date: Dec 2014
Posts: 417
Default

So how does one go about calling functions from an external lua module.., I know with python it's
from reaper_python import *

Does there need to be a path set up in environmental variables or because lua is contained within REAPER is it as simple as having the module(s) placed in the same directory as the calling script?

Just wondering out-loud.., there was a vst sometime ago called, i think, vstlua.., would it be possible to communicate bi-directionally between REAPER-lua and vstlua? Maybe someone here has used vstlua and might know?

TIA

Last edited by NextLevel; 12-28-2014 at 11:30 PM.
NextLevel is offline   Reply With Quote
Old 12-29-2014, 05:53 AM   #59
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by Lazarus View Post

PS, how are you guys displaying images - I'm always getting a -1 with gfx.loadimg?
Check you are using the right file path in the call, I guess...Any \ should probably be replaced with \\ or /. Try with different files too, maybe the ones you've tried are not compatible.

Regarding images, I think there's a problem with the gfx.getimgdim(image,w,h) function. This wouldn't seem to be compatible with how Lua works since the function arguments can not be references. (As far as I've understood.) Or maybe there's some other problem. At least doing imgw=0; imgh=0; gfx.getimgdim(image,imgw,imgh); does not retrieve the image dimensions. (The image otherwise works, of course.)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 12-29-2014, 06:54 AM   #60
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

Thanks, it was just a path issue. It turns out that a relative path must be relative to reaper.exe and not the script since an absolute path worked when I tried it. So "\\Scripts\\pic.png" works. Coming to think of it, this might be a portable install thing.

I can't get gfx.getimgdim to produce anything here either. I tried the Lua-like...
Code:
iw, ih = gfx.getimgdim(img,iw,ih)
... but no joy.
Lazarus is offline   Reply With Quote
Old 12-29-2014, 07:25 AM   #61
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,677
Default

In JS FX ,this works:
filename:1,../tools/zz_help_pages/DS_Help.png
...
HELP_FILE_ = 1;
...
gfx_getimgdim(HELP_FILE_, Lsource_W, Lsource_H);
// the dimensions are then stored in Lsource_W and Lsource_H
NB it's an _ in the function name.

Or is LUA different?
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 12-29-2014, 07:29 AM   #62
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by DarkStar View Post
NB it's an _ in the function name.

Or is LUA different?
It's different, in Reaper Lua . is used. The function call in Lua works, no error, but there is no result produced.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 12-29-2014, 03:20 PM   #63
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by Lazarus View Post
It looks like there are a few ways of getting roughly the same results. Here's what I've went with, but apparently using closures is faster for accessing, but not creating objects. This is just a base class I'm doing to handle the donkey work for controls, totally unfinished at the mo cause it doesn't save or recall anything etc and there are probably a lot more efficient ways of dealing with common stuff for multiple controls...
Thanks!

Here's my poor attempt (unfinished):
https://stash.reaper.fm/22748/Serious%20cat.zip



(NOTE: Edit the first line in the script)
image_loaded = gfx.loadimg(0,"C:/REAPER/Scripts/Serious cat/serious cat.png")

EDIT: added "Serious cat sliders.lua" to "Serious cat.zip"

Last edited by spk77; 01-01-2015 at 03:51 PM. Reason: added "Serious cat sliders.lua" to the.zip file
spk77 is offline   Reply With Quote
Old 12-29-2014, 04:12 PM   #64
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Fixing gfx.getimgdim() for Lua, thanks for spotting this!

As far as filenames go, non-absolute paths are resolved relative to the resource path (AppData/REAPER, ~/Library/Application Support/REAPER, or the reaper.exe dir if portable install). You can also use as prefixes:

$rec/ (project record path)
$rec2/ (alt project record path)
$proj/ (project path)
~/ (desktop -- this is broken on OSX though, will be fixed in the next build).
Justin is offline   Reply With Quote
Old 12-29-2014, 04:22 PM   #65
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,677
Default

Quote:
Originally Posted by Justin View Post
As far as filenames go, non-absolute paths are resolved relative to the resource path (AppData/REAPER, ~/Library/Application Support/REAPER, or the reaper.exe dir if portable install). You can also use as prefixes:
So that is different from JS FX? For example
filename:1,../tools/zz_help_pages/DS_Help.png
goes up one level from the folder containing the JS FX then down two levels of folders to access the file. It is relative to the JS FX location.

And
fstr = "DarkStar/Help_pages_DS.txt"
is relative to the Data folder in Reaper's AppData.

Three different contexts, three different sets of rules?
__________________
DarkStar ... interesting, if true. . . . Inspired by ...

Last edited by DarkStar; 12-30-2014 at 03:05 AM.
DarkStar is offline   Reply With Quote
Old 12-30-2014, 01:07 PM   #66
NextLevel
Human being with feelings
 
Join Date: Dec 2014
Posts: 417
Default

Does anyone know if it's possible to control UI elements created in a lua or eel script using OSC? Using spk77's 'Serious Cat' script as an example.., is there a way to trigger the Show and Move buttons via incoming OSC?

Thanks
NextLevel is offline   Reply With Quote
Old 12-30-2014, 01:26 PM   #67
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

Quote:
Originally Posted by NextLevel View Post
So how does one go about calling functions from an external lua module.., I know with python it's
from reaper_python import *

Does there need to be a path set up in environmental variables or because lua is contained within REAPER is it as simple as having the module(s) placed in the same directory as the calling script?
You just follow the instructions here...

http://lua-users.org/wiki/ModulesTutorial

... the only thing extra to do is to add the path, so instead of...
Code:
local mymodule = require 'mymodule'
... you would...
Code:
local mymodule = require '\\Scripts\\mymodule'
... if it is in the same directory as your script.
Lazarus is offline   Reply With Quote
Old 12-30-2014, 01:31 PM   #68
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

Quote:
Originally Posted by NextLevel View Post
Does anyone know if it's possible to control UI elements created in a lua or eel script using OSC? Using spk77's 'Serious Cat' script as an example.., is there a way to trigger the Show and Move buttons via incoming OSC?

Thanks
You could use OSC to alter parameters on a plugin and then use ReaScript to monitor changes in those parameters and do stuff (see commands beginning with TrackFx_). There isn't a way to directly process OSC with ReaScript as far as I'm aware.
Lazarus is offline   Reply With Quote
Old 12-30-2014, 02:22 PM   #69
NextLevel
Human being with feelings
 
Join Date: Dec 2014
Posts: 417
Default

Lazarus,

Thank you for all the info and I think your reply about OSC control is a very interesting workaround, I would never have thought to approach it like that.
NextLevel is offline   Reply With Quote
Old 12-30-2014, 02:45 PM   #70
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Mesa, AZ
Posts: 2,057
Default

has anyone noticed the lack of line numbers or is it just me?

FR: Line numbers
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 12-31-2014, 06:20 AM   #71
rothchild
Human being with feelings
 
Join Date: Oct 2007
Posts: 784
Default

Quote:
Originally Posted by schwa View Post
Though I think where Lua is going to be especially useful/interesting is with regard to MIDI...
Does that mean that stuff like http://ctrlr.org/ could be integrated directly in to Reaper?
rothchild is offline   Reply With Quote
Old 12-31-2014, 07:22 AM   #72
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

Quote:
Originally Posted by NextLevel View Post
Lazarus,

Thank you for all the info and I think your reply about OSC control is a very interesting workaround, I would never have thought to approach it like that.
No probs.. I don't think I was super accurate though because although Lua doesn't support sockets, it looks like EEL has TCP support. Although I wouldn't like to write an OSC parser in EEL.
Lazarus is offline   Reply With Quote
Old 12-31-2014, 09:48 AM   #73
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by rothchild View Post
Does that mean that stuff like http://ctrlr.org/ could be integrated directly in to Reaper?
That thing seems to be a VST plugin and have Lua scripting already, so Reaper's Lua features don't really come into play.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 12-31-2014, 10:26 AM   #74
Win Conway
Human being with feelings
 
Join Date: Dec 2010
Posts: 3,826
Default

Quote:
Originally Posted by Xenakios View Post
That thing seems to be a VST plugin and have Lua scripting already, so Reaper's Lua features don't really come into play.
I think he is asking if those sorts of controllers can be built with LUA directly in to Reaper, for an example of this you could go look at Renoise, the amount of synth panels, step sequencers using launchpads, clip triggers using launchpad and so on, that have all been done using Renoise LUA scripting is probably the sort of ideas he is having.

http://www.renoise.com/tools/browse
These may even be portable, no idea.
A great example over there would be to look at Duplex, that tool is built specifically to allow users and easy way to create controller support (Something Reaper could do with, with its poor hardware support)
__________________
Stop posting huge images, smaller images or thumbnail, it's not rocket science!
Win Conway is offline   Reply With Quote
Old 12-31-2014, 01:27 PM   #75
kuus0
Human being with feelings
 
Join Date: Feb 2011
Posts: 159
Default

Quote:
Originally Posted by gpunk_w View Post
I think he is asking if those sorts of controllers can be built with LUA directly in to Reaper, for an example of this you could go look at Renoise, the amount of synth panels, step sequencers using launchpads, clip triggers using launchpad and so on, that have all been done using Renoise LUA scripting is probably the sort of ideas he is having.

http://www.renoise.com/tools/browse
These may even be portable, no idea.
A great example over there would be to look at Duplex, that tool is built specifically to allow users and easy way to create controller support (Something Reaper could do with, with its poor hardware support)
That looks sweet! They've got the native GUI elements to play with. I hope we can get a uniform look and feel for our Reaper scripts as well.
kuus0 is offline   Reply With Quote
Old 01-01-2015, 01:14 AM   #76
Win Conway
Human being with feelings
 
Join Date: Dec 2010
Posts: 3,826
Default

That is very doubtful,Reaper doesn't have a unified look itself, pats of it still look win 3.11
__________________
Stop posting huge images, smaller images or thumbnail, it's not rocket science!
Win Conway is offline   Reply With Quote
Old 01-01-2015, 02:57 AM   #77
rothchild
Human being with feelings
 
Join Date: Oct 2007
Posts: 784
Default

Quote:
Originally Posted by gpunk_w View Post
I think he is asking if those sorts of controllers can be built with LUA directly in to Reaper, for an example of this you could go look at Renoise, the amount of synth panels, step sequencers using launchpads, clip triggers using launchpad and so on, that have all been done using Renoise LUA scripting is probably the sort of ideas he is having.

http://www.renoise.com/tools/browse
These may even be portable, no idea.
A great example over there would be to look at Duplex, that tool is built specifically to allow users and easy way to create controller support (Something Reaper could do with, with its poor hardware support)
This is more what I was hoping - some sort of update to reamidicontrol that gave you an automatable editor and librarian for your hardware.
rothchild is offline   Reply With Quote
Old 01-01-2015, 10:55 AM   #78
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Mesa, AZ
Posts: 2,057
Default

FR: I want shift+tab to move highlighted code back
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 01-01-2015, 11:06 AM   #79
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Mesa, AZ
Posts: 2,057
Default

FR: PLEASE allow docking the IDE, PLEEEEEEEEEEEEEZZZZZZZZZZZZZ

I could then kinda use the IDE as an interface, quickly change variables as I work
also it would make it easier to test/debug, so you have a portion of your screen for the code, and the other portion for working in REAPER
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template

Last edited by Argitoth; 01-01-2015 at 11:56 AM.
Argitoth is offline   Reply With Quote
Old 01-01-2015, 01:35 PM   #80
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by Argitoth View Post
FR: I want shift+tab to move highlighted code back
"Shift+tab" moves selected text to the left on my computer (in ReaScript dev. env.), but "tab-key" isn't working at all in JS dev. env.

(v5.0pre2, Win XP32)
spk77 is offline   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 03:20 AM.


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