osxmidi / LinVst

Linux Windows vst wrapper/bridge
GNU General Public License v3.0
674 stars 41 forks source link

[VSTi] Stanton Deckadance v2.72 #96

Closed keybreak closed 5 years ago

keybreak commented 5 years ago

Stanton Deckadance v2.72

Description

  1. Drag & Drop of songs (specifically drop) on playlists or from playlist to deck causes lin-vst-servertrack32 crash: https://i.imgur.com/h73ObCl.mp4

    Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000).
    Register dump:
    CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
    EIP:00000000 ESP:0034c4f4 EBP:0034c554 EFLAGS:00010202(  R- --  I   - - - )
    EAX:0034c540 EBX:0673005b ECX:102c0063 EDX:0034c548
    ESI:302bb650 EDI:00010066
    Stack dump:
    0x0034c4f4:  100dc5cb 00010066 00000000 0034c540
    0x0034c504:  0034c548 102c0063 0034c538 00000000
    0x0034c514:  0034c550 00000002 2fbb7320 30283f98
    0x0034c524:  00000000 0000014e 000002f9 0000058f
    0x0034c534:  0000030f 00000000 00000000 0000014e
    0x0034c544:  000002f9 00000441 00000016 01ee0000
    Backtrace:
    =>0 0x00000000 (0x0034c554)
    1 0x10108b55 EntryPoint+0xffffffff() in deckadance2 (0x0034e614)
    2 0x1010bd01 EntryPoint+0xffffffff() in deckadance2 (0x0034e694)
    3 0x10139a59 EntryPoint+0xffffffff() in deckadance2 (0x0034e6a8)
    4 0x1013b644 EntryPoint+0xffffffff() in deckadance2 (0x0034e6c8)
    5 0x7e65a0ec WINPROC_wrapper+0x1b() in user32 (0x0034e6f8)
    6 0x7e65a75d EditWndProcA+0x55c() in user32 (0x0034e748)
    7 0x7e65ba7f EditWndProcA+0x187e() in user32 (0x0034ec08)
    8 0x7e65c978 EditWndProcA+0x2777() in user32 (0x0034ec58)
    9 0x7e62240e DispatchMessageA+0x7d() in user32 (0x0034ed08)
    10 0x7eff3f10 WinMain+0x143f() in lin-vst-servertrack32 (0x0034fe58)
    11 0x7efee915 main+0xc4() in lin-vst-servertrack32 (0x0034fef8)
    12 0x7eff8bf7 __wine_spec_exe_entry+0x56() in lin-vst-servertrack32 (0x0034ff28)
    13 0x7b47fe42 call_process_entry+0x11() in kernel32 (0x0034ff48)
    14 0x7b48289c TerminateProcess+0x16b() in kernel32 (0x0034ffd8)
    15 0x7b47fe4e call_process_entry+0x1d() in kernel32 (0x0034ffec)
    0x00000000: -- no code accessible --
    Modules:
    Module  Address         Debug info  Name (129 modules)
    PE  10000000-10e12000   Export          deckadance2
    PE  63cc0000-64449000   Deferred        adec
    ELF 7b400000-7b846000   Dwarf           kernel32<elf>
    \-PE  7b430000-7b846000   \               kernel32
    ELF 7bc00000-7bd43000   Deferred        ntdll<elf>
    \-PE  7bc30000-7bd43000   \               ntdll
    ELF 7c000000-7c005000   Deferred        <wine-loader>
    ELF 7dd92000-7ddb9000   Deferred        imm32<elf>
    \-PE  7dda0000-7ddb9000   \               imm32
    ELF 7de3e000-7de6a000   Deferred        libexpat.so.1
    ELF 7de6a000-7deb6000   Deferred        libfontconfig.so.1
    ELF 7deb6000-7df2f000   Deferred        libpcre.so.1
    ELF 7df2f000-7e067000   Deferred        libglib-2.0.so.0
    ELF 7e067000-7e16e000   Deferred        libharfbuzz.so.0
    ELF 7e16e000-7e188000   Deferred        libz.so.1
    ELF 7e188000-7e1c8000   Deferred        libpng16.so.16
    ELF 7e1c8000-7e29d000   Deferred        libfreetype.so.6
    ELF 7e2c8000-7e3a4000   Deferred        msvcrt<elf>
    \-PE  7e2f0000-7e3a4000   \               msvcrt
    ELF 7e3a4000-7e42a000   Deferred        advapi32<elf>
    \-PE  7e3c0000-7e42a000   \               advapi32
    ELF 7e42a000-7e584000   Deferred        gdi32<elf>
    \-PE  7e450000-7e584000   \               gdi32
    ELF 7e584000-7e7c6000   Dwarf           user32<elf>
    \-PE  7e5c0000-7e7c6000   \               user32
    ELF 7e7c6000-7e7e3000   Deferred        libgcc_s.so.1
    ELF 7e9be000-7e9c9000   Deferred        librt.so.1
    ELF 7e9cb000-7e9dd000   Deferred        libbz2.so.1.0
    ELF 7e9dd000-7e9f4000   Deferred        version<elf>
    \-PE  7e9e0000-7e9f4000   \               version
    ELF 7ee6f000-7eef3000   Deferred        kernelbase<elf>
    \-PE  7ee80000-7eef3000   \               kernelbase
    ELF 7eef3000-7ef08000   Deferred        libnss_files.so.2
    ELF 7ef08000-7efd5000   Deferred        libm.so.6
    ELF 7efd9000-7f000000   Dwarf           lin-vst-servertrack32<elf>
    \-PE  7efe0000-7f000000   \               lin-vst-servertrack32
    ELF f4cba000-f4da9000   Deferred        libasound.so.2
    ELF f4da9000-f4df0000   Deferred        winealsa<elf>
    \-PE  f4dc0000-f4df0000   \               winealsa
    ELF f4df0000-f4e13000   Deferred        libgpg-error.so.0
    ELF f4e13000-f4e2c000   Deferred        libresolv.so.2
    ELF f4e2c000-f4eb8000   Deferred        libvorbisenc.so.2
    ELF f4eb8000-f4ee6000   Deferred        libvorbis.so.0
    ELF f4ee6000-f4f59000   Deferred        libflac.so.8
    ELF f4f59000-f5038000   Deferred        libgcrypt.so.20
    ELF f5038000-f5064000   Deferred        liblzma.so.5
    ELF f5064000-f50f3000   Deferred        libsndfile.so.1
    ELF f50f3000-f51a6000   Deferred        libsystemd.so.0
    ELF f51a6000-f51f9000   Deferred        libdbus-1.so.3
    ELF f51f9000-f5288000   Deferred        libpulsecommon-12.2.so
    ELF f5288000-f52e4000   Deferred        libpulse.so.0
    ELF f52e4000-f5420000   Deferred        oleaut32<elf>
    \-PE  f5310000-f5420000   \               oleaut32
    ELF f5a04000-f5a1b000   Deferred        midimap<elf>
    \-PE  f5a10000-f5a1b000   \               midimap
    ELF f5a1b000-f5a36000   Deferred        msacm32<elf>
    \-PE  f5a20000-f5a36000   \               msacm32
    ELF f5a36000-f5a6a000   Deferred        winepulse<elf>
    \-PE  f5a40000-f5a6a000   \               winepulse
    ELF f5ad4000-f5add000   Deferred        libogg.so.0
    ELF f5add000-f5ae5000   Deferred        libasyncns.so.0
    ELF f5ae5000-f5b0d000   Deferred        mmdevapi<elf>
    \-PE  f5af0000-f5b0d000   \               mmdevapi
    ELF f5b0d000-f5b4e000   Deferred        rsaenh<elf>
    \-PE  f5b20000-f5b4e000   \               rsaenh
    ELF f5fed000-f5ff6000   Deferred        libffi.so.6
    ELF f5ff6000-f6081000   Deferred        libgmp.so.10
    ELF f6081000-f60bb000   Deferred        libhogweed.so.5
    ELF f60bb000-f60f9000   Deferred        libnettle.so.7
    ELF f60f9000-f6110000   Deferred        libtasn1.so.6
    ELF f6110000-f6252000   Deferred        libp11-kit.so.0
    ELF f6252000-f6464000   Deferred        libgnutls.so.30
    ELF f6464000-f64a3000   Deferred        uxtheme<elf>
    \-PE  f6470000-f64a3000   \               uxtheme
    ELF f64a3000-f64ab000   Deferred        libxfixes.so.3
    ELF f64ab000-f64b8000   Deferred        libxcursor.so.1
    ELF f64b8000-f64cc000   Deferred        libxi.so.6
    ELF f64cc000-f64d1000   Deferred        libxcomposite.so.1
    ELF f64d1000-f64e0000   Deferred        libxrandr.so.2
    ELF f64e0000-f64ee000   Deferred        libxrender.so.1
    ELF f64ee000-f64f5000   Deferred        libxxf86vm.so.1
    ELF f64f5000-f64fa000   Deferred        libxinerama.so.1
    ELF f64fa000-f6587000   Deferred        setupapi<elf>
    \-PE  f6510000-f6587000   \               setupapi
    ELF f6587000-f658f000   Deferred        libxdmcp.so.6
    ELF f658f000-f6594000   Deferred        libxau.so.6
    ELF f6594000-f65c0000   Deferred        libxcb.so.1
    ELF f65c0000-f670d000   Deferred        libx11.so.6
    ELF f670d000-f6723000   Deferred        libxext.so.6
    ELF f674e000-f6806000   Deferred        winex11<elf>
    \-PE  f6770000-f6806000   \               winex11
    ELF f6806000-f682a000   Deferred        bcrypt<elf>
    \-PE  f6810000-f682a000   \               bcrypt
    ELF f682a000-f6924000   Deferred        crypt32<elf>
    \-PE  f6850000-f6924000   \               crypt32
    ELF f6924000-f6960000   Deferred        wintrust<elf>
    \-PE  f6930000-f6960000   \               wintrust
    ELF f6960000-f69e9000   Deferred        dbghelp<elf>
    \-PE  f6980000-f69e9000   \               dbghelp
    ELF f69e9000-f6a1a000   Deferred        msacm32<elf>
    \-PE  f69f0000-f6a1a000   \               msacm32
    ELF f6a1a000-f6ae5000   Deferred        winmm<elf>
    \-PE  f6a30000-f6ae5000   \               winmm
    ELF f6ae5000-f6b3c000   Deferred        winspool<elf>
    \-PE  f6af0000-f6b3c000   \               winspool
    ELF f6b3c000-f6b8b000   Deferred        usp10<elf>
    \-PE  f6b50000-f6b8b000   \               usp10
    ELF f6b8b000-f6cf5000   Deferred        comctl32<elf>
    \-PE  f6bc0000-f6cf5000   \               comctl32
    ELF f6cf5000-f6d90000   Deferred        rpcrt4<elf>
    \-PE  f6d10000-f6d90000   \               rpcrt4
    ELF f6d90000-f6f00000   Deferred        ole32<elf>
    \-PE  f6dd0000-f6f00000   \               ole32
    ELF f6f00000-f6f28000   Deferred        shcore<elf>
    \-PE  f6f10000-f6f28000   \               shcore
    ELF f6f28000-f6f91000   Deferred        shlwapi<elf>
    \-PE  f6f40000-f6f91000   \               shlwapi
    ELF f6f91000-f79a7000   Deferred        shell32<elf>
    \-PE  f6fc0000-f79a7000   \               shell32
    ELF f79a7000-f7ab2000   Deferred        comdlg32<elf>
    \-PE  f79c0000-f7ab2000   \               comdlg32
    ELF f7bb9000-f7bbf000   Deferred        libdl.so.2
    ELF f7bc4000-f7be0000   Deferred        imagehlp<elf>
    \-PE  f7bd0000-f7be0000   \               imagehlp
    ELF f7be0000-f7bea000   Deferred        libuuid.so.1
    ELF f7bea000-f7dc9000   Deferred        libc.so.6
    ELF f7dc9000-f7deb000   Deferred        libpthread.so.0
    ELF f7deb000-f7fa3000   Dwarf           libwine.so.1
    ELF f7fa5000-f7fd0000   Deferred        ld-linux.so.2
    Threads:
    process  tid      prio (all id:s are in hex)
    00000008 (D) Z:\usr\bin\lin-vst-servertrack32.exe
    00000046    0
    00000042   -1
    00000040    0
    0000003f    0
    0000003e    1
    0000003d    0
    0000003a    0
    00000039    0
    00000038    0
    00000037    0
    00000036    0
    00000035    0
    00000034    0
    00000033    0
    00000032    0
    00000031    0
    00000030    0
    0000002f    0
    0000002e    0
    0000002d    0
    0000002c    0
    0000002b   -1
    0000002a    0
    00000009  -15 <==
    0000000e services.exe
    00000023    0
    0000001a    0
    00000013    0
    00000010    0
    0000000f    0
    00000011 plugplay.exe
    00000017    0
    00000016    0
    00000012    0
    00000018 winedevice.exe
    00000020    0
    0000001d    0
    0000001c    0
    0000001b    0
    00000019    0
    0000001e explorer.exe
    00000029    0
    00000028    0
    00000027    0
    0000001f    0
    00000021 winedevice.exe
    00000026    0
    00000025    0
    00000024    0
    00000022    0
  2. Some rotary buttons causes crash of lin-vst-servertrack32, for example in FX section (that must be GUI bug, since FX are audible & working): https://i.imgur.com/QxWQ2QO.mp4

    Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000).
    Register dump:
    CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
    EIP:00000000 ESP:0034c4f4 EBP:0034c554 EFLAGS:00010216(  R- --  I   -A-P- )
    EAX:0034c540 EBX:07f00067 ECX:0471005d EDX:0034c548
    ESI:2fde68a8 EDI:0010005e
    Stack dump:
    0x0034c4f4:  100dc5cb 0010005e 00000000 0034c540
    0x0034c504:  0034c548 0471005d 0034c538 00000000
    0x0034c514:  0034c550 00000002 2fd42428 3038a158
    0x0034c524:  00000000 0000025c 0000015f 0000029d
    0x0034c534:  00000195 00000000 00000000 0000025c
    0x0034c544:  0000015f 00000041 00000036 01ff0000
    Backtrace:
    =>0 0x00000000 (0x0034c554)
    1 0x10108b55 EntryPoint+0xffffffff() in deckadance2 (0x0034e614)
    2 0x1010bd01 EntryPoint+0xffffffff() in deckadance2 (0x0034e694)
    3 0x10139a59 EntryPoint+0xffffffff() in deckadance2 (0x0034e6a8)
    4 0x1013b644 EntryPoint+0xffffffff() in deckadance2 (0x0034e6c8)
    5 0x7e65a0ec WINPROC_wrapper+0x1b() in user32 (0x0034e6f8)
    6 0x7e65a75d EditWndProcA+0x55c() in user32 (0x0034e748)
    7 0x7e65ba7f EditWndProcA+0x187e() in user32 (0x0034ec08)
    8 0x7e65c978 EditWndProcA+0x2777() in user32 (0x0034ec58)
    9 0x7e62240e DispatchMessageA+0x7d() in user32 (0x0034ed08)
    10 0x7eff3f10 WinMain+0x143f() in lin-vst-servertrack32 (0x0034fe58)
    11 0x7efee915 main+0xc4() in lin-vst-servertrack32 (0x0034fef8)
    12 0x7eff8bf7 __wine_spec_exe_entry+0x56() in lin-vst-servertrack32 (0x0034ff28)
    13 0x7b47fe42 call_process_entry+0x11() in kernel32 (0x0034ff48)
    14 0x7b48289c TerminateProcess+0x16b() in kernel32 (0x0034ffd8)
    15 0x7b47fe4e call_process_entry+0x1d() in kernel32 (0x0034ffec)
    0x00000000: -- no code accessible --
    Modules:
    Module  Address     Debug info  Name (129 modules)
    PE  10000000-10e12000 Export          deckadance2
    PE  63cc0000-64449000 Deferred        adec
    ELF 7b400000-7b846000 Dwarf           kernel32<elf>
    \-PE  7b430000-7b846000 \               kernel32
    ELF 7bc00000-7bd43000 Deferred        ntdll<elf>
    \-PE  7bc30000-7bd43000 \               ntdll
    ELF 7c000000-7c005000 Deferred        <wine-loader>
    ELF 7dd88000-7ddaf000 Deferred        imm32<elf>
    \-PE  7dd90000-7ddaf000 \               imm32
    ELF 7de34000-7de3e000 Deferred        libuuid.so.1
    ELF 7de3e000-7de6a000 Deferred        libexpat.so.1
    ELF 7de6a000-7deb6000 Deferred        libfontconfig.so.1
    ELF 7deb6000-7df2f000 Deferred        libpcre.so.1
    ELF 7df2f000-7e067000 Deferred        libglib-2.0.so.0
    ELF 7e067000-7e16e000 Deferred        libharfbuzz.so.0
    ELF 7e16e000-7e188000 Deferred        libz.so.1
    ELF 7e188000-7e1c8000 Deferred        libpng16.so.16
    ELF 7e1c8000-7e29d000 Deferred        libfreetype.so.6
    ELF 7e2c8000-7e3a4000 Deferred        msvcrt<elf>
    \-PE  7e2f0000-7e3a4000 \               msvcrt
    ELF 7e3a4000-7e42a000 Deferred        advapi32<elf>
    \-PE  7e3c0000-7e42a000 \               advapi32
    ELF 7e42a000-7e584000 Deferred        gdi32<elf>
    \-PE  7e450000-7e584000 \               gdi32
    ELF 7e584000-7e7c6000 Dwarf           user32<elf>
    \-PE  7e5c0000-7e7c6000 \               user32
    ELF 7e7c6000-7e7e3000 Deferred        libgcc_s.so.1
    ELF 7e9be000-7e9c9000 Deferred        librt.so.1
    ELF 7e9cb000-7e9dd000 Deferred        libbz2.so.1.0
    ELF 7e9dd000-7e9f4000 Deferred        version<elf>
    \-PE  7e9e0000-7e9f4000 \               version
    ELF 7ee6f000-7eef3000 Deferred        kernelbase<elf>
    \-PE  7ee80000-7eef3000 \               kernelbase
    ELF 7eef3000-7ef08000 Deferred        libnss_files.so.2
    ELF 7ef08000-7efd5000 Deferred        libm.so.6
    ELF 7efd9000-7f000000 Dwarf           lin-vst-servertrack32<elf>
    \-PE  7efe0000-7f000000 \               lin-vst-servertrack32
    ELF f4cfa000-f4d11000 Deferred        midimap<elf>
    \-PE  f4d00000-f4d11000 \               midimap
    ELF f4d11000-f4e00000 Deferred        libasound.so.2
    ELF f4e00000-f4e47000 Deferred        winealsa<elf>
    \-PE  f4e10000-f4e47000 \               winealsa
    ELF f4e47000-f4e6a000 Deferred        libgpg-error.so.0
    ELF f4e6a000-f4ef6000 Deferred        libvorbisenc.so.2
    ELF f4ef6000-f4f24000 Deferred        libvorbis.so.0
    ELF f4f24000-f4f97000 Deferred        libflac.so.8
    ELF f4f97000-f5076000 Deferred        libgcrypt.so.20
    ELF f5076000-f50a2000 Deferred        liblzma.so.5
    ELF f50a2000-f5131000 Deferred        libsndfile.so.1
    ELF f5131000-f51e4000 Deferred        libsystemd.so.0
    ELF f51e4000-f5320000 Deferred        oleaut32<elf>
    \-PE  f5210000-f5320000 \               oleaut32
    ELF f5705000-f571e000 Deferred        libresolv.so.2
    ELF f571e000-f5771000 Deferred        libdbus-1.so.3
    ELF f5771000-f5800000 Deferred        libpulsecommon-12.2.so
    ELF f5902000-f595e000 Deferred        libpulse.so.0
    ELF f596e000-f5989000 Deferred        msacm32<elf>
    \-PE  f5980000-f5989000 \               msacm32
    ELF f5989000-f59bd000 Deferred        winepulse<elf>
    \-PE  f5990000-f59bd000 \               winepulse
    ELF f5a27000-f5a30000 Deferred        libogg.so.0
    ELF f5a30000-f5a38000 Deferred        libasyncns.so.0
    ELF f5a38000-f5a60000 Deferred        mmdevapi<elf>
    \-PE  f5a40000-f5a60000 \               mmdevapi
    ELF f5a60000-f5aa1000 Deferred        rsaenh<elf>
    \-PE  f5a70000-f5aa1000 \               rsaenh
    ELF f5f40000-f5f49000 Deferred        libffi.so.6
    ELF f5f49000-f5fd4000 Deferred        libgmp.so.10
    ELF f5fd4000-f600e000 Deferred        libhogweed.so.5
    ELF f600e000-f604c000 Deferred        libnettle.so.7
    ELF f604c000-f6063000 Deferred        libtasn1.so.6
    ELF f6063000-f61a5000 Deferred        libp11-kit.so.0
    ELF f61a5000-f63b7000 Deferred        libgnutls.so.30
    ELF f63b7000-f63f6000 Deferred        uxtheme<elf>
    \-PE  f63c0000-f63f6000 \               uxtheme
    ELF f63f6000-f63fe000 Deferred        libxfixes.so.3
    ELF f63fe000-f640b000 Deferred        libxcursor.so.1
    ELF f640b000-f641f000 Deferred        libxi.so.6
    ELF f641f000-f6424000 Deferred        libxcomposite.so.1
    ELF f6424000-f6433000 Deferred        libxrandr.so.2
    ELF f6433000-f6441000 Deferred        libxrender.so.1
    ELF f6441000-f6448000 Deferred        libxxf86vm.so.1
    ELF f6448000-f644d000 Deferred        libxinerama.so.1
    ELF f644d000-f64da000 Deferred        setupapi<elf>
    \-PE  f6460000-f64da000 \               setupapi
    ELF f64da000-f64e2000 Deferred        libxdmcp.so.6
    ELF f64e2000-f650e000 Deferred        libxcb.so.1
    ELF f650e000-f665b000 Deferred        libx11.so.6
    ELF f665b000-f6671000 Deferred        libxext.so.6
    ELF f669c000-f6754000 Deferred        winex11<elf>
    \-PE  f66c0000-f6754000 \               winex11
    ELF f6754000-f6778000 Deferred        bcrypt<elf>
    \-PE  f6760000-f6778000 \               bcrypt
    ELF f6778000-f6872000 Deferred        crypt32<elf>
    \-PE  f6790000-f6872000 \               crypt32
    ELF f6872000-f68ae000 Deferred        wintrust<elf>
    \-PE  f6880000-f68ae000 \               wintrust
    ELF f68ae000-f6937000 Deferred        dbghelp<elf>
    \-PE  f68d0000-f6937000 \               dbghelp
    ELF f6937000-f6968000 Deferred        msacm32<elf>
    \-PE  f6940000-f6968000 \               msacm32
    ELF f6968000-f6a33000 Deferred        winmm<elf>
    \-PE  f6980000-f6a33000 \               winmm
    ELF f6a33000-f6a8a000 Deferred        winspool<elf>
    \-PE  f6a40000-f6a8a000 \               winspool
    ELF f6a8a000-f6ad9000 Deferred        usp10<elf>
    \-PE  f6aa0000-f6ad9000 \               usp10
    ELF f6ad9000-f6c43000 Deferred        comctl32<elf>
    \-PE  f6b00000-f6c43000 \               comctl32
    ELF f6c43000-f6cde000 Deferred        rpcrt4<elf>
    \-PE  f6c60000-f6cde000 \               rpcrt4
    ELF f6cde000-f6e4e000 Deferred        ole32<elf>
    \-PE  f6d10000-f6e4e000 \               ole32
    ELF f6e4e000-f6e76000 Deferred        shcore<elf>
    \-PE  f6e60000-f6e76000 \               shcore
    ELF f6e76000-f6edf000 Deferred        shlwapi<elf>
    \-PE  f6e90000-f6edf000 \               shlwapi
    ELF f6edf000-f78f5000 Deferred        shell32<elf>
    \-PE  f6f10000-f78f5000 \               shell32
    ELF f78f5000-f7a00000 Deferred        comdlg32<elf>
    \-PE  f7900000-f7a00000 \               comdlg32
    ELF f7b07000-f7b0d000 Deferred        libdl.so.2
    ELF f7b11000-f7b16000 Deferred        libxau.so.6
    ELF f7b16000-f7b32000 Deferred        imagehlp<elf>
    \-PE  f7b20000-f7b32000 \               imagehlp
    ELF f7b38000-f7d17000 Deferred        libc.so.6
    ELF f7d17000-f7d39000 Deferred        libpthread.so.0
    ELF f7d39000-f7ef1000 Dwarf           libwine.so.1
    ELF f7ef3000-f7f1e000 Deferred        ld-linux.so.2
    Threads:
    process  tid      prio (all id:s are in hex)
    00000008 (D) Z:\usr\bin\lin-vst-servertrack32.exe
    00000046    0
    00000043   -1
    00000041    0
    00000040    0
    0000003f    1
    0000003e    0
    0000003b    0
    0000003a    0
    00000039    0
    00000038    0
    00000037    0
    00000036    0
    00000035    0
    00000034    0
    00000033    0
    00000032    0
    00000031    0
    00000030    0
    0000002f    0
    0000002e    0
    0000002d    0
    0000002c   -1
    0000002b    0
    00000009  -15 <==
    0000000e services.exe
    00000024    0
    0000001d    0
    0000001a    0
    00000013    0
    00000010    0
    0000000f    0
    00000011 plugplay.exe
    00000017    0
    00000016    0
    00000012    0
    00000018 winedevice.exe
    00000021    0
    0000001e    0
    0000001c    0
    0000001b    0
    00000019    0
    0000001f explorer.exe
    0000002a    0
    00000029    0
    00000028    0
    00000020    0
    00000022 winedevice.exe
    00000027    0
    00000026    0
    00000025    0
    00000023    0
  3. Resize of GUI is buggy and doesn't update main window frame (unless you reopen plugin's GUI in host) https://i.imgur.com/HpxZY71.mp4

  4. While playing - decks are pretty laggy (visually), but if you open settings they become smooth as silk 60 fps https://i.imgur.com/lKq1jKW.mp4

  5. Drag & Drop of settings is buggy (position jumps around mouse) https://i.imgur.com/tT0gbhP.mp4

  6. I suspect there is some memory leaks that wasn't there on Windows (watch DSP meter on top), when decks are played it's normal, when stopped - percentage is way more, when not played and GUI closed - even more. No this video results are more or less reasonable, but over time it got like 40-50% which is...not good https://i.imgur.com/6uE3EOh.mp4

  7. Routing is very different from Windows (which can break compatibility with some projects), for example:

