Compiled for Mac

Latest build for Mac:
plugin.dylib.zip
Not sure if the Cartesian sequencer is supposed to be yellow or not, or have any text legends:

Some warnings during compilation:
src/MentalClip.cpp:50:7: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
if (abs(signal_in) > threshold)
^
src/MentalClip.cpp:50:7: note: use function 'std::abs' instead
if (abs(signal_in) > threshold)
^~~
std::abs
src/MentalClip.cpp:50:7: note: include the header  or explicitly
provide a declaration for 'std::abs'
1 warning generated.
...
src/MentalFold.cpp:42:7: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
if (abs(signal_in_1) > threshold_fold )
^
src/MentalFold.cpp:42:7: note: use function 'std::abs' instead
if (abs(signal_in_1) > threshold_fold )
^~~
std::abs
src/MentalFold.cpp:42:7: note: include the header  or explicitly
provide a declaration for 'std::abs'
1 warning generated.
...
src/MentalMuxes.cpp:59:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_a2 = abs((signal_in_a2 / 3));
^
src/MentalMuxes.cpp:59:20: note: use function 'std::abs' instead
level_led_a2 = abs((signal_in_a2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:59:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:65:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_a1 = abs((signal_in_a1 / 3));
^
src/MentalMuxes.cpp:65:20: note: use function 'std::abs' instead
level_led_a1 = abs((signal_in_a1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:65:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:75:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_b2 = abs((signal_in_b2 / 3));
^
src/MentalMuxes.cpp:75:20: note: use function 'std::abs' instead
level_led_b2 = abs((signal_in_b2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:75:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:81:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_b1 = abs((signal_in_b1 / 3));
^
src/MentalMuxes.cpp:81:20: note: use function 'std::abs' instead
level_led_b1 = abs((signal_in_b1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:81:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:90:24: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
int selector = round(abs(select_c));
^
src/MentalMuxes.cpp:90:24: note: use function 'std::abs' instead
int selector = round(abs(select_c));
^~~
std::abs
src/MentalMuxes.cpp:90:24: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:96:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c1 = abs((signal_in_c1 / 3));
^
src/MentalMuxes.cpp:96:20: note: use function 'std::abs' instead
level_led_c1 = abs((signal_in_c1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:96:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:104:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c2 = abs((signal_in_c2 / 3));
^
src/MentalMuxes.cpp:104:20: note: use function 'std::abs' instead
level_led_c2 = abs((signal_in_c2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:104:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:112:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c3 = abs((signal_in_c3 / 3));
^
src/MentalMuxes.cpp:112:20: note: use function 'std::abs' instead
level_led_c3 = abs((signal_in_c3 / 3));
^~~
std::abs
src/MentalMuxes.cpp:112:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:120:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c4 = abs((signal_in_c4 / 3));
^
src/MentalMuxes.cpp:120:20: note: use function 'std::abs' instead
level_led_c4 = abs((signal_in_c4 / 3));
^~~
std::abs
src/MentalMuxes.cpp:120:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
9 warnings generated.

thanks, new cartesian sequencer is still very beta, made it from scratch last night , will fix the initialisation issue with the light and add background graphic, which I put it in the binary package but didn't add the file to the commit, will fix that now and fix the other things and get it close to finished tonight hopefully.

Oh and i don't get any warnings when i compile it, i'll go through and add the scope resolution to make the warnings go away some time in the next week or two.
What are you using to compile it on Mac? sounds pretty strict.

background graphic up now, gotta have something to eat then I'll finish the sequencer off.

Just added buttons like rene, changed the outputs so it now has quantised and unquantised outputs instead of the switched output i had before, more useful this way i think.
added the jacks for row and column outs for chords but haven't connected them yet, another few hours at it  and i'll get that going and the x and y CV ins working.

@lnikj
Ok it's pretty much working now apart from the cv ins which are working but not quite right yet.
i could add quantisation to the row and column outs but you can run it through quantisers for now.
there's a few other features i could add i guess and i might expand it to 66 or even 88

HI
I'm afraid it is not building here:
src/MentalCartesian.cpp:49:30: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
float grid_lights[4][4] = {0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:50:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:51:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:52:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0};
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:54:32: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
float button_lights[4][4] = {0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:55:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:56:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:57:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0};
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:142:5: error: no type named 'div_t' in namespace
'std'; did you mean simply 'div_t'?
std::div_t division_x;
^~~~~~~~~~
div_t
/usr/include/stdlib.h:85:3: note: 'div_t' declared here
} div_t;
^
src/MentalCartesian.cpp:150:16: error: use of undeclared identifier
'division_y'; did you mean 'division_x'?
std::div_t division_y;
^~~~~~~~~~
division_x
src/MentalCartesian.cpp:142:16: note: 'division_x' declared here
std::div_t division_x;
^
src/MentalCartesian.cpp:150:15: error: expected ';' after expression
std::div_t division_y;
^
;
src/MentalCartesian.cpp:150:10: error: no member named 'div_t' in namespace
'std'
std::div_t division_y;
~^
src/MentalCartesian.cpp:151:5: error: use of undeclared identifier
'division_y'; did you mean 'division_x'?
division_y = div(y_position + y_cv,4);
^~~~~~
division_x
src/MentalCartesian.cpp:142:16: note: 'division_x' declared here
std::div_t division_x;
^
src/MentalCartesian.cpp:153:18: error: use of undeclared identifier
'division_y'
y_position = division_y.rem;
^

Sorry but without a mac to test on I really can't help much.
It compiles with no errors or warnings in windows.
Perhaps you can adjust the parameters of your compiler environment to be less strict with warnings.
the div_t errors can be easily fixed by removing the std:: before their declaration i think, try it.
if that fails then you can remove the references to the cartesian module in mental.cpp and .hpp
and move the source file out of the source folder and try building it without that module
same applies for other modules you may have trouble with.

Or you could install windows or linux on your mac, they are just PCs these days anyway

I'd do that if I had the slightest clue what you are talking about. I'm just a user not a dev :(
No worries. All the best.

Well here's your chance to begin to learn.
I'm no programming guru either, I just learn by copying and trying things out, reading up on things.

@autodafe said he would compile it for mac but his last upload was a few days ago and there's been quite a few changes since then.
here's a link to his binary package
https://github.com/Strum/Strums_Mental_VCV_Modules/files/1388461/plugin.dylib.zip
hopefully he will upload a more up to date version in the next day or so.

When you are close to pensionable age learning new things is quite challenging! But, I will try to have a look tonight and see what I can figure out.  Cheers.

i'm no spring chicken myself
getting into the habit of learning is the key.

I found the file and did as you said but I'm afraid that opened another can of worms. Sorry. The buffer on my terminal was filled so the top is missing. Hopefully you can spot a pattern.
--
  provide a declaration for 'std::abs'

src/MentalMuxes.cpp:104:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c2 = abs((signal_in_c2 / 3));
^
src/MentalMuxes.cpp:104:20: note: use function 'std::abs' instead
level_led_c2 = abs((signal_in_c2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:104:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:112:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c3 = abs((signal_in_c3 / 3));
^
src/MentalMuxes.cpp:112:20: note: use function 'std::abs' instead
level_led_c3 = abs((signal_in_c3 / 3));
^~~
std::abs
src/MentalMuxes.cpp:112:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:120:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c4 = abs((signal_in_c4 / 3));
^
src/MentalMuxes.cpp:120:20: note: use function 'std::abs' instead
level_led_c4 = abs((signal_in_c4 / 3));
^~~
std::abs
src/MentalMuxes.cpp:120:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
9 warnings generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalPatchMatrix.cpp.o src/MentalPatchMatrix.cpp
src/MentalPatchMatrix.cpp:30:4: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:4: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:8: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:8: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:12: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:12: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:16: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:16: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:20: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:20: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:24: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:24: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:28: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:28: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:32: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:32: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:36: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:36: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:40: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:40: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:4: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{                                      }
src/MentalPatchMatrix.cpp:31:3: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:3: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:7: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:7: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:11: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:11: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:15: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:15: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:19: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:19: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:23: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:23: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:27: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:27: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:31: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:31: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:35: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:35: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [build/src/MentalPatchMatrix.cpp.o] Error 1
MBP:Strums_Mental_VCV_Modules nik$ cls
-bash: cls: command not found
MBP:Strums_Mental_VCV_Modules nik$ clear
MBP:Strums_Mental_VCV_Modules nik$ make clean
rm -rfv build plugin.dylib dist
build/src/MentalABSwitches.cpp.d
build/src/MentalABSwitches.cpp.o
build/src/MentalButtons.cpp.d
build/src/MentalButtons.cpp.o
build/src/MentalCartesian.cpp.d
build/src/MentalCartesian.cpp.o
build/src/MentalChord.cpp.d
build/src/MentalChord.cpp.o
build/src/MentalClip.cpp.d
build/src/MentalClip.cpp.o
build/src/MentalClockDivider.cpp.d
build/src/MentalClockDivider.cpp.o
build/src/MentalFold.cpp.d
build/src/MentalFold.cpp.o
build/src/MentalGates.cpp.d
build/src/MentalGates.cpp.o
build/src/MentalLogic.cpp.d
build/src/MentalLogic.cpp.o
build/src/MentalMixer.cpp.d
build/src/MentalMixer.cpp.o
build/src/MentalMults.cpp.d
build/src/MentalMults.cpp.o
build/src/MentalMuxes.cpp.d
build/src/MentalMuxes.cpp.o
build/src/MentalPatchMatrix.cpp.d
build/src
build
MBP:Strums_Mental_VCV_Modules nik$ make
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalABSwitches.cpp.o src/MentalABSwitches.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalButtons.cpp.o src/MentalButtons.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalCartesian.cpp.o src/MentalCartesian.cpp
src/MentalCartesian.cpp:49:30: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
float grid_lights[4][4] = {0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:50:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:51:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:52:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0};
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:54:32: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
float button_lights[4][4] = {0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:55:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:56:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:57:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0};
^~~~~~~~~~~~~~~
{              }
8 warnings generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalChord.cpp.o src/MentalChord.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalClip.cpp.o src/MentalClip.cpp
src/MentalClip.cpp:50:7: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
if (abs(signal_in) > threshold)
^
src/MentalClip.cpp:50:7: note: use function 'std::abs' instead
if (abs(signal_in) > threshold)
^~~
std::abs
src/MentalClip.cpp:50:7: note: include the header  or explicitly
provide a declaration for 'std::abs'
1 warning generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalClockDivider.cpp.o src/MentalClockDivider.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalFold.cpp.o src/MentalFold.cpp
src/MentalFold.cpp:42:7: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
if (abs(signal_in_1) > threshold_fold )
^
src/MentalFold.cpp:42:7: note: use function 'std::abs' instead
if (abs(signal_in_1) > threshold_fold )
^~~
std::abs
src/MentalFold.cpp:42:7: note: include the header  or explicitly
provide a declaration for 'std::abs'
1 warning generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalGates.cpp.o src/MentalGates.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalLogic.cpp.o src/MentalLogic.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalMixer.cpp.o src/MentalMixer.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalMults.cpp.o src/MentalMults.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalMuxes.cpp.o src/MentalMuxes.cpp
src/MentalMuxes.cpp:59:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_a2 = abs((signal_in_a2 / 3));
^
src/MentalMuxes.cpp:59:20: note: use function 'std::abs' instead
level_led_a2 = abs((signal_in_a2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:59:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:65:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_a1 = abs((signal_in_a1 / 3));
^
src/MentalMuxes.cpp:65:20: note: use function 'std::abs' instead
level_led_a1 = abs((signal_in_a1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:65:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:75:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_b2 = abs((signal_in_b2 / 3));
^
src/MentalMuxes.cpp:75:20: note: use function 'std::abs' instead
level_led_b2 = abs((signal_in_b2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:75:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:81:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_b1 = abs((signal_in_b1 / 3));
^
src/MentalMuxes.cpp:81:20: note: use function 'std::abs' instead
level_led_b1 = abs((signal_in_b1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:81:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:90:24: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
int selector = round(abs(select_c));
^
src/MentalMuxes.cpp:90:24: note: use function 'std::abs' instead
int selector = round(abs(select_c));
^~~
std::abs
src/MentalMuxes.cpp:90:24: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:96:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c1 = abs((signal_in_c1 / 3));
^
src/MentalMuxes.cpp:96:20: note: use function 'std::abs' instead
level_led_c1 = abs((signal_in_c1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:96:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:104:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c2 = abs((signal_in_c2 / 3));
^
src/MentalMuxes.cpp:104:20: note: use function 'std::abs' instead
level_led_c2 = abs((signal_in_c2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:104:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:112:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c3 = abs((signal_in_c3 / 3));
^
src/MentalMuxes.cpp:112:20: note: use function 'std::abs' instead
level_led_c3 = abs((signal_in_c3 / 3));
^~~
std::abs
src/MentalMuxes.cpp:112:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:120:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c4 = abs((signal_in_c4 / 3));
^
src/MentalMuxes.cpp:120:20: note: use function 'std::abs' instead
level_led_c4 = abs((signal_in_c4 / 3));
^~~
std::abs
src/MentalMuxes.cpp:120:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
9 warnings generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalPatchMatrix.cpp.o src/MentalPatchMatrix.cpp
src/MentalPatchMatrix.cpp:30:4: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:4: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:8: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:8: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:12: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:12: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:16: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:16: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:20: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:20: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:24: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:24: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:28: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:28: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:32: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:32: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:36: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:36: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:40: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:40: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:4: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{                                      }
src/MentalPatchMatrix.cpp:31:3: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:3: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:7: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:7: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:11: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:11: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:15: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:15: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:19: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:19: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:23: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:23: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:27: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:27: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:31: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:31: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:35: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:35: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [build/src/MentalPatchMatrix.cpp.o] Error 1
MBP:Strums_Mental_VCV_Modules nik$
MBP:Strums_Mental_VCV_Modules nik$ make clean
rm -rfv build plugin.dylib dist
build/src/MentalABSwitches.cpp.d
build/src/MentalABSwitches.cpp.o
build/src/MentalButtons.cpp.d
build/src/MentalButtons.cpp.o
build/src/MentalCartesian.cpp.d
build/src/MentalCartesian.cpp.o
build/src/MentalChord.cpp.d
build/src/MentalChord.cpp.o
build/src/MentalClip.cpp.d
build/src/MentalClip.cpp.o
build/src/MentalClockDivider.cpp.d
build/src/MentalClockDivider.cpp.o
build/src/MentalFold.cpp.d
build/src/MentalFold.cpp.o
build/src/MentalGates.cpp.d
build/src/MentalGates.cpp.o
build/src/MentalLogic.cpp.d
build/src/MentalLogic.cpp.o
build/src/MentalMixer.cpp.d
build/src/MentalMixer.cpp.o
build/src/MentalMults.cpp.d
build/src/MentalMults.cpp.o
build/src/MentalMuxes.cpp.d
build/src/MentalMuxes.cpp.o
build/src/MentalPatchMatrix.cpp.d
build/src
build
MBP:Strums_Mental_VCV_Modules nik$ clear
MBP:Strums_Mental_VCV_Modules nik$ make
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalABSwitches.cpp.o src/MentalABSwitches.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalButtons.cpp.o src/MentalButtons.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalCartesian.cpp.o src/MentalCartesian.cpp
src/MentalCartesian.cpp:49:30: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
float grid_lights[4][4] = {0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:50:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:51:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:52:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0};
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:54:32: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
float button_lights[4][4] = {0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:55:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:56:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~
{              }
src/MentalCartesian.cpp:57:29: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
0.0,0.0,0.0,0.0};
^~~~~~~~~~~~~~~
{              }
8 warnings generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalChord.cpp.o src/MentalChord.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalClip.cpp.o src/MentalClip.cpp
src/MentalClip.cpp:50:7: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
if (abs(signal_in) > threshold)
^
src/MentalClip.cpp:50:7: note: use function 'std::abs' instead
if (abs(signal_in) > threshold)
^~~
std::abs
src/MentalClip.cpp:50:7: note: include the header  or explicitly
provide a declaration for 'std::abs'
1 warning generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalClockDivider.cpp.o src/MentalClockDivider.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalFold.cpp.o src/MentalFold.cpp
src/MentalFold.cpp:42:7: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
if (abs(signal_in_1) > threshold_fold )
^
src/MentalFold.cpp:42:7: note: use function 'std::abs' instead
if (abs(signal_in_1) > threshold_fold )
^~~
std::abs
src/MentalFold.cpp:42:7: note: include the header  or explicitly
provide a declaration for 'std::abs'
1 warning generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalGates.cpp.o src/MentalGates.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalLogic.cpp.o src/MentalLogic.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalMixer.cpp.o src/MentalMixer.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalMults.cpp.o src/MentalMults.cpp
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalMuxes.cpp.o src/MentalMuxes.cpp
src/MentalMuxes.cpp:59:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_a2 = abs((signal_in_a2 / 3));
^
src/MentalMuxes.cpp:59:20: note: use function 'std::abs' instead
level_led_a2 = abs((signal_in_a2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:59:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:65:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_a1 = abs((signal_in_a1 / 3));
^
src/MentalMuxes.cpp:65:20: note: use function 'std::abs' instead
level_led_a1 = abs((signal_in_a1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:65:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:75:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_b2 = abs((signal_in_b2 / 3));
^
src/MentalMuxes.cpp:75:20: note: use function 'std::abs' instead
level_led_b2 = abs((signal_in_b2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:75:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:81:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_b1 = abs((signal_in_b1 / 3));
^
src/MentalMuxes.cpp:81:20: note: use function 'std::abs' instead
level_led_b1 = abs((signal_in_b1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:81:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:90:24: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
int selector = round(abs(select_c));
^
src/MentalMuxes.cpp:90:24: note: use function 'std::abs' instead
int selector = round(abs(select_c));
^~~
std::abs
src/MentalMuxes.cpp:90:24: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:96:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c1 = abs((signal_in_c1 / 3));
^
src/MentalMuxes.cpp:96:20: note: use function 'std::abs' instead
level_led_c1 = abs((signal_in_c1 / 3));
^~~
std::abs
src/MentalMuxes.cpp:96:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:104:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c2 = abs((signal_in_c2 / 3));
^
src/MentalMuxes.cpp:104:20: note: use function 'std::abs' instead
level_led_c2 = abs((signal_in_c2 / 3));
^~~
std::abs
src/MentalMuxes.cpp:104:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:112:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c3 = abs((signal_in_c3 / 3));
^
src/MentalMuxes.cpp:112:20: note: use function 'std::abs' instead
level_led_c3 = abs((signal_in_c3 / 3));
^~~
std::abs
src/MentalMuxes.cpp:112:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
src/MentalMuxes.cpp:120:20: warning: using integer absolute value function
'abs' when argument is of floating point type [-Wabsolute-value]
level_led_c4 = abs((signal_in_c4 / 3));
^
src/MentalMuxes.cpp:120:20: note: use function 'std::abs' instead
level_led_c4 = abs((signal_in_c4 / 3));
^~~
std::abs
src/MentalMuxes.cpp:120:20: note: include the header  or explicitly
provide a declaration for 'std::abs'
9 warnings generated.
c++ -fPIC -I../../include -I../../dep/include -DVERSION=dev -DVERSION_dev -MMD -O3 -march=nocona -ffast-math -Wall -g -DARCH_MAC -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -c -o build/src/MentalPatchMatrix.cpp.o src/MentalPatchMatrix.cpp
src/MentalPatchMatrix.cpp:30:4: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:4: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:8: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:8: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:12: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:12: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:16: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:16: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:20: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:20: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:24: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:24: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:28: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:28: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:32: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:32: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:36: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:36: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:40: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:30:40: note: insert an explicit cast to silence
this issue
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:30:4: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{                                      }
src/MentalPatchMatrix.cpp:31:3: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:3: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:7: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:7: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:11: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:11: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:15: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:15: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:19: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:19: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:23: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:23: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:27: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:27: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:31: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:31: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
src/MentalPatchMatrix.cpp:31:35: error: type 'double' cannot be narrowed to
'bool' in initializer list [-Wc++11-narrowing]
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
src/MentalPatchMatrix.cpp:31:35: note: insert an explicit cast to silence
this issue
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
^~~
static_cast( )
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [build/src/MentalPatchMatrix.cpp.o] Error 1
MBP:Strums_Mental_VCV_Modules nik$

sorry but without a mac and some knowledge of the environment you are using to compile it in i can't help.
i don't mean to be rude but if you don't know enough about c++ coding to work these sort of simple things on on your own you really might be better off just waiting till i can get someone who knows what they are doing to compile it and then i'll put a binary release up for mac users.
the other alternative is to get a real computer.
they cost about half what a mac does anyway and run a much wider range of software faster.

We seem to have got off on the wrong foot. You asked me if I could compile this for you as you didn't have a mac. I was just trying to help even though I lack the skills. Sorry if there was some misunderstanding. I can certainly wait. Hope all goes well. All the best.

Well I assumed that if you were going to compile it that you would know enough to actually compile it.
Sorry I didn't mean to be rude.

No worries. I am just an end user who followed Andrew's instructions on the VCVrack page about how to set up a build environment and build rack and the modules. I should have been clearer. Anyway, now I have edited some source code for the first time in life so there's a new experience :)

Well done, see it's not as hard as you might have at first thought.
did oyu get it working?
if and when you do I'd be really grateful if oyu would send me a link to a binary of the latest build every few days.
I've pretty much ironed out the bugs in the few modules that weren't workign quite right.
the pan cv now works in the mixers and the quantiser is now working pretty much as if should.
I'll add a demo patches folder and put a few of the things i've done so far using the modules.
Oh and https://github.com/Phal-anx has started working on redoing the graphics for me so they should start to look nicer soon.
I've got a few more simple modules to build then i have in mind to build some more copies of the modules i would want in a real modular.
a good delay with long repeat times and ability to sync to a clock is essential but i don't quite know how to do it yet.
I'd really like to make a spectral multiband resonator but really don't have a clue as to how to go about that.
the next modules i am planning, once i get the existing ones to save settings, the last major bug that needs fixing before they really work fully, will be a master clock that you can set a tempo and subvisions of it with, a quad LFO similar to xaoc's batumi and a basic compressor.

Sorry.  I didn't get it working. I really have never even looked at a C++ file in my life before. I have no programming experience. I looked and tried to figure out what the error messages might mean but I couldn't figure it out. For example:
{ }
src/MentalCartesian.cpp:54:32: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
float button_lights[4][4] = {0.0,0.0,0.0,0.0,
I spent half an hour randomly putting braces - (), {}. [] - around anything and everything that looked like it might be so enclosed - but all it did was create even more problems.
I think you had better hope Anthony can help out again. Sorry.
Just an aside: I have the Softube 4MS SMR but to be honest I have struggled with getting anything useful with it in my own projects. Nevertheless, if there is anything I can report to you about its behaviour just let me know.

Strum,
I have some ideas on how the spectral resonator works. Some of the concept was discussed in my Pure Data class last year, and I pretty much remember how it goes and might even still have the pure data patches I built for that assignment. I'd be more than happy to help provide some insight if that is helpful for you. I have no skills in C++, but I can explain some concepts for the device if you're stuck.

Also, I was able to build this on mac just now with the cartesian sequencer. I had the same issues as the original poster, but I removed the std:: from the div_t errors and was able to build the module. still got some initialization errors, which I tried to fix to no avail, but at least the thing builds for mac now. will test if it is working. If not, I still have an older working version of the bundle from a few days prior or I can try to build without the cartesian sequencer.
I can provide the changed cpp if that is of help.

I won't be able to build until later but it would be great if you could upload it, and a binary.
Cheers

@Mubali, thank you so much for coming to the rescue here.
I am making modifications by the day at the moment but hopefully I have most of the bugs ironed out now and the functionality pretty much as i originally intended. I made significant changes this morning so you will need to download the latest code.
The Cartesian Sequencer still lacks some of the features of rene but i'll hopefully get around to adding in the future, i think it's working reasonably well but i haven't had time to test it thoroughly in a patch yet.
I have tried to figure out another way to intialise the arrays but haven't worked it out yet, perhaps you might be able to help.
As for the SMR, i'd be keen to know anything you could teach me about how it works though i have a few other modules to make yet before i will have time for actually implementing it. I anticipate a pretty steep learning curve, most of what i have done so far hasn't involved any heavy maths like fft's or anything.
@lnikj it's great that you are getting into the code even if you can't make sense of it yet, hopefully we will be able to organise regular updates of the Mac binaries so you can still use the plugin while you try and understand more of the code and the building process. There is lots of great learning material on the net for C++ and it's imho the king of languages.

Here you go.
What I did was replace the cartesian cpp file, then built the modules after that, so if the binary doesn't seem to work for you, try building it after replacing the cpp file.
WorkingMacCartesian.zip

@Mubali
I think I have another day or 2 of work before things start to stabilise a bit then I'll add a link to the Mac build  if you could rebuild it say once a week for Mac users I'd really appreciate it.
The new graphics should be in place in the next day or 2 hopefully and i'll add a folder with some demo patches to the repo so users can how to use the modules.
thanks again for your help.

@Strum  The Spectral Resonator doesn't actually need to use fft. It's just a series or parallel bandpass filters that are spaced apart according to the harmonic series. There's some post filter gain that's applied as well for each filter, but it's really the harmonic spacing of the bp filters along with Q control that really provide the effect that it has. So you'll need to decide how many bpf you want to use, and then figure out a good harmonic spacing for them. I think the 4ms one has 6 filters and according to their writeup, it's tuned to where all 6 make a chord when played together. Probably an 11 chord given the 6 notes. So then all you'd need to do is figure out the mathematical relationship between each stage (not hard to figure out)
The pain in the ass will probably be all of the scales, morphing, and the extra stuff that really give it the unique feel it has, but the basic circuit isn't all that complicated. (Technically this is very similar to additive synthesis, but using a subtractive process)
Hope it helps.
I think I can probably build once a week for the Mac users.

@Mubali, that sounds simpler than i had thought.
I've not written a filter yet and don't feel understand how they work in the digital domain but I can look at the available code.
the harmonic stuff doesn't sound too hard , i've done bits of related stuff with the chord module.
Matching the exact behaviour of the 4ms smr may be difficult without access to one to analyse but i can probably get most of it's basic functionality by looking at the manual for it.
Once a week builds for Mac would be great, thanks.

Sorry for barging in here, but @Mubali, couldn't you just add #include <iostream> on top in the MentalCartesian.cpp file? Seems to work when trying to build here, at least for it gets rid of the errors related to MentalCartesian.cpp.
However, I am also getting src/MentalClockDivider.cpp:179:43: error: use of undeclared identifier       'gSampleRate', where is this declared?

@dotinspace Hey, that did actually work just fine. I'm a noob, just trying to help out as I'm learning how this stuff works. I however did not get that error for the MentalClockDivider.

@Strum "a good delay with long repeat times and ability to sync to a clock is essential but i don't quite know how to do it yet."
I have some ideas of how to go about this too. I don't have the full idea worked out as I am not sure how to translate cv to delay time, but I do know how to generate ms values from two incoming events to create the clock that the delay can sync to. (Again, not how to do it in C++, but the general method of how this would work) I'm pretty certain that most of the techniques applied for building things in Max/MSP or Pure Data would apply for the most part here. I think Pure Data's backbone is C.
Rather than explain on here, you can just email me and we can continue dialog there. I'm on Gmail under the same name

@Mubali Well, me too, haven't touch C++ other than a short introductory course at uni. :)
That gSampleRate thingie is fixed by changing it to engineGetSampleRate(), perhaps that was already done in your case, or perhaps you are building against a different version of Rack? Beats me.
Getting more errors, unfortunately. type 'double' cannot be narrowed to 'bool' when building MentalPatchMatrix.cpp. Just listing here in case anyone has any suggestions. I am guessing I might have to change make flags.

Yeah, I think I'm building against the dev version.

@Strum, is it necessary to implicitly cast double to bool in the list-initialization in MentalPatchMatrix.cpp, line 28? That seems to be non-standard, as far as I can tell from reading about it, or perhaps I misunderstood something:

Narrowing conversions
list-initialization limits the allowed implicit conversions by prohibiting the following:

conversion from a floating-point type to an integer type
conversion from a long double to double or to float and conversion from double to float, except where the source is a constant expression and overflow does not occur
conversion from an integer type to a floating-point type, except where the source is a constant expression whose value can be stored exactly in the target type
conversion from integer or unscoped enumeration type to integer type that cannot represent all values of the original, except where source is a constant expression whose value can be stored exactly in the target type

Changing from 0.0 to 0 seems to work, in terms of it building, however now it doesn't show in VCV Rack. ^^

@Mubali
Many thanks for the binary. All fine here. Not tried to build again yet.

@dotinspace, see the issue there, it's should be 0's not 0.0 in that array initialisation.
strange i don't get the errors when building in windows.
got gigs on tonight and tomorrow so don't have time to do much today, will try and get it sorted out by monday.

@dotinspace , i don't know where the gsample rate thing is coming from as far as i know i have not used that in any module i have made
which file is that in?

ok, i think i've fixed the 2d array initialisation issue and it should build more easily now.
i'd really rather not have to go through and do versioning for mac and linux for the other issues, but if i have to i guess i can, it'll take a bit of time though.

@Strum many thanks! No rush, though, I can make it work myself, I think. Just thought it would be handy to make sure it builds on more/all platforms.
gSampleRate is being used in MentalClockDivider.cpp, just tested in freshly pulled repo.
I guess we get different results/errors based on different compiler flags and/or different versions of the Rack source?
Again, no rush, focus on your gigs! Enjoy.

i can't draw myself away from it.
looks like there has been an api change with the sample rate thing, i'll update my rack code and fix it, my next couple of modules will be using it because they will be clock and rhythm related. I'd forgotten it was in the clock divider.
I'm addicted to rack, I just want to stay home and play with it now i have pretty much all the modules i need to do what i want, a few things to make yet but i'm getting close.
I want it to work on all platforms too, I'll get a linux machine setup in the next week or so and start releasing linux builds and @Mubali has offered to do weekly Mac builds.

Yeah, I am hooked too. And I'd like to help out in any way I can, so shout out if you need anything. And as long as you and @Mubali and you manage to provide working releases for all three platforms, that's great! Thank you for your great effort!

It's been much easier than i expected at first actually and things have come together much faster than i thought they would, with 2 guys now owrking on the graphics they should start to look better soon as well.
Next major module will be a master clock module that you can set a tempo, a time signature and multiples and subdivisions of that with but i've got a couple more simple utility modules in mind i might do first.

you can help most by just using the modules and giving me feedback on any bugs you find or any ideas you might have for additional features you'd like to see added or new modules you want.

awesome, thanks @charlescrammond, i'll add it to the repo now everything is working pretty much right, just waiting on the more pro graphic look that @phal-anx is working on then I can get on a start making more modules.

@charlescrammond, can you post your patches somewhere?, i'd be keen to see what you are doing with the modules, have you messed with chord yet?
I've been having some real fun with that one.

MentalPatchMatrix_and_MentalClockDivider_fixed_for_mac_dev.zip
All I've done is edited these two files so far to make them compile! not much messing yet, only just getting into git and c++.

Cool.
This is my first git project so it's all new to me as well thought I have played with C++ on and off over the last 20 years but never in any great complexity or size and modern projects are just so big and complex.

I'm unfortunately unable to compile the most recent build of rack, so I
can't really run the new samplerate objects. I'm still trying to figure out
the problem, but I probably can't push the current builds anymore till I
figure out what's going on.
On Sat, Oct 21, 2017 at 8:11 AM, Strum<EMAIL_ADDRESS>wrote:

awesome, thanks @charlescrammond https://github.com/charlescrammond,
i'll add it to the repo now everything is working pretty much right, just
waiting on the more pro graphic look that @Phal-anx
https://github.com/phal-anx is working on then I can get on a start
making more modules.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Strum/Strums_Mental_VCV_Modules/issues/3#issuecomment-338409258,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APxuudE5tgkkw-iNB_o-3Hcmk-Wr3Eytks5sugm7gaJpZM4P9NPJ
.

--
Sincerely,
Greg Farley

@Mubali What errors are you getting while compiling? I have compiled successfully against newest Rack, with editing the code as above.

I'm getting an error compiling Rack itself. Something related to the Midi
to CV object. Some issue in XCode I think, but not really certain. Won't
build the rack application at all. Make run generates and error and that's
as far as it goest. I tried to muck about with it but got confused and
frustrated. Wanted to focus on trying to build some patches for the working
build that I have that is somewhere between 4.0 and the newest build.
On Sat, Oct 21, 2017 at 9:20 AM, Daniel W<EMAIL_ADDRESS>wrote:

@Mubali https://github.com/mubali What errors are you getting while
compiling? I have compiled successfully against newest Rack, with editing
the code as above.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Strum/Strums_Mental_VCV_Modules/issues/3#issuecomment-338414040,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APxuuatOYVgtpJjTN2Fr2V7qs6AqgA4Hks5suhm8gaJpZM4P9NPJ
.

--
Sincerely,
Greg Farley

@Mubali
I don't know whether this will help you but here is a new build of dev (built on 10.11.6).
If you need any other files let me know.
Rack.zip

unfortunately I think I need the whole folder to make it work. I'm running
an older OS 10.10.5 so I'm not sure if that is part of the issue. As long
as someone can push builds for the mac binaries, we should still be ok.
I'll probably try again to compile a newer build in a couple of days.
On Sat, Oct 21, 2017 at 10:56 AM, lnikj<EMAIL_ADDRESS>wrote:

@Mubali https://github.com/mubali
I don't know whether this will help you but here is a new build of dev
(built on 10.11.6).
If you need any other files let me know.
Rack.zip
https://github.com/Strum/Strums_Mental_VCV_Modules/files/1404338/Rack.zip
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Strum/Strums_Mental_VCV_Modules/issues/3#issuecomment-338420789,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APxuuQQPMu47CGKUYsp-XNwO30G5z2Hrks5sujBrgaJpZM4P9NPJ
.

--
Sincerely,
Greg Farley

@Mubali
@charlescrammond
@cbrpnk
can one of you guys build a new Mac binary please?
I've added new modules and made a few tweaks since the last Max build

I still can't run the newest builds. I've got an issue logged on the main
rack git, but I don't think I'll be able to build anything for a while I
think.
On Fri, Oct 27, 2017 at 10:58 AM, Strum<EMAIL_ADDRESS>wrote:

@Mubali https://github.com/mubali
@charlescrammond https://github.com/charlescrammond
@cbrpnk https://github.com/cbrpnk
can one of you guys build a new Mac binary please?
I've added new modules and made a few tweaks since the last Max build
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Strum/Strums_Mental_VCV_Modules/issues/3#issuecomment-340041838,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APxuuTfvWzm1StUFgVPQA58el8Md8Ey9ks5swhmrgaJpZM4P9NPJ
.

--
Sincerely,
Greg Farley

I can probably do it Strum.  After dinner.
I have learnt a few things since we last crossed paths :)
I have fixes for everything on a Mac except the new light thing.
Which Rack commit do you want it compiled against?

@lnikj , @Mubali
thanks for getting back to me quickly guys.
So following my strategy for incorporating API changes I'd say build the release binaries against the current Rack release and people using the dev version can build from source against it.
Most api changes should be simple enough to fix, though the removal of the knob i used everywhere will require a search and replace through every file.

the code currently works against the release versions of rack but i haven't incorporated the api changes or updated my rack code since .40 came out so i can build the code so it works in the release version without me having to version the code.

OK. I had a sed script that fixed your code for building on 0.4.0, and up to the recent lights change on the dev version, but it is now failing. I think I can see what the problem is but the long haired general has forbidden further computer use tonight.
I should be able to do it in the morning. I expect somebody else will do it by then and if so I will upload my script for future reference. Sorry not to be able to help further this evening.

@lnikj , no worries, thanks for your help, a script to make the relevant api changes for the different version would be a lot cleaner than having to put #ifndefs all through the code i think.

I might try to get it done when I get home, at least asap. Been a bit busy today, but will gladly help.

I'll get on the linux build.

@lnikj , @cbrpnk
I think it might be a good idea to version the releases according to Andrew's scheme and leave the old builds there rather than upload a file with the same name and overwrite it.
I've added 04G to the end of the latest windows release file name, 04 for the rack version it works with and G for the plugin revision version since the last rack release.
so when .05 comes out the rebuild will be 05A
hopefully this will enable backwards compatibility for people who are slow to update rack or if Rack splits in the future over a disagreement about commercialisation, something I can foresee happening.

OK. Here is a 0.4.0 build:
plugin.dylib.zip
I was able to compile this by running the following fixes:
sed -i — 's/std::div_t/div_t/g' *.cpp
sed -i - 's/std::round/round/g' *cpp
sed -i - 's/std::abs/abs/g' MentalKnobs.cpp
I have been using your modules under dev (and still can) up until Andrew introduced the lights change a couple of days ago which has broken just about everybody's modules including his own. (I have failing eyesight so being able to use the zoom function in 0.5.0 is valuable to me).
I was able to get your modules working with the following fixes.
These fix mental.cpp:
sed -i - 's/plugin->slug/p->slug/g' mental.cpp
sed -i - 's/plugin->name.//g' mental.cpp
sed -i - 's/plugin->home.//g' mental.cpp
sed -i - 's/createModel/p->addModel(createModel/g' mental.cpp
sed -i - 's/);/));/g' mental.cpp
sed -i - 's/>(plugin/>("mental", "mental"/g' mental.cpp
I think this is probably a Mac fix only:
sed -i - 's/std::div_t/div_t/g' *.cpp
This fixes changes to Andrew's api:
sed -i - 's/Davies1900hSmallBlackKnob/RoundSmallBlackKnob/g' *.cpp
sed -i - 's/gSampleRate/engineGetSampleRate()/g' *.cpp
This fixes warnings (so it will build without running it). It's ugly - the first search & replace is too greedy, so the second one fixes this. It could no doubt be more carefully done in a a single serarch and replace:
sed -i - 's/abs(/std::abs(/g' *.cpp
sed -i - 's/std::std::abs(/std::abs(/g' *.cpp
So, that gives me a working build of your modules in dev (pre the lights changes).
HTH. Best. Nik.

@Strum - re your versioning - I don't know whether that means you wanted me to do something to the build I uploaded?

@lnikj , awesome thanks so much, having that info makes things much easier.
Don't worry about changing the name of the latest build just add the version number to the next one,

Just for info, I did a git pull and got the following errors building on my mac, which were solved by adding
#include
to MentalKnobs.cpp
This has fixed a few other plugins as well. Seems to be compiler "strictness" issue on the mac .
src/MentalKnobs.cpp:80:21: error: call to 'abs' is ambiguous
    knob_value[i] = std::abs(knob_value[i]);
                    ^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/stdlib.h:137:6: note: candidate function
int      abs(int) __pure2;
         ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:115:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:117:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                           ^
src/MentalKnobs.cpp:87:20: error: no member named 'round' in namespace 'std'; did you mean 'roundl'?
      octaves[i] = std::round(output_value[i]);
                   ^~~~~~~~~~
                   roundl
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/math.h:491:20: note: 'roundl' declared here
extern long double roundl(long double);
                   ^
src/MentalKnobs.cpp:88:22: error: no member named 'round' in namespace 'std'; did you mean 'roundl'?
      semitones[i] = std::round((output_value[i] - octaves[i])*12);
                     ^~~~~~~~~~
                     roundl
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/math.h:491:20: note: 'roundl' declared here
extern long double roundl(long double);
                   ^
src/MentalKnobs.cpp:95:30: error: no member named 'round' in namespace 'std'; did you mean 'roundl'?
    } else output_value[i] = std::round(output_value[i]);
                             ^~~~~~~~~~
                             roundl
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/math.h:491:20: note: 'roundl' declared here
extern long double roundl(long double);
                   ^
src/MentalKnobs.cpp:98:22: error: no member named 'round' in namespace 'std'; did you mean 'roundl'?
  display_value[i] = std::round(output_value[i]);
                     ^~~~~~~~~~
                     roundl
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/math.h:491:20: note: 'roundl' declared here
extern long double roundl(long double);


How do I use a tube other than default.

I want to use a tube outside of default, how exactly do I do that? I can't seem to find an example of it in the tests or the code.
In other client libraries, there is usually a .watch(), or .use() depending on if you're consuming or producing.

I spent a good deal of time trying to figure this out. I don't think the design is very intuitive, especially considering how simple beanstalkd is to begin with.
I would have expected a single simple class instead of this strange separation of functionality. Maybe something like this:
queue = Dial(...)
queue.Use("myQueue")
id, body, err := queue.Reserve()
// do something
queue.Delete(id)

I've added some more examples to the package doc. I hope this helps!
https://godoc.org/github.com/kr/beanstalk


Create Licence

Add basic Apache Lisence

User story
As a product owner,
I want a license file available,
so that the third parties know how the product code can be used.
Acceptance criteria
Given GitHub repository window open
When LICENSE file open
License is displayed


Improve retry logic in E2E test for pubsub gRPC

Description
Improve retry logic in E2E test for pubsub gRPC
Issue reference

Please reference the issue this PR will close: N/A
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[x] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test


Support write file -format 'jsonl' without memory limitations

I've run up against our limits on file size and number of points for write file; given a 250MB input file that I was sanitizing in juttle and writing back out, I had to raise both -limit and -maxFilesize and then crashed with
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory

My understanding is that the only reason the whole file needs to fit into memory is because we're forming a valid JSON array in memory. Could we in addition support jsonl (json lines) format for writing, perform the write one point at a time, and not impose size limitations when in that mode?
Also, is there some way to avoid setting up the entire thing in memory when writing out JSON?
@rlgomes your input would be welcome.

Yes there was an issue open for opening the format support for the file adapter since that would allow us to write in jsonl and csv. Will get that one done this week.


fix(editing): reactively update after changes to doc

Closes #813 .
I have locally been having quite some trouble with intermittently failing tests and error messages logged during tests (mostly due to *.js files not being available in web-test-runner due to them being called *.ts instead). I've fixed quite a few of them, but still have some.
Please advise whether this is a local phenomenon that only appears on my machine or whether you see intermittently failing tests (tests that initially fail but succeed on being re-run) on your machine as well. If tests run fine for all of you, I will merge this now and fix my local problems later, otherwise I will keep this pull request open until all local test inconsistencies have been resolved here. Either way, please do not merge this pull request on your own. Thanks!

I have locally been having quite some trouble with intermittently failing tests and error messages logged during tests (mostly due to *.js files not being available in web-test-runner due to them being called *.ts instead). I've fixed quite a few of them, but still have some.
I also have this problem since this morning. I see a big change in the package-lock.json also. How did you fix some? Because I don't see anything wrong in the ones going wrong.


Unexpected values in yaml

CoverageStats.yml records average read depth for each genomic interval.
Test on sureselect data generates a yaml with unexpected values:
fused genomic intervals:
chr14:106091459-106091762: 198.3chchr15:102295650-102295852: 177.07
and read depth without genomic interval
/.mounts/labs/gsiprojects/gsi/Debarcer2/rjovelin/test_debarcer_rjdev/sureselect/sample_0/Qsubs/Logs/Plot_4f780bf9-7d65-4d45-8a98-cdf850104a6b.e3836615

fixed


fix branch name and tag format in automation pipeline

What type of PR is this?
Kind bug

What this PR does / why we need it:
This PR fixes the branch name and the official tag format to adhere to how it is supported by Go.
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Test run for automation pipeline


Option to sort completed todos last

Coming from v1 the thing I miss in v2 is the ability to toggle sorting completed tasks at the end. Other than that everything seems great! Thanks for your hard work!
Originally posted by @fusilli in https://github.com/ransome1/sleek/discussions/562#discussioncomment-7511817

Could you reopen the issue? it is not solved, I can't use completed in the sorting:


Automatic PR from RestAPI-PR1048

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/1048

Codecov Report

Merging #1066 into master will increase coverage by <.01%.
The diff coverage is 81.81%.

@@            Coverage Diff             @@
##           master    #1066      +/-   ##
==========================================
+ Coverage   57.23%   57.23%   +<.01%
==========================================
  Files        2008     2008
  Lines       55270    55279       +9
==========================================
+ Hits        31632    31639       +7
- Misses      23638    23640       +2

Impacted Files
Coverage Δ

...ure-mgmt-logic/azure/mgmt/logic/models/__init__.py
100% <ø> (ø)
:arrow_up:

...mgmt/logic/models/logic_management_client_enums.py
100% <100%> (ø)
:arrow_up:

...c/azure/mgmt/logic/models/as2_security_settings.py
33.33% <50%> (-2.39%)
:arrow_down:

...azure/mgmt/logic/models/as2_validation_settings.py
33.33% <50%> (-2.39%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9987127...33935d4. Read the comment docs.

Included in https://github.com/Azure/azure-sdk-for-python/pull/1073


Add OTLP metrics support

Which problem is this PR solving?
This PR extracts metrics ingest logic from Shepherd into Husky. This is consistent with how we handle traces & logs, Husky is the central place for this logic to live.

Closes https://github.com/honeycombio/collection-team/issues/11

Short description of the changes

Extracts metrics logic from Shepherd
Extracts metrics tests from Shepherd

Differences between metrics & traces/logs
There are a few differences between the way certain things are handled for metrics compared to traces and logs because we want to keep things consistent as we move the data from Shepherd to Husky.

Default dataset naming: logs/traces default to the service name for the dataset and if there is no service name it defaults to unknown_service. Metrics reads the dataset from the request info and if none is provided, it defaults to unknown_metrics. The request info logic is only present from traces & logs with legacy API keys. This is something we could change but I left it to match Shepherd for now.
We have a lot of logic to combine metrics together so when we're creating events and batches we're doing so outside the loop of resourceMetrics. This is different to logs and traces where events are aggregated at the scope level and batches are aggregated at the resource level. Metrics in Shepherd didn't deal with batches and while we're emitting batches from Husky, there would only ever be one batch.

Out of scope
This PR is meant to be a first step to moving this logic out of Shepherd which means we'll be making tweaks to this code as we integrate it with Shepherd. There are a few things that are out of scope for this PR:

Handling telemetry data that Shepherd needs
Support for kinesis which Shepherd will also need

Tests to make sure this works

[x] Added unit tests that test the core logic, extracted from Husky
[x] Hooked into corresponding Shepherd branch that calls these metrics functions and made sure all unit tests (except those to do with Shepherd's own telemetry passed)
[x] On the Shepherd branch, emitted metrics locally and saw them successfully go through to Shepherd / local Honeycomb.

Closing for now - the metrics translation logic has change over the past year since this PR was created. We'll revisit in the future.


Add publicId to CloudinaryAsset

This PR includes the original public_id value on the new CloudinaryAsset GQL type.
Closes #89.

hi @rshackleton thanks for this, I also think it's a good idea to have the image's public ID returned. Reviewing the PR & should merge shortly

Tested this and the graphQL query for publicId is failing as publicId is null. You should do 3 things

Add a resolver for publicId in the onCreateResolver block of gatsby-node.js and return source.publicId with a String type.
Also, you don't have to make the publicId mandatory in the schema
No need to add the publicId in the image node definition, since you will already have it in the resolver and written a schema definition for it.

Let me know if these help or you would like me to make the changes.

Solved by #169


add metadata field to InvokeServiceRequest

In what area(s)?
/area runtime
Describe the feature
add metadata field to InvokeServiceRequest
metadata is an neat way to extend the rpc feature, other dapr API also suuport metadata

Any chance something like this could help with forwarding the TraceParent data as well?
https://github.com/dapr/java-sdk/issues/546#issue-892059304
I haven't found a way to stitch together Grpc like you can with Http calls.

https://github.com/dapr/dapr/issues/3231 should fix these issues since keeping parity between GRPC and HTTP is not a clean cut.


Introduce -resource-dir flag to config files

Running clang --config <arch>.cfg --print-libgcc-file-name now returns
a correct path for a compiler-rt builtins archive for the given
architecture.
GitHub issue #109

Change looks good in theory but can you add a comment in the code to make it clearer why the magic "baremetal" directory is the right one?
The linter failed but I'm OK with adding a special comment to persuade it that your variable is OK https://stackoverflow.com/a/23542817/2651243

See the contributing guide for how to make sure the linter and other checks pass: https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/blob/main/docs/contributing.md


Default behaviour --release

Short description of the problem:
Maybe it just me, but if i run ionic build android --release I'm expecting ionic to setup everything so i have a "releasable" apk/ipa.
But if one does just ionic build android --release ionic will mangle the TS sources with the dev setup. One must provide the --prod option which reads funny: ionic build android --release --prod and could be missed....
What behavior are you expecting?
I would propose if the --release option is set ionic-app-scripts do also --prod tasks by default. IF someone really wants a "release" with dev TS source, one could use  ionic build android --release --dev. I think this would be more intuitive.
Which @ionic/app-scripts version are you using?
$ ionic info

Your system information:

Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.4-201701032156
Ionic CLI Version: 2.1.18
Ionic App Lib Version: 2.1.9
Ionic App Scripts Version: 0.0.48
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 7
Node Version: v6.9.1
Xcode version: Not installed

Yes, because in publishing instructions, there is no mention of --prod flag so using prod flag by default in case of --release will be in sync with publishing instructions and avoid confusions.

@jgw96,
Can you move this to the CLI repo?
@mhartington,
Can we get some updated docs on the 2.0 site?
Thanks,
Dan

https://ionicframework.com/docs/v2/setup/deploying/
Update instructions related to v2 build and releases were added some time ago. The link provided leads to the v1 docs

https://ionicframework.com/docs/v2/setup/deploying/

@mhartington - This link shows a 404.  I assume this wasn't intentional?  Thanks.

Maybe it just me, but if i run ionic build android --release I'm expecting ionic to setup everything so i have a "releasable" apk/ipa.

@ataraxus After following the Ionic Publishing instructions, I agree just missing the --prod was causing my app to crash upon launch which was a hard problem to sort out since I couldn't tell if it was a signing or production build problem.  Simply adding the --prod and following the rest of the instructions in Ionic Publishing indeed solved my building and signing woes.  I'm all for making the build process more intuitive or at the very least updating the documentation.  👍

Sorry, the url has changed. it is https://ionicframework.com/docs/v2/intro/deploying/


Fix obvious bugs found during automatic code inspection.

Fixed usage of approval parameters in JdbcApprovalStore.
Previously the approval parameter wasn't used at all when revokeApproval was called.
Corrected validation check in ClientDetailsModification. Previously the check returned
always true and didn't consider the "none" action.
Corrected incorrect equals check in ExtendedUaaAuthority.
I found these when I ran "analyze code" with the latest intellij idea version against
the uaa codebase and it brought up several additional warnings and potential problems.
I strongly suggest to run a code analysis on the code yourself.

thank you very much
Clearly the first method is missing a test case in the existing code. This means we don't have code coverage on that method, even after your commit.
You can either add code coverage to this PR, or I will merge it in manually and add the tests later.

This has been merged in to cloudfoundry:develop. https://github.com/cloudfoundry/uaa/commit/c52dda0ebf181d952afa67ba93b622a20d7df7e1


Array type is parsed as being a simple declaration, should be array with size 69

I have the following shader declaration:
#version 450
#extension GL_ARB_separate_shader_objects : enable
#extension GL_EXT_scalar_block_layout : enable

layout(location = 0) out vec4 color_out;

layout(location = 0) in vec3 position;
layout(location = 1) in vec2 tex_coord;
layout(location = 2) in vec3 normal;
layout(location = 3) in flat int tex_id;

layout(binding = 1) uniform sampler2D textures[69];
layout(binding = 2, rgba16f) uniform image3D volume_texture;
layout(binding = 3) uniform VoxelizationUbo
{
    vec3 locus;
    int resolution;
    float voxel_scale;
};

void main() {}

I am trying to parse information from this shader like this:
spirv_cross::CompilerGLSL glsl(spirv_source);
spirv_cross::ShaderResources resources = glsl.get_shader_resources();
for (spirv_cross::Resource& resource : resources.sampled_images)
{
    const spirv_cross::SPIRType &base_type = glsl.get_type(resource.base_type_id);
    std::cout << "empty? " << base_type.array.empty() << std::endl;
}

This outputs claims that the array is empty isntead of havinga size of 69. I have verified the source input is correct.
This occurs with the latest version of spirv cross on Ubuntu 21.10. The serialized binary spirv source was generated by compiling glsl down to spirv using shaderc.
I am confused.

Upon closer inspection the documentation explains why I used based type instea dof type, this fixes it:
const spirv_cross::SPIRType &type = glsl.get_type(resource.type_id);


Multipass: Add a section for Linux under "How to troubleshoot networking"

Context
Multipass docs are in reasonably good shape, but there are (as always) little things that could be improved to offer a better user experience.
Multipass docs are maintained in and published from the Ubuntu Discourse forum. To suggest changes in a Discourse-hosted docs page, scroll all the way down to the bottom of the page and open the page to which the "Help improve this document in the forum" link points. On the Discourse page, scroll to the bottom of the article (if there are comments, then the bottom of the article is just where the comments start, i.e. not at the very bottom of the page) and click "Edit". (You need an account on Ubuntu Discourse.) See also: Contribute to Multipass docs.
Task
The How to troubleshoot networking guide is missing a Linux section. To create it, you could leverage your own experience using Multipass on Linux, scrape recent bug reports on the Multipass GitHub for user-reported troubles and solutions, or include potential issues suggested by our dev team such as lingering dnsmasq & subnet clashes.
This task requires some level of familiarity with networking concepts and common issues, as well as experience using Multipass on Linux.
Useful links
Before you get started, make sure to review the main concepts of the Diátaxis documentation framework and also check the Canonical Documentation Style Guide.
If you are new to the Canonical Open Documentation Academy, you may also want to review our Getting Started topic on the Ubuntu Discourse forum.

I've been an off an on user of Ubuntu Desktop, and while I was researching Canonical as a company over the last few weeks, I discovered Multipass.  What a wonderful tool!  I'd like to try my hand at working on this issue.  I'm new to Multipass and Diátaxis, but for starters I'll take it to mean that I'll give a first try at putting something out there, and improving it as I learn more.
While I was setting up a Frankenstein computer with Ubuntu 22.04.4, I ran into a snag installing texlive-full.  The installation hung.  I was worried there was something wrong with my new hardware.  I finally found the bug on Launchpad, and I'll also be writing documentation on Ask Ubuntu to address reports about the bug, suggesting to use the texlive-full package in a Multipass instance.

Thank you, @vevayos ! That sounds great. Let me know if you need help with this, I'll be happy to review issues with you or get additional details from our engineers if needed. I'll assign this to you then :D

Thank you, @giuliazanchi!  I may need your help as this is also my first issue.  I forked the repository just now.

Of course, @vevayos ! This particular issue requires understanding of networking issues and troubleshooting practices and workarounds that you may find on the Multipass GitHub, so if it feels a bit too daunting as a first task do not hesitate to reach out. It doesn't have to be perfect - let's aim at improving what we have, even with small updates, and build from there. Thanks!

@giuliazanchi, I'm still working on the issue.  I'll need another week to stop fooling around.
I was researching how the network behavior might be expected to differ depending on which hypervisor, local.driver, is used.
The Multipass product page, https://multipass.run/, says that LXD is used on Linux, but this page, https://multipass.run/docs/set-up-the-driver, says it depends on the capabilities of the architecture, and also the driver can be changed.
My hardware supports Intel VT and VT-d, and in my Multipass instance,
$ systemd-detect-virt
kvm

Perhaps systemd-detect-virt needs to be revised to return, lxd?
Also, my host shows,
$ multipass get local.driver
qemu

Probably it is only checking if a module is loaded.  But shouldn't this really return, libvirt, because in my Multipass instance, it seems to be part of my kernel,
$ grep -i virtio /boot/config-6.8.0-41-generic
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_BT_VIRTIO=m
CONFIG_NET_9P_VIRTIO=m
CONFIG_VIRTIO_BLK=y
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_CAIF_VIRTIO=m
CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_I2C_VIRTIO=m
CONFIG_GPIO_VIRTIO=m
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_DRM_VIRTIO_GPU_KMS=y
CONFIG_SND_VIRTIO=m
CONFIG_VIRTIO_VFIO_PCI=m
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_PMEM=m
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=m
CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
CONFIG_XEN_VIRTIO=y
# CONFIG_XEN_VIRTIO_FORCE_GRANT is not set
CONFIG_VIRTIO_IOMMU=y
CONFIG_RPMSG_VIRTIO=m
CONFIG_VIRTIO_FS=m
CONFIG_CRYPTO_DEV_VIRTIO=m

Hi @vevayos , looks like you're getting into the depths of Multipass and its drivers! The output you're getting is correct, the driver used in your installation is QEMU. Check out this page to read more on the supported & default drivers, depending on the underlying system: https://multipass.run/docs/driver
Take the time you need to see if this is something you feel comfortable contributing to, we can reassess next week or when you're ready :)

Oh!!!  Thank you for the tip, @giuliazanchi!  I was confused whether I had QEMU or LXD.  I haven't used QEMU in years, and back in the day, I don't think QEMU responded with ICMP, so you couldn't ping the host from within the VM.  But I see that I can do that in my Multipass instance.

Yikes, @giuliazanchi, someone was just mentioning sinking time on issues...  Well, this issue was still bugging me, and so I googled around...
I found this discussion related to what was confusing me...
https://discuss.linuxcontainers.org/t/what-is-the-relationship-between-lxd-and-multipass/7758/2
This cleared up my issue with the main product page, https://multipass.run/, saying that Multipass uses an LXD hypervisor on Linux.
So on my system, the VMs are QEMU/KVM.  And so I'm guessing that experimental libvirt driver is probably being developed towards the goal that, "Upcoming Multipass will be using LXD VMs as backend on Linux."
Sorry to take up your time!  Thanks for your help!

Thanks for looking into this topic, @vevayos ! Take all the time you need, this is a complex and broad topic and not a quick fix, so it is not expected that you come up with a new, comprehensive section on Linux troubleshooting overnight :) Any input will be greatly appreciated!

Hi @vevayos , I've been doing some work to expand the Multipass Troubleshooting topics recently, so I thought I'd check in with you and see if you've had time to keep looking into this issue :) Let me know if you need help! You can also find me in the Documentation room on Matrix if you want to chat.

HI @vevayos , are you still interested in contributing to this issue? If your availability has changed, no worries at all! Just let me know so I can free it up to other contributors :) Thanks!