re-cmake open source release

This forum is for developers of Rack Extensions to discuss the RE SDK, share code, and offer tips to other developers.
User avatar
pongasoft
RE Developer
Posts: 254
Joined: 21 Apr 2016
Location: Las Vegas

Post 12 Jul 2020

I am re-posting here since it is the appropriate forum to do so and you might have missed it in the general one.

Hi guys

I am very excited to announce the open source release of re-cmake, the CMake based build framework for building Rack Extensions. Here are the main features:

  • native support in IDEs handling CMake directly, like CLion or Visual Studio Code (with the CMake extension)
  • project generation for most of the generators supported by CMake, like XCode for macOS, Visual Studio for Windows, Unix Makefiles, and many more
  • completely isolated build (no polluting the source tree)
  • much faster builds (due to proper dependency management, no need to recompile everything all the time)
  • proper integration with IDEs for debugging (for example starting Recon from CLion in debug mode and putting a breakpoint in the source tree)
  • native toolchain builds allowing for non sandboxed builds for easy development (use of std::string, std::cout, etc...)
  • easy to use script (re.sh for macOS, re.bat for Windows) to invoke all the various phases of the build so no need to remember long and complicated syntax
In addition to the framework, it comes with a "blank" plugin (does nothing but is fully wired and runs inside Recon and on Reason servers), which serves dual purpose:

1) documentation for the framework
2) a project that can easily be cloned to start your own rack extension: it contains all the boilerplate code and file structure and because it uses the CMake build framework, you only need to change the info.lua file with your own names (and CMakeLists.txt for the project name and this is where you add your own graphics and source code) and you are good to go..

Here is a screenshot showing a few things:
  • The project loaded in CLion with all the targets available
  • The source code of the "main" method (does nothing / empty)
  • The result of the native-install target run in CLion which has compiled and installed the plugin in its location so that Recon can find it
  • A shell showing the command that can be run on the command line to do the same outside the IDE
  • The plugin loaded in Recon
file.png

Finally I wanted to thank David Antliff from Pitchblende who provided much appreciated help and feedback during the development process.

Feel free to contact me personally or use the ticket/issue on github for feedback, bugs, etc...

Yan
You do not have the required permissions to view the files attached to this post.

akeia
Posts: 11
Joined: 20 May 2018

Post 14 Jul 2020

Yan, your work is wonderful. I got the example to compile and show up in Recon.

I have all kinds of ideas for plugins or helpers for my music. But before I invest any work I have a big question: How to use my own plugins in Reason?

I mean it is fine to debug and test them in Recon but there is no way to use them in Reason?!?

I am used to the way Apple does it. You can use your own apps on your own phone without commercially publishing them. Without such a scheme I think opening up the Reason development is useless for non-commercial developers.

Is my observation correct that there is no way to use your own plugins in Reason(without commercially publishing them)? Do you think it makes any sense to lobby Reason Studios about this issue.

User avatar
Murf
RE Developer
Posts: 108
Joined: 21 Jun 2019
Location: Melbourne, Australia

Post 15 Jul 2020

akeia wrote:
14 Jul 2020
Yan, your work is wonderful. I got the example to compile and show up in Recon.

I have all kinds of ideas for plugins or helpers for my music. But before I invest any work I have a big question: How to use my own plugins in Reason?

I mean it is fine to debug and test them in Recon but there is no way to use them in Reason?!?

I am used to the way Apple does it. You can use your own apps on your own phone without commercially publishing them. Without such a scheme I think opening up the Reason development is useless for non-commercial developers.

Is my observation correct that there is no way to use your own plugins in Reason(without commercially publishing them)? Do you think it makes any sense to lobby Reason Studios about this issue.
Just upload them to the build servers and give yourself a beta of it

akeia
Posts: 11
Joined: 20 May 2018

Post 15 Jul 2020

Murf wrote:
15 Jul 2020
Just upload them to the build servers and give yourself a beta of it
I can not upload to the build servers unless I give some "company information". As an amateur developer I have no company. And registering one here in Europe opens up all kind of bureaucratic nightmares and has complicated and possibly expensive tax implications. That is a bit much for building my own plugins.

User avatar
pongasoft
RE Developer
Posts: 254
Joined: 21 Apr 2016
Location: Las Vegas

Post 15 Jul 2020

akeia wrote:
15 Jul 2020
Murf wrote:
15 Jul 2020
Just upload them to the build servers and give yourself a beta of it
I can not upload to the build servers unless I give some "company information". As an amateur developer I have no company. And registering one here in Europe opens up all kind of bureaucratic nightmares and has complicated and possibly expensive tax implications. That is a bit much for building my own plugins.
My understanding, is that you only need a company if you are going to charge for your plugins. I did create a company for pongasoft to publish my free RE (which costs me money...) but with the way things have evolved I believe you don't need one anymore for free stuff. I would contact Reason Studios directly.