deck 1

deck 2

And most importantly Current Track mode doesn't work on any output (technically it works but just always routes to master, not selected track)

Here's how current LinVST looks (twice more outputs): image

Also routing buses doesn't have Any labels (for example like Airwave here): image

Dependencies

strings Deckadance2.dll | grep -i dll

Wmvcore.dll
.dll
user32.dll
ntdll
Shell32.dll
DWrite.dll
d2d1.dll
SHCore.dll
adec.dll
steam_api.dll
/?dll
KERNEL32.dll
USER32.dll
GDI32.dll
COMDLG32.dll
ADVAPI32.dll
SHELL32.dll
ole32.dll
SHLWAPI.dll
WINMM.dll
dbghelp.dll
IMM32.dll
imagehlp.dll
WINTRUST.dll
CRYPT32.dll
RPCRT4.dll
deckadance.dll

Enviroments

 OS: Manjaro 18.0.4 Illyria
 Kernel: x86_64 Linux 5.2.4-1-MANJARO
 Shell: bash 5.0.7
 DE: Deepin 15.11
 WM: Deepin WM
 dm: LightDM 
 gcc v: 9.1.0 
 tk: Qt 5.13.0 
 driver: nvidia v: 430.26 
 WINE: 4.11-staging amd64

Winetricks

