Oneiroi Patch Compilation

Hi there,
since the Oneiroi runs on the OWL board, I assumed that I could use the online compiler included in the patch libary. As a starting point I used the current version of the Oneiroi patch and uploaded all the source files. When trying to compile I get the following error:

In file included from /tmp/owl/owl-src-GEqHzB/Oneiroi_1_2_2Patch.hpp:4,
                 from /tmp/owl/owl-build-uDgqoz/registerpatch.h:1,
                 from ./Source/PatchProgram.cpp:14:
/tmp/owl/owl-src-GEqHzB/Ui.h: In constructor 'Ui::Ui(PatchCtrls*, PatchCvs*, PatchState*)':
/tmp/owl/owl-src-GEqHzB/Commons.h:42:30: error: 'BUTTON_10' was not declared in this scope; did you mean 'BUTTON_1'?
   42 | #define MOD_CV_RED_LED_PARAM BUTTON_10
      |                              ^~~~~~~~~
/tmp/owl/owl-src-GEqHzB/Ui.h:332:45: note: in expansion of macro 'MOD_CV_RED_LED_PARAM'
  332 |         leds_[LED_MOD_AMOUNT] = Led::create(MOD_CV_RED_LED_PARAM);
      |                                             ^~~~~~~~~~~~~~~~~~~~
/tmp/owl/owl-src-GEqHzB/Commons.h:41:32: error: 'BUTTON_9' was not declared in this scope; did you mean 'BUTTON_8'?
   41 | #define MOD_CV_GREEN_LED_PARAM BUTTON_9
      |                                ^~~~~~~~
/tmp/owl/owl-src-GEqHzB/Ui.h:333:44: note: in expansion of macro 'MOD_CV_GREEN_LED_PARAM'
  333 |         leds_[LED_CV_AMOUNT] = Led::create(MOD_CV_GREEN_LED_PARAM);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~
/tmp/owl/owl-src-GEqHzB/Ui.h: In member function 'void Ui::ProcessButton(PatchButtonId, uint16_t, uint16_t)':
/tmp/owl/owl-src-GEqHzB/Commons.h:43:23: error: 'BUTTON_11' was not declared in this scope; did you mean 'BUTTON_1'?
   43 | #define MOD_CV_BUTTON BUTTON_11
      |                       ^~~~~~~~~
/tmp/owl/owl-src-GEqHzB/Ui.h:791:14: note: in expansion of macro 'MOD_CV_BUTTON'
  791 |         case MOD_CV_BUTTON:
      |              ^~~~~~~~~~~~~
make[1]: *** [compile.mk:155: /tmp/owl/owl-build-uDgqoz/PatchProgram.o] Error 1
make: *** [Makefile:110: patch] Error 2
ERROR: Patch build failed.

I assume this is related to the internal Patch.h file not including these definitions.
Where can I find these definitions?

They are missing from the current OwlProgram

I’ve added them in my fork: https://github.com/RebelTechnology/OwlProgram/compare/develop...Wasted-Audio:OwlProgram:wstd

They are in LibSource/OpenWareMidiControl.h

Thanks for the quick reply. It seems like you got the OwlProgram compiler running locally, I also tried that, but the installation / requirements seem to to be up to date (see alson https://github.com/RebelTechnology/OwlProgram/issues/120). Any tips on seeting up the patch compiler locally?

I actually run it as part of the plugdata toolchain :wink:

Yeah, extra buttons for Oneiroi are not in upstream OwlProgram yet. It looks like only buttons definition was added to the forked repo.

Jakob, it would be interesting to hear what are your plans for the custom patch.

I mostly want to tweak some parameters first and then see if can implement some different stuff (switch out the resonartor with a bitcrusher, …). @antisvin do you plan merge the extra stuff for the Oneiroi into the upstream OwlProgram?