It is true that you can publish your REs in beta, but they will expire so you will have to republish them over and over which is not great. Another solution is to release them for free (they don't have to be open source) even if they seem to be very specific to your needs.

Yan

akeia
Posts: 11
Joined: 20 May 2018

Post 15 Jul 2020

pongasoft wrote:
15 Jul 2020
... but with the way things have evolved I believe you don't need one anymore for free stuff. I would contact Reason Studios directly.
I will contact Reason Studios about the issue. My impression is that the information in the developer area of the website is a little neglected and outdated. I hope they do care about non-commercial development and that there will be an easy way to do that.

Billy
Posts: 420
Joined: 09 Dec 2016

Post 15 Jul 2020

I see the OS X version tested was 10.14.6 I'm running El Capitan 10.11.6 will the framework work for me?

I assume the reason recon sdk stuff will as I register some time ago, but this framework really has me interested in try some stuff
:ignition: :reason: :refill: :re: :rebirth: :PUF_figure: :nektar: :mac: :EiEPro: :Alesis Mk2:

User avatar
Murf
RE Developer
Posts: 108
Joined: 21 Jun 2019
Location: Melbourne, Australia

Post 16 Jul 2020

Billy wrote:
15 Jul 2020
I see the OS X version tested was 10.14.6 I'm running El Capitan 10.11.6 will the framework work for me?

I assume the reason recon sdk stuff will as I register some time ago, but this framework really has me interested in try some stuff
Not sure but just give it a try!

User avatar
Murf
RE Developer
Posts: 108
Joined: 21 Jun 2019
Location: Melbourne, Australia

Post 16 Jul 2020

akeia wrote:
15 Jul 2020
Murf wrote:
15 Jul 2020
Just upload them to the build servers and give yourself a beta of it
I can not upload to the build servers unless I give some "company information". As an amateur developer I have no company. And registering one here in Europe opens up all kind of bureaucratic nightmares and has complicated and possibly expensive tax implications. That is a bit much for building my own plugins.
Do you have the option in your Country of a "Business" in your personal name? In Australia we have them, it is very cheap and Reason Studios accepted it for my account.
(Here it is called "ABN")

Murf.

Billy
Posts: 420
Joined: 09 Dec 2016

Post 16 Jul 2020

I'm not sure but would be more interested in free / personal RE's
:ignition: :reason: :refill: :re: :rebirth: :PUF_figure: :nektar: :mac: :EiEPro: :Alesis Mk2:

User avatar
pongasoft
RE Developer
Posts: 254
Joined: 21 Apr 2016
Location: Las Vegas

Post 04 Sep 2020

I just released a minor update to re-cmake (1.0.1):

* When providing multiple commands to the script, the script now properly fails on the failed command and terminates with the error code of the failing process
* Added -b option to the script to add a banner between multiple commands to make the output easier to follow

Yan

User avatar
Murf
RE Developer
Posts: 108
Joined: 21 Jun 2019
Location: Melbourne, Australia

Post 04 Sep 2020

pongasoft wrote:
04 Sep 2020
I just released a minor update to re-cmake (1.0.1):

* When providing multiple commands to the script, the script now properly fails on the failed command and terminates with the error code of the failing process
* Added -b option to the script to add a banner between multiple commands to make the output easier to follow

Yan
Thanks Yan!

User avatar
Oquasec
Posts: 2814
Joined: 05 Mar 2017

Post 05 Sep 2020

If that actually works that be neat. The only question have is how did you create a u45 file successfully and submitted it?

User avatar
pongasoft
RE Developer
Posts: 254
Joined: 21 Apr 2016
Location: Las Vegas

Post 05 Sep 2020

Oquasec wrote:
05 Sep 2020
If that actually works that be neat. The only question have is how did you create a u45 file successfully and submitted it?
You use the "universal45" command:

Code: Select all

> ./re.sh universal45
Scanning dependencies of target jbox-u45-build
Product ID: com.pongasoft.BlankPlugin
RackExtension name: BlankPlugin
Using LLVM at path: /Users/Shared/ReasonStudios/JukeboxSDK_4.2.0/SDK/Tools/LLVM
...
...
Creating archive Output/Universal45/BlankPlugin.u45
Build finished
Generated: /Volumes/Vault/deployment/build/re-blank-plugin/Debug/jbox/Output/Universal45/BlankPlugin.u45
[100%] Built target jbox-u45-build
Then you upload the .u45 created to the servers.. nothing else to do...

Yan

User avatar
pongasoft
RE Developer
Posts: 254
Joined: 21 Apr 2016
Location: Las Vegas

Post 22 Sep 2020

I just pushed a new release (1.1.0) with the following release notes:

* Added preview command (resp. common-preview build target) which runs the RE2DPreview tool provided with the SDK. This tool generates a 2D preview of the device front, back, folded front and folded back (generated at full 5x resolution (3770x345*u)). This can be useful to generate images required for the shop (vs running Reason and capturing a low resolution image).

Here is an example for CVA-7 front panel (note that I had to reduce the size by 50% to be able to upload to the forum...):


Snapshot_Panel_Front.png
Yan
You do not have the required permissions to view the files attached to this post.

User avatar
meowsqueak
Posts: 40
Joined: 21 Jan 2015

Post 22 Sep 2020

pongasoft wrote:
22 Sep 2020
I just pushed a new release (1.1.0)
Excellent, thank you for this addition. I am very happy with your system and I am using it a lot.

  • Information
  • Who is online

    Users browsing this forum: CommonCrawl [Bot] and 0 guests