gdiplus
andale
arial
comicsans
courier
georgia
impact
times
trebuchet
verdana
webdings
corefonts
tahoma
wininet
fontsmooth=rgb
win7
keybreak commented 5 years ago

Added bug 7 about routing.


Something is clearly off with routing of VSTi now, here's Windows / Airwave output for super simple 4Front Bass VSTi: image

And this is current LinVST for same VSTi having 2 outputs without labels: image

osxmidi commented 5 years ago

I think that plugin is never going to work in a great way with Wine.

The standalone exe can't even start on my system.

The drag and drop errors are Wine related and it looks like user32 related.

The routing/labels might be because I'm not using certain functions that require the vst2 sdk because I don't use the vst2sdk.

keybreak commented 5 years ago

I think that plugin is never going to work in a great way with Wine.

Actually compared to most other wrappers it works pretty damn good.

The standalone exe can't even start on my system.

Yep, i confirm that, but that i don't care - we're testing vst plugins here :smile: Besides, i'm really interested in this one for personal workflow.


  1. The drag and drop errors are Wine related and it looks like user32 related.

    • Is this already reported to Wine?
    • Any suggestions on proper .dll replacement?
  2. ?

  3. ?

  4. ?

  5. You think it's same drag & drop problem as 1?

  6. ?

  7. The routing/labels might be because I'm not using certain functions that require the vst2 sdk because I don't use the vst2sdk.

