Strum / Strums_Mental_VCV_Modules

Strum's Mental Modules for VCV Rack
BSD 3-Clause "New" or "Revised" License
63 stars 15 forks source link

Compiled for Mac #3

Closed lnikj closed 6 years ago

lnikj commented 6 years ago

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:

strum_cartesian

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.

Strum commented 6 years ago

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.

Strum commented 6 years ago

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.

Strum commented 6 years ago

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

Strum commented 6 years ago

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.

Strum commented 6 years ago

@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 6 by 6 or even 8 by 8

lnikj commented 6 years ago

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;
                 ^
Strum commented 6 years ago

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.

Strum commented 6 years ago

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

lnikj commented 6 years ago

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.

Strum commented 6 years ago

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.

Strum commented 6 years ago

@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.

lnikj commented 6 years ago

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.

Strum commented 6 years ago

i'm no spring chicken myself

getting into the habit of learning is the key.

lnikj commented 6 years ago

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$

Strum commented 6 years ago

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.

lnikj commented 6 years ago

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.

Strum commented 6 years ago

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.

lnikj commented 6 years ago

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 :)

Strum commented 6 years ago

Well done, see it's not as hard as you might have at first thought.

did you get it working?

if and when you do I'd be really grateful if you 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.

lnikj commented 6 years ago

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.

Mubali commented 6 years ago

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.

Mubali commented 6 years ago

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.

lnikj commented 6 years ago

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

Cheers

Strum commented 6 years ago

@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.

Mubali commented 6 years ago

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

Strum commented 6 years ago

@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 see how to use the modules.

thanks again for your help.

Mubali commented 6 years ago

@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.

Strum commented 6 years ago

@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.

dotinspace commented 6 years ago

Sorry about 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?

This happens when trying to build on Mac, btw, against VCV Rack 0.4.0

Mubali commented 6 years ago

@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.

Mubali commented 6 years ago

@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

dotinspace commented 6 years ago

@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.

Mubali commented 6 years ago

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

dotinspace commented 6 years ago

@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. ^^

lnikj commented 6 years ago

@Mubali

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

Strum commented 6 years ago

@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.

Strum commented 6 years ago

@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?

Strum commented 6 years ago

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.

dotinspace commented 6 years ago

@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.

Strum commented 6 years ago

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.

dotinspace commented 6 years ago

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 manage to provide working releases for all three platforms, that's great! Thank you for your great effort!

Strum commented 6 years ago

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.

Strum commented 6 years ago

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.

ghost commented 6 years ago

Current Mac plugin built against dev branch. Used fixes above. I'm aware I can "push" the changes but I'm another newbie and not sure whether it's a good thing to do right now. Anyway here is the plugin. Having lots of fun with the matrix and sequencer. Thanks for the modules!

plugin.dylib.zip

Changed gSampleRate to engineGetSampleRate();

Changed all the 0.0 to 0

Strum commented 6 years ago

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 and start making more modules, and some music with them all.

Strum commented 6 years ago

@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.

ghost commented 6 years ago

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++.

Strum commented 6 years ago

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.

Mubali commented 6 years ago

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 notifications@github.com 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

dotinspace commented 6 years ago

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