osxmidi / LinVst

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

[manage] manage standalone, embed and track versions at same time #81

Closed KottV closed 5 years ago

KottV commented 5 years ago

Hi,

I think it would be very useful to easy install and manage different builds of LinVst. For example:

  1. convert dll's with Tracktion/Waveform version into ~/.linvsttrack. Then point Waveform to this dir.
  2. convert dll's with default version to ~/.linvst and point other DAWs to it.
  3. same for standalone

I guess it needs separate (optional) path_link_folder = ~/.vst_linvst/ in linvstmanage.ini for dll's

PS It's possible to install different versions already. But I ran into some troubles so I have to change line in lin-vst-server.exe to appname="lin-vst-servertrack.exe.so" because I use WF mostly.

Is this wrong?

osxmidi commented 5 years ago

The idea behind the Tracktion version is that the remotevstclient.cpp file in the Tracktion folder overwrites the remotevstclient.cpp file in the main folder and also the Tracktion makefiles in the Tracktion folder overwrite the Makefile in the main folder.

Then the Makefile (in the main folder) will make a Tracktion version that has linvst.so looking for lin-vst-servertrack.exe.

So a Tracktion version linvst.so file only looks for lin-vst-servertrack.exe (and then wine automatically loads the associated lin-vst-servertrack.exe.so).

The Tracktion version is needed because Tracktion displays the vst window in the wrong place and so LinVst needs to put in a window offset for Tracktion.

KottV commented 5 years ago

It seems I' was not clear. I know how Tracktion version builds and works. I checked now and can say that changing in vst-server.exe is not needed.

I mean managing of separate installations of LinVst: one linvst.so for Tracktion, another one for other DAWs without much hand work. How it can be achieved in easy way?

For example vst-bridge https://github.com/abique/vst-bridge makes bridged .so in any pointed directory, LinVst can make .so only in the same dir where dll presents.

lentferj commented 5 years ago

Would it be possible to identify the calling host on load time and handle the offset when the calling host is Tracktion and that way have just one version for Tracktion and other DAWs?

osxmidi commented 5 years ago

The Tracktion version can be used with other DAW's.

When the Tracktion version is used with other DAW's it doesn't do the window offset and so operates as per usual.

The reason I keep the Tracktion version separate is because I'm not sure if all Tracktion users need it with their window managers (I don't know if Tracktion does this wrong window position with all window managers) and so I have the Tracktion version as an option.

I have thought about using the Tracktion version as the main release but because I'm not sure about Tracktion and different window managers, I keep it as a separate option.

KottV commented 5 years ago

When the Tracktion version is used with other DAW's it doesn't do the window offset and so operates as per usual.

Oh, I see now.

The reason I keep the Tracktion version separate is because I'm not sure if all Tracktion users need it with their window managers

Tracktion frame contains some specific controls (plugin's channels control button and others) and it presents in any WM.

AFAIK the DAWs such a Bitwig, Carla, Ardour uses WM frame for plugins. Reaper uses its own windows. Actually, I know only one host which affected - AudioPluginHost from JUCE SDK

изображение

But this case for othere issue I think )