Wow...Then you need to make sure it's the case, coz if it is then it would produce problem with projects compatibility (at least for multi-output plugins).

So then if you don't want to use vst2sdk as dependency (which i totally understand), i would suggest to maybe create some settings file with vstsdk_path variable, and if there is path and vst2sdk is in use - extend LinVST functions so that routing would be same as Windows.

You think twice more outputs, than in Windows also caused by lack of those functions?

osxmidi commented 5 years ago

The multi outputs isn't a problem for most plugins (all that I've tested anyway).

This plugin is probably using some older vst functions that Airwave supports through the vst sdk but I'm not and I don't plan to because I don't want to be dependent on the vst2 sdk.

There are also other problems with this plugin and Wine and stability.

Drag and drop works for a lot of plugins but for this plugin it's some sort of Wine problem and it's a 32 bit plugin which makes it a Wine 32 bit problem/32 bit library problem.

osxmidi commented 5 years ago

I'm having a look at the multi inputs/outputs.

Seems like something might have changed in more recent LinVst versions.

osxmidi commented 5 years ago

I think the changes that I made for the Renoise vendor have interfered with the in/out functions.

keybreak commented 5 years ago

I think the changes that I made for the Renoise vendor have interfered with the in/out functions.

Yes you're right, i approve that - just tested previous version it has 7 output, instead of 14.

