eh2k / vcvrack-fv1-emu

Spin Semi FV-1 DSP chip emulator | VCV Rack Module.
GNU General Public License v3.0
53 stars 6 forks source link

Migrate plugin to Rack V2 #12

Closed netboy3 closed 2 years ago

netboy3 commented 2 years ago

Migration to V2 required a few syntax changes, mostly changes from accessing member attributes to getter functions in V2. Other changes:

eh2k commented 2 years ago

Hello @netboy3,

thank you for your pull request - got compiled with the docker (https://github.com/rhrhunter/vcv-build-env). But Rack2 crashes after opening module explorer:

[0.000 info adapters/standalone.cpp:137 main] VCV Rack Free v2.0.4
[0.000 info adapters/standalone.cpp:138 main] Linux 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 16:31:28 UTC 2021 x86_64
[0.000 info adapters/standalone.cpp:144 main] Args: /home/user/Rack2Free/Rack 
[0.000 info adapters/standalone.cpp:147 main] System directory: /home/user/Rack2Free
[0.000 info adapters/standalone.cpp:148 main] User directory: /home/user/.Rack2
[0.000 info adapters/standalone.cpp:152 main] System time: 2021-12-28 00:06:38 +0100
[0.000 info src/settings.cpp:455 load] Loading settings /home/user/.Rack2/settings.json
[0.000 info adapters/standalone.cpp:175 main] Initializing environment
[0.002 info src/rtaudio.cpp:239 RtAudioDriver] Creating RtAudio ALSA driver
[0.002 info src/rtaudio.cpp:239 RtAudioDriver] Creating RtAudio PulseAudio driver
[0.002 info src/rtaudio.cpp:239 RtAudioDriver] Creating RtAudio JACK driver
[0.003 info src/plugin.cpp:118 loadPlugin] Loading Core plugin
[0.004 info src/plugin.cpp:178 loadPlugin] Loaded Core v2.0.4
[0.004 info src/plugin.cpp:120 loadPlugin] Loading plugin from /home/user/.Rack2/plugins/EH_modules
[0.005 info src/plugin.cpp:178 loadPlugin] Loaded EH_modules v2.0.5
[0.005 info src/plugin.cpp:120 loadPlugin] Loading plugin from /home/user/.Rack2/plugins/Fundamental
[0.010 info src/plugin.cpp:178 loadPlugin] Loaded Fundamental v2.0.1
[0.021 info adapters/standalone.cpp:193 main] Initializing context
[0.022 info src/window/Svg.cpp:28 loadFile] Loaded SVG /home/user/Rack2Free/res/ComponentLibrary/Rail.svg
[0.116 info src/window/Window.cpp:282 Window] Window content scale: 1.199992
[0.156 info src/window/Window.cpp:334 Window] Renderer: AMD AMD RENOIR (DRM 3.42.0, 5.4.0-91-generic, LLVM 12.0.1)
[0.156 info src/window/Window.cpp:335 Window] OpenGL: 4.6 (Compatibility Profile) Mesa 21.2.0-devel
[0.165 info src/window/Window.cpp:50 loadFile] Loaded font /home/user/Rack2Free/res/fonts/DejaVuSans.ttf
[1.819 info adapters/standalone.cpp:236 main] Running window
[3.863 info src/window/Svg.cpp:28 loadFile] Loaded SVG /home/user/.Rack2/plugins/EH_modules/res/panel.svg
[3.864 info src/window/Svg.cpp:28 loadFile] Loaded SVG /home/user/Rack2Free/res/ComponentLibrary/ScrewSilver.svg
[3.864 info src/window/Svg.cpp:28 loadFile] Loaded SVG /home/user/Rack2Free/res/ComponentLibrary/PJ301M.svg
[3.864 info src/window/Svg.cpp:28 loadFile] Loaded SVG /home/user/Rack2Free/res/ComponentLibrary/Trimpot.svg
[3.864 warn src/window/Svg.cpp:112 load] Failed to load SVG /home/user/Rack2Free/res/ComponentLibrary/Trimpot-bg.svg
[3.865 info src/window/Svg.cpp:28 loadFile] Loaded SVG /home/user/Rack2Free/res/ComponentLibrary/RoundBlackKnob.svg
[3.865 warn src/window/Svg.cpp:112 load] Failed to load SVG /home/user/Rack2Free/res/ComponentLibrary/RoundBlackKnob-bg.svg
[3.878 fatal adapters/standalone.cpp:60 fatalSignalHandler] Fatal signal 11 SIGSEGMENTATION FAULT. Stack trace:
34: /home/user/Rack2Free/Rack() [0x403cb9]
33: /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f350bea0210]
32: ./libRack.so(+0x32764f) [0x7f350c4e064f]
31: ./libRack.so(nvgEndFrame+0x16) [0x7f350c480066]
30: ./libRack.so(_ZN4rack6widget17FramebufferWidget15drawFramebufferEv+0x10e) [0x7f350c57ceae]
29: ./libRack.so(_ZN4rack6widget17FramebufferWidget6renderENS_4math3VecES3_NS2_4RectE+0x39f) [0x7f350c57d5ef]
28: ./libRack.so(_ZN4rack6widget17FramebufferWidget4drawERKNS0_6Widget8DrawArgsE+0x42d) [0x7f350c57ddcd]
27: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
26: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
25: ./libRack.so(_ZN4rack6widget10ZoomWidget4drawERKNS0_6Widget8DrawArgsE+0x4c) [0x7f350c57df8c]
24: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
23: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
22: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
21: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
20: ./libRack.so(_ZN4rack3app7browser8ModelBox4drawERKNS_6widget6Widget8DrawArgsE+0x15a) [0x7f350c52e28a]
19: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
18: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
17: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
16: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
15: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
14: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
13: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
12: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
11: ./libRack.so(_ZN4rack2ui12ScrollWidget4drawERKNS_6widget6Widget8DrawArgsE+0x34) [0x7f350c4f6464]
10: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
9: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
8: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
7: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
6: ./libRack.so(_ZN4rack6widget6Widget9drawChildEPS1_RKNS1_8DrawArgsEi+0x124) [0x7f350c5807d4]
5: ./libRack.so(_ZN4rack6widget6Widget4drawERKNS1_8DrawArgsE+0xcc) [0x7f350c58090c]
4: ./libRack.so(_ZN4rack6window6Window4stepEv+0x8e2) [0x7f350c51fd22]
3: ./libRack.so(_ZN4rack6window6Window3runEv+0x28) [0x7f350c51fe08]
2: /home/user/Rack2Free/Rack(main+0xa70) [0x4037a0]
1: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f350be810b3]
0: /home/user/Rack2Free/Rack() [0x403a99]
netboy3 commented 2 years ago

Not sure what this docker build is, but it's not the official docker build toolchain and it's using ubuntu 18 which is also not supported as build platform (your supposed to use 16). Would you mind trying the binary below I built using the official toolchain? I've tested it on my Linux workstation and on Windows (both in VCV and in BitWig DAW). The zip contains 3 builds for each one of the platforms).

Also another issue with the above Docker is that it's building by default against a very old SDK - the 1st beta released which was not even ABI stable. you need to build against SDK2.0.4.

If you insist in building using this Docker, try changing RACK_SDK_VER=2.git.042a9ce0-lin to RACK_SDK_VER=2.0.4-lin in the Makefile

EH_modules-2.0.5.zip

eh2k commented 2 years ago

@netboy3 thanks - ubuntu-16 instead of 18 did it.