gratrix / vcv-gratrix

Gratrix modules for VCV Rack
http://gratrix.net/vcvrack
MIT License
30 stars 6 forks source link

Building but not appearing in Rack (Mac) #3

Closed lnikj closed 6 years ago

lnikj commented 6 years ago

OS X 10.11.6 Latest 0.5dev

Building OK with a few warnings but not showing up when Rack is run.

In file included from src/MidiToCV.cpp:5: ../../src/core/MidiIO.hpp:104:7: warning: 'MidiItem::onAction' hides overloaded virtual function [-Woverloaded-virtual] void onAction(); ^ ../../include/widgets.hpp:153:15: note: hidden overloaded virtual function 'rack::Widget::onAction' declared here: different number of parameters (1 vs 0) virtual void onAction(EventAction &e) {} ^ In file included from src/MidiToCV.cpp:5: ../../src/core/MidiIO.hpp:110:7: warning: 'MidiChoice::onAction' hides overloaded virtual function [-Woverloaded-virtual] void onAction(); ^ ../../include/widgets.hpp:153:15: note: hidden overloaded virtual function 'rack::Widget::onAction' declared here: different number of parameters (1 vs 0) virtual void onAction(EventAction &e) {} ^ In file included from src/MidiToCV.cpp:5: ../../src/core/MidiIO.hpp:119:7: warning: 'ChannelItem::onAction' hides overloaded virtual function [-Woverloaded-virtual] void onAction(); ^ ../../include/widgets.hpp:153:15: note: hidden overloaded virtual function 'rack::Widget::onAction' declared here: different number of parameters (1 vs 0) virtual void onAction(EventAction &e) {} ^ In file included from src/MidiToCV.cpp:5: ../../src/core/MidiIO.hpp:125:7: warning: 'ChannelChoice::onAction' hides overloaded virtual function [-Woverloaded-virtual] void onAction(); ^ ../../include/widgets.hpp:153:15: note: hidden overloaded virtual function 'rack::Widget::onAction' declared here: different number of parameters (1 vs 0) virtual void onAction(EventAction &e) {} ^ src/MidiToCV.cpp:251:7: warning: 'ModeItem::onAction' hides overloaded virtual function [-Woverloaded-virtual] void onAction() { ^ ../../include/widgets.hpp:153:15: note: hidden overloaded virtual function 'rack::Widget::onAction' declared here: different number of parameters (1 vs 0) virtual void onAction(EventAction &e) {} ^ src/MidiToCV.cpp:261:7: warning: 'ModeChoice::onAction' hides overloaded virtual function [-Woverloaded-virtual] void onAction() { ^ ../../include/widgets.hpp:153:15: note: hidden overloaded virtual function 'rack::Widget::onAction' declared here: different number of parameters (1 vs 0) virtual void onAction(EventAction &e) {} ^ 6 warnings generated.

gratrix commented 6 years ago

Yes Racks 0.5dev event model is changing so I'll need to catch up with it. I built it last night and had no warnings (however with override warning turned off) but the menus on the MIDI modules (mine and core) were not working, so I presume further work has happened since then. Will work on it again tonight. Thank you for the report.

gratrix commented 6 years ago

OK just updated Rack 0.5dev and only a few changes made since my last commit. However, when I ran Rack I have no modules from the autosave, but was able to load from a .vcv file and they're all there. So maybe there's an issue with Rack's autosave?

On the warnings I've inspected them and I agree I need to fix things. However, apart from a different UI and going from 4 to 6 voices, MidiToCV.cpp is a direct copy of src/core/QuadMidiToCV.cpp which also needs to be updated. So I'm going to wait for that to happen and soon as it does I've bring it over to my module. So as things stand, the MIDI-C1 is a bit borked as the menus don't work.

lnikj commented 6 years ago

Re the autosave do you mean just the gratrix modules or any modules?

Autosave seems to be working here on my Mac.

gratrix commented 6 years ago

It was any modules, and only happened once after I did a rack update. So seems to have fixed it's self in the end for me.

lnikj commented 6 years ago

I've just done a fresh 0.5dev build and built your latest commit but still the modules do not appear. I think I can see the culprit from the make run output:

MBP:Rack nik$ make run DYLD_FALLBACK_LIBRARY_PATH=dep/lib ./Rack Current working directory: /Users/nik/src/temp/Rack Global directory: ./ Local directory: ./ Loading plugins from ./plugins Loaded plugin ./plugins/AudibleInstruments/plugin.dylib Loaded plugin ./plugins/av500/plugin.dylib Loaded plugin ./plugins/Befaco/plugin.dylib Loaded plugin ./plugins/ESeries/plugin.dylib Loaded plugin ./plugins/Fundamental/plugin.dylib Loaded plugin ./plugins/hetrickcv/plugin.dylib Loaded plugin ./plugins/sonusmodular/plugin.dylib Failed to load library ./plugins/vcv-gratrix/plugin.dylib: dlopen(./plugins/vcv-gratrix/plugin.dylib, 2): Symbol not found: __ZN6Octave6Decode1sE Referenced from: ./plugins/vcv-gratrix/plugin.dylib Expected in: flat namespace in ./plugins/vcv-gratrix/plugin.dylib Loaded plugin ./plugins/VCVRack-Simple/plugin.dylib Loaded plugin ./plugins/VultModules/plugin.dylib Loaded font ./res/DejaVuSans.ttf Loading patch ./autosave.vcv Loading settings ./settings.json Saving settings ./settings.json Saving patch ./autosave.vcv

gratrix commented 6 years ago

Hmm that's got me puzzled. Seem ok this end but I'm investigating right now. Just checking, did you do a make clean on my stuff after updating?

lnikj commented 6 years ago

It's a completely clean install each time:

rm -rf vcv-gratrix && git clone https://github.com/gratrix/vcv-gratrix.git && cd vcv-gratrix && make && cd ..

gratrix commented 6 years ago

Just done a clean check out of both rack and my modules (using your commands above) and it all seems to work here, I'm on Windows. I will keep thinking about this but right now I have no idea!

gratrix commented 6 years ago

On the issue of the MIDI-C1 menus not working, this is now fixed in: https://github.com/gratrix/vcv-gratrix/commit/25b81d6a9d07aa6ab4c6b1b1a5d1e5e54b1e1d9c

There are still a lot of override warnings, but they are due to RtMidi library, and only occur when building MIDI-C1

gratrix commented 6 years ago

On the mac build issue I'm arranging for someone to investigate this for me as I don't have access to a mac myself.

lnikj commented 6 years ago

It's definitely a Mac problem rather than a *nix problem as I have built in Ubuntu now without any issues.

gratrix commented 6 years ago

Thanks for the update

jeremywen commented 6 years ago

Here is what I get

[warning] Failed to load library ./plugins/gratrix/plugin.dylib: dlopen(./plugins/gratrix/plugin.dylib, 2): Symbol not found: __ZN3GTX9Octave_G14Impl6Decode1sE Referenced from: ./plugins/gratrix/plugin.dylib Expected in: flat namespace in ./plugins/gratrix/plugin.dylib

jeremywen commented 6 years ago

I guess that is the same as above.

jeremywen commented 6 years ago

I can try to comment stuff out to narrow it down.

gratrix commented 6 years ago

Could you please try removing the Octave module and see if that fixes it? Just delete Octave-G1.cpp and edit Gratrix.cpp and Gratrix.hpp to remove the little bit of code to do with Octave. Thanks!

jeremywen commented 6 years ago

That "fixes" it!

jeremywen commented 6 years ago

You want me to make a release while we figure out the issue with that one module?

jeremywen commented 6 years ago

It's weird, Decode is right there, why is it not found?

gratrix commented 6 years ago

I've used the exact same Decode class the Chord module, but because it's ultimately in a different containing scope it should be all fine. I even added a different namespace to each module to see if that would help. I think the next thing to try is to add it back in but say call it Decode2. If you don't mind givin that a go that would be great!

jeremywen commented 6 years ago

:) I tried that. I have been trying various things like that. I will keep trying.

jeremywen commented 6 years ago

aha, if i take out static constexpr it works

jeremywen commented 6 years ago

Here is a mac build Gratrix.zip

gratrix commented 6 years ago

Ahh static constexpr - I'm only trying to embrace new C++ features, but these have caused me no end of trouble! I'll abandon them I think. Thank you for the Mac build, will add to my site now.

gratrix commented 6 years ago

Now commented out the static constexpr and committed. Going to close this issue :)

jeremywen commented 6 years ago

YAY!