keybreak commented 5 years ago

Also this affected (dblue Crusher) which doesn't have GUI, before vendor changes: image

After: image

No values, just thought you might wanna know as well :wink:

osxmidi commented 5 years ago

Thanks for letting me know about the vendor bug.

It turned out to be old code that should have been updated and it mainly affected Renoise and I wasn't that aware of it because I don't use Renoise that much.

The vendor changes I first made affected the in/outs (whoops) and that has been fixed.

I can't do much about the in/out names because they use routines from the vst2sdk which I'm not using.

keybreak commented 5 years ago

The vendor changes I first made affected the in/outs (whoops) and that has been fixed.

Thx, so it's safe to compile source now to continue testing, or better to wait for new release?

I can't do much about the in/out names because they use routines from the vst2sdk which I'm not using.

Yep, that i totally get, but if it's matter of 1-2 functions, maybe it's still a good idea to make something like:

if (config_vstsdk_path) {
   doSomeVstSdk();
}

If it's not extremely hard, then please consider such option, it would improve experience and compatibility if user want to use SDK - after all what we're trying to achieve full Windows compatibility / experience here without altering plugin behavior in any way :wink:

osxmidi commented 5 years ago

Yes the source is ok.

If you want to use the sdk then just change all occurrences of -DVESTIGE with -DMIDIEFF in the Makefile and the in/out names should work.

