Old 05-06-2019, 10:19 AM   #1
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: UK
Posts: 1,163
Default iPlug 2: Now makes Reaper Extensions

If anyone here wants a nice easy way to make a Reaper Extension without messing with nasty Win32 APIs, iPlug 2 now supports it*. iPlug2 is a reworking of the iPlug framework, with a lot of cool features (vector graphics, hiDPI) and a modernized codebase: https://iplug2.github.io . There is a template project which you can duplicate to quickly create a new Reaper Extension.

This is the basic code for the pictured extension

https://github.com/iPlug2/iPlug2/blo...rExtension.cpp



You can read more about iPlug2 and help me reach my Patreon goals here:

https://www.patreon.com/olilarkin

* WIP
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)

Last edited by olilarkin; 05-06-2019 at 11:02 AM.
olilarkin is offline   Reply With Quote
Old 05-06-2019, 11:03 AM   #2
doppelganger
Human being with feelings
 
Join Date: Feb 2017
Posts: 391
Default

what about cross-platform? because that's where problems show up
doppelganger is offline   Reply With Quote
Old 05-06-2019, 11:13 AM   #3
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: UK
Posts: 1,163
Default

yeah it works on mac too. Not done much with reaper linux yet
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is offline   Reply With Quote
Old 05-06-2019, 12:44 PM   #4
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,033
Default

Intersting,


What kind of GUI element can we access ?


Is text on the button shown in screenshot accessible via screen reader ?
X-Raym is offline   Reply With Quote
Old 05-06-2019, 01:22 PM   #5
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: UK
Posts: 1,163
Default

unfortunately, it's not currently screen-readable (although i have some ideas about how it could be made to work)

you can try a variety of the GUI widgets in the online examples (use chromium browser)

https://iplug2.github.io/
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is offline   Reply With Quote
Old 05-06-2019, 09:36 PM   #6
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,889
Default

Is this a system to allow for rather easily doing Reaper extension (featuring a GUI) in C++ ?

What IDE is supposed to be used for that ?

Would this be helpful for doing something like SWS-LiveConfigs ?

-Michael
mschnell is offline   Reply With Quote
Old 05-07-2019, 02:23 AM   #7
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: UK
Posts: 1,163
Default

If you wanted a complex list-view like SWS-LiveConfigs, i'd probably not recommend iPlug, but rather to use the win32 APIs/SWELL like SWS does.
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is offline   Reply With Quote
Old 05-07-2019, 06:30 AM   #8
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,889
Default

Thanks !
(In fact I have vague idea of a LiveConfigs workalike with some additional features.)

-Michael

Last edited by mschnell; 05-08-2019 at 02:05 AM.
mschnell is offline   Reply With Quote
Old 05-07-2019, 09:09 AM   #9
Eliseat
Human being with feelings
 
Eliseat's Avatar
 
Join Date: Mar 2018
Location: Cologne
Posts: 1,167
Default

olilarkin,

is this kind of a macro recorder? So that you could create something like custom actions in only one action?

Many thanks
__________________
☆.。.:*・°☆.。.:*・°☆.。.:*・°☆REAPER//✿◔‿◔)°☆.。.:*・°☆.。.:*・°☆
Eliseat is offline   Reply With Quote
Old 05-07-2019, 09:36 AM   #10
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: UK
Posts: 1,163
Default

Quote:
Originally Posted by Eliseat View Post
olilarkin,

is this kind of a macro recorder? So that you could create something like custom actions in only one action?

Many thanks
no, it's a GUI toolkit and framework for rapid development of VST, AU plugins etc and Reaper Extensions in C++ with minimal code.
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is offline   Reply With Quote
Old 05-07-2019, 09:52 AM   #11
Eliseat
Human being with feelings
 
Eliseat's Avatar
 
Join Date: Mar 2018
Location: Cologne
Posts: 1,167
Default

Sounds cool, but I have no idea.

Thanks
__________________
☆.。.:*・°☆.。.:*・°☆.。.:*・°☆REAPER//✿◔‿◔)°☆.。.:*・°☆.。.:*・°☆
Eliseat is offline   Reply With Quote
Old 05-08-2019, 01:48 PM   #12
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,375
Default

Cool!
IXix is offline   Reply With Quote
Old 05-08-2019, 05:32 PM   #13
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 1,847
Default

Quote:
Originally Posted by olilarkin View Post
no, it's a GUI toolkit and framework for rapid development of VST, AU plugins etc and Reaper Extensions in C++ with minimal code.
Which did you create using this tool? Thanks for sharing of course.
TonE is offline   Reply With Quote
Old 05-09-2019, 03:10 AM   #14
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: UK
Posts: 1,163
Default

lots of stuff! no public reaper extension yet though
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is offline   Reply With Quote
Old 05-10-2019, 04:08 AM   #15
snooks
Human being with feelings
 
Join Date: Sep 2015
Posts: 1,634
Default

Nice, iPlug2 is turning into a bit of a one stop shop!
snooks is offline   Reply With Quote
Old 06-12-2019, 02:13 AM   #16
nikolalkc
Human being with feelings
 
nikolalkc's Avatar
 
Join Date: Feb 2017
Location: Belgrade, Serbia
Posts: 157
Default

Hey @olilarkin, thanks for creating the iPlug2.
I just started messing around with my own custom REAPER extensions.

I have question.
How do I add separators to Extension menu inside REAPER?
Like the one around SWS in the picture below.

Attached Images
File Type: jpg separator.jpg (6.5 KB, 264 views)
nikolalkc is offline   Reply With Quote
Old 06-12-2019, 02:44 AM   #17
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: UK
Posts: 1,163
Default

iPlug2 doesn't currently support that. If you study the SWS sources, you can see how to do it with win32 resource files to declare the menus
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is offline   Reply With Quote
Old 06-29-2019, 01:28 AM   #18
nikolalkc
Human being with feelings
 
nikolalkc's Avatar
 
Join Date: Feb 2017
Location: Belgrade, Serbia
Posts: 157
Default

@olilarkin

Hey Oli, I have a question.
I looked at your Example for building REAPER Extension.
I succeded in creating my own action and adding it to Extensions menu.
This action can be called from there, from Actions list and via shortcut, but it's not working when called from toolbar, by clicking on an icon.

Code:
  RegisterAction("MyAction", action1, true);
This is the line I used.
I guess it has something to do with additional parameters, but I couldn't get it to work.

Also, how do I register my own API LUA Reascript functions?
Is there a simple way?

Thanks
nikolalkc 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 12:40 AM.


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