Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EnergyXT not showing GUI #190

Closed
UnoffialOfficial opened this issue Jan 2, 2019 · 19 comments
Closed

EnergyXT not showing GUI #190

UnoffialOfficial opened this issue Jan 2, 2019 · 19 comments
Labels
Host Specific Issues related to specific host(s) or host features

Comments

@UnoffialOfficial
Copy link

When opening Surge the GUI does not display. Only the default host gui. All other functions appear to work correctly.

  • OS: win 7
  • Host Energyxt
  • Version 2.7, AND 3.0
@esaruoho
Copy link
Collaborator

esaruoho commented Jan 2, 2019

@UnoffialOfficial screenshot? And did you use both vst2 and vst3?

@Jorgeelalto
Copy link

@UnoffialOfficial do you have a log or error message from EnergyXT?

@baconpaul baconpaul added the Host Specific Issues related to specific host(s) or host features label Jan 3, 2019
@esaruoho
Copy link
Collaborator

esaruoho commented Feb 8, 2019

Here's a page you can get an EnergyXT demo for windows+macOS from. I tried installing the macOS demo, but it crashes on macOS Mojave.
http://energy-xt.com/energyxt.html

@UnoffialOfficial could you try a February 2019 build of Surge from http://surge-synthesizer.github.io and confirm that EnergyXT does not show GUI with the newest build?

also, are you using 32-bit or 64-bit EnergyXT?

@tank-trax
Copy link
Collaborator

I had the same issue using energyXT in WINE. Mind you the display was always an issue using WINE even with the 64 bit version. That being said LMMS partially displays the 32 bit GUI when loaded using Vestige.

@baconpaul
Copy link
Collaborator

I installed an energyxt demo and couldn't make heads or tails of it. How do you even load a VST into a track? If someone could let me know that then I can debug this one day.

I'm mostly interested because I wonder if the same error that makes it not loadable here is also what's getting bitwig linux...

@tank-trax
Copy link
Collaborator

tank-trax commented Feb 21, 2019

@baconpaul

go to File -> Setup -> Browser tab

toggle to Plugins and add your VST folders there. They will appear in the left hand panel under Plugins

to load, just drag it into a synth or an empty track

@baconpaul
Copy link
Collaborator

Thank you. That's very useful. On Windows with 32 bit surge in energyXT 3.0 I see exactly this yeah, no UI. Cool. Something to debug one day!

Wonder what's happening. Very interesting.

@baconpaul baconpaul added this to the 1.6.0 milestone Mar 13, 2019
@baconpaul
Copy link
Collaborator

baconpaul commented Mar 13, 2019

So this came up on KVR again so let me add some comments before I break. As I said I can reproduce this using the 32 bit build and EnergyXT 3.0. So how to debug. There's a lot of ways but the way I have debugged rando host vst2 problems which has worked is

  1. Get a good fast build/test loop. So make it so you can build surge and run it in energyxt and then build it again and run the new one easily without error. (I use my powershell script in src/win/ for this but you use what works)

  2. EnergyXT doesn't give you stdout and starting it in a debugger will suck. Too slow. So I would debug this with printf but you can't get printf without stdout so I would use my trick of adding say to the top of Vst2PluginInstance.cpp something like this

FILE *logfp = NULL
FILE *lfp() {
  if( logfp == NULL )
    logfp = fopen( "c:\\users\\paul\\surge-vst2.log", "w" )
  return logfp;
}
#define V2LF(...) { fprintf( lfp(), __VA_ARGS__ ); flush(lfp()); }

then in your code you can do

V2LF("I am here and state is %d\n", state_int);

and see it go by in the log, which presumably you tail -f or some such

  1. The bug must be in the vst2 plugin interacting with the host. The host works with other plugins; our plugin works with other hosts. So
    1. What calls are being made to ::vendorSpecific
    2. Does ::open() even get called?
    3. Is there a weird request coming into ::canDo
    4. is tryInit() ever called and if it is, does the editor get assigned

That's where I'd start. And if no-one else fixes this where eventually I will start!

@baconpaul
Copy link
Collaborator

One other thought: does energyxt do something in a wierd different order than other hosts? Like does it call open before you can make a cframe or after a window has been drawn or some such? Just putting a func log in every function except the rt audio and midi process ones and comparing the startup order with another host would be illustrative

@tank-trax
Copy link
Collaborator

@baconpaul just an FYI, energyXT was created/developed by @falkTX

@baconpaul
Copy link
Collaborator

Oh well that’s super useful to know! @falkTX since you know how the host works I am sure you have a way better plan than mine! Any insight welcome

@falkTX
Copy link
Contributor

falkTX commented Mar 14, 2019

@baconpaul just an FYI, energyXT was created/developed by @falkTX

I know I have a lot of projects, but this information is just not true.
I have nothing to do with energyXT, besides one time trying to get its libaam library to support JACK in a better way.

@falkTX
Copy link
Contributor

falkTX commented Mar 14, 2019

One thing I know is that energyxt does not close plugin instances.
They were afraid of getting crashes or something...

@baconpaul
Copy link
Collaborator

Ok! Well consider it a complement that I totally believed it :)

Useful info. I bet the create order is wonky if they are doing things like never close. The path I outlined above is the one to do then.

@tank-trax
Copy link
Collaborator

tank-trax commented Mar 14, 2019

my mistake... I assumed it was yours because of that libaam jack thing and also because of the XT TX name switch.... my apologies for the misunderstanding

After digging I found out the creator to be Jørgen Aase

@lunafreya
Copy link

Is this issue resolved? I see no activity since the release of 1.6 Beta 7.

Did you got the GUI to show up on EnergyXT? You might need to install the latest version (1.6.1.1) to see if the GUI does show up on that particular host DAW.

@baconpaul baconpaul modified the milestones: 1.6.0, 1.6.n Jun 10, 2019
@baconpaul
Copy link
Collaborator

Linking to #938 even though this is more than just a zoom issue

@baconpaul baconpaul added this to the 1.6.2 milestone Jul 19, 2019
@baconpaul baconpaul modified the milestones: 1.6.2, 1.6.3 Aug 17, 2019
baconpaul added a commit to baconpaul/surge that referenced this issue Jan 5, 2020
For surge-synthesizer#190 here's an instrumented version of surge which makes a log
file, and that shows that energyXT never calls effEditOpen on our
dll. Squirrel this away in case anyone at eXT wants to look.
@baconpaul
Copy link
Collaborator

OK so my first task of the year was actually on windows so while I was fighting windows, cmake, and azure, I instrumented the vst2 and build and tested it in energyXT. My instrumented version is in this branch:

https://github.com/baconpaul/surge/tree/energy-xt-190

The problem is pretty straight forward though. energyXT creates an editor but never calls the dispatcher with effEditOpen, so we never open the editor.

I have no idea why energyXT never sends us effEditOpen but since it doesn't there's not much I can do.

We really need someone from the energyXT team to take a look here.

@baconpaul
Copy link
Collaborator

From KVR:

Jørgen Aase (the dev) has abandoned energyxt a long time ago unfortunately. So seems this issue wont be resolved. But i will try surge v 1.5 which should work according to layzer. The latest version do work in Reaper so its not that big of a deal

So with the fact that I’m not getting open called, 1.5 still works for the few users, and there’s no apparent way to figure out what’s happening in the host, I’m going to close this. If someone objects to that please reopen it (and share an idea for a plan of what to do also!)

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Host Specific Issues related to specific host(s) or host features
Projects
None yet
Development

No branches or pull requests

8 participants