keybreak commented 5 years ago

If you want to use the sdk then just change all occurrences of -DVESTIGE with -DMIDIEFF in the Makefile and the in/out names should work.

Great i'll try that out, and what's the path of vstsdk will be used then? That's worth mentioning in docs though!

osxmidi commented 5 years ago

It's in the docs.

Just place the pluginterfaces folder in the LinVst folder.

I might be able to do a workaround for the in/out names without the sdk, I'll see how it turns out.

keybreak commented 5 years ago

@osxmidi Tested 2.65, so bug 7 solved and works exactly as intended! Kudos for quality workaround! :smile:


Although maybe closing is a bit overkill yet :laughing:

Since i've already heavily tested 79 plugins with LinVST for my list, and all of them are working 100% perfect, except this one...I still assume we can accidentally find more Wine related problems on the way.

So please, let's establish some guidelines to proceed with quality bugtest / bugfix.

I suggest, in case of stumbling across bugs related 100% to Wine itself:

osxmidi commented 5 years ago

Drag and Drop into the plugin window works for some DAW's.

Each DAW can implement drag and drop differently.

Also, Wine's drag and drop is not guaranteed to be the same as Windows.

The Sforzando drag and drop sfz files works in Reaper and a few other DAW's.

Getting bugs dealt with by WineHQ is not straight forward.

First, the Wine devs have lot to do, and then the bug needs to be worked out in the Wine source code and most devs are not going to be interested for some vst that they have probably never heard of.

For the Waves Central and Native Access bugs and missing functions, I had to do it all myself and then submit it to WineHQ to be approved which took a lot of time and my fixes were rejected at first and then accepted on the second submission.

Some things might not work in Wine for years and maybe never, so it's best to just forget them and move on.

One of the main things I'd like to see is Wine getting to grips with d2d1.

keybreak commented 5 years ago

Good to know that you're experienced enough to submit some of the fixes to Wine! :smiley:

One of the main things I'd like to see is Wine getting to grips with d2d1.

Oh yeah, absolute most of the problems in VST plugins comes now to d2d1 & / or C++ runtimes, so it would be great to fix.


So yeah, sure we both know it could takes years to fix something in Wine, but at the same time i think we must report all the stuff that we're 100% sure is Wine related.

Besides, they've started to move way faster last year, and fixed for example a lot of bugs related to Photoshop CC.

In my opinion, question on reporting to WineHQ only come from perspective of is it wise to report stuff immediately, or in a batch after whole list will be finished